https://github.com/shehani-mal/blog_manager_drupal-10-11_custom_module
Custom Drupal 10/11 module for managing blog posts with editorial workflow, user roles, YAML configs, PHP code, and config sync files.
https://github.com/shehani-mal/blog_manager_drupal-10-11_custom_module
custom-module drupal drupal10 drupal11 php yml
Last synced: about 1 month ago
JSON representation
Custom Drupal 10/11 module for managing blog posts with editorial workflow, user roles, YAML configs, PHP code, and config sync files.
- Host: GitHub
- URL: https://github.com/shehani-mal/blog_manager_drupal-10-11_custom_module
- Owner: shehani-mal
- Created: 2025-07-24T07:14:06.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-07-24T07:16:17.000Z (11 months ago)
- Last Synced: 2025-07-24T11:16:45.474Z (11 months ago)
- Topics: custom-module, drupal, drupal10, drupal11, php, yml
- Language: PHP
- Homepage:
- Size: 866 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
```bash
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.

---
### 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.

---
### 3. Editor – My Blog Posts Table
Editors can view, edit, and track the status of their own blog posts in a personal list view.

---
### 4. Admin – Blog Editors Table
Admins can manage blog editors by activating, suspending, or modifying their status through a custom interface.

---
### 5. Admin – All Blog Posts
Admins see a table of all posts submitted by editors and can approve, reject, or archive them.

---
### 6. Admin – Role and Permission Setup
On installation, the module creates and configures roles for **Editor** and **Admin**, assigning appropriate permissions.
