Skip to content

shehani-mal/Blog_Manager_Drupal-10-11_Custom_Module

Repository files navigation

Blog Manager – Custom Drupal Blog Module

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.

🆚 How This Module Enhances the Core Blog

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

🎯 Key Features

  • 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
  • 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

✅ Installation Instructions

  1. Place the blog_manager module in the modules/custom/ directory of your Drupal project.

  2. Enable the module via the UI or using Drush:

    drush en blog_manager
    

📸 Screenshots

1. Editor Login – Dashboard

When a user with the Editor role logs in, they see a simplified dashboard with access to manage their own blog posts.

Editor Login


2. Editor – Create Blog Post Form

Editors can create new blog posts using a structured form with a title, banner image, rich text content, and post status.

Editor Create Blog


3. Editor – My Blog Posts Table

Editors can view, edit, and track the status of their own blog posts in a personal list view.

Editor Posts Table


4. Admin – Blog Editors Table

Admins can manage blog editors by activating, suspending, or modifying their status through a custom interface.

Admin Users


5. Admin – All Blog Posts

Admins see a table of all posts submitted by editors and can approve, reject, or archive them.

Admin Blog Posts


6. Admin – Role and Permission Setup

On installation, the module creates and configures roles for Editor and Admin, assigning appropriate permissions.

Permissions

About

Custom Drupal 10/11 module for managing blog posts with editorial workflow, user roles, YAML configs, PHP code, and config sync files.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages