A simple flask-based newsletter authoring system.

A SIMPLE BUT TRICKY ONE

This is a typical one-off app that you have to make quickly, get the job done and, while doing it, you keep telling yourself - I'm going to fix this later, I am going to make the design a bit nicer, and so on. But hey, the app does the job for the company, it saves some time (a lot actually) and you kind of just forget about it.

THE TASK

The problem was automating the authoring, editing and corrections of the news published weekly on a website by a major company and than producing a nice, branded email template that should be easy to modify and that could accomodate some formatting, sorting, grouping by topics, relevance etc. Coming from python and flask and django, I opted for the nunjucks templating engine - basically a clone of the python Jinja2 library and it worked very good. I was able to convert the previous flask-based local intranet app that's been running for like 5 years on an old machine in the office to a nice express app in a week or so.

WORKFLOW

News are inserted in a web form and then the editor is notified that the number of articles is above a certain threshold. The she proceeds to edit the news, and 'approve" them. Finally, the admin creates a newsletter with a push of a button, all the unpublished AND edited articles are grouped and sorted according to the topics and relevance and pushed into a valid html email file. This file is then uploaded to the mailing system and voila. Not nice, but efficient and quick.


Pictures