Django-minipub is a mini-malist pub-lication control system for Django.
Let's explain it with an example: you have a 'news' application, with an Article model. In the admin interface, Minipub will add this fieldset:
All articles will then have the following 3 fields:
- status: usually
draft
orpublished
. - start: start date.
- end: end date; optional.
Articles will only be visible in the public website if they are published
and today's date is between the start and end dates.
In addition, we have a fieldset for showing various read-only status fields:
These can be of use for tracking changes to an Article.
And that's it... Minipub is simply a few fields on a Model Mixin, together with plenty of code - in the models, views, admin and sitemap - to make the best use of it, that you will hopefully reuse again and again throughout a project.
Here are some examples of Minipub at work:
- Controlling the publication of the Events for a F1 racetrack.
- Controlling when job offers are displayed.
- Minutes of the meetings of a residents association website.
There are several similar projects that take slightly different approaches to publication control; usually they introduce more sophisticated control. A well-known example is django-reversion.
Minipub is a very basic publication control tool, but works well on several production websites. Its author has found it be a decent compromise between a tool that's too basic to be useful, and too complex to be understood by its intended end users.
Please take a look at the documentation on ReadTheDocs.