Kexi/Integration/Mail Merge

From KDE Community Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Note

Needs updates


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