Implementation and technical report of an Email template system -- 2

Job ID: 33884929

Budget: £750 – £1,500 GBP

Every year I write (probably) hundreds of emails of certain forms. One type of email that I frequently write is a response to extenuating circumstances that a student submits. These emails all follow a predefined pattern or template. Writing such emails manually and ensuring that all the data is correct and consistent is especially hard and error-prone. A system could help automate this to some extent. This system would allow the user to write and store email templates - think of these as emails with holes or placeholders in them, e.g., a hole for student number, student first name, student last name, etc. The user could then produce emails based on the templates. First, the system would ask the user to enter answers to a series of questions to capture the data needed to fill the holes (e.g., "Please enter the student number"). The produced emails would be the same as the template but have all the holes filled in with real data. The system could save these emails as draft emails which would allow the user to tweak them in their normal email client before sending them.

A tricky aspect of this project would be that the templates would need to have a form of loop construct. Going back to the extenuating circumstance example, the email body is normally a series of bullet points. There is one bullet point for each coursework (or another component) that the student is asking for an extension (or alteration) for. So the template would need to allow the user to specify that there is a loop and the body of the loop should be duplicated in the produced emails. When the user produces an email from the template the system would need to execute the loop and repeat the questions to fill in the holes within the loop. The user would need to be able to specify when they wish the loop to stop. This starts to go down the path of compilers and producing a language, but only a light looping and conditional system would be needed.

I could further imagine the email templates to be written in some text markup language such as markdown. This would enable fairly straightforward translation to HTML emails while allowing the user to be able to specify good looking emails with features such as bold, italic, lists, headings, etc.

This system could be a stand-alone system or a web-based system.