Anyone is free to implement the OpenDoPE Conventions. If you have a full or partial implementation, let us know and we will list it here.
The list of implementations is organised as follows:
running within Word
There are three different Word Add-Ins which you can use for authoring.
An authoring tool aimed at less technical users is available from This tool uses the drag/drop approach Microsoft has introduced in Word 2013. The source code is available on GitHub.
From Authoring to Processing
Once you have authored a template document, you'll want to try it out.
The primary function of a non-interactive processing tool is to pre-process repeats and conditionals. That is, to repeat a repeated item the number of times dictated by the data, and to exclude any conditional items (paragraphs, tables) which the data indicates is unecessary.
Non-interactive processing requires that all the necessary data is present in an XML file (additional software may be used to create that XML file, from SQL, SOAP etc).
docx4j implements the Conventions.
There are various bits of sample code at GitHub, entitled 'ContentControl*'.
Apache-licensed source code for a webapp which uses that can be found at . A web app is a better approach than a command line app which exits after each run, since you don't incur Context startup time for each document.
.NET / C#
A C# / .NET implementation is under development.
Interactive Processing (Web based)
In addition to pre-processing repeats and conditionals (as described above), an interactive processing tool gathers necessary data from a user.
The fabdocx implementation is a Java web application, built on top of docx4j. The template documents are stored in a CMIS-based repository (Alfresco).
To enquire about licensing fabdocx, please contact firstname.lastname@example.org
Interactive Processing (from within Word)
The advanced authoring tool described above can optionally inject a Word macro into your template document.
If you choose to do this, then when a user opens the docx document in Word, the macro will run and ask them the relevant embedded questions.
To obtain the macro VBA source code, please contact email@example.com