Document management platforms, such as SharePoint, make real collaboration around documents possible. But this does not mean that collaboration will happen in practice. The most important single point of failure when organisations seek to promote collaboration is the required change in culture amongst users. Yes, the technical aspects of migrating content and scaling infrastructure need to be carefully planned in order for the transition to go smoothly. Yes, interesting training materials need to be prepared and delivered in a way that allows employees to keep up with their normal workload. And yes, the time and costs of doing all this must never be underestimated. But none of these steps can guarantee that successful collaboration will result.


Some of the prime reasons are listed briefly below:

  • Working together is a learned behaviour.

    People have spent years learning to navigate deep, hierarchical folder structures, exchanging documents as file attachments via email and being unable to work on the same file at the same time. Skills have been built up to do this efficiently. New skills need to be learned in order to collaborate effectively and old habits or reflexes need to be overwritten with new practices. This change needs to be managed, must be participative, takes time and has costs (such as initially lower efficiency and higher stress for those making the transition).

  • Fostering collaboration comes at a price.

    So for workers, moving to a new way of working is not easy and comes at a cost. Just because the web interface for document management looks familiar, does not mean that the underlying concepts have been taken to heart. Hence the tendency to dump documents and their legacy folder structure into SharePoint document libraries without any reorganization. The results is that folders are often used inappropriately in SharePoint and users never learn to make full use of views and the power they offer. Content preparation, migration and the training approach used need to take these issues into account.

  • Better for whom?

    Effective collaboration is always better for an organization but it may appear to be threatening for individuals who have built their positions around the retention of knowledge. It is naïve to believe that knowledge-sharing will just happen and this is part of the reason why social networking in the enterprise has not brought the benefits imagined by relying on an over-simplified Like and Share approach. Incentives for knowledge-sharing need to be imagined in an appropriate manner, adapted to the organisation and its culture, the training strategy needs to include a Why Should I? angle as well as the standard How To? approach.

  • Involvement and participation in creating the collaboration strategy.

    It is difficult to promote a new approach around collaborative document management if the overall strategy has not involved consultation and participation in its construction. The top-down, imposition of collaboration around documents is a contradiction in terms and such an approach will heighten the risks of failure. Involvement of key users can smooth adoption, foster an evangelizing tendency and calm the inevitable fears which accompany deep changes to working with information.
  • Solve some key and persistent problems.

    Document management is often generic and platforms such as SharePoint offer a flexible and easily customisable way forwards. However, every organisation faces some key and persistent problems relating to documents. The issues giving rise to these problems are often deeply embedded in the structure of the organisation and faced by many users in slightly different ways. As part of the roll-out of a successful strategy around collaborative document management, it is useful to identify these challenges ahead of time, work out whether standard solutions can be prepared and made available in the new platform and “be baked” in for all users.

    Example – Managed Metadata: all users within an organisation make repeated use of core metadata. Carefully design SharePoint’s Managed Metadata service to allow users to benefit from day one.

    Example – Taming Excel: all organisations would grind to a halt in from one day to the next, if Excel spreadsheets were banished. The introduction of SharePoint provides an excellent opportunity to rein in worst risks of unmanaged Excel files (data loss or corruption) while keeping the benefits of flexibility and ease-of-use.

  • Training is not just the transmission of knowledge.

    Training is a key part of the successful rollout of a collaborative document management solution. However, it should not be carried out by SharePoint experts or based on generic SharePoint training materials. It should be delivered by training ambassadors from within the organisation, who have helped design the training process and materials. These people need to be recognized as the key actors in the success of the whole project and need to be provided the scope in their work organisation (i.e. the time) to solve problems and help co-workers.

  • Context is everything.

    We all create, edit, publish, print and share documents. Is there anyone left who is not to some degree an information worker? But while the documents may be created in Word, Excel or PowerPoint and managed through SharePoint, each organisation is different, with its own priorities, culture, systems and deficiencies. The decision to use SharePoint (or any other collaborative document management system) is therefore not just about Cloud or On-Premise, version 2010 or 2013, the extent of integration with other IT systems. It is also about adapting document management to the organisation, as well as, to some practical extent, adapting the organisation to document management.

CRM stands for Customer Relationship Management and with the explosion of mobile computing over recent years, these tools for itinerant workers like sales reps have become hot properties. The market is dominated by, a pure online player with the slightly misleading slogan of “No Software” (they have to deal with the software, not you) and good old Microsoft, which offers both online and on premise CRM solutions via its Dynamics brand.

