Blog Manager is a fully functional Drupal custom module that extends the default blog features provided by Drupal 9 and 10 core. While Drupal core includes a basic Blog content type, this module provides enhanced functionality tailored for real-world editorial workflows.
Drupal 9 and 10 include the "Blog" content type in the standard installation profile, but it is limited in scope. Blog Manager upgrades this by introducing:
- Custom editorial workflow statuses: Draft, Ready to Publish, Published, Rejected, Archived
- Role-based editorial access and permissions
- Advanced content scheduling with publish-to dates
- File upload restrictions and rich text editing
- User management tools for site administrators
- Out-of-the-box Views integration for content listings
-
Blog content type with:
- Title
- Banner Image (JPG, PNG, GIF under 5MB)
- Rich Text Content
- Post Status (selectable: Draft, Ready to Publish, Published, Rejected, Archived)
-
User Roles:
- Admin:
- Approve / Reject / Archive blog posts
- Set Publish To Date
- Manage editor accounts (create or suspend)
- View all blog posts from all users
- Editor:
- Create, edit, and preview blog posts
- Mark posts as "Ready to Publish"
- View only their own blog posts
- Admin:
-
Views:
- All blog posts (admin)
- Blog posts by author (editor)
- Blog editor user listing
-
Custom Forms:
- Create Editor Account
- Suspend or Reactivate Editor Accounts
-
Configuration-based Installation:
- Automatically sets up:
- Content type with fields
- Views
- User roles and permissions
- Automatically sets up:
-
Place the
blog_manager
module in themodules/custom/
directory of your Drupal project. -
Enable the module via the UI or using Drush:
drush en blog_manager
When a user with the Editor role logs in, they see a simplified dashboard with access to manage their own blog posts.
Editors can create new blog posts using a structured form with a title, banner image, rich text content, and post status.
Editors can view, edit, and track the status of their own blog posts in a personal list view.
Admins can manage blog editors by activating, suspending, or modifying their status through a custom interface.
Admins see a table of all posts submitted by editors and can approve, reject, or archive them.
On installation, the module creates and configures roles for Editor and Admin, assigning appropriate permissions.