Project / SubProject Management
Business perspective: Project & SubProject Management
1. Business Summary
Project containers group jobs by client engagement; sub-projects allow further decomposition; auto-creation hooks during job intake.
2. Business Value
Organizes work, simplifies reporting, and links delivery records to opportunities/accounts.
3. Users / Stakeholders
PMs, AMs.
4. Workflows
- Auto-create from job intake:
AutomationComponent::projectAutomation()creates a Project whenprojctArray.create_project=1. - Manual create: Standard CRUD.
- Sub-projects:
SubProjectminimally implemented.
5. Sub-Features
- Auto-creation alongside Job/PO/Contact.
- Activities, Notes, Cases, FollowUps, Tickets per project.
6. Business Rules
- Required fields: ProjectName, StartDate, EndDate, BrandId, CreatorId.
- created_by/modified_by auto-set.
7. Data Entities
Project, SubProject, Brand, Opportunity, CreatorUser, ModifierUser.
8. Entry Points
projects/projects,projects/subProjects.- Internal:
AutomationController::createProject(via component).
9. Inputs & Outputs
- Inputs: project metadata.
- Outputs: project record + linked jobs.
10. Integrations
- Triggers TMS integration when jobs use Memsource (sleep delays observed).
11. Calculations / Logic
N/A.
12. Status Lifecycle
- Limited explicit statuses; relies on linked entities (jobs/tasks).
13. Permissions
- PMs, AMs, brand-scoped.
14. Reports & KPIs
- Projects per account, jobs per project, status of linked jobs.
15. Risks & Observations
- Lightweight container; logic concentrated in linked Jobs/Tasks.
16. Source Code Evidence
app/Plugin/projects/Model/Project.php,SubProject.php.app/Plugin/projects/Controller/ProjectsController.php,SubProjectsController.php.app/Controller/Component/AutomationComponent.php::projectAutomation().