Table of contents
[Show/Hide]Improving Mail Merge in LibreOffice using NLG Techniques
As part of the Workshop NLG FaMAF 2011, I took to myself to investigate NLG-inspired improvements to LibreOffice mail-merge capabilities.
So far, I found that LibreOffice mail-merge is "row oriented", meaning that each document corresponds to a row in the source database source.
As such, it currently cannot fulfill a "owed items to a library" use case scenario. I have decided to look into improving LibreOffice mail-merge to support that case.
The Scenario
Data
Table Users
- ID
- Name
- Gender
- Address
Table Items
- ID
- Title
- Borrowed?
- Return Date
- Borrower ID
Expected template
pre-condition for generation: for:all/Users:user such:that exists/Items:item such:that item.borrowerID == user.ID :and: item.returnDate > currentDate
{user.name}
{user.address}
Dear {user.name},
Please note the following item(s) are overdue and should be returned:
{for:each/Items:item such:that item.borrowerID == user.ID :and: item.returnDate > currentDate }
- {item.title} due date: {item.returnDate}
{end:for}
Yours truly,
Your local library.