Blog Scheduled Publication
by Escodoo https://github.com/OCA/website , Odoo Community Association (OCA) https://github.com/OCA/website| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Website (website) |
| Lines of code | 355 |
| Technical Name |
website_blog_scheduled_publication |
| License | AGPL-3 |
| Website | https://github.com/OCA/website |
Blog Scheduled Publication

This module allows you to schedule blog posts for automatic publication at a specific date and time.
Features
- Scheduled Publication Date: Add a datetime field to schedule when posts should be published
- Quick Publish Button: One-click immediate publication from the form view
- Schedule Wizard: User-friendly wizard to set the publication date
- Visual Feedback: Information banner displays scheduled date on the form
- Smart Publication Logic: Automatically prevents immediate publication if a future date is set
- Automatic Cron Job: Runs every hour to publish scheduled posts
- Notification System: Sends notifications to blog followers when posts are published
- Search Filters: Filter and group posts by publication or scheduled dates
Technical Details
- Extends blog.post model with scheduling fields and methods
- Includes a transient model blog.post.schedule.date for the scheduling wizard
- Inherits and enhances form and search views from website_blog
- The cron job uses _publish_scheduled_posts() method to process scheduled posts
- Handles edge cases like setting past dates, clearing scheduled dates, and multiple record writes
Table of contents
Configuration
To use this module, you need to:
- Install the module from Apps menu
- Go to Website > Content > Blog Posts
- Create or edit a blog post
- In the “Publishing Options” section, you will find the “Scheduled Publication Date” field
- Set a future date and time when you want the post to be published
- Save the post
The post will be automatically published when the scheduled date and time arrives.
Note: The cron job that publishes scheduled posts runs every hour. If you need more frequent checks, you can adjust the cron job interval in Settings > Technical > Automation > Scheduled Actions.
Using the Form View
- Go to Website > Content > Blog Posts
- Open a blog post form
- You will see two buttons in the button box:
- Publish: Click to publish the post immediately
- Schedule: Click to open the scheduling wizard
- When clicking “Schedule”, a dialog will appear asking for the publication date
- Select the desired date and time, then click “Schedule”
- The post will display an information banner showing the scheduled publication date
Using the Schedule Type Field
In the blog post form, you can also set the “Scheduled Publication Date” field directly:
- Set the date field to a future date and time
- The post will automatically be scheduled for that time
- The post will remain unpublished until the scheduled time
Viewing Scheduled Posts
Use the search filters to find scheduled posts:
- Published: Filter to show only published posts
- Not Published: Filter to show unpublished posts (including scheduled ones)
You can also group posts by:
- Publication Date: Group by the actual publication date
- Scheduled Publication Date: Group by the scheduled publication date
Automatic Publication
A cron job runs every hour to publish posts that have reached their scheduled time:
- Posts are automatically published when the scheduled date/time arrives
- Notifications are sent to blog followers when posts are published
- The scheduled date is cleared after publication
Immediate Publication
If you need to publish a scheduled post immediately:
- Open the blog post form
- Click the “Publish” button
- Confirm the action in the dialog
- The post will be published immediately and the scheduled date will be cleared
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Authors
- Escodoo
Contributors
- Escodoo:
- Marcel Savegnago <marcel.savegnago@escodoo.com.br>
- Cristiano Mafra Junior <cristiano.mafra@escodoo.com.br>
Maintainers
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
Current maintainers:

This module is part of the OCA/website project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
Please log in to comment on this module