Skip to content

Projects Module ​

Lean Operations module on the frozen platform. Plan and track workspace projects with a primary assignee, optional members, status board, notes/timeline, and soft, optional Contact / Company / Opportunity links. Tasks may optionally set project_id when Projects is entitled (Tasks catalog 1.2.0).

Projects is standalone: it installs with no hard module_dependencies, and works fully on its own.

Guides ​

AudienceDocument
Operators / workspace usersprojects.md
Engineersprojects.md
Production / opsprojects.md
Module Development Standardmodule-development.md
RelatedTasks · Opportunities
Tenant API../api/tenant-v1-projects.md

Capabilities ​

  • Fields: title (required — not name), optional description, starts_on / ends_on (date), status, assignee, members
  • Status workflow: planned → active|cancelled; active → on_hold|completed|cancelled; on_hold → active|cancelled (completed / cancelled terminal)
  • Members + assignee; visibility without projects.assign = assignee OR member OR creator
  • Soft optional Contact / Company / Opportunity links (validated only when that module is entitled)
  • Soft Task project_id (Tasks → Projects optional) plus optional task milestone_id and same-project task dependencies (Tasks catalog 1.5.0)
  • Milestones — open/completed milestones on a project (due_on, sort order); complete action; timeline events (milestone_*)
  • Board + list + Gantt (portfolio timeline) + Heatmap (assignee × week load) + stats + notes/timeline
  • Real-time board sync — private Reverb channel tenant.{id}.projects.board (auth: same tenant + projects.view); board view invalidates projects/board + projects/stats (debounced). Catalog 1.8.0. Go-live: production readiness.
  • Gantt — project bars from starts_on/ends_on; expand for milestone diamonds and soft Task due markers (when Tasks is entitled); drag bars to shift dates when you can update
  • Heatmap — per-assignee weekly load cells + open/overdue counts and pressure band (soft Tasks when entitled)
  • Calendar projection — all-day events on starts_on / ends_on (assignee as organizer); cancelled projects cancel/remove projection
  • Dashboard widgets: active_projects, overdue_projects
  • Overdue uses workspace Timezone calendar “today” vs ends_on (open statuses only)
  • Trash filtering plus Restore and Delete permanently
  • Module licensing (module:projects) + Spatie permissions — free Marketplace opt-in, no hard dependencies
  • Audit + activity logging; assignee and new-member notifications

Permissions ​

projects.view · create · update · delete · restore · force.delete · assign

Enable Projects from Marketplace (free). Catalog: slug projects, category operations (Operations), version 1.9.0, is_default_included = false, is_billable = false, sort_order = 10. Nav: Workspace group, after Tasks. Supports optional Share with customer portal when Customer Portal is installed.

Why standalone (soft dependencies) ​

Contact, Company, and Opportunity links are optional cross-references — a project can be pure internal work with no CRM deal behind it. Tasks may link to a project only when Projects is entitled (LinkableProject); uninstalling Projects nulls the FK rather than blocking Tasks.

Explicitly deferred ​

  • Project tags and PRJ- numbers
  • Project tags
  • Human-readable PRJ- numbers

Official documentation for the EloSync SaaS Platform.