Probably the most commonly used features of SharePoint are the document management features. This series of articles will attempt to highlight some of the functionality that is available to users in configuring and managing document libraries. I would like to add that the following is not designed as a guide to best practise, but is purely an exercise in the different ways document libraries can be configured and used and I would also like to stress that any organisation implementing SharePoint and its document management features should undertake an extensive period of analysis to determine exactly how their document management solution should be best implemented.
What is a Document Library?
Put simply a document library is a SharePoint container which can be used to store documents in a central location. At a basic level a document library is similar to a network share allowing users to add, view, edit and delete documents over the network. However, document libraries can be extended beyond this basic functionality by using a combination of features such as Custom Columns, Metadata, Keywords, Versioning and Content Types etc.
Standard Document Libraries
I am going to start by looking at a default\standard document library. When a new SharePoint site is created in you will most likely be provided with a default document library (usually named Shared Documents). Alternatively a new document library could be created (Site Actions –> New Document library).
Figure 1 Standard Document Library
As above screen shot shows, the standard SharePoint document library is relatively basic and provides little more information and functionality to a user then a network share. Even when content has been added there is very little information visible to help users identify documents, this is especially true when there are a large number of similar documents in a single document library.
Figure 1.1 Standard Document Library with Content
Document Libraries and Folders
One of the more common ways of organising documents in a document library is by using folders. I suspect that the reason why this is so common is that it mimics the behaviour that users are familiar with from using network shares etc. Having said this, using folders is probably not the best way to organise your content and it not something I recommend to my clients as there are better options (some of which I will cover later).
To add a folder to my document library, on the ribbon navigate to the Documents tab. The new folder button should be visible, I need to click on this and give the folder a name. In this case I am going to give it the name of a fictional client. The idea being that any documents relating to this client will be located in this folder.
As you can see by using the folders feature I can start to organise the document libraries content.
Note: Folders in a document library can be nested and if a large number of documents are going to be stored in the document library, then the use of folders is required.
Personally I feel that using folders makes it slightly harder for users to find documents and can also require a number of clicks to find the correct document, especially when there are a large number of nested folders. This can be remedied slightly by modifying the view properties so that the folders are hidden but the content is still shown. To do this all I need to do is select the Library tab in the ribbon and click on modify view, when the edit view screen loads there is an option (under the folder section) to Show all items without folders option, if I select this option then the document library will display all of the content without showing the folders.
As you can see from the above example the documents which were previously shown within folders are displayed as if there were no folders in the document library. This can be a handy way of displaying content, but it still does not provide much more information than you would get with a normal document library.
Custom Columns or Metadata
An alternative method of organising document library content is to use custom columns or metadata, by utilising this functionality you not only make it easier for users to discover documents but it also has a positive impact on search and knowledge discovery.
Note: It is important to note that metadata should be looked at from an enterprise level as a consistent approach to naming conventions should be maintained across the organisation.
Currently I have a document library with two folders named Acme Ltd and TestCo Plc these represent two fictional clients for my organisation. Now instead of using these folders I am going to create a custom column called Account and then use this column to store this information. Not only does this give me more visibility of the content and its metadata, but it does enable me to do more in terms of how I am going to present the information stored in this document library. For example I can group or filter on the content of this new column.
The first thing I am going to do is to move the content that is in the folders, it is quite simple to do this using the explorer view as I can then use drag and drop. Once I have moved the documents I can delete the folders, alternatively I could just create a new document library.
Anyway, to create a custom column I need to go to the Library tab in the ribbon and I can either click on the Create Column command or go to the Library Settings and do it from there. Once I have selected the Create Column command the Create Column Dialog should now appear.
As you would expect there are a number of options which can be used when creating a new column, in this instance I will select the Single line of text option. I am going to create the column with the following information:
Type: single line of text
Require that the column contains information: No
Enforce unique values: No
Maximum number of characters: 255
Add to default view: Yes
Once I have entered the settings I can click on OK and the column will be created.
The document library now contains an extra column titled Account; by default SharePoint will add this as the last visible column. When a new document is uploaded users will now have the option to enter information into this field.
Note: Existing documents will not display any information in this column until the document properties are edited.
Alternatively if you are using Office 2007 and above you can take advantage of the Document Information Panel. This panel will appear in documents opened and/or created from within SharePoint and allows users to enter document metadata directly from their office applications (Word, Excel, PowerPoint etc.) this option I think gives users a much more efficient way of entering the supplementary data.
As the Account column was added as a text field the validity of the data held within this column is subject to the users entering the data correctly. Unfortunately there is the possibility that the data the users will enter into this column will be inconsistent, to mitigate this there are a number of ways in which I can ensure the validity of the users’ input. Probably the easiest to implement is to use the choice option. This option allows me to enter a list of pre-defined values which the user can then select from to populate the custom column, this reduces issues regarding consistency of the metadata.
To change the column from a text column to a choice column I am going to click on the Library Settings option in the Library tab and then when the Document Library Settings page loads I need to select the Account column, which should appear in the Columns section.
On the Change Column screen I am going to change the Name and type field to the Choice option. As soon as I select this option some additional fields have now been displayed. The new field I am interested in is the one labelled Type each choice on a separate line, in this box I am going to enter the two fictional client names I used earlier on (Acme Ltd and TestCo Plc) the other settings I will leave as the default values.
When I click on the OK button the changes will be made to the column. Now when I go to upload a document or edit a documents property you will notice that the account field has changed from a text field to a drop down menu. The same will be the case in the Document Information Panel within the Office suite.
By using a drop down list you can ensure that the information entered into this column is correct in terms of spelling, case and you can control the contents of the drop down list to help ensure its validity.
Note: For this particular type of metadata, there are other ways of achieving the same result including the use of the Lookup, External Data and Managed Metadata column types. I will cover these in another post.
Now my document library allows me to add an account name (selected from a list) to a document and if I wanted to I can add more columns to this library, such as a document type column.
As you can see from the above screenshot the metadata associated (and displayed) against a document is starting to be a lot more useful.
Note: When metadata has been added to a document library it can be then used in custom views.
I now have a document library with two custom columns, but wouldn’t it be nice if I could use these columns in other document libraries or even other content.
There are a number of ways in which I can re-use these custom columns, but this would depend upon how I want to implement the new versions. For example if I wanted to duplicate the whole document library structure you could save the document library as a template and then I could use this new template when I create a new document library or I could re-create these columns as custom site columns, this means that these columns could be used in any document library/list in my site and any child sites.
Document Library Templates
To re-use a document library I can save it as a template, thus enabling me to re-create it in other sites. To do this I need to go to the library settings and select the option to Save document library as template, which can be found under the Permission and Management section.
I need to give the template a file name and a template name, there is also an option to include the content, this can be useful if I have a requirement to re-use a set of default documents in a document library. However for this library I am going to use the following settings
Template Name: Demo Template
Include Content: No
Once this template has been created I will be able to select it from the default Create screen.
The document library will now be created with the same settings as original document library.
Note: Although the document library was created from a template, there is no difference between this and any other document library. It still retains all the default options and can be modified without impacting on the original or the template. The same is true of the document library the template was based upon.
To create a site column, go to the Site Actions menu and select the Site Settings item.
On the site settings screen I need to select the Site columns option under the Galleries heading.
Now, when I select the create option to create a new document library, the New Site Column page should now appear, this screen is almost identical to the Create Column screen (see figure 1.9), apart from the Group section. This setting allows me to place my site column in an existing group or I can create my own group. Doing this makes it easier for me to find my custom column when I want to add it to a list or document library.
In this instance I am going to create a column called “Document Status”, which will be a choice column and I save it into a new a new group called Demo Columns.
Now when I navigate to my document library and go to the document libraries settings screen. I can click on the option to add from existing site columns, in the select site columns from drop down control I can select the group that I created earlier.
In this group I can see all the custom columns that I have created and added to this group. I can then select the column that I want to add to my document library, click on “add” and then OK and it will have been added to the current document library.
In this way I can build up a range of commonly used metadata and use it throughout my site.
By creating the template and custom site columns I have started to build up a useful set of metadata and templates for use in my site.
In the next article I will cover some ways in which I can use data from within my site and other applications to produce a more manageable means of creating and maintaining this metadata.