Issue 118222 - Consolidate diverging mail merge mechanisms with different timings
Summary: Consolidate diverging mail merge mechanisms with different timings
Status: CONFIRMED
Alias: None
Product: Writer
Classification: Application
Component: ui (show other issues)
Version: version58
Hardware: All All
: P3 Normal (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-27 16:43 UTC by clutz
Modified: 2013-01-29 21:43 UTC (History)
1 user (show)

See Also:
Issue Type: ENHANCEMENT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
Input-File 1 for the performance-Test (25.56 KB, application/vnd.oasis.opendocument.text)
2011-06-27 16:45 UTC, clutz
no flags Details
Input-File 2 for the performance-Test (8.27 KB, application/vnd.oasis.opendocument.spreadsheet-template)
2011-06-27 16:46 UTC, clutz
no flags Details
Result of the performance test (38.70 KB, application/pdf)
2011-06-27 16:48 UTC, clutz
no flags Details
Java-Code for accessing the MailMerge-Service via API. (3.34 KB, text/plain)
2011-06-27 18:23 UTC, clutz
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description clutz 2011-06-27 16:43:38 UTC
I did a performance-test with the following possible mechanismns to get the same mail merge result (mailmerge in to a file) out of the same input files (an .odt main-document and a .ods data table):

1) Mail Merge via Tools->Mail Merge Wizard

2) Mail Merge via File->Print->YES (print into file)

3) Mail Merge via API-Service css.text.MailMerge 

The result is, that all three mechanism seems to be implemented different and have different timings/performance.

Winner was Mail Merge Wizard, Second the API-Service and last File->Print. File->Print is over 20% slower than the Mail Merge Wizard. See attached pdf-document with the measured timings and a small diagram.

From other experiences I got with the OOo-Mail Merge I also know, that File->Print uses a temporary file in /tmp/<dir>/sv.*tmp where as the Mail Merge Wizard uses a newly created empty document (in memory) instead for each processed database entry. So the mechanism diverge not just in timing, but also in the implementation details. 

The enhancement should be to consolidate the three mechanism into one mechanism with the same algorithm and performance. The new mechanism should be aligned to the faster mechanism of the Mail Merge Wizard. The mechanisms 2) and 3) will be accelerated by that enormously. The corresponding three diverging parts of the writer-code will be consolidated into one and easier to maintain.

Find attached the following files:

a) the input-files for my timing-test brief.odt and brief.ods

b) the test-result overview (durationOfMailMergeJobs.pdf)

c) the small test-program I used to serve the API (needed for mechanism 3))
Comment 1 clutz 2011-06-27 16:45:21 UTC
Created attachment 76643 [details]
Input-File 1  for the performance-Test
Comment 2 clutz 2011-06-27 16:46:49 UTC
Created attachment 76645 [details]
Input-File 2 for the performance-Test
Comment 3 clutz 2011-06-27 16:48:21 UTC
Created attachment 76646 [details]
Result of the performance test
Comment 4 clutz 2011-06-27 18:23:25 UTC
Created attachment 76648 [details]
Java-Code for accessing the MailMerge-Service via API. 

the unohelper-Projekt is required to get the code running. See http://code.google.com/p/unohelper/
Comment 5 Oliver-Rainer Wittmann 2012-06-13 12:31:33 UTC
getting rid of value "enhancement" for field "severity".
For enhancement the field "issue type" shall be used.