Recently one of our clients approached us wanting to expand their Employee Training Management to include an automated solution for document creation. In this article I want to show you the requirements of this project and how we solved them. We were presented with different use cases which our customer required automated document creation for, based directly on existing training and enrollment information. The project’s aims were as follows: Training organizers should be able to print a participants list for every training event and provide name badges for the participants. The catering department should receive information about the number of guests present and their time of arrival, whilst the accounting department should be informed of all relevant billing information for the participants in one single document. Finally every participant should obtain a training certificate for successfully completing a training course. The aim was to design and implement a fully integrated Employee Training Management add-on based on these requirements.
Our solution is designed to provide a straightforward workflow, which transfers information from both training events and enrollments to individual documents, in order to generate documents automatically.
Documents can be created directly from a training event by selecting one of the document types.
Alternatively you can select specific enrollments from a training event and create documents especially for them.
Users are then able to select one or more document templates by filtering according to certain properties, such as document type, topic or language.
By selecting multiple documents users can generate all relevant documents for a single training event with one click.
Certificates and name badges were designed as merge documents. Users can preview and edit a draft after adding the training information but before participant information is added.
All generated documents are stored in a SharePoint document library. The document templates can also be created and managed in this library.
We are aware that different organizations and departments have different needs, therefore we aimed to keep the document layouts and designs as flexible as possible. So that we could meet the different needs for every training event and organizer, we created a SharePoint document library for storing documents.
Users are able to create and manage document templates and choose the appropriate template every time they create a document. They can get an impression of the document’s formatting before the actual document is created and can insert SharePoint data using placeholders.
We had to combine information from both training events and enrollments into single documents and therefore had to search for different ways to make it easy for users to map SharePoint data to a Word document.
Firstly, as documents should be created on the training event level, we decided to embed training data directly using Document Properties. With this integrated SharePoint & Word feature users can easily manage document properties either from SharePoint or Word itself. Additionally we added a feature for users to define the formatting for date & time columns by inserting standard date and time format strings directly into the property fields.
Secondly, since rich text columns use rather complex formatting, we chose to use Word Automation Services for transferring the contents from SharePoint to the documents. Users are able to use specific placeholders [[Column Name]] to select the columns from which they want to obtain the data.
Thirdly, enrollment data can be embedded either in tables or in the form of merge documents. Tables are populated by participant information, while the template is copied once for each participant for merge documents.
In the first row of a table users can define which columns from the enrollment list should be used. Both display and internal names are accepted.
Certificates and name badges were designed as merge documents. For merge documents the template is copied once for each participant. Since document properties can’t be used here, users can enter the field names in custom-built placeholders and thus specify which positions in the template should be replaced with data from the enrollment list.
After creating the documents, users receive one single merge document which can be printed easily.
Our approach wasn’t just aimed at transferring data from one SharePoint list to Word, but also to combine data from multiple lists according to the requirements set. The result is an easy-to-install solution which enables users to design templates with flexibility and to create documents with only a few clicks. If you are facing similar challenges with your version of Employee Training Management, please don’t hesitate to send us an email at firstname.lastname@example.org.