Implementations

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:

authoring tools

processing

o interactive

web-based

running within Word

Authoring tools

There is a Word Add-In you can use for authoring.

It is available from http://www.opendope.org/downloads/authoring-advanced/setup.exe

The Add-In is aimed at a developer audience, as it assumes familiarity with XML and XPath. For usage instructions, see the walkthrough.

The source code for the developer add-in can be found at OpenDoPE.codeplex.com (it is released under the GPL; other licenses by request).

An authoring tool aimed at non-technical users is under development.

If you need a source code license for the Word Add-In (written in C#), please contact sales@plutext.com

From Authoring to Processing

Once you have authored a template document, you'll want to try it out.

If you enabled interactive processing (questions), there are 2 easy ways to try it out:

1. you can embed the macro in your template, and run that (it will run when you open the docx in Word)

2. upload your template to www.fabdocx.com:

Choose file to upload:

For more details on processing, please read on below.

Processing: Non-Interactive

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.

Note: If your template does not contain repeats or conditionals, then your template can be handled by the built-in data-binding in Microsoft Word 2007 without the need for any pre-processing at all. All you need to do as a developer, is inject the Custom XML Part into the docx; Word will take care of the rest.

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).

Java

docx4j v2.6.0 implements v2.2 of the Conventions. Source code can be found at http://dev.plutext.org/svn/docx4j/trunk/docx4j/src/main/java/org/docx4j/model/datastorage/OpenDoPEHandler.java

Apache-licensed source code for a webapp which uses that can be found at github . 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.

Note: If your template does not contain repeats or conditionals, then your template is nothing more than a simple "fill-in-the-blanks" document. A user can do this directly in Microsoft Word 2007, without macros.

A demo of web-based processing may be found at http://www.fabdocx.com

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 sales@plutext.com

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 sales@plutext.com