Publisher Module
Last Verified: December 25, 2025
Status: ✅ Active
Backend Path: backend/igny8_core/modules/publisher/ + backend/igny8_core/business/publishing/
Frontend Path: N/A (API-only module)
Quick Reference
| What |
File |
Key Items |
| Views |
modules/publisher/views.py |
PublishingRecordViewSet, DeploymentViewSet, PublishContentViewSet |
| Models |
business/publishing/models.py |
PublishingRecord, DeploymentRecord |
| Services |
business/publishing/services/*.py |
Publishing orchestration |
| URLs |
modules/publisher/urls.py |
Publisher endpoints |
Purpose
The Publisher module manages:
- Content publishing pipeline
- Publishing record tracking
- Deployment management
- Multi-destination publishing
Data Models
PublishingRecord
| Field |
Type |
Purpose |
| account |
FK |
Owner account |
| site |
FK |
Parent site |
| content |
FK |
Source content |
| destination |
CharField |
wordpress/ghost/webflow |
| external_id |
CharField |
ID on destination platform |
| external_url |
URLField |
Published URL |
| status |
CharField |
pending/published/failed/retracted |
| published_at |
DateTime |
Publication time |
| metadata |
JSON |
Additional data |
| created_at |
DateTime |
Record creation |
DeploymentRecord
| Field |
Type |
Purpose |
| account |
FK |
Owner account |
| site |
FK |
Target site |
| deployment_type |
CharField |
full/incremental |
| status |
CharField |
pending/deploying/completed/failed |
| items_deployed |
Integer |
Number of items |
| started_at |
DateTime |
Start time |
| completed_at |
DateTime |
Completion time |
| error_log |
TextField |
Errors encountered |
| metadata |
JSON |
Deployment details |
API Endpoints
| Method |
Path |
Handler |
Purpose |
| GET |
/api/v1/publisher/records/ |
PublishingRecordViewSet.list |
List publishing records |
| POST |
/api/v1/publisher/records/ |
PublishingRecordViewSet.create |
Create record |
| GET |
/api/v1/publisher/deployments/ |
DeploymentViewSet.list |
List deployments |
| POST |
/api/v1/publisher/publish/ |
PublishContentViewSet.publish |
Publish content |
| GET |
/api/v1/publisher/publish/status/ |
PublishContentViewSet.status |
Get publishing status |
| GET |
/api/v1/publisher/site-definition/ |
SiteDefinitionViewSet.list |
Public site definitions |
Publishing Flow
Single Content Publish
Trigger: User clicks "Publish" or API call
Flow:
- Validate content is in publishable state
- Get site integration credentials
- Transform content for destination:
- Format HTML for platform
- Process images
- Map taxonomies
- Push to destination API
- Create
PublishingRecord with external ID
- Update Content status to
published
Batch Deployment
Trigger: Deployment action
Flow:
- Create
DeploymentRecord
- Gather all pending content
- Process each item:
- Publish to destination
- Create publishing record
- Update content status
- Update deployment status
- Log any errors
Destination Adapters
WordPress Adapter
- Uses WordPress REST API
- Supports posts, pages, custom post types
- Handles media upload
- Maps categories/tags
Ghost Adapter (Planned)
- Ghost Admin API integration
- Post publishing
- Image handling
Webflow Adapter (Planned)
- Webflow CMS API
- Collection item publishing
- Asset management
Publishing States
| Status |
Description |
| pending |
Ready to publish |
| published |
Successfully published |
| failed |
Publishing failed |
| retracted |
Unpublished/removed |
Site Definition Endpoint
Purpose: Public endpoint for headless CMS use cases
Returns site structure for external consumption:
- Site metadata
- Available taxonomies
- Content types
- URL structure
Integration Points
| From |
To |
Trigger |
| Writer |
Publisher |
Publish action |
| Automation Stage 7 |
Publisher |
Auto-publish (future) |
| Publisher |
Integrations |
Destination APIs |
| Publisher |
Content |
Status updates |
Common Issues
| Issue |
Cause |
Fix |
| Publish failed |
Invalid credentials |
Check integration settings |
| Duplicate posts |
Published twice |
Check existing publishing record |
| Images missing |
Upload failed |
Check media library access |
| Wrong category |
Mapping issue |
Verify taxonomy sync |
Planned Changes
| Feature |
Status |
Description |
| Ghost integration |
🔜 Planned |
Ghost CMS publishing |
| Webflow integration |
🔜 Planned |
Webflow publishing |
| Scheduled publishing |
🔜 Planned |
Future-date publishing |
| Republish detection |
🔜 Planned |
Detect and handle updates |
| Publishing queue |
🔜 Planned |
Batch publishing with queue |