Specification for Mail Merge (former 'Form Letters' in Petra 2.x)
WORK IN PROGRESS
THIS PAGE IS WORK IN PROGRESS!
Introduction
The proposed 'Mail Merge' functionality in OpenPetra should allow users to create a series of documents that are a merge between layout definition and data for the purpose of creating various 'mailings' to (usually multiple) recipients. Placeholders in the layout-defining document will be substituted with data, resulting in documents which are different for each Partner.
Such documents would typically be letters, but could really be any formatted document. The documents could end up printed, as a PDF document, or could get e-mailed to the recipients.
Background Information
What we call the upcoming ‘Mail Merge’ functionality in OpenPetra is called ‘Form Letters’ in Petra 2.x, the predecessor of OpenPetra.
Petra 2.x Implementation - 'Form Letters'
The way how the Form Letters work is powerful, flexible, supports good re-use and includes good abilities to parameterise a lot of things, but it is overly technical, cumbersome to use and not liked by most Petra 2.x users. To put it bluntly, many Petra 2.x users actually ‘fear’ the Form Letters facility because the concept behind the whole functionality is so abstract and technical! Form Letters is an area in Petra 2.x that is not easy to grasp for the average person who works on a PC in an office, and it is rather difficult to ‘master it’ even for quite advanced users in an office. (The whole concept might not look too bad when seen through software engineers' eyes, but software engineers are technicians and not average users in an office who just want ‘to get that mailing out’!)
To summarise the approach of Petra 2.x: it allows the re-use of definitions of Form Letter Bodies for various Mail Merges and allows to have them parameterised using the ‘Form Letter Design’ approach, and then further at print time with ‘Inside Address’, “Sender’s Name” and ‘Closing Text‘ and other layout options, plus it has the ability to utilise ‘Inserts’ to produce different texts or text sections for different Partners (and Inserts can be done in two ways!). That is where the flexibility of the Form Letter approach lies, but at the same time the complexity! It is suggested that one skim-reads the whole Chapter 6 of the Partner Module User Guide of Petra 2.x to get an overview of what can be done with Petra 2.x' Form Letter implementation and how it is achieved. That manual can be downloaded from here: http://www.openpetra.org/en/user-manuals
Primary Goals of the Proposed OpenPetra Implementation - ‘Mail Merge‘
With OpenPetra’s Mail Merge implementation we want to significantly reduce the complexity of what is known as Form Letters in Petra 2.x. At the same time we want to give the users more and better control over the layout, and especially take the pain out of the creation and maintenance of the layout of a mail merge document. To be able to achieve that we will need to change the approach that was taken in Petra 2.x quite drastically and quite likely remove some of the advanced functionalities which make the Petra 2.x approach that technical and complex.
The approach we want to take in OpenPetra is to be based on ‘mail merge documents’, which is the approach that is taken in standard word processing applications for PC’s (e.g. MS Word or OpenOffice Writer).
Disambiguation From Other 'Similar-sounding' Petra 2.x Features
Two of Petra 2.x's features sound as if they would be related to what will become the Mail Merge functionality of OpenPetra. However, they have a different purpose and are not to be confused with what should get implemented in OpenPetra!
Extract Mail Merge
Facility to export the relevant data in a form that one can then import into a word processor, spreadsheet, etc. in CSV format. Going that route rather than using Form Letters allows users greater flexibility in layout, etc. because they can use a word processor for the creation of the layout and the process of mail merging. That functionality is often just referred to as 'mail merge' in Petra 2.x!
Mailings
The Mailings Table contains a list of mailing events that one wishes to remember (to see the results). For example one may send out a special appeal for funds for a new building project and may wish to track the response to this particular letter. Also, a Partner Contact can be recorded for all Partners in a particular mass mailing by choosing a particular Mailing.
Implementation
The implementation will need to be done in several phases as Mail Merge represents a bigger subset of the features of OpenPetra, in fact it is seen as a Sub-Module of the Partner Module and will need to be implemented in that way.
Initial Plan for the Phases
Phase I
Investigation of Various Technologies for the Core Mail Merge Functionalities
Investigations into technologies that will be needed for supporting the biggest parts of the new implementation, namely the creation and parameterisation of the mail merge document and the production of mail-merged documents for the individual recipients out of the underlying mail merge data are to be undertaken.
The desired outcome is that one technology will be identified that
- satisfies the requirements that will be gathered from key users;
- statisfies the layout requirements (at least to a very large and acceptable degree);
- fulfills the technical requirements that will be drawn up;
- incl. that the technology is seen 'fitting' to OpenPetra from a technical standpoint;
- a migration path for existing Petra 2.x Form Letters can be done for;
- that can be made to work in a suitable time frame.
Establishment of the Migration Path for Existing Form Letters
A challenge in changing the approach of how mail merging is done in Petra 2.x is that we will need to have a migration path to the new approach in OpenPetra.
The migration path will need to be approved by Project Management before Phase II can be started!
The desired outcome is that the details of the migration path are identified and documented and a rough technical design for the implementation will be written.
- Basically, Form Letters that are designed in an OM office with Petra 2.x will need to be accessible in some format in OpenPetra so they are not lost to that OM office with the move to OpenPetra.
- that could mean various things, such as
- merely having the ability to be able to look at examples of combinations of various Form Bodies and settings in Petra 2.x that are 'printed' into PDF documents at data conversion time so users in an office can see how they looked like in Petra 2.x;
- creation of mail merge documents in OpenPetra that resemble combinations of various Form Bodies and settings in Petra 2.x;
- etc. TODO
- that could mean various things, such as
Assigned To: MarkP (with support of ChristianK [technology investigation] and WolfgangB [migration path])
TODO
Gathering of Requirements from Petra 2.x 'key users'
We will need to find 'key users' in OM that will help drawing up the business requirements that exist in typical OM offices today.
The desired outcome is that business requirements will be identified and documented and that advanced functionalities of Petra 2.x’s Form Letter implementation that we could afford to not take over into OpenPetra (if any) are identified.
Assigned To: WolfgangB (with support of AlwynV)
TODO
Phase II
Implementation of the OpenPetra Mail Merge Sub-Module
TODO
Creation of migration program for existing Petra 2.x Form Letters
TODO
TODO
Phase III
Testing
TODO
Approval
TODO
Requirements
Technological Requirements
Mail Merge Specification: Technological Requirements
Technical Requirements
Mail Merge Specification: Techn. Req'mts: Placeholders TODO
Layout Requirements
Mail Merge Specification: Layout Requirements
Business Requirements (General)
Mail Merge Specification: Business Requirements (General)
Business Requirements of OM Offices
TODO
Terminology
Throughout this wiki page and in the wiki pages that are linked from this wiki page the following words have special meaning in the context of Mail Merge. Their meaning is explained here.
- Mail Merge Document: A document that defines the overall layout plus all of the content of the Merged Documents that isn't changed through the mail merge process. Placeholders in Mail Merge Documents will be substituted with data from the Mail Merge Data Set in the process of the Production of Mail-merged Documents, resulting in the Merge Result.
- Mail Merge Data Set: Data that is determined at the time of Production of Mail-merged Documents (some data items may be calculated). That term describes the data for all the Partners that are to be processed in the Production of Mail-merged Documents (that is, 1..n instances of Partner Mail Merge Data).
- Partner Mail Merge Data: Data that is linked with one of the Partners that are processed in the Production of Mail-merged Documents and therefore the data that is the basis for a single Merged Document.
- Placeholders: Placeholders are specially set-aside words ('Markup' or 'Fields') that define places in the Mail Merge Documents where Placeholders should be substituted with data from the Mail Merge Data Set. There are various kinds of Placeholders for different purposes.
- Parameterised Placeholders: Placeholders to which parameters can be passed. The behaviour of the Placeholder will change in some way depending on the parameter(s) passed to it, depending on the kind of placeholder and the parameter value(s). The parameter(s) will be evaluated during the Production of Mail-merged Documents.
- Production of Mail-merged Documents, Mail Merge Run: The process of taking Partner data of selected Partners to produce the Mail Merge Data Set and to replace Placeholders in a specified Mail Merge Document with Partner Mail Merge Data (once for each Partner), yielding the Merge Result. Merged Documents can be produced for many Partners at once using an Extract for the Production of Mail-merged Documents, or for a single Partner by selecting that Partner for the Production of Mail-merged Documents.
- Merge Result: The result of the Production of Mail-merged Documents: 1..n Merged Documents.
- Merged Document: A single document of the 1..n documents that make up the Merge Result. Placeholders in the Mail Merge Document that was chosen for the Production of Mail-merged Documents will have been replaced with the Partner Mail Merge Data that belongs to the single document - that makes the Merged Document the ' end product ' that the user wants to create for each Partner!
- Partner(s): In principle the same meaning as in the rest of Petra 2.x/OpenPetra. However, when this set of documentation talks about Partners it focuses on the data associated with the Partner and the use of that data in the Production of Partner Mail Merge Data.
- Extract(s): In principle the same meaning as in the rest of Petra 2.x/OpenPetra. However, when this set of documentation talks about Extracts it focuses on the 0..n Partners that are contained in the Extract (=that the Extract points to) and the use of that data in the production of the Mail Merge Data Set.