mail merge embedding in libreoffice writer
play

Mail merge embedding in LibreOffice Writer By Miklos Vajna - PowerPoint PPT Presentation

Mail merge embedding in LibreOffice Writer By Miklos Vajna Software Engineer at Collabora Productivity 2016-01-30 @CollaboraOffice www.CollaboraOffice.com About Miklos From Hungary More blurb: http://vmiklos.hu/ Google Summer of


  1. Mail merge embedding in LibreOffice Writer By Miklos Vajna Software Engineer at Collabora Productivity 2016-01-30 @CollaboraOffice www.CollaboraOffice.com

  2. About Miklos ● From Hungary ● More blurb: http://vmiklos.hu/ ● Google Summer of Code 2010/2011 ● Rewrite of the Writer RTF import/export ● Writer developer since Feb 2012 ● Contractor at Collabora since Sept 2013 FOSDEM 2016, Brussels | Miklos Vajna 2 / 19

  3. Embedding a mail merge data source definition

  4. Embedded objects ● Cross-platform for native data models ● Windows-only: OLE ● Bitmap (replacement image) + native data ● In Writer: text embedded object ● Part of the document body (anchored, etc.) FOSDEM 2016, Brussels | Miklos Vajna 4 / 19

  5. Mail merge data source defjnition ● Typical use-case: ● Real data source ● Base document (wrapper): data source definition ● Global inside LibreOffice ● Mail merge uses a data source from this list FOSDEM 2016, Brussels | Miklos Vajna 5 / 19

  6. Results #1 ● Save your document template ● Tools → Mail Merge Wizard ● Select Address list → e.g. a .ods file ● Edit document FOSDEM 2016, Brussels | Miklos Vajna 6 / 19

  7. Results #2 ● Insert mail merge fields ● Return to the wizard FOSDEM 2016, Brussels | Miklos Vajna 7 / 19

  8. Results #3 ● Save merged document ● Save as single document ● Click on save document ● Close the merged result, no need to save FOSDEM 2016, Brussels | Miklos Vajna 8 / 19

  9. Results #4 ● Embedded data source is registered ● Close the mail template ● Data source definition disappears FOSDEM 2016, Brussels | Miklos Vajna 9 / 19

  10. Results #5 ● Open the mail template ● Embedded data source definition is registered again FOSDEM 2016, Brussels | Miklos Vajna 10 / 19

  11. How is this implemented?

  12. Embedding a Base document ● dbaccess::ODatabaseDocument ● Does not inherit from SfxBaseModel ● dbaccess::ODatabaseContext is the global manager ● No SwOLENode, just OCommonEmbeddedObject ● SwDBManager's StoreEmbeddedDataSource() is the implementation FOSDEM 2016, Brussels | Miklos Vajna 12 / 19

  13. ODF fjlter ● Newly handled parameters: ● TargetStorage ● StreamRelPath ● BaseURI ● dbaxml::ODBFilter is the importer ● dbaxml::ODBExport is the export ● loadFromStorage() not implemented, storeToStorage() needed fixing FOSDEM 2016, Brussels | Miklos Vajna 13 / 19

  14. Embedding without a text embedded object ● ODatabaseContext owns the doc model ● In ODF, settings.xml refers the storage of the XML streams ● It gets registered on load ● It gets removed on close FOSDEM 2016, Brussels | Miklos Vajna 14 / 19

  15. Mail merge wizard ● SwDBManager's LoadAndRegisterDataSource() does the creation ● The Writer document has to be saved, so it has a storage ● The embedded model then can be a sub- storage FOSDEM 2016, Brussels | Miklos Vajna 15 / 19

  16. Address book wizard ● Another user interface to create data source definitions ● Code in extensions/source/abpilot/ FOSDEM 2016, Brussels | Miklos Vajna 16 / 19

  17. Relative references, testing ● Feature: relative references ● So .odt and .ods can travel together ● But ../ would refer to the non-embedded parent model ● Have to support even ../../ ● If the parent doc moves → need to re- save the embedded doc ● SwUiWriterTest's testEmbeddedDataSource() FOSDEM 2016, Brussels | Miklos Vajna 17 / 19

  18. Thanks ● Collabora is an open source consulting company ● What we do and share with the community has to be paid by someone ● LHM sponsored this work FOSDEM 2016, Brussels | Miklos Vajna 18 / 19

  19. Summary ● Mail merge embedding allows mail merge with just two (ODT and e.g. ODS) documents ● Available in LibreOffjce 5.1 ● Improves experience for those who migrate from Microsoft Offjce ● One more long-standing problem solved ● Thanks for listening! :-) ● Slides: http://vmiklos.hu/odp FOSDEM 2016, Brussels | Miklos Vajna 19 / 19

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend