Sensible Document Template file management with Sharepoint
In my experience great and
up-to-date document templates are one of the key motivators for adoption of a Sharepoint
Intranet. Getting users onboard with document management in Sharepoint really
drives the entire adoption of the intranet in your business.
This is really a very basic notion:
If users learn that the best Powerpoint or Word template is available from the "New"
button in Sharepoint document libraries, they are more likely go there to
create a document than modifying one on C:. When created from Sharepoint users
will probably also elect to save the document back where they started. This is
crucial in the tough fight against corporate information on the C: drive.
So if you're going to use
document templates as an Intranet adoption driver, you need to make sure that
employees really like the corporate templates. They absolutely need to be 100%
flawless. Unfortunately there aren't many consultants that specialize in this
kind of work, but there are a few and their efforts are likely money well spent.
(Just make sure you get one that understands the new file formats and
how Sharepoint works with document properties. And you don't want the one with
tons of VBA code laying around ready to fill your templates with macros without
really good reasons for doing so..)
Measure the usage
It's quite easy to empirically
track the usage of the new corporate templates: Just make
sure that the template files contains some kind of tracking document property.
For example if you (or the template consultant) add the document property "MyCompanyTemplateVersion" with value "1.0" to
the templates, you can simply use standard Sharepoint search to count the
number of documents with this property value. This is easily done by promoting the
property for search, and using Advanced Search.
So, now you've got the perfect
set of templates and you're able to track usage using search. How to you expose
the templates to your employees in a way so you can easily keep them up to date,
flawless and shiny?
Understanding the terms and concepts
The task is really about
getting your Site Columns, Site Content Types, List Content Types, Document
Libraries and Document Templates to play nicely together. Many concepts and
technical mumbojumbo, but the solution is super-easy. Don't give up now.
I will assume that you have
one primary site collection used as the main intranet or document management
solution. Let's call this the Intranet Site Collection. Start off creating your
content types here. For Office type documents it is common to create an
inherited Content Type which inherits from the built in "Document".
For simplified management of
Content Types Sharepoint offers inheritance. It is important to distinguish the
Content Type from the actual Document Template. Think about the Content Type as
the combination of a set of metadata (which potentially may be site columns)
combined with a reference to a document template (such as a docx, pptx or aspx file
type). You also need to distinguish between the Site Content Type (the
definition at the site level) and the List Content Type (the instance/usage at
the list or document library level).

Using Content Type inheritance,
through assigning parent content type, might lead you to creating something
like this for your company:
-
Document
(standard)
-
Puzzlepart Document
- Puzzlepart Letter
- Puzzlepart Quote
- Puzzlepart Presentation
-
Puzzlepart Internal Presentation
-
Puzzlepart Sales Presentation
- Puzzlepart Spreadsheet
-
Puzzlepart Travel Expenses
-
Puzzlepart Department
Budget
Note that once you've parented
a Content Type there is no easy way to change this relationship, so try to get
it right.
When your Site Content Types
are set up with metadata and site columns you'll probably want to assign
suitable document templates for each of them. This is done through the Advanced
Settings of the Site Content Type (under site settings).

Reference your templates!
In this form you'll get a
choice between entering a URL of an existing document template, and uploading a
template. When working with Site Content Types, uploading a template may lead
to undesired side effects.
The problem is that when the
Content Type is put in use, an uploaded file will be duplicated in the
structure. The most severe consequence of this is the scenario where your
Content Type is in widespread use around the intranet. Say you have a "Project
Directive" content type with an uploaded template, and you include it in the "Project
Site" custom site template. After a year or two your organization has created 500
project sites in the portal, and you want to update the template.
With an uploaded document
template you'll have to upload the new version of the template in this form. That results in an operation which requires
Sharepoint to traverse all of the 500 sites and replace the document template
file on each instance. In most cases this puts a heavy load on the server for a
while, until the operation times out and you're stuck with a partial update
(some places got the new template, others didn't).
This is why you should not
use the upload option, but the "URL of an existing document template". So
what URL should we enter here?
Set up your central template library
This is a great opportunity to
establish a single central document library on your Intranet for your document templates. In the screenshot I've indicated that I've created a
document library called "IntranetTemplates" on the root web of the Intranet
Site Collection. It is also probably a good idea to restrict normal users to
only have read rights on this library to avoid anyone accidentally messing up
the templates.
Now in order to get everything
working properly you need to take some care when creating the document
templates in "IntranetTemplates":
- Have your
content types set up first. Let them use some default document template file of
the correct type (Word, Powerpoint etc).
- Add the
content type to the IntranetTemplates library. This will assign a List Content
Type to this library which inherits from the Site Content type you created
earlier.
- Now upload
your actual (flawless, great-looking) template file into the document library.
- Edit properties
for this document in the library and assign the correct Content Type to this
document. This is important!
- Go back to
the Site Content Type advanced settings and paste the URL to the document in
the field "URL of an existing document template".
This sets you up with a single
version of the template-truth.
Keep the templates up-to-date
There are some important
considerations to understand about changing the document template reference for
Content Types. The key setting here is the option "Update all content types
inheriting from this content type". For
example if I would select "Yes" on an update of "Puzzlepart Document" from the structure described above two categories
of Content Types will be updated:
-
All Site Content
Types inheriting, such as "My Company Letter" and "MyCompany Quote"
-
All List
Content Types inheriting from any of those Site Content types, such as the List
Content types included in the "Project Site" custom site template.
Given that I just now
assigned a new Word template (dotx) to the "Puzzlepart Document" type, we would
then effectively have assigned this word template to "Puzzlepart Presentation"
aswell, which is all wrong.
This is a bit cumbersome, but
with careful planning you're able to minimize the timeframe of which Content
Types are referencing the wrong template. Remember that this setting does not affect
existing documents. You simply need to quickly update "Puzzlepart Presentation"
to point to the right PowerPoint file which you (of course) have prepared in
the "IntranetTemplates" document libary.
Now, when all your centrally
managed templates are being maintained in the IntranetTemplates document
library, you can simply update the files here, and the users will get the new
and improved document template the next time they create a document from your
Intranet or portal.
Always test changes thoroughly
Whenever you make changes
to Content Types or templates you should always test your changes thoroughly:
-
Create new documents
based on the Content Type from multiple locations and assert that the template
is loading ok
-
Assert that
the Office Document Information Panel (DIP) displays correctly with the right
metadata
-
Check to
see if the Site Content Type have changed has children. Assert that your
changes have worked out nicely for the kids (inherited typesJ) as well.
-
Have a
regular user run the same tests to assert that access rights are ok
Remember that employees look
at document production in Sharepoint in the same way as email: It should just
work.
One stupid error and they're back to the C: drive and they won't come
back for a long time.