Projects Reference Public

Module Research Notes

Evidence gathered from the current Projects module files — controllers, models, configs, and migrations — before writing these user guide pages.

Guide version: r1 Module version: 1.0.0 Updated: 2026-07-22 Estimated time: 3 min 2 views
Reference

Module Research Notes

Evidence gathered from the current module files before writing the user guide pages.

Slug: projectsVersion: 1.0.0Category: PlanningReviewed: 2026-07-11

Research Sources Inspected

Source path

modules/Projects

Feature flags marked true

  • Controllers
  • Models
  • Views
  • Language
  • Permissions
  • Left Menu
  • Default Menu
  • Routes
  • Cron Jobs
  • Dashboard Widgets

Evidence Summary

Manifest

module.json defines slug projects, version 1.0.0, category Planning, and the module capability flags used in this guide.

Runtime surface

6 controller file(s), 86 view file(s), and 71 route mapping(s) were found.

Data surface

11 model file(s), 11 declared table(s), and 0 migration file(s) were found.

Operations surface

19 permission key(s), 2 job(s), 1 seeder(s), and 0 test file(s) were found.

Detailed File Evidence

Controllers and methods

  • Project_gantt
  • Project_settings
  • Project_tasks
  • Project_timesheets
  • Projects
  • Task_status

Jobs and schedules

  • Generate recurring tasks (10 * * * *) - Creates new tasks from recurring templates whose next_recurring_date has arrived.
  • Send task reminder notifications (15 * * * *) - Notifies assignees of upcoming task deadlines based on configured reminder offsets.

Routes sampled

RouteTarget
pms/all_projectsprojects/all_projects
pms/projects/view/(:any)projects/view/$1
pms/projects/view/(:any)/(:any)projects/view/$1/$2
pms/my_tasksproject_tasks/all_tasks
projects/tasksproject_tasks/tasks
projects/tasks/(:any)project_tasks/tasks/$1
projects/tasks_kanbanproject_tasks/tasks_kanban
projects/tasks_kanban/(:any)project_tasks/tasks_kanban/$1
projects/tasks_calendar/(:any)project_tasks/tasks_calendar/$1
projects/tasks_calendar_data/(:any)/(:any)/(:any)project_tasks/tasks_calendar_data/$1/$2/$3
projects/tasks_calendar_data/(:any)/(:any)project_tasks/tasks_calendar_data/$1/$2
projects/tasks_calendar_data/(:any)project_tasks/tasks_calendar_data/$1
projects/get_milestones_for_filterproject_tasks/get_milestones_for_filter
projects/all_tasksproject_tasks/all_tasks
projects/all_tasks_kanbanproject_tasks/all_tasks_kanban
projects/can_edit_task_of_the_project/(:any)project_tasks/can_edit_task_of_the_project/$1
projects/all_tasks_kanban_dataproject_tasks/all_tasks_kanban_data
projects/project_tasks_kanban_data/(:any)project_tasks/project_tasks_kanban_data/$1
projects/task_viewproject_tasks/task_view
projects/task_view/(:any)project_tasks/task_view/$1
51 additional route(s) omitted for readability.

README topics

  • Overview
  • Purpose
  • Who This Module Is For
  • Problems This Module Solves
  • Key Features
  • How It Works in ERPat
  • Common Use Cases
  • Demo Seeder
  • User Roles and Access
  • Permissions
  • Related Modules
  • Important Notes

Operating Implications

  • Permission coverage is part of the module contract, so every workflow should be tested with a role-limited user and an administrator.
  • Scheduled jobs can change statuses, notifications, or summaries after users leave the screen; support should check cron status during troubleshooting.
  • Dashboard widgets summarize module state and should be verified against the source list before management reporting.
  • Seeders exist for sample or starter data; operators should know whether seeded records are demo-only or operational defaults.

Known Risks from the Manifest

  • Multi-tenant: the module is gated by a new module_projects setting seeded to enabled by a core migration (settings is a shared table). Validate the setting exists per tenant before relying on Projects visibility.
  • Sub-feature toggles module_mytask, module_gantt and module_project_timesheet still control the My Tasks, Gantt and Timesheets entries beneath the master module_projects toggle.
  • Project detail tabs for Invoices/Payments/Expenses/Estimates/Notes are container views that render data owned by the Sales, Expenses and Notes features; those features remain in core.
Was this guide helpful?

Report a content problem