Hello Devs, I have been working on implementing document splitting functionality in office importer for last two weeks. Currently it's working nicely but before it can be integrated into our main source tree there are few things we need to agree upon.
1. New UI of the office importer application. 2. Design of the splitting functionality. Apart from above two topics, I need a good suit of tests as well (working on it). == Current UI == Screenshot: http://i41.tinypic.com/2h4i1s9.jpg As you can see, there are new options for appending content into an existing page plus performing the split operation. Since I'm not a HCI expert I'm pretty sure some of the aspects of this UI need to be changed. So your feed back is very important on this :) == Current Design == UML Diagram: http://i42.tinypic.com/345bxhw.png There are two things I need to discuss with this design. 1) I'm using WikiDocument objects to buffer / collect XDOM fragments that represent newly split documents. This allows me to associate names, parents, titles etc. with corresponding XDOM structures so that after the split operation I can save them as wiki pages. As you can see, WikiDocument is kind of a model object that should be replaced when the new model component is available. Still, I'm not sure if the idea of WikiDocument should be avoided even at this point. 2) DocumentSplitter is not a component interface. I had to do this because HeadingLevelDocumentSplitter has internal state and I couldn't think of a way to make it a component. However I can make it a component by abstracting out the split criterion from the document splitter as described in next (alternative) design. == Alternative Design == UML Diagram: http://i39.tinypic.com/28k24w4.png Here I have abstracted out the split criterion from the document splitter. The DefaultDocumentSplitter will recurse through the main XDOM asking SplitCriterion and NamingCriterion to take care of the splitting operation. I think this design is more reusable than the first design. WDYT? If you have any comments regarding these topics, please let me know. Thanks. - Asiri _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

