The next beta drop of the MindPlan Composite Application will contain an addition export target in the export system and a new CA property.
To understand what is possible with this addition, here are a few basic facts about the MindPlan export system in general:
The MindPlan export system
The MindPlan export process consists of two steps:
Step 1: Export format
In the first step the export content is generated.
When you define a new export profile in the MindPlan export system, you can choose between the following formats:
So we’ve got some predefined and easy-to-use formats like HTML and RTF tables and simple text lists. When you choose to generate a HTML/RTF table and proceed with the export profile wizard, you will see a form to select the node values to be exported (subject, start date, due date, priority etc.).
We have our own MindPlan XML format and the MPX export format to get data to MS Project.
And we finally have an export format called "Text export", which most of the end users
- do not know,
- do not like when they get to know it
- and also would not understand :-)
(this is a hardcore feature...)
The "Text export" is our programmable export plugin:
With this plugin you can export the MindPlan data in any text-based format that you like (e.g. your own XML format, JSON, tab-separated lists etc.), but you should be motivated to do some coding.
We provide our own XML-based scripting language and a rich set of scripting commands, if/else constructs, function/variable definition and Notes support (like evaluating @formulas) to let you extract, transform and print out the MindPlan data that you want.
Step 2: Export target
So we have created our export content, but what are we gonna do with it?
Here are the choices that you have:
You can copy the content to the clipboard, e.g. to paste a HTML table inside a new document. You can also write the content to a file (Export target: file). That’s what we do when you choose to save a MindPlan to a MPXML file.
In addition, we can call any application after saving the file (Export target: External application), we use it in our concept export to Word/OpenOffice to call a VBScript which reads the export content and does the Office automation (using COM) to create a new document.
You can also create a new email (Export target: Lotus Notes mail) or meeting invitation (Export target: Lotus Notes meeting invitation) and add the content to the body of the form. We use this to send links to nodes via Notes mail (Tools/Send links to nodes as mail) and create a meeting invitation with an embedded agenda (select an agenda node and you find this option in the "Next Steps" panel).
And finally, here is our new export target:
The export target “CA property” sends the generated export content to the new Composite Application property “CAExportTargetOutputXML”.
On the properties page of this export target, you can define a unique content ID. Wired CA components can use this content ID to identify content that they support.
We embed the export content in a small piece of XML code:
We include a new sample Composite Application and a matching export profile (.mpexp file) in the CA download archive of the next beta drop that makes use of the new export target.
The export traverses the MindPlan tree and creates XML like this:
<node title="Test" notesurl="notes:///...">
<node title="Child node" notesurl="notes:///..." />
So that’s the MindPlan tree with node titles and the Notes URL of the node documents.
The MindPlan component is wired with a Lotusscript action that
- reads the incoming XML
- compares the content id to check if the content is supported
- reads all the documents of the nodes
- and concatenated the titles, descriptions and richtext fields into one new richtext field
- adds chapter numbers (1, 1.1, 1.2 etc) to the titles
What’s the result? It’s a Concept Export of MindPlan Nodes to Lotus Notes Richtext!
Here is the exported MindPlan:
Other possible use cases
We think about adding IBM Symphony support to the export system, e.g. new export targets "IBM Lotus Symphony document" and "IBM Lotus Symphony spreadsheet" that automate the Symphony components in the R8 Notes client to produce minutes documents or calculations within the Lotus Notes client.
But this could also be implemented using this new export target. One could add a Java Eclipse Plugin to the Composite Application, wire it to the "CAExportTargetOutputXML" property and transfer the incoming content to Lotus Symphony via its UNO APIs.
Any volunteers? :-)