Both offerings are extensive, powerful and quite complex to evaluate. If you list all the features and then try to do a cost-benefit analysis, you will end up with a spinning head. Microsoft appears to be cheaper per seat per month, but Salesforce has much more integration with social media and other online systems. If you think you might need to start off online but then move to an on premise solution, is out of the loop from the starting gate. Etc., etc.

So rather than attempting a full, balanced assessment of which is the best solution for you, just ask yourself this simple question:

“Is the use of Outlook email crucial to your customer relationship management?”

If the answer to the question above is yes, then go with Microsoft. If you use Gmail, Yahoo or some other messaging system, then by all means consider using

KPI lists are often used to count how many items meet certain criteria. For example, a task list may contain a Status field with the values Not Started, Started and Completed. A KPI list would count how many items have each status and compare to some metric of performance.

It is then very frequent for users to want to display the results as a chart, a step which the SharePoint 2010 Chart web part simplifies considerably. Except that the count totals in the KPI list are not available to the chart web part and neither are totals in a view. So how can a chart be used when reflecting counts of items.

There is a workaround, which entails making the column we are interested in counting a lookup from another list which contains the different values of the column. In the case of our example, Not Started, Started and Completed.

In your task list, make sure the Status column is a look-up from this other list, as follows:

When you have set the Status column on a number of items, as below:

you can then add an additional column to your Status values list called Count, This should also be a look-up column, which should be linked to the Status (Count Related) column in your task list.

The final result is a list which contains a count of the number of items in your tasks list grouped by Status.

It is then a simple process to add a Chart web part and to connect to the count data in the Status list.

SharePoint 2010 comes with a built-in rating system which allows users to record how much they like or value a particular item or page. Sometimes, it would be useful just to be able to set a Star Rating on an item in a list and simply make use of the SharePoint stars, without using all the rating infrastructure behind the scenes.

SharePoint rating uses one graphic called Rating.png on the server:

As you can see, this graphic contains all the possible star combinations and is displayed with an offset to show only the required rating. If you create a list with a choice column called Rating and provide the choices of One, Two, Three, Four and Five, then with a small XSL style sheet attached to the list, you can display the rating in graphical form.

Save the following styling as an .xsl file and upload to a document library on SharePoint.


<xsl:stylesheet xmlns:x=”; xmlns:d=”; version=”1.0″ exclude-result-prefixes=”xsl msxsl ddwrt” xmlns:ddwrt=”; xmlns:asp=”; xmlns:__designer=”; xmlns:xsl=”; xmlns:msxsl=”urn:schemas-microsoft-com:xslt” xmlns:SharePoint=”Microsoft.SharePoint.WebControls” xmlns:ddwrt2=”urn:frontpage:internal” xmlns:o=”urn:schemas-microsoft-com:office:office”>


    <xsl:include href=”/_layouts/xsl/main.xsl”/>

        <xsl:include href=”/_layouts/xsl/internal.xsl”/>



    <xsl:template name=”FieldRef_body.Rating” match=”FieldRef[@Name=’Rating’]” mode=”body”>

            <xsl:param name=”thisNode” select=”.”/>



                <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘Five'”>

            <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-0px 0px;width:70px;</xsl:attribute>


                    <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘Four'”>

            <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-16px 0px;width:70px;</xsl:attribute>


                <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘Three'”>

            <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-32px 0px;width:70px;</xsl:attribute>


                    <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘Two'”>

            <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-48px 0px;width:70px;</xsl:attribute>


                    <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘One'”>

            <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-64px 0px;width:70px;</xsl:attribute>








        <xsl:template name=”FieldRef_Text_body.RateText” match=”FieldRef[@Name=’RateText’]” mode=”body”>

            <xsl:param name=”thisNode” select=”.”/>

                <xsl:attribute name=”style”>background-image:url(/_layouts/images/Ratings.png);cursor:default;height:16px;margin:0px;background-repeat:no-repeat;background-position:-64px 0px;width:70px;</xsl:attribute>





Add the reference to the XSL style sheet above via the view web part’s miscellaneous setting and the result will look something like the example below:

In SharePoint 2007, if you wanted to show graphic icons in a list on the basis of values, you would have had to insert some JavaScript into a Content Editor Web Part.

In SharePoint 2010, a similar result can be achieved via the use of an XSL formatting file attached to the list. Imagine a list where you have a Results field with the values On Target, Underperforming and Failed. It might be useful to replace those descriptions, managed perhaps through a choice field with traffic light icons. Many graphics exist as standard on each SharePoint server, and these can be reused in custom styled views.

The following example should be saved as an .XSL in a document library on your site, with the name of Results.xsl, for example.



