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