On 8/21/12 10:48 AM, Jürgen Schmidt wrote:
> On 8/21/12 3:46 AM, Rob Weir wrote:
>> On Mon, Aug 20, 2012 at 10:54 AM, Jürgen Schmidt <jogischm...@gmail.com> 
>> wrote:
>>> Hi,
>>>
>>> OpenOffice is not only used as desktop application but also as hidden
>>> part of other software and often as a conversion engine in the backend.
>>>
>>> OpenOffice has very good filters for many file formats and the usage as
>>> a conversion engine is straight forward. And the conversion from one
>>> format into another can be improved and optimized by some special
>>> handling of parts of the document.
>>>
>>> For example external linked parts can be ignored and don't have to be
>>> loaded during conversion, embedded images can be simply copied etc.
>>>
>>> I would like to improve AOO for this kind of usage by introducing a new
>>> parameter "-conversionmode". It's not comparable with the command line
>>> parameter "-headless" or the "hidden" property for loadComponentFromUrl().
>>>
>>> The intention of this new global option is to have it available
>>> everywhere in the underlying code to optimize the performance of the
>>> conversion.
>>>
>>
>> It is an interesting idea.  Perhaps in the future it could be combined
>> with a #define and its own makefile so we could compile the project
>> for this purpose specifically, perhaps having a smaller memory
>> footprint.  Or do you think you can get most of the benefit with
>> run-time flags alone?
> 
> probably not and it can be a combination of both. I think mechanisms to
> exclude specific code at compile time will provide further
> opportunities. This can evolve over time and we can make use of this on
> demand.
> 
> Juergen
> 

for now I propose the following where I have a patch in the queue already.

1. new cmd line option "-conversionmode". This option enables
automatically "headless" mode and can be seen as an extension to that.
"headless" is already an extension to "invisible". We can see if this
fits together or if we have to distinguish the modes. Let it evolve and
adapt it on demand.


2. cmd line help

###
OpenOffice.org 3.5  350m1(Build:9610)

Usage: soffice [options] [documents...]

Options:

-minimized      keep startup bitmap minimized.
-invisible      no startup screen, no default document and no UI.
-norestore      suppress restart/restore after fatal errors.
-quickstart     starts the quickstart service (only available on windows
and OS/2 platform)
-nologo         don't show startup screen.
-nolockcheck    don't check for remote instances using the installation
-nodefault      don't start with an empty document
-headless       like invisible but no userinteraction at all.
*-conversionmode enable further optimization for document conversion,*
includes enabled headless mode.
-help/-h/-?     show this message and exit.
-writer         create new text document.
...
###

3. usage in the code

Similar to handling the headless mode. The Application class in vcl gets
2 new member functions.

static void Application::EnableConversionMode(bool bEnableConv = true);
static bool Application::IsConversionModeEnabled();

And the desktop::CommandLineArgs class get also a new member

sal_Bool desktop::CommandLineArgs::IsConversionMode() const;


With this change it is possible to make use of the conversion mode in
the code and further optimization can be triggered.

I will also check all other parameters to get an even better overview
what we already have, what is documented and what not etc.


Juergen



Reply via email to