Archive for May, 2010

Improve Document Management in SharePoint with jQuery

May 16, 2010 1 comment
Today I will present a project I did with a Human Ressources consulting company, ISMAT, for who I integrated a document management process in SharePoint Online. This post covers the context and describes how the developed artifact – a copy operation plugin for SharePoint Online – works. The innovative part of this plugin is that it combines the use  of multiple data sources (SharePoint Web Services and HTML source code) while offering end-user controls that are integrated inside the SharePoint GUI. It was developed with the jQuery JavaScript library. The project described here was also part of a report published by the SharePoint Competency Center, and can be downloaded here: Microsoft SharePoint : on-premise or online?.

While implementing a SharePoint document management system for ISMAT, I had to customize it to meet the business needs. Indeed, in order to sustain an internal business process, an extension was written in JavaScript and jQuery which worked with the SharePoint Online Web Services. This extension allowed ISMAT to copy multiple documents to clients’ folders, while adding business metadata along the way. This allowed collaborators to get copies of generic teaching material ready to be personalized for each customer. It was entirely integrated into the user interface of SharePoint Online, which proved the extensibility of the service and its ability to sustain ISMATs’ particular business needs (see Picture 1: Screen capture of the Documents Copy Plugin in action).

The objective was to automate a part of the clients’ document management process that was entirely manual before. Indeed, it was the source of classification problems like duplicates or lost information. The implementation of this plugin had four main advantages for ISMAT:

  • Increase of productivity by reducing the number of manual actions to perform by the user to customize teaching materials for a customer.
  • Decreased risks linked to misfiled documents, like information loss or duplicates, thanks to the automatic mapping of customers’ metadata.
  • Less training necessary for the end user, as the process is fully integrated into SharePoint Onlines’ user interface.
  • Minimized maintenance: the plugin was designed to be easily installable, configurable and portable. Indeed, just a line in a content editor web part is necessary to enable it, and the plugin requires almost no configuration. Furthermore, it is entirely cross browser compatible and can’t possibly crash SharePoint Onlines’ servers as the code is executed on the client side.
The plugin works like this: Checkboxes are added near the documents displayed in a Document Library WebPart. They use HTML structural patterns that are in Document Library WebParts to detect the place where to insert the UI elements (see schema below: How UI elements are injected).
Clicking on any of those checkboxes generates a new “Copy to” button that appears in the Web Part’s toolbar. When the user moves his mouse over this new button, a list of clients is revealed in a drop down menu. These clients all come from a list of clients that resides in the same SharePoint Site collection. Each time the page is loaded, the plugin fetches the updated list of clients.
Once the user clicks on a client name in the menu, the selected documents are copied to a clients’ library that resides on another site. These documents are updated with business metadata along the way. Another particularity of this plugin is that it uses SharePoint Onlines’ Web Services as well as structural HTML patterns as data sources (see picture below: jQuery plugin for SharePoint bidirectional interactions).

This alternative way of extending SharePoint Onlines’ Standard functionalities proves to be particularly interesting for small companies like ISMAT, who do not have enough employees to be able to benefit from the dedicated variant of the service which allows custom code deployment.