Hi everybody,
we're using FeinCMS to great effect on many customer's sites. One problem we haven't solved satisfactorily yet, however: some clients require a workflow where changes are visible in a draft version at first and only after explicit confirmation can be propagated to the live site. We implemented it on one site as such:
* The current draft tree works normally within FeinCMS
* After approval, the current page tree including all content types gets copied and all pages get 'live': prepended to their _cached_url
* Page.best_match_for_request() gets overriden to get the current live version by prepending 'live:' to the _cached_url query. Staff users see the draft tree as usual.
This seems a bit hacky but I haven't been able to think of a better way. Has anyone had this problem before? Any ideas how to solve it? Any interest in our solution being released as open source?
Cheers,
Jonas