mezzanine
mezzanine copied to clipboard
Feature Request - Scheduled publishing for exsiting content
Hi,
Awesome job to date on Mezzanine. The existing scheduled publishing feature is great but not flexible enough for organizations that push scheduled changes to existing pages. Eg, At 10pm push this content live, or a Push Live now button.
The introduction of real scheduled publishing with some sort of editorial workflow would be an amazing feature.
Thanks for all the great work. Hope to contribute going forward.
Cheers
Johnny Kane
This falls under the category of a few big features we've always wanted for quite a long time. So it's definitely a good start by opening this issue.
I can't see myself working on it in the short term. It'll most likely happen when someone absolutely requires it, builds it and contributes it back. If anyone finds themselves in this position, please hit up the mailing list where myself and the wider community can collaborate on how it should be implemented.
It may also be worthwhile to first explore approaches that are available in the wider Django community. There may well be something that can plug straight in.
Cheers for the reply Stephen. I'm having a chat to the guys I work with to see if it's something we can take on in the short term. After we come up with some approaches I'll post to the mailing list to get some feedback etc.
Hi Stephen,
Following on from Johnny's last post - we've started work on this feature since then (only 6 months later - everything in it's own good time hey :) ). Just wondering what's the best way to make our work available to community as we develop. Should we fork main Mezzanine repo or create a new branch? I want to make sure what we're doing is available as soon as possible for people to see / give feedback etc.
Cheers,
Mark
Separate fork and branch works best. Again, I'd start with a proposed implementation on the mailing list. If there's not much code involved then by all means get it together. Really looking forward to this :-)
Great, thanks Stephen will fork and post on mailing list.
Mark
On Thursday, 21 March 2013, Stephen McDonald wrote:
Separate fork and branch works best. Again, I'd start with a proposed implementation on the mailing list. If there's not much code involved then by all means get it together. Really looking forward to this :-)
— Reply to this email directly or view it on GitHubhttps://github.com/stephenmcd/mezzanine/issues/411#issuecomment-15260914 .
Has this been implemented? I was thinking i could propose something, if this haven't.
Has this been implemented? I was thinking i could propose something, if this haven't.
Nope, go for it.
blog.models.py
Added BlogPostUpdate model and have added BlogPost save method.
core.models.py
Added abstract update model and next_scheduled_update field in Displayable.
core.managers.py
Added updated method to PublishedManager, also the pages/blog posts returned would be checked for pending updates before being returned.
https://gist.github.com/XuryaX/fe023edc5b1faff2b14b17db7eda792d
Similar things can be done to what you mentioned in your workflow. My implementation seems to be a bit in the direction of what Sean suggested. After an update has been logged.
- The update wont be modifiable but viewable and deletable.(Should there be an update to an update?)
- The groups for publishers and normal users could exist.
- The update would be implemented once it has been used to update the post(not yet done.)
There might be instances for which multiple scheduled updates should be there. If we include the updates in the same table with a reference to the post to be update, there might be alot of data piled up which are not for displaying, though it will simplify the written Python Models.
You need to fork Mezzanine, commits your changes and create a PR - that will make a diff available that can be easily viewed. Gists are no good.