In Search of Document Control’s Holy Grail

Just over a year ago, our site was sold by its own­ers to another par­ent com­pany. In the run-up to the sale, we had been slowly mak­ing our­selves a new intranet based around Microsoft Share­Point. After the event, Share­Point kicked off in a big way, with more and more projects and teams start­ing to use it for their file storage.

Fast for­ward to today, and our crit­i­cal busi­ness data is split about half-and-half between Share­Point and the older “file store” (sim­ply a Win­dows Server box with a giant, shared par­ti­tion). The Pow­ers that Be have decided that now is the time to do some­thing about it, and stan­dard­ise on one solu­tion. What that solu­tion is, how­ever, is prov­ing dif­fi­cult to grasp.

Share­Point is now, in my opin­ion, past crit­i­cal mass. The major­ity of Engi­neer­ing use it for all their fil­ing and often other activ­i­ties. The rest of the com­pany is split — maybe 50% use it, 50% don’t, and of those that don’t, half are dis­trust­ing or actively hos­tile.  The IT team have been enthu­si­as­tic adopters, but a num­ber of tech­ni­cal issues remain unsolved, which has set them look­ing at alternatives.

As I see it:

  • Share­Point, first and fore­most, fea­tures con­fig­u­ra­tion con­trol and revi­sion his­tory for doc­u­ments. This is the stuff that soft­ware projects live by and die with­out, yet there are areas of the busi­ness that just don’t see the advan­tage. The abil­ity to view the same data in many dif­fer­ent ways by use of meta­data means that every part of the busi­ness can have the view they want. It also offers a host of other fea­tures such as cal­en­dars and task lists that a num­ber of projects are actively using, and full-text search takes mil­lisec­onds rather than days for a data set in the hun­dreds of gigabytes.
  • Net­work Shares are sim­ple, and have essen­tially no learn­ing curve. They’re also not as affected by pro­pri­etary soft­ware ‘lock-in’ — it’s far eas­ier to get your data out of a net­work share than out of Share­Point should you need to. They also sup­port larger files, and in our expe­ri­ence pro­vide a faster access speed.
  • Sub­ver­sion is most of our soft­ware teams’ source code man­age­ment soft­ware. I once ran a project entirely out of Sub­ver­sion — users liked the abil­ity to merge Word doc­u­ment ver­sions using Track Changes, but by and large the non-technical staff found it too com­pli­cated and dif­fi­cult to use.
  • Alfresco and Knowl­ed­geTree have been sug­gested as pos­si­ble Share­Point equiv­a­lents that could be cheaper if we used their open source ver­sions, but could also intro­duce a host of other problems.
  • Clearcase was sug­gested by a friend via Twit­ter, but it seems likely that as a pri­mar­ily source code-oriented tool, the learn­ing curve may be too steep for many users.

I’m inter­ested to know how other com­pa­nies solve the prob­lem of doc­u­ment con­trol (pri­mar­ily of MS Office doc­u­ments), and what tools they use. If you haven’t already waded in on Twit­ter or Face­book, feel free to do so here!

I’d like to believe that this is such a com­mon prob­lem that there is an exist­ing, widely-used solu­tion — but the more I talk to peo­ple about it, the less I am con­vinced that such a thing exists. Even if it doesn’t, what do you think is the least bad of all the options? Is there any­thing we haven’t considered?

Facefinder

Facefinder is a quick script I wrote in my lunch hour that makes a page of the names and faces of every­one I work with, to help new starters fig­ure out who every­one is.

It comes in two vari­eties, a PHP script and an ASP page for Microsoft Office Share­point Ser­vices (MOSS) 2007.

I apol­o­gise pro­fusely for the use of tables — I couldn’t find a way of ren­der­ing it nicely in both IE and Firefox/Chrome/etc. with­out them!

Using the PHP Script

  • Down­load the PHP ver­sion from GitHub.
  • Unzip the con­tents, and put them on a web server that can run PHP. (I’ve tested it on Apache and IIS with PHP 4.something.)
  • Add pho­tos of every­one in the photos/ direc­tory, in the “First­name Lastname.ext” for­mat. JPEG, GIF and PNG are sup­ported. Ide­ally, crop them to a 300×300 square, but at least resize them to 300 by some­thing. (If you need to batch resize, I rec­om­mend Irfan­View for the job on Win­dows boxes.)
  • Nav­i­gate to http://yoursever/facefinder/index.php and see the result!

Using the MOSS 2007 page

  • Down­load the MOSS 2007 ver­sion from GitHub.
  • Unzip the con­tents, and put them in a doc­u­ment library on SharePoint.
  • Load the page in your web browser, and see the result!
  • If you don’t see any­thing, maybe Share­Point doesn’t have a proper list of users in it. On our intranet we pull the list from Active Direc­tory as a nightly job; this is con­fig­urable some­where within the Site Ser­vices admin panel.
  • If you see names but no pic­tures, none of the users has a pic­ture set. On our intranet we get users to set their own pic­tures via their “My Site”, but if you don’t use “My Sites” you’ll have to find another way of get­ting them in.

Trou­bleshoot­ing

I’ve never tried deploy­ing these out­side of our intranet, so for all I know it might fail com­pletely for you. Hope­fully it doesn’t, but if it does, leave a com­ment below or e-mail me and I’ll see if I can help you out.

An Ode to Sharepoint

At a loss for other, more pleas­ant sub­jects to blog about, I will instead write about my neme­sis, that being that has brought naught but pain to my life. I speak, of course, of Microsoft Sharepoint.

To upgrade one’s ver­sion of Win­dows — Vista to 7, say — is by and large a pretty pain­less expe­ri­ence for the home user. Office, like­wise — there’s no dread that your Office 2003 files will be com­pletely unopen­able in Office 2007. So why is the poor sysad­min not afforded the same easy upgrade path?

In order to move an exist­ing Share­Point Ser­vices 2 web­site to a new net­work with Microsoft Office Share­point Ser­vices 2007, one must:

  1. Learn more than is healthy about the work­ings of Share­point and IIS (2 days, d10 SAN)
  2. Back up the orig­i­nal site to disk (using stsadm.exe not smigrate.exe, as the lat­ter is bro­ken) (5 hours, 13 GB)
  3. Install Win­dows Server, IIS, SQL Server and Share­point Ser­vices 2 on a new machine (1 hour)
  4. Con­fig­ure said IIS, SQL and Share­point (1 hour)
  5. Restore the Share­point site from disk onto the new machine (>8 hours, >120 GB, d10 SAN, fails unre­cov­er­ably when out of disk space)
  6. Per­form an in-place upgrade to Share­point Ser­vices 3 (Sev­eral hours, 40 GB, may fail unrecoverably)
  7. Back up this site to disk (5 hours, 15 GB)
  8. Con­fig­ure MOSS 2007 on the des­ti­na­tion server (2 hours, 24 Google searches, d10 SAN)
  9. Restore the disk backup to the MOSS 2007 server (5 hours, 40 GB, may fail right at the end if pre­vi­ous step per­formed incor­rectly, d100 SAN if this occurs).
  10. Man­u­ally recre­ate per­mis­sions on every Share­point site since all the users are now part of a new domain (8 hours, d10 SAN)
  11. Per­form a rit­ual to offer Great Cthulhu the souls of Microsoft’s Share­point devel­op­ment team (d30 SAN, remark­ably quick by comparison)

I began this task on Tues­day after­noon as a mildly knowl­edge­able Share­point user with vir­tu­ally no admin expe­ri­ence. By Thurs­day after­noon, I may have been our company’s most expe­ri­enced Sharepoint-wrangler. On Fri­day morn­ing, I started the above pro­ce­dure. We are now on Step 5. 200 peo­ple are expect­ing to have Share­point access tomor­row. They have not a snowball’s chance in R’yleh.