decap-cms icon indicating copy to clipboard operation
decap-cms copied to clipboard

Feature Request: Scheduled posts

Open bdougie opened this issue 8 years ago • 19 comments

This would be a great addition

Serverless has a nice way to do scheduled posts. This would be a great addition to the CMS, but would require some sort of AWS connection, which does not currently exist.

Starting this discussion in hopes that it will get added to an eventual feature roadmap.

https://serverless.com/blog/static-site-post-scheduler/

bdougie avatar Mar 07 '17 15:03 bdougie

Would like to see this too. Another feature that is relied on for those migrating from the WordPress community.

lgallen avatar Dec 14 '17 03:12 lgallen

I think the scheduler linked in the OP is a great approach. For our purposes, we should probably use metadata instead of PR comments. At a minimum, implementing this in the CMS would require:

  • A UI for post scheduling that:
    • is obvious in purpose and state
    • is (probably) accessible through the editor toolbar
    • allows a date/time to be set
  • A backend method that adds post schedules to metadata
  • Associated state management - namely ensuring the new data is included in the entry model

This could all be eventually accomplished via higher level abstractions, maybe some sort of Events API, but we're not there yet. Getting this in place can at least help inform such abstractions in the future. Another future improvement is backends-as-plugins, which could also be used within serverless functions like this.

Thoughts?

erquhart avatar Dec 20 '17 19:12 erquhart

The biggest barrier I see to this is actually posting the scheduled post without having the CMS open. Since we run in-browser only, there is no actual server to run the post. @erquhart Are you planning on actually using the Serverless stack, or is there another idea you had on this?

tech4him1 avatar Dec 20 '17 20:12 tech4him1

Right, Netlify CMS has no way to handle this itself. The OP example would use a Lambda function running a cron job, just as the linked article describes.

erquhart avatar Dec 30 '17 21:12 erquhart

@erquhart could we do something with Netlify functions now that that's a thing?

thekevinbrown avatar Apr 27 '18 02:04 thekevinbrown

You'd need to schedule the function call from the CMS somehow. Not sure how that would work, even if you include a scheduling service like Zapier.

Sent with GitHawk

erquhart avatar Apr 27 '18 02:04 erquhart

i feel like something along the lines of https://www.nczonline.net/blog/2018/03/scheduling-jekyll-posts-netlify/ would work, although probably not with Netlify functions since it needs CloudWatch for the cron.

gil-- avatar Jun 14 '18 04:06 gil--

Ideally, every asset (a post, a page, an image, etc) would have the ability to be scheduled. Atomic scheduling.

emveeoh avatar Aug 08 '18 20:08 emveeoh

Is anyone already working on this?

If not, I can contribute.

araphiel avatar Feb 06 '19 18:02 araphiel

That'd be great - what do you have in mind?

erquhart avatar Feb 06 '19 21:02 erquhart

Waiting for some news about this

leognmotta avatar Aug 02 '19 01:08 leognmotta

Me too lol

erquhart avatar Aug 28 '19 21:08 erquhart

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 29 '19 06:10 stale[bot]

Please, stay open.

matrixik avatar Nov 04 '19 10:11 matrixik

This is a fantastic idea. What if we somehow used GitHub actions in the users repo to accomplish this? (See this post around how something like this might be accomplished)

I am happy to add this into the v3 UI mocks to show you how it might look visually if this is something we are looking into doing.

austincondiff avatar Apr 06 '20 13:04 austincondiff

This is a fantastic idea. What if we somehow used GitHub actions in the users repo to accomplish this?

This is a very good thought. I think the CMS could provide a UI over different services CI pipelines (where available) and auto generate flows to support scheduling.

erezrokah avatar Jun 22 '20 09:06 erezrokah

For those looking for solutions in the meantime, if you have CI with scheduled workflow/builds (CircleCI & Travis), one idea to set up without Zapier:

  • schedule a repeating CI build every AM (or every hour)
  • have a "Scheduled Post Time" input field where user enters future date/time
  • check date/time before running createPage or whatever page building function to build all posts (so post /pages only build when date/time is in past)

papistan avatar Sep 01 '20 03:09 papistan

Just wanted to add another example I came across where someone is using GitHub Actions co accomplish this task.

Based on what @papistan said, I was thinking about a very similar idea for GitLab. One could hypothetically schedule a pipeline for ever X interval which has a single Job that looks at some criteria (perhaps a yml file in each Merge Request branch) and merges any branches that are ready to be published.

jwkicklighter avatar May 14 '21 14:05 jwkicklighter

Is there any news on this one? Having a use case where scheduled blog posts would relieve a lot of pain points.

kmairye avatar Sep 13 '22 16:09 kmairye

  1. Any news guys? Really need this!

TheReyzer avatar Mar 28 '23 03:03 TheReyzer