One of the main and early adoption reasons for SharePoint implementation is document management. This could branch later to records management or content management, but document management usually comes first.
There are other available solutions out there: open source, desktop or web based, so which is better and how do you pick and choose?
There is actually no definite answer. Even the question of which is better is not very relevant. What matters is what is good for your own environment and what gives you real added value now and in the near future (what survives past your recent or current strategic plan).
Document management is about controlling the life cycle of a document: creation (or acquisition), security, storage, classification (taxonomy), review (editing and approval), publishing, retention (or disposal). There are other internal details to these processes involving policies, guidelines, templating, conversion, auditing and compliance – to mention a few.
SharePoint 2010 has the main required features to function as both document and record management system as well as ECM (enterprise content management). It integrates very well with MS Office products (especially MS Office 2007 and Microsoft Office 2010). It has a flexible customization set of tools, starting from the browser and ending with Visual Studio 2010 development.
However, SharePoint 2010 is lacking some features like document capture or high volume processing capability (ex. Invoicing, as indicated in ). There are custom third party solutions to complement SharePoint in various functional areas (ex. capture solutions from KnowledgeLake, Canon and others).
Alfresco is probably the best known open source competitor to SharePoint in the document management area. It also have a paid version, but does not offer the collaboration you find in SharePoint and its aspects (categories) are not capable of true taxonomy.
DokMee has both desktop and web versions with basic features including workflow but apparently no collaboration or taxonomy. Teamspace also has basic document management features. In fact, there are plenty of solutions out there, some of which are hosted like the Office 365.
So which one to choose? Again, the relevant question is what are the selection criteria?
Obviously, the total cost of ownership is a major factor. This includes hardware, software, licensing, training and maintenance. The set of required features is another. Features are likely to differ from one institution to another (basic features are likely to be shared, but if you are in legal business you may have different additional features from a media house). Return on investment (ROI) is usually important especially for the private sector, but return is not limited to money. Organization culture, governance and technical background (other past and present solutions) are also important.
It will take a few good hours of brainstorming before you decide and you should not start with competitive products on the table and a task to choose from – that will be a recipe for tension and frustration. Start with your strategy (goals) and align your discussion with those goals.
For a successful implementation of a SharePoint project, in addition to planning, governance and change management, technical capacity is needed at various levels. Implementers, administrators and support staff will require various knowledge and skills in terms of platform architecture, security, object model and out of the box customization in addition to no code and code based solutions. Integration with MS Office, Exchange and other Microsoft and other vendors products is also required.
For end users, it is not enough to just know how to add an item to a list or understand the life cycle of a document. Other information and knowledge management skills will add value.
SharePoint training and capacity building is available in several formats and to several target audiences at various complexities. A working approach is to start from the big picture to know what SharePoint is and is not. Since SharePoint is a large platform, one usually ends up focusing on few areas with a working knowledge of the system as a whole.
If you are new to SharePoint, it is recommended to start with an introductory book or two like the step by step or the plain and simple series (maybe the dummies as well). I have already posted some pointers in the SharePoint 2010 Books post (covers other related books like InfoPath and SharePoint Designer). Once you gain the basics, you could vary your training and learning resources from online SharePoint 2010 tutorials and movie clips to articles and blogs or full training courses or presentations. It is recommended to have a trial or test installation to play with at this point – see SharePoint 2010 Useful Links.
If you are after certification, you should start at the Microsoft SharePoint Training site (in addition to the Microsoft SharePoint Learning resources).
SharePoint (server, designer and InfoPath) video training (subscription or on DVD) are offered by major training providers like Lynda.com, AppDev, TrainSignal, CBTNuggets and KAlliance in addition to face to face classes if they are offered in your area.
For end user training, you may use the Show Me product from Point8020, the MS productivity hub (see related tutorial) or the Microsoft SharePoint Help site. You can also find SharePoint 2010 tutorials for both end users and developers on YouTube or some SharePoint hosting providers sites.
A few days ago, a question was asked on one of the SharePoint forums. The thread owner wanted to e-mail all active users in the farm to inform them of an upcoming system reboot. In a reply, I thought about using our good old friend – the IIS log. IIS logs per web application and since a farm does not have many, it is possible to track down the relevant places to look into. But how do you define active users? The short answer is you can’t.
However, for practical purposes, you can define a time window or interval and say something like “users who have made a request in the last few minutes are most likely ‘online’ right now”. You define your time interval and zoom in to extract the users (IIS records the logged in user in cs-username column in the logs). But IIS logs, usually stored on daily basis, have so many lines and you need a tool to analyze them.
The Log Parser 2.2 (dates back to 2005) is a great tool and works well with IIS 7.5 and Windows 2008. You will be amazed by what this 1.5 MB installer can achieve. There is a help file and some sample queries in the install folder and you can see online help in this IIS blog and the log parser forums. Log Parser is a command line tool but it uses standard SQL syntax for its queries (there is a beta GUI on codeplex called Visual Log Parser).
So, I downloaded the installer, installed it and picked the current log file for my web application (you can find this from IIS under logging). The query is rather simple:
LogParser “SELECT distinct cs-username INTO test.log FROM C:\inetpub\logs\LogFiles\W3SVC1498786109\u_ex110930.log where time > ’14:30:00′ and time < ’14:40:00′ ” -o:csv
The above line launches Log Parser, provides a select statement and defines the output format (-o:csv or comma separated format) and the file to write to (test.log or better test.csv if you want to open with Excel). My time window is 10 minutes from 2:30 pm (not a busy server, just a test VM). As you can see, the processing is fast and an earlier time window had 3 users active.
Of course, you could count the current users in the query, but to send them e-mail you have to make some further work (map to e-mails and send the message or use some automated process that takes csv log ins as input).
The power of Log Parser should not be underestimated. You can create charts and get other reports and statistics. You can map the logs folder to a local or network drive and run Log Parser from a client machine. I just wanted to illustrate the active users as a proof of concept in the SharePoint context.
The Site Contents and Structure (under Site Actions – Manage Content and Structure) is a very handy management and reporting tool at the site collection level scope. It allows you to view and drill down through site contents including subsites and you can create new sites, pages and lists as well as manage existing items (copy, move, delete) and also change settings. Out of the box, you also get a few reports and where possible, you can view related resources (ex. images that belong to a certain page).
In addition to the default (all documents), you can view My Tasks, Items Checked out to Me, Last Modified by Me, Pending Approval, Drafts, Going Live in 7 Days and Expiring in 7 Days. These are all great, but what if you need other custom reports? For example, you need all checked out documents (for any user). The answer is relatively simple. SharePoint stores report definitions (including criteria) in a SharePoint list called Content and Structure Reports (http://site-collection-root-url/Reports%20List/). The criteria uses the CAML query language. So, to add a custom report, you add an item to the list and specify your CAML criteria.
In this example, you can examine the criteria for checked out to me and adjust it. Instead of specifying current user, we look for same fields that are not null:
Once you save the item and refresh content and structure, your new report will show in the drop down and the results will come out with no code (except CAML criteria).
You can, of course, write code to get the same result or customize the CQWP to get custom views, but the above method is simple and effective. Next time you log to your SharePoint site, try to make use of Content and Structure and feel free to add some custom reports.
InfoPath forms, where applicable and available, are a great way to improve the look and feel of your list forms and also for adding client side functionality like validation and rules. InfoPath forms disable the default SharePoint forms for new, edit and display item on a content type basis (ex. the Item content type, which is the basis of many lists). This default behavior is not desired in some cases and the ability to modify the display form (or at least use the default SharePoint version) is needed. One good example is a list that has a lookup to another list: the OOB behavior of the display form is to hyperlink the lookup value to its details form. In InfoPath form (all purpose form), this is not the case – you see the lookup like plain text. The fix is easy.
Open the list in SharePoint Designer. On the details page, in the Content Types section (lower left of the details pane), click Item (or the content type you are using). A new page opens with the content type settings. All you need to do is modify the Display Form (under Forms). Instead of ~list/item/displayifs.aspx (Item is the content type in this case), use ~list/dispform.aspx (or whichever display form you want to use). Save your changes (top left) and that’s it.