TIP: You can type at any time to perform a new search.
Blog Scheduled Publication
website_blog_scheduled_publication · OCA/website
- Repository
- OCA/website · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Website
- Folder size
- 0.1 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/website
- Last tracking update
- 2026-08-07 08:42:59
- Authors
- Odoo Community Association (OCA), Escodoo
- Maintainers
- Odoo Community Association (OCA), Escodoo
- Committers
- Weblate, OCA-git-bot, oca-ci, CristianoMafraJunior
- Odoo dependencies
- Python dependencies
- geoip2
- System dependencies
- None
- Required by
- None
- Description
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
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
blog_post_schedule_date_view_form |
blog.post.schedule.date.view.form | blog.post.schedule.date | form | New |
view_blog_post_calendar_scheduled |
blog.post.calendar.scheduled | blog.post | calendar | New |
view_blog_post_form_scheduled |
blog.post.form.scheduled | blog.post | form | Inherits website_blog.view_blog_post_form |
view_blog_post_search_scheduled |
blog.post.search.scheduled | blog.post | search | Inherits website_blog.view_blog_post_search |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (2)
New fields (2)
-
is_scheduledBooleandefault=Falsehelp='If checked, the blog post will be scheduled for publication.'string='Schedule' -
scheduled_publication_dateDatetimehelp='If set, the blog post will be automatically published on this date and time. Leave empty to publish immediately.'
-
action_publish_now(self)Publish the blog post immediately. -
action_schedule(self)Open schedule dialog to set publication date. -
create(self, vals_list)@api.model_create_multiOverride create to handle scheduled publication during creation. -
write(self, vals)Override write to handle scheduled publication logic.
New fields (2)
-
blog_post_idMany2one → blog.postrequired=True args: 'blog.post' -
schedule_dateDatetimerequired=Truestring='Publish on'
-
action_schedule_date(self)Schedule the blog post for publication.