Kexi/Integration/Mail Merge
< Kexi | Integration
Objectives
Mail merge is a software function describing the production of multiple (and potentially large numbers of) documents from a single template form and a structured data source.
The objective is to add support of Mail Merge feature to Calligra. It should be visible in Words with some optional visibility in Kexi.
Solutions
- From [1]: Mail merge is tightly coupled to variables. What we want is a variable that is an end of record marker after which the variable-database will be able to go to the next record of a mail-merge database.
- ODF specs for variables: 7.4. Variable Fields[2]
Scope
- Support ODT/Words templates
- Document is generated based on the template duplicated N times
- MS formats supported thanks to the way how filter chains work (i.e. documents are imported into ODF anyway)
- Data source based on CSV, ODS and Kexi database (???)
- The idea behind offering CSV dialog directly is to avoid forcing the user to take extra steps (CSV -> Sheets -> Mailmerge, or CSV -> Kexi -> Mailmerge)
Maybe in scope
- Noninteractive mailmerge (based on specification once defined by user: data+template+options)
Out of scope
- Support for ODS/Sheets, and other calligra apps
- Direct support without loading/importing documents within Words
- Integration with Kexi GUI to get in-Kexi functionality (e.g. ability of selecting tables/queries and bind them to a ODT template)
- Support for big data sources: we do not always have to generate full documents. For 100 records applied to a 10-pages-long template we have a resulting 1000-pages document with highly redundant contents. A sequential printout (100x) of the same document with updated variables can be created instead if all what user wants is printing, not saving the generated document.
- Using Kexi’s CSV importer: it’s powerful but it needs to be merged into common Calligra libs first, then Mailmerge can use it almost “for free”
Who?
(early, unofficial proposals)
- Smit Patel - main development
- Declared availability: May 7-Sep 16, 25 hours a week
- Mentors: jstaniek, boemann(?)
- Consulting: boemann (Words maintainer)
When?
- Design prior to/during GSoC 2013 [3]
- Implementation: during GSoC 2013:
- Apr 9-21: Official discussions with the student(s)
- Apr 22-May 3: Application
- May 27-Sep 16: Development
- July 29: Mid-term evaluation
- Sep 27: Final evaluation
Deliverables
- UX
- IN PROGRESS: Research on the existing UX solutions (Libre, MS, Apple, etc.)
- Software architecture
- IN PROGRESS: Detailed research on related ODF functionality and how to use it
- TODO: Implementation
- TODO: Fundamental unit tests