[xwiki-devs] [PROPOSAL / IDEA] Upgrade OfficeImporter to jodconverter-3.0-beta-1 and integrate openoffice server management functions in XWiki UI
Hi Devs, =INTRO= A new version of jodconverter has been released ( http://code.google.com/p/jodconverter/) which, among several other enhancements includes support for automating openoffice server process management. Even though the jodconverter API has changed slightly, upgrading officeimporter to use this new version of jodconverter does not require that much of an effort and it will allow us to control the oo server instance pretty easily. With this new version jodconverter, all we have to do is configure the path to the OO server installation (and few more options) within our web.xml (or similar) file. Apart from that, starting / stopping the oo server process can be done in java. Optionally, we can configure following two parameters as well: 1. Maximum number of simulataneous conversion tasks to be handled by a single oo server instance. 2. Task execution timeout. =UI= To integrate oo server management functions in XE UI we can create an admin page for officeimporter like XWiki.OfficeImporterAdmin and link to it from XWiki.AdminSheet. As a start, I have created the this mockup ui: http://i39.tinypic.com/6tlli9.png. Please help me improve this UI :) =IMPLEMENTATION= I can see two different designs that would work: 1. Add the required method signatures (see below) to OfficeImporter component interface. 2. Introduce a separate component for managing the OpenOffice server instance. In any case, following methods (API) will have to be added: 1. startOoServer(); // start 2. stopOoServer(); // stop 3. getOoServerStatus(); // get current state (running / stopped / error) 4. getOoServerPath(); // Returns the location of oo server installation to be displayed on admin UI 5. getOoServerProfilePath(); // Each oo server installation is associated with a profile, this parameter also need to be configured in web.xml Since OpenOffice server is used only by officeimporter, adding those methods to OfficeImporter interface seems ok to me. WDYT? Thanks. - Asiri
On Mar 2, 2009, at 4:06 PM, Asiri Rathnayake wrote:
Hi Devs,
=INTRO=
A new version of jodconverter has been released ( http://code.google.com/p/jodconverter/) which, among several other enhancements includes support for automating openoffice server process management. Even though the jodconverter API has changed slightly, upgrading officeimporter to use this new version of jodconverter does not require that much of an effort and it will allow us to control the oo server instance pretty easily.
With this new version jodconverter, all we have to do is configure the path to the OO server installation (and few more options) within our web.xml (or similar) file. Apart from that, starting / stopping the oo server process can be done in java. Optionally, we can configure following two parameters as well:
1. Maximum number of simulataneous conversion tasks to be handled by a single oo server instance. 2. Task execution timeout.
Sounds good.
=UI=
To integrate oo server management functions in XE UI we can create an admin page for officeimporter like XWiki.OfficeImporterAdmin and link to it from XWiki.AdminSheet. As a start, I have created the this mockup ui: http://i39.tinypic.com/6tlli9.png.
Please help me improve this UI :)
=IMPLEMENTATION=
I can see two different designs that would work:
1. Add the required method signatures (see below) to OfficeImporter component interface. 2. Introduce a separate component for managing the OpenOffice server instance.
+1 for 2 since the task of managing an instance is different from that of doing import conversions. One can have a JMX interface and such while the other one is not related to mgmt.
In any case, following methods (API) will have to be added:
1. startOoServer(); // start 2. stopOoServer(); // stop 3. getOoServerStatus(); // get current state (running / stopped / error) 4. getOoServerPath(); // Returns the location of oo server installation to be displayed on admin UI 5. getOoServerProfilePath(); // Each oo server installation is associated with a profile, this parameter also need to be configured in web.xml
OpenOfficeServerManager or something like that and: - startServer() - stopServer() - getServerStatus() ... (no need to repeat Oo - not even sure we need "Server"). Will it be implemented as a JMX MBean? Thanks -Vincent
Since OpenOffice server is used only by officeimporter, adding those methods to OfficeImporter interface seems ok to me.
WDYT?
Thanks.
- Asiri
Thanks -Vincent http://xwiki.com http://xwiki.org http://massol.net
participants (2)
-
Asiri Rathnayake -
Vincent Massol