To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=105943
                 Issue #|105943
                 Summary|Events delivered for temporary mail merge documents
               Component|Word processor
                 Version|OOO320m1
                Platform|All
                     URL|
              OS/Version|All
                  Status|UNCONFIRMED
       Status whiteboard|
                Keywords|
              Resolution|
              Issue type|DEFECT
                Priority|P3
            Subcomponent|programming
             Assigned to|writerneedsconfirm
             Reported by|mux2005





------- Additional comments from mux2...@openoffice.org Fri Oct 16 05:53:04 
+0000 2009 -------
Currently, when a mail merge is performed, all the usual events such as OnCreate
are broadcast via the GlobalEventBroadcaster. This is a problem because

- it reduces performance, sometimes drastically depending on what kinds of and
how many extensions are listening for events and how they react to them. Even a
single extension that returns immediately from the event listener will slow down
the mail merge measurably.

- it hurts stability: I regularly encounter freezes during mail merge, when an
extension is installed that processes these temp documents, even if it only
reads info from them. I guess this is because OOo somehow suffers ill effects
from the many accesses to disposed objects (because the extension cannot control
the document lifetime and it is very short, it is almost certain that the
extension will access the temp document after it has been disposed). Note that
I'm NOT talking about the extension having problems due to the
DisposedExceptions. The extension catches them and stops processing the
document. But OOo does not seem to react kindly to the high number
DisposedExceptions it has to throw.

- it has no useful application (AFAICS): Extensions cannot do something
meaningful with these temporary documents, because they are an implementation
detail of the mail merge and exist only for a short time. There is no point in
exposing this implementation detail at all.

- extensions can't ignore these temp. documents. AFAICS there is no way to
distinguish them from ordinary documents. They are invisible, sure, but that's
too coarse a filter. Some external apps create invisible documents that may need
to be processed by an extension. In earlier versions of OOo, these temporary
documents had a URL that included ".tmp" which could be used to ignore these
documents but this has changed in OOo 3.2 (which is why I'm reporting this now).
Now they no longer have a URL at all.

To avoid these problems I suggest that 

- events should not be reported for temporary mail merge documents. These
documents are an implementation details whose properties may (and in the past
have) change without notice. They should not be exposed to application code.

- If reporting of these events is desired, they should be broadcast on a
different event broadcaster to avoid the slowdown when someone is listening on
the GlobalEventBroadcaster.

- At the very least there should be a fast way of telling these temporary
documents (or their events) apart from other documents/events, so that
extensions can minimize the time spent accessing these temp documents. However I
consider this only a band-aid, because the performance issues do not disappear
completely and  OOo stability may still suffer.

---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscr...@sw.openoffice.org
For additional commands, e-mail: issues-h...@sw.openoffice.org


---------------------------------------------------------------------
To unsubscribe, e-mail: allbugs-unsubscr...@openoffice.org
For additional commands, e-mail: allbugs-h...@openoffice.org

Reply via email to