<xsl:stylesheet xmlns:x=”; xmlns:d=”; version=”1.0″ exclude-result-prefixes=”xsl msxsl ddwrt” xmlns:ddwrt=”; xmlns:asp=”; xmlns:__designer=”; xmlns:xsl=”; xmlns:msxsl=”urn:schemas-microsoft-com:xslt” xmlns:SharePoint=”Microsoft.SharePoint.WebControls” xmlns:ddwrt2=”urn:frontpage:internal” xmlns:o=”urn:schemas-microsoft-com:office:office”>

    <xsl:include href=”/_layouts/xsl/main.xsl”/>

    <xsl:include href=”/_layouts/xsl/internal.xsl”/>


    <xsl:template name=”FieldRef_body.Results” match=”FieldRef[@Name=’Results’]” mode=”body”>

        <xsl:param name=”thisNode” select=”.”/>


                <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘On Target'”>

                    <img src=”/_layouts/images/IMNON.png” alt=”Results: {$thisNode/@Status}”/>


                <xsl:when test=”$thisNode/@*[name()=current()/@Name] = ‘Underperforming'”>

                    <img src=”/_layouts/images/IMNIDLE.png” alt=”Results: {$thisNode/@Results}”/>



                    <img src=”/_layouts/images/IMNBUSY.png” alt=”Results: {$thisNode/@Results}”/>






Create your list with a choice column called Results and allow On Target, Underperforming and Failed as possible options. Then reference the Results.xsl file you saved previously, by putting the URL to the file in XSL Link box.

The result with the XSL formatting looks like this:


SharePoint views are powerful tools for displaying information from lists. Views can be easily re-organized via browser-based configuration tools allowing filtering, sorting and grouping, etc.

There are also some basic built-in styles, as follows:


But if you want to go further, most users will quickly get lost in the wild woods of XSL formatting, which is decidedly not for everyone. A halfway house is available using some basic CSS styling of standard Microsoft SharePoint styles, as can be seen below on a modified SharePoint Newsletter view.

The page has been built by styling the ms-rtestate-field with a background colour, padding an border.




    background-color: #DFF3EA;

    padding: 10px;



    } tbody td{

    background-color: #EBF3C7;

    border: 0px;

    } tbody td{

    background-color: #ffffff;




As SharePoint will also automatically alternate the rows in this view, this styling has been cleaned up to give following result.


The photo is simply embedded in a standard rich text field floated left and the stars use the graphic available on the SharePoint server but as a static image and not related to SharePoint’s rating system.

SharePoint is very convenient for managing document and lists. As an event management tool it is ideal to allow users to quickly register for an event and obtain the practical information they need. However, event organizers often want to theme their event site with a look and feel which is quite different from SharePoint, developed along standard web design guidelines, using CSS and JavaScript to control layout. This is difficult and costly to integrate with SharePoint and though this may be done for a corporate intranet, it is far beyond the budget limitations of small events.

Can this vicious circle be squared?

Yes by using a site template which has been specially developed with just these aspects in mind. The Event site template comes with three ready-made designs with layout and navigation separated from SharePoint so designers are free to create the look and feel they desire. A basic design is provided as a starting point in a layout called Dark, with a master page as follows:

The page is laid out entirely using external style sheets which can be developed by web designers with no knowledge of SharePoint. Navigation is provided by a standard HTML UL tag (unordered or bulleted list). This technique provides for dynamic menus which can make use of the most sophisticated JavaScript techniques, such as Jquery:

It is also possible to integrate SharePoint’s native top link menu into the event page design to ease the management of links:

Within the design, standard SharePoint web parts can be integrated to management content and to show information stored using SharePoint. This can comprise any of the standard document management features of SharePoint, such as Word, Excel, PowerPoint and Visio, and the use of SharePoint views in web pages:

What is perhaps most useful is the fact that users can be quickly registered to a standard SharePoint list, via their Windows login, using SharePoint’s modal overlay as follows:

This overlay is standard within SharePoint and allows for sophisticated InfoPath forms with dependent drop-down boxes which are revealed based on the choices made by the user.


The form can easily be customized via InfoPath independent of the overall design. This technique also avoids the use of pop-up windows which can be problematical depending on the browser settings of each user.

Once registered, the user can see their own registration and modify it as necessary through a view filtered on [Me] as shown below:

Admins have the full power of SharePoint to export registration lists to Excel or to run workflows to inform users about the event.

The whole event template can be managed as a single unit and saved whenever changes are made. Each new event involves simply the creation of a new sub-site using this template and the customization of the design as required.