The problem:
We are 6 developers writing a CRM software in Python/Django. In our database, we have hundreds of email templates. They are sent to our users in different situations (states of their accounts, basically). The content team changes those templates, and other related ones (private area messages for our clients) A LOT. We want to keep track of those changes without affecting the development of CRM itself.
Right now, we are working with Django fixtures. So, after each change, we need to dump the content of the email table to a json file (the fixture) and push that content to the git repository. Big pain.
The constraints:
- Of course, the content must be accessible programmatically at any moment. So, if I need to send an email to a client, I just pull out the right email from database (or wherever it is stored...), build a mail message and send it to the email queue.
- We want to roll back to any previous state of any email at any moment (simple plain text tracking)
Proposal:
A git-based CMS sounds like a good solution. But we're open to anything