Light-weight extension of Sharepoint Document Management
I recently helped the Norwegian video-conference company Tandberg get more value out of their Sharepoint installation through extended project support features and improved desentralized internal publishing.
The existing routines for document management were heavily based on a centralized assignment of unique document numbers. Early in the process it was agreed that internally both the document url and the Sharepoint guid were unique identifiers for documents, but none of these could be used externally. This called for extending Sharepoint with functionality for assigning unique document numbers.
A primary goal in the project was not to choose solutions that required deploying custom code on the Sharepoint server. We tried several approaches but they were rejected on poor user experience (extensive use of lists and custom relations and custom auto-numbering). The final solution was based on a service oriented approach, and a simple chubby client implementation in the Sharepoint UI. The result was a simple web service interface delivering unique document numbers and two lines of html in the EditForm.aspx of the template document libaries. This is how the solution is presented to the users:
When needed, users click the link in the bottom toolbar and the Document Number metadata field is assigned a unique number from the DocumentNumber WebService.
Summarized we ended up with an extremely low impact solution that proved as a significant improvement over the existing solution, thus making the migration to Sharepoint easier for the users. Another really cool thing is that it is easily extensible. The getToolBarHtml() function can return a more comprehensive toolbar with more features, and the features can be easily exposed as webservices and called with the chubby client approach. All of this done from a single location in your Sharepoint server.
For my own part I have to admit that Sharepoint forces me to appreciate client-side scripting more than I'd like to:-)