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-30 Estimated time: 3 min 2 views
You are viewing version r1 of this guide. View the current version
Module Research Notes

Projects

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.

Report a content problem