Overview
The Blog System powers ESP Santa Fe de Antioquia’s news and announcements platform. This content management feature enables administrators to publish articles, news updates, and organizational announcements that keep citizens informed about events, services, and developments.Public Communication
This system serves as the primary channel for communicating news, updates, service announcements, and community events to citizens.
User Workflows
Admin Creates Article
Administrators create new blog posts with:
- Article title
- Rich HTML content
- Author name
- Featured image
- Publication status (draft or published)
Key Features
Rich Content Editor
HTML-based content editing for formatted text, lists, and embedded media
Draft System
Save unpublished drafts and control when content goes live
Featured Images
Eye-catching cover photos for each article
Pagination
6 articles per page for optimal browsing experience
SEO-Friendly URLs
Automatic URL generation from article titles
Update Tracking
Track creation and modification dates
Data Model
The blog system uses the Master entity with specific flags:View Model
Controller Actions
Admin Routes
List Articles - GET /Blog
List Articles - GET /Blog
Purpose: Display all blog posts in admin dashboardAccess: SuperAdmin, AdminFeatures:
- Shows both published and draft articles
- Displays creation and update dates
- Status indicators (published/draft)
- Quick access to edit and delete
Create Article - GET/POST /Blog/Create
Create Article - GET/POST /Blog/Create
Purpose: Create new blog postAccess: SuperAdmin, AdminValidation:
- Checks for duplicate titles
- Validates required fields
- Ensures image file meets requirements
Edit Article - GET/POST /Blog/Edit/{id}
Edit Article - GET/POST /Blog/Edit/{id}
Purpose: Update existing blog postAccess: SuperAdmin, AdminUpdatable Fields:
- Title (NameBlog)
- Content (Description)
- Author
- Status (publish/unpublish)
- Featured image (optional)
View Details (Admin) - GET /Blog/Details/{id}
View Details (Admin) - GET /Blog/Details/{id}
Purpose: Preview article as adminAccess: SuperAdmin, AdminDisplays full article with all metadata including unpublished status.
Delete Article - GET/POST /Blog/Delete/{id}
Delete Article - GET/POST /Blog/Delete/{id}
Purpose: Remove blog post permanentlyAccess: SuperAdmin, AdminWarning: Deletion is permanent and cannot be undone.
Public Routes
News Listing - GET /noticias
News Listing - GET /noticias
Purpose: Display paginated list of published articlesAccess: PublicFeatures:
- Shows only published articles (Statud = true)
- 6 articles per page
- Displays featured images, titles, authors, and dates
- Pagination controls
Article Detail - GET /noticias/{urlBlog}
Article Detail - GET /noticias/{urlBlog}
Purpose: Display full article contentAccess: PublicFeatures:
- SEO-friendly URL using article title slug
- Full HTML content rendering
- Featured image display
- Author and date information
- Social sharing capabilities (if implemented in view)
Content Creation Guidelines
Writing Best Practices
Writing Best Practices
- Use clear, concise headlines
- Start with the most important information
- Keep paragraphs short (2-4 sentences)
- Use subheadings to organize content
- Include relevant images and captions
- Proofread before publishing
SEO Optimization
SEO Optimization
- Choose descriptive titles (50-60 characters)
- Use keywords naturally in content
- Add alt text to images
- Keep URLs short and descriptive
- Use proper heading hierarchy (H1, H2, H3)
Image Requirements
Image Requirements
- Format: JPG or PNG
- Recommended size: 1200x630 pixels (Facebook/OG standard)
- Maximum file size: 2MB
- Compress images for web
- Use descriptive filenames
Data Transfer Objects
Create DTO
Edit DTO
Pagination
The system uses X.PagedList for efficient pagination:- Improves page load times
- Reduces database queries
- Provides better user experience
- Enables navigation controls (previous/next)
Status Management
- Draft (Statud = false)
- Published (Statud = true)
- Article is saved but not public
- Only visible to administrators
- Can be edited and refined
- Does not appear in
/noticiaslisting
Date Formatting
Dates are formatted using Colombian Spanish locale:- Short format: “Ene 15, 2024”
- Long format: “Enero 15, 2024”
Service Layer
Common Use Cases
Service Announcement
Notify citizens about scheduled maintenance, service interruptions, or new service offerings
Event Promotion
Announce community events, public meetings, or educational workshops
Project Updates
Share progress on infrastructure projects or organizational initiatives
News Coverage
Report on organizational achievements, awards, or significant milestones
Related Features
- Employee Management - Reference staff in articles
- Brigade Management - Announce brigade events
- Document Management - Link to official documents