mezzanine icon indicating copy to clipboard operation
mezzanine copied to clipboard

Feature Request - Scheduled publishing for exsiting content

Open johnnykane opened this issue 13 years ago • 10 comments

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

johnnykane avatar Sep 25 '12 13:09 johnnykane

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.

stephenmcd avatar Sep 25 '12 23:09 stephenmcd

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.

stephenmcd avatar Sep 25 '12 23:09 stephenmcd

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.

johnnykane avatar Oct 02 '12 08:10 johnnykane

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

tysonsavage avatar Mar 21 '13 17:03 tysonsavage

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 :-)

stephenmcd avatar Mar 21 '13 19:03 stephenmcd

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 .

tysonsavage avatar Mar 21 '13 22:03 tysonsavage

Has this been implemented? I was thinking i could propose something, if this haven't.

XuryaX avatar Jul 15 '16 05:07 XuryaX

Has this been implemented? I was thinking i could propose something, if this haven't.

Nope, go for it.

stephenmcd avatar Jul 15 '16 05:07 stephenmcd

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.

  1. The update wont be modifiable but viewable and deletable.(Should there be an update to an update?)
  2. The groups for publishers and normal users could exist.
  3. 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.

XuryaX avatar Jul 25 '16 17:07 XuryaX

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.

stephenmcd avatar Jul 26 '16 00:07 stephenmcd