How ci4-cms-erp/ci4ms works
CI4MS is a modular CodeIgniter CMS. A visitor enters through the home route and receives public content; authenticated administrators manage content and site modules through the backend. Separate capabilities include RBAC, media and themes, notifications, migrations, backups, and signed updates. The graph combines documented product stages with source-index-supported links; it does not infer controller-to-storage calls for unsampled modules.
Main entry points: Events.php Event Wiring · DefaultRoutes.php Route Loader · Settings.php Site Settings · Pages.php Page Management
Components 34
Public CMS
- Home Controller
app/Controllers/Home.php - Page Management
modules/Pages/Controllers/Pages.php - Blog Management
modules/Blog/Controllers/Categories.php
Admin & RBAC
- Authentication
modules/Auth/Controllers/MagicLinkController.php - User Sessions
modules/Auth/Models/UserSessionModel.php - User Administration
modules/Users/Controllers/UserController.php - Backend Base
modules/Backend/Controllers/BaseController.php - Media Manager
modules/Media/Controllers/Media.php - File Editor
modules/Fileeditor/Controllers/Fileeditor.php - Theme Manager
modules/Theme/Controllers/Theme.php - Site Settings
modules/Settings/Controllers/Settings.php - Translation Manager
modules/LanguageManager/Controllers/Translations.php - Menu Management
modules/Menu/Controllers/Menu.php - Log Viewer
modules/Logs/Controllers/Logs.php - Dashboard Widgets
modules/DashboardWidgets/Libraries/WidgetService.php
Platform Services
- Route Loader
app/Config/DefaultRoutes.php - Common Utilities
app/Libraries/CommonLibrary.php - Notification Composer
modules/Notifications/Controllers/ComposerController.php - Notification Dispatch
modules/Notifications/Libraries/Notifier.php - Realtime Notifications
modules/Notifications/Controllers/RealtimeController.php - Notification Settings
modules/Notifications/Config/NotificationsConfig.php - Event Wiring
app/Config/Events.php - Application Config
app/Config/App.php - Database Config
app/Config/Database.php - Email Config
app/Config/Email.php - Module Discovery
app/Config/Modules.php - Exception Handling
app/Config/Exceptions.php
Operations & Extensions
- Signed Updates
modules/Settings/Libraries/UpdateService.php - Backup Manager
modules/Backup/Controllers/Backup.php - Migration Runner
modules/MigrationManager/Controllers/MigrationManager.php - Run Lock
modules/Backend/Libraries/RunLock.php - Web Installer
modules/Install/Controllers/Install.php - Module Tools
modules/Methods/Libraries/ModuleInstaller.php
Other components
- Visitor
Connections 22
- Visitor → Route Loader: requests site
- Route Loader → Home Controller: routes home
app/Config/DefaultRoutes.php - Home Controller → Common Utilities: uses utilities
app/Controllers/Home.php - Visitor → Page Management: reads pages
README.md - Visitor → Blog Management: reads blog
README.md - Backend Base → Authentication: requires sign-in
README.md - User Administration → User Sessions: reads sessions
modules/Users/Controllers/UserController.php - Site Settings → Signed Updates: runs updates
README.md - Site Settings → Backup Manager: manages backups
README.md - Migration Runner → Run Lock: acquires lock
modules/MigrationManager/Controllers/MigrationManager.php - Notification Composer → Notification Dispatch: dispatches
modules/Notifications/Controllers/ComposerController.php - Realtime Notifications → Notification Dispatch: uses notifier
modules/Notifications/Controllers/RealtimeController.php - Event Wiring → Notification Settings: loads settings
app/Config/Events.php - Event Wiring → Notification Dispatch: dispatches audit
app/Config/Events.php - Route Loader → Module Discovery: discovers routes
app/Config/DefaultRoutes.php - Event Wiring → Exception Handling: configures events
app/Config/Events.php - Application Config → Database Config: references config
app/Config/App.php - Blog Management → Page Management: manages content
README.md - Theme Manager → Site Settings: configures theme
README.md - Media Manager → File Editor: supports file work
README.md - Translation Manager → Page Management: localizes content
README.md - Web Installer → Module Tools: supports setup
README.md