Chapter 15 — Project Management and Field Service
Module code: PM
Features: pm_projects, pm_project_admin
Home: /pm/
15.1 What the module is for
Project Management organises work that has a beginning and an end: an installation, a software rollout, a building fit-out, a customer service contract. Work is broken into tasks, tasks move across a board, and time spent is recorded against them.
The field service part serves teams that work at customer sites: a daily list of today's jobs, start and stop timers, and a worksheet the customer signs off.
15.2 Concepts
| Concept | Meaning |
|---|---|
| Project | A body of work with a customer, a manager and a team |
| Task | One piece of work inside a project |
| Stage | A column on the project's board — To do, In progress, Review, Done. Stages belong to a project, so each project can have its own workflow. |
| Milestone status | The underlying state a stage maps to: to do, in progress, blocked, or done. This is what reports group by. |
| Timesheet | Time recorded against a task |
| Worksheet | A structured job report completed at a customer site |
Stages against status. A stage is what your team calls a column; the milestone status is what the system understands. A project can have five columns of its own naming, and cross-project reports still work because every column maps to one of the four statuses. When you create a project with no stages, four sensible defaults are created for you.
15.3 Projects
/pm/ dashboard
/pm/projects/ project list, grouped by tag
/pm/projects/new/ create a project
/pm/projects/<id>/ project workspace
Creating a project
- Go to
/pm/projects/new/. - Enter: - Name. - Customer — a partner (Chapter 5). Optional for internal projects. - Project manager. - Team members — who may work on it. - Start and end dates. - Tags — how the project list is grouped. Keep the tag list short or the grouping stops helping.
- Save.
The project workspace
/pm/projects/<id>/ is the project's home: its details, its key figures, and a
chatter panel — a comment thread with attachments, so the project's discussion
lives with the project rather than in email.
15.4 Board columns
Screen: /pm/projects/<id>/task-stages/
- Open the project and choose Board columns.
- Add a column with its name, its milestone status, and its position.
- Reorder by dragging.
- Mark a column folded to collapse it into a narrow rail — useful for a Done column that would otherwise dominate the board. Cards can still be dropped onto a folded rail, and the board does not jump when you do.
- Delete a column only when it holds no tasks.
Changing a column's milestone status updates every task currently in it. That is usually what you want, but it is a bulk change — check what is in the column first.
Anyone who can open the project may view the columns. Only the project manager, a team member, or a PM administrator may add, rename, reorder or delete them.
15.5 Tasks
/pm/projects/<id>/tasks/ the project's board
/pm/tasks/ all tasks across all projects
/pm/tasks/<id>/ task detail
/pm/tasks/export/ export tasks
Creating a task
- Open the project's board and select New task, or use quick-add on a column.
- Enter: - Title and description. - Assignee. - Stage — which column it starts in. - Priority. - Planned dates and estimated hours. - Customer location, for field service work.
- Save.
Working the board
Drag a card from one column to another. The task's stage and its milestone status update together.
The global board at /pm/tasks/ shows every task you can see across all projects,
in four rollup columns by milestone status. Dropping a card there resolves to the right
stage inside that task's own project, so a project's own workflow is respected.
Task detail
The task page carries:
- Full details and the ability to edit them.
- Attachments — upload at
/pm/tasks/<id>/attachments/upload/. - Comments.
- Dependencies (
/pm/tasks/<id>/dependencies/) — tasks that must finish first. - GPS breadcrumb (
/pm/tasks/<id>/gps/) — for field work, the route recorded while the task was being carried out.
Bulk actions
/pm/tasks/bulk-action/ applies a change — reassign, move stage, set priority — to
many selected tasks at once.
15.6 Task templates
/pm/task-templates/ list
/pm/task-templates/new/ create
/pm/task-templates/<id>/use/ create a task from it
For work that repeats identically — a standard installation, a routine service — create a template once with its checklist and estimates, then generate tasks from it. This is how you stop the quality of a job depending on which engineer remembered which step.
15.7 Field service
Today's work
Screen: /pm/field-service/today/
The technician's screen. It shows today's assigned tasks, work currently in progress, and anything overdue.
For each task:
| Action | Effect |
|---|---|
| Start | Begins the timer. The task shows as in progress wherever it appears. |
| Pause | Stops the clock without finishing |
| Resume | Restarts it |
| Complete | Finishes the task and stops the timer |
A running timer makes a task show as in progress everywhere — on the board, in the list, on reports — regardless of which column it sits in. What someone is actually doing right now beats what the board last recorded.
Starting a task that already has a running timer does nothing rather than starting a second one.
Timesheets
/pm/field-service/timesheets/ list
/pm/field-service/timesheets/new/ add an entry by hand
/pm/field-service/timesheets/<id>/edit/ edit
Timers produce timesheet entries automatically. Add entries by hand for work done away from the system, and review the list before billing.
Worksheets
/pm/worksheet-templates/ templates
/pm/worksheet-templates/new/ new template
/pm/worksheet-reports/ completed worksheets
/pm/worksheet-reports/new/ complete one
/pm/worksheet-reports/<id>/ view one
A worksheet template is the structured job report for a class of work: the checks to perform, the readings to record, the parts used, the customer's sign-off. Build it once with the template builder.
On site, the technician completes a worksheet report against the template. The completed report is the record of what was done, and the document a customer query is answered from.
15.8 Customers and locations
/pm/customers/ customers used by PM
/pm/customers/<id>/edit/ edit
/pm/customers/<id>/locations/options/ their service locations
Field service customers carry service locations — sites, buildings, units. Tasks are assigned to a location, which is what makes routing and the GPS breadcrumb meaningful.
15.9 Reports
/pm/tasks/report/ task report
/pm/tasks/analytics/ analytics
/pm/tasks/export/ export to CSV
| Question | Where |
|---|---|
| What is open, and who has it? | Task report |
| Are we hitting our dates? | Analytics |
| How much time went into this project? | Timesheet list, filtered by project |
| What did we do at this site? | Worksheet reports |
15.10 Permissions
| Capability | Needs |
|---|---|
| Use the PM portal | pm_projects view, or pm_project_admin view |
| Create projects | pm_project_admin create |
| See all projects, not just your own | pm_project_admin view |
| Configure board columns | Project manager, team member, or PM administrator |
A technician normally needs only pm_projects view, which gives them their own tasks,
the field service screen and the timers.
15.11 Routine
Daily — technician
[ ] Open /pm/field-service/today/
[ ] Start the timer when work begins; complete it when it ends
[ ] Fill in the worksheet at the site, not afterwards
Daily — project manager
[ ] Review the board; clear anything blocked
[ ] Check overdue tasks on the field service screen
Weekly
[ ] Review timesheets before billing
[ ] Review the task report for stalled work
[ ] Update planned dates that are no longer realistic
15.12 Troubleshooting
| Symptom | Cause | Fix |
|---|---|---|
| A project has no board columns | Defaults are created on first use | Open the board, or create the columns yourself |
| A card will not drop into a column | The column is deleted, or you lack rights | Refresh; check your project role |
| Board columns cannot be edited | You are not manager, team member or PM administrator | Ask to be added to the team |
| A task shows in progress in the wrong column | A timer is running on it | This is by design; stop the timer or complete the task |
| Start does nothing | A timer is already running on that task | Check the field service screen for the running task |
| A project is missing from the list | You are not on its team and lack pm_project_admin view |
Ask to be added |
| A worksheet cannot be completed | No template exists for that kind of work | Create the template first |
| Time is missing from a timesheet | The timer was never started | Add the entry by hand and start the timer next time |