Table of Contents
- How to use this workbook
- Lab 1 — System orientation Foundation
- Lab 2 — Register the client Foundation
- Lab 3 — Create the project & charter Foundation
- Lab 4 — Shape the backlog (Planning) Foundation
- Lab 5 — Estimation Gantt Intermediate
- Lab 6 — Budgeting Gantt Intermediate
- Lab 7 — Scheduling Gantt & critical path Intermediate
- Lab 8 — Freeze the Kick-Off baseline Intermediate
- Lab 9 — Tasks, owners & dependencies Intermediate
- Lab 10 — Resources & allocation Intermediate
- Lab 11 — Time & attendance Intermediate
- Lab 12 — Materials & procurement Intermediate
- Lab 13 — Quality & defects Intermediate
- Lab 14 — Sub-contractor package Advanced
- Lab 15 — Post actuals Advanced
- Lab 16 — Trigger a deviation Advanced
- Lab 17 — Approve the CR & re-baseline Advanced
- Lab 18 — Estimate-to-actuals capstone Advanced
- Final assessment
- Answer key (trainers)
How to use this workbook
This workbook accompanies the FolksPMS User Manual. Every lab is part of one continuous story — you'll take a single project, the Riverside Office Fit-Out, from a client record all the way to a deviation that auto-raises a Change Request. Save your work after each step so a trainer can review your progress.
TRN-PRJ). A 12-week commercial interior fit-out for the client Riverside Holdings: strip-out, M&E first & second fix, partitions, finishes and handover. Every lab adds one more layer to this same project, so the codes you record early (client, project, tasks) are reused later.Before you start
- You have a working login with SuperAdmin or a fully-scoped delivery role.
- The API and FE are both running (locally via
F5, or against the hosted environment). - Both solutions build with 0 errors. Confirm with your trainer if unsure.
- The database
CF_MasGen_FolksPMS_Devis restored with seed data. - Have a notebook open to record codes (Client, Project, Phase, Task, Budget, CR) — they're referenced in later labs.
Skill levels
Anyone can do these. Sign in, navigate, build the client and project.
The estimate-to-actuals spine plus delivery: Gantts, tasks, resources, time, materials, quality.
Sub-contractors, actuals, the Deviation Engine, the auto-raised Change Request and the full end-to-end capstone.
Conventions used in this workbook
DO — Action
An action you perform on screen.
SEE — Outcome
The expected result you should observe.
NOTE — Record
A value (code, number) to write down.
Q — Self-check
A question to test your understanding.
Lab 1 — System orientation
FoundationGet comfortable with the navbar, the eight pillars, the standard list/form pattern, the language toggle and the role you'll work as.
1.1 First login
- Open the FolksPMS FE URL. Sign in with your trainer-provided credentials (e.g.
superadmin / superadmin). - You land on the Command Center — your role's default landing page — with live KPI tiles.
- Note the role shown at the top right.
1.2 Walk the eight pillars
- Open each pillar in turn: Workspace, Multi-Level Gantt, Delivery, Governance, Service & Collab, Supply, Reports & Insight, Administration.
- Sub-menus expand under each pillar; pages share a consistent toolbar — Add / Refresh / Export / Search.
1.3 Try the language toggle
- Click the EN / عربي toggle in the top bar. Switch to Arabic, then back.
- The whole layout mirrors right-to-left and labels translate — not just the text direction.
1.4 Standard page anatomy
- Open Workspace → Projects. Identify: header toolbar, filter strip, data grid, the health-coloured status column, and the per-row action column.
- Click Add to open the entry form, then Esc to cancel without saving.
Self-check
- Q1.1 Which table stores your username and password?
- Q1.2 How many navigation pillars group the 34 modules?
- Q1.3 If the Add button is greyed out, which table likely lacks a privilege row for your role?
Lab 2 — Register the client
FoundationEvery project needs a client. Create Riverside Holdings so the project in Lab 3 has somewhere to attach.
Manual reference — Client Master (CM)2.1 Create the client
- Open Administration → Client Master. Click Add and enter the client below — leave the Code blank.
| Field | Value |
|---|---|
| Client Name | Riverside Holdings |
| Country / City | Saudi Arabia · Riyadh |
| Currency | SAR |
| Default Payment Terms | Net 30 |
- Record the auto-generated Client code (e.g.
CLT-2026-00xx).
2.2 Add a primary contact
- On the client's Contacts tab, add Layla Al-Harbi · Facilities Director · primary with an email and phone.
- The contact appears, flagged as Primary.
2.3 Record the contract
- On the Contracts tab, add a contract — Fit-Out Framework, value
1,850,000 SAR, lump-sum.
Self-check
- Q2.1 Why must the client exist before the project?
- Q2.2 Which table holds the client header, and which holds the contacts?
Lab 3 — Create the project & charter
FoundationCreate the spine record of the whole workbook — the Riverside Office Fit-Out project — break it into phases, assign a team, and sign the charter.
Manual reference — Projects (PR)3.1 Create the project
- Open Workspace → Projects → Add. Pick client Riverside Holdings; fill the fields below; leave the project Code blank.
| Field | Value |
|---|---|
| Project Name | Riverside Office Fit-Out |
| Client | Riverside Holdings (from Lab 2) |
| Currency | SAR (inherited from client) |
| Planned Start / Finish | 2026-07-01 → 2026-09-23 (12 weeks) |
| Budget Envelope | 1,650,000 SAR |
| Status | Planned |
- Record the project code (e.g.
PRJ-2026-00xx) — you'll use it in every later lab.
3.2 Add phases
- On the project's Phases tab, add five phases: Strip-out · M&E First Fix · Partitions & Ceilings · Finishes & Second Fix · Handover.
- The Gantts in later labs will group tasks by these phases.
3.3 Assign the team
- On the Team tab, add yourself as Project Manager (100%) and one colleague as Site Supervisor (50%).
3.4 Sign the charter
- On the Charter tab, record the scope (interior fit-out, 1,400 m²), three objectives and three success criteria, then mark it Signed-off.
- The project detail page now shows phases, team and a signed charter.
Self-check
- Q3.1 Why is currency fixed at project creation?
- Q3.2 What does the list-view health bucket derive its colour from?
- Q3.3 Why structure work into phases rather than ad-hoc tasks?
Lab 4 — Shape the backlog (Planning)
FoundationBefore scheduling, capture the work as lightweight planning items on the Planning board and rough-size them.
Manual reference — Planning (PL)4.1 Capture planning items
- Open Workspace → Planning. Against the Riverside project, add backlog items for the major work blocks (one per phase is fine), each with a Priority.
- Rough-size each item with an effort estimate (e.g. person-days).
- The backlog lists, ranked by priority.
4.2 Commit one item
- Promote the highest-priority item toward a scheduled line (you'll formalise it as an Estimation task in Lab 5).
Self-check
- Q4.1 What makes a Planning record different from a scheduled task?
- Q4.2 Which module ranks the backlog by the Priority you set?
Lab 5 — Estimation Gantt
IntermediateLevel 1 of the spine. Draft rough-order-of-magnitude tasks and durations that size the work and seed the budget.
Manual reference — Estimation Gantt (EG)5.1 Draft estimate tasks
- Open Multi-Level Gantt → Estimation for the Riverside project. Add ROM tasks under each phase using the durations below.
| Phase | Estimate task | ROM duration |
|---|---|---|
| Strip-out | Strip-out & make safe | 2 weeks |
| M&E First Fix | M&E first fix | 3 weeks |
| Partitions & Ceilings | Partitions & ceilings | 3 weeks |
| Finishes & Second Fix | Finishes & second fix | 3 weeks |
| Handover | Snag, clean & handover | 1 week |
5.2 Roll up the estimate
- Use the Gantt's rollup to total the estimated effort.
- Record the total estimated duration (should be ~12 weeks).
Self-check
- Q5.1 Why don't Estimation tasks need hard calendar dates?
- Q5.2 What does the Estimation total feed into next?
Lab 6 — Budgeting Gantt
IntermediateLevel 2 of the spine. Convert the estimate into money — a budget header with cost lines mapped to phases.
Manual reference — Budgeting Gantt (BG)6.1 Create the budget header
- Open Multi-Level Gantt → Budgeting for the project. Create a budget header tied to the project; currency SAR.
6.2 Add cost lines per phase
- Add cost lines mapped to the phases — split each into Labour · Materials · Other.
| Phase | Labour | Materials | Other | Line total (SAR) |
|---|---|---|---|---|
| Strip-out | 60,000 | 20,000 | 10,000 | 90,000 |
| M&E First Fix | 180,000 | 240,000 | 30,000 | 450,000 |
| Partitions & Ceilings | 150,000 | 180,000 | 20,000 | 350,000 |
| Finishes & Second Fix | 220,000 | 290,000 | 40,000 | 550,000 |
| Handover | 40,000 | 10,000 | 10,000 | 60,000 |
| Total | 650,000 | 740,000 | 110,000 | 1,500,000 |
- Record the budget total (1,500,000) — it must sit under the project's 1,650,000 envelope.
Self-check
- Q6.1 Why align budget cost lines to phases?
- Q6.2 At which spine level does the budget become a frozen baseline?
Lab 7 — Scheduling Gantt & critical path
IntermediateLevel 3 of the spine. Turn the sized, budgeted work into a real calendar — dated tasks, dependencies and the critical path.
Manual reference — Scheduling Gantt (SG)7.1 Date the tasks
- Open Multi-Level Gantt → Scheduling. Give each estimate task real start/finish dates running from 2026-07-01.
| Task | Start | Finish | Predecessor |
|---|---|---|---|
| Strip-out & make safe | 01 Jul | 14 Jul | — |
| M&E first fix | 15 Jul | 04 Aug | Strip-out |
| Partitions & ceilings | 22 Jul | 11 Aug | M&E first fix (SS+1w) |
| Finishes & second fix | 12 Aug | 01 Sep | Partitions |
| Snag, clean & handover | 02 Sep | 23 Sep | Finishes |
7.2 Add dependencies & find the critical path
- Link the finish-to-start dependencies as above. Run the critical-path calculation.
- The chain Strip-out → M&E → Finishes → Handover lights up as the critical path; partitions has a little float.
- Note which tasks are on the critical path — a slip on these slips the whole project.
Self-check
- Q7.1 What is the first spine level that renders true calendar bars, and why?
- Q7.2 What does "float" mean for the partitions task?
Lab 8 — Freeze the Kick-Off baseline
IntermediateLevel 4 of the spine — the pivotal moment. Freeze the schedule into an immutable baseline. Everything from here is judged against it.
Manual reference — Kick-Off Gantt (KG)8.1 Freeze the schedule
- Open Multi-Level Gantt → Kick-Off. Use Freeze Baseline to copy the Scheduling Gantt into the Kick-Off baseline.
- The Kick-Off Gantt now shows the locked baseline bars; the tasks are read-only.
- Record the baseline date — this is the reference for every deviation later.
8.2 Confirm immutability
- Try to edit a baseline task date.
- The edit is blocked — re-baselining is a governed action, not an inline edit.
Self-check
- Q8.1 Why is the Kick-Off Gantt read-only once frozen?
- Q8.2 What does re-baselining do to the deviation reference?
Lab 9 — Tasks, owners & dependencies
IntermediateBreak the baseline phases into day-to-day tasks, assign owners and priorities, and link a blocking dependency.
Manual reference — Tasks (TK)9.1 Create tasks
- Open Delivery → Tasks. Add tasks under the M&E First Fix phase: Cable containment, Power & data rough-in, HVAC ductwork. Set owners and priorities.
- Record the three task codes.
9.2 Link a dependency
- Make Power & data rough-in depend on Cable containment (finish-to-start).
- The dependency is recorded on
TK_TaskDependencies.
9.3 Block a task honestly
- Set HVAC ductwork to status Blocked with a reason (awaiting duct delivery).
- The Command Center risk tile picks the blocker up.
Self-check
- Q9.1 Which table records that one task blocks another?
- Q9.2 Why does honest use of the Blocked status matter?
Lab 10 — Resources & allocation
IntermediateRegister the people delivering the work and allocate their capacity — then catch an over-allocation.
Manual reference — Resources (RS)10.1 Register resources
- Open Delivery → Resources. Register an M&E Lead and two Electricians with roles, rates and capacity.
10.2 Allocate to the project
- Allocate the M&E Lead 60% to Riverside, then deliberately allocate them another 60% to a second project.
- The system flags the resource at 120% — an over-allocation conflict.
- Fix it by dropping the Riverside allocation to 50%.
Self-check
- Q10.1 What is the most common resource-planning error?
- Q10.2 Which resource field feeds actual labour cost later?
Lab 11 — Time & attendance
IntermediateLog effort against tasks, submit a timesheet, approve it, and watch it become actual labour cost.
Manual reference — Time & Attendance (TA)11.1 Log time against tasks
- Open Delivery → Time & Attendance. Log a week of hours for the Electricians against Power & data rough-in.
- Submit the timesheet for the period.
11.2 Approve & cost it
- As manager, approve the timesheet.
- Hours × rate becomes actual labour cost, which feeds the Actuals Gantt in Lab 15.
Self-check
- Q11.1 Why should only approved time flow to cost?
- Q11.2 What is the formula for actual labour cost from a timesheet?
Lab 12 — Materials & procurement
IntermediateRaise a material requisition, turn it into a purchase order to a vendor, and receive the goods with a 3-way match.
Manual — Materials (MM) Manual — Buy / Sell (BF)12.1 Raise a requisition
- Open Delivery → Materials. Raise a requisition against Riverside for HVAC ductwork — 120 m needed for the blocked task in Lab 9.
- Record the requisition code.
12.2 Raise the PO
- In Supply → Buy / Sell, convert the requisition into a Purchase Order to a vendor.
12.3 Receive & match
- Post a goods-received note (GRN) when the duct arrives.
- Requisition ↔ PO ↔ GRN now agree — the 3-way match clears for payment. The blocked HVAC task in Lab 9 can be unblocked.
Self-check
- Q12.1 What three documents must agree in a 3-way match?
- Q12.2 How does Materials differ from Buy / Sell, given they share the requisition/GRN vocabulary?
Lab 13 — Quality & defects
IntermediateRun an inspection against a checklist, raise a defect with a severity, and walk it through to closed.
Manual reference — Quality (QA)13.1 Run an inspection
- Open Delivery → Quality. Run a first-fix inspection against the M&E checklist.
- Raise a defect — two data points missing at desk 14, severity Medium.
- Record the defect code.
13.2 Resolve & close
- Move the defect Open → Fixed → Verified → Closed as the work is corrected and re-checked.
- The quality trend on the Command Center improves as the defect closes.
Self-check
- Q13.1 What is the full defect lifecycle?
- Q13.2 Why does defect severity matter for governance?
Lab 14 — Sub-contractor package
AdvancedOnboard a flooring sub-contractor, assign them a scope package tied to the schedule, and certify a milestone payment.
Manual reference — Sub-Contractors (SC)14.1 Onboard the sub
- Open Supply → Sub-Contractors. Onboard Skyline Flooring with contract terms (lump sum, retention 5%).
14.2 Assign the package
- Assign a scope package — Carpet & vinyl, all floors — linked to the Finishes phase, with two milestones.
- When milestone 1 is met, certify the payment.
- The sub's work is now planned and costed alongside your own.
Self-check
- Q14.1 Why tie sub-contractor payments to milestones, not the calendar?
- Q14.2 What does linking the package to a phase let the Gantts do?
Lab 15 — Post actuals
AdvancedLevel 5 of the spine. Record what actually happened — actual starts, progress and cost — and overlay it on the frozen baseline.
Manual reference — Actuals Gantt (AG)15.1 Log actuals on plan
- Open Multi-Level Gantt → Actuals. For Strip-out, log actual start 01 Jul and 100% complete on 14 Jul — exactly on baseline.
- Overlay Kick-Off (KG) and Actuals (AG): the bars sit on top of each other — no deviation yet.
15.2 Post actual cost
- Post the approved labour cost from Lab 11 plus the duct material cost from Lab 12 as actual cost.
- Record the running actual cost against the 1,500,000 budget.
Self-check
- Q15.1 Which overlay is the single most useful comparison on the multi-level Gantt?
- Q15.2 What does actual cost reconcile against?
Lab 16 — Trigger a deviation
AdvancedLevel 6 — the signature moment. Introduce a real slip, watch the Deviation Engine detect it and auto-raise a Change Request.
Manual reference — Deviation Engine (DV)16.1 Set the threshold
- Open the Deviation thresholds for Riverside. Confirm the Material band fires at schedule variance ≥ 5% or cost variance ≥ 3%.
16.2 Introduce the slip
- Back on Actuals, post M&E first fix as finishing 11 Aug instead of the baseline 04 Aug — a one-week slip on a critical-path task.
- The AG bar runs past the KG baseline bar on the overlay — visible slippage.
16.3 Watch the engine act
- Open Multi-Level Gantt → Deviation (or refresh the Command Center deviation tile).
- A deviation is logged at the Material band — and a Change Request has been auto-created in Governance.
- Record the deviation magnitude and the auto-raised CR code — you'll resolve it in Lab 17.
Self-check
- Q16.1 What two inputs does the Deviation Engine subtract to find variance?
- Q16.2 Why did a one-week slip here breach the threshold when float elsewhere wouldn't?
- Q16.3 What did the breach create automatically?
Lab 17 — Approve the CR & re-baseline
AdvancedTake the auto-raised Change Request through its approval gate, implement it, and re-baseline the schedule under change control.
Manual — Change Requests (CH) Manual — Approvals (AC)17.1 Review the auto-raised CR
- Open Governance → Change Requests. Find the CR from Lab 16; add a rationale (long-lead duct delivery) and a proposed new finish date.
- Submit the CR for approval.
17.2 Approve it
- Open Governance → Approvals. As the approver, clear the CR's approval step.
- The CR moves Submitted → Approved.
17.3 Implement & re-baseline
- Mark the CR Implemented, then re-baseline the schedule to the agreed dates (a governed Kick-Off action).
- The deviation closes against the new baseline; the audit trail keeps the whole history.
Self-check
- Q17.1 What is the full CR lifecycle?
- Q17.2 Why is re-baselining a governed action rather than an inline edit?
Lab 18 — Estimate-to-actuals capstone
AdvancedTie it all together. With no step-by-step hand-holding, drive a fresh small project through the entire spine in one sitting.
The challenge — do all of this without looking back
- Reuse the Riverside Holdings client; create the new project with two phases and a signed charter.
- Draft the Estimation Gantt, convert to a Budgeting Gantt within a 240,000 envelope.
- Schedule it with dependencies and a critical path, then freeze the Kick-Off baseline.
- Add tasks, allocate a resource, log & approve a timesheet.
- Post actuals — make one task finish late enough to breach the Material band.
- Confirm the Deviation Engine auto-raised a CR; approve it and re-baseline.
- Finally, run a cross-module Report and open Insights to read the burn trend.
Acceptance — you're done when…
- The project shows a frozen baseline, posted actuals, a closed deviation, and an Approved/Implemented CR.
- The Command Center reflects the new project in its rollups, and the Audit trail shows every step attributed to you.
Final assessment
Thirty minutes, closed-book. Five multiple-choice, five short-answer, and one practical. Trainers: the answer key is at the foot of this page.
Part A — Multiple choice
Pick the single best answer.
What does the Deviation Engine compare to detect variance?
- a Estimation vs Budgeting
- b Actuals (AG) vs the frozen Kick-Off baseline (KG)
- c Scheduling vs Estimation
- d Budget vs Programme envelope
Which spine level is the first to render true calendar bars?
- a Estimation (EG)
- b Budgeting (BG)
- c Scheduling (SG)
- d Actuals (AG)
When a deviation breaches its threshold, FolksPMS automatically creates a…
- a New project
- b Change Request
- c Timesheet
- d Purchase order
Every coded dropdown (Status, Priority, Severity) is fed from…
- a A hard-coded enum in the FE
- b
SP_Picklistsin System Parameters - c The Audit module
- d Each module's own table
Which module is shared and locked across the Folks platform?
- a Projects (PR)
- b User Management (UM)
- c Reports (RM)
- d Tasks (TK)
Part B — Short answer
Name the six levels of the Gantt spine, in order.
Why must a client exist before you can create a project?
What is a 3-way match, and which module enforces it?
Explain the difference between a generic SP_ and a DevSP_.
Why is re-baselining treated as a governed action, not an inline edit?
Part C — Practical
On the Riverside Office Fit-Out, post an actual that finishes a critical-path task 8 working days late. Show the trainer: (1) the AG-vs-KG overlay with the slip, (2) the logged deviation and its band, (3) the auto-raised Change Request, and (4) the Audit entry attributing the change to you.
Trainer answer key — click to reveal
Part A. A1 → b · A2 → c · A3 → b · A4 → b · A5 → b.
B1. Estimation (EG) → Budgeting (BG) → Scheduling (SG) → Kick-Off (KG) → Actuals (AG) → Deviation (DV).
B2. The project's Client is a mandatory reference that reads from Client Master; with no client there is nothing for the project to attach to, and downstream invoices/reports rely on it.
B3. Requisition ↔ Purchase Order ↔ Goods-Received Note all agreeing before a vendor is paid; enforced in Buy / Sell (BF) (and shared in spirit with Materials).
B4. SP_ = generic CRUD (insert/update/select/delete) for one table. DevSP_ = a rich, composite procedure that returns multiple result sets or runs an algorithm (CPM, Earned Value, FX, deviation detection) for detail views, dashboards and engines.
B5. The Kick-Off baseline is the immutable reference every actual and deviation is judged against; silently re-baselining would erase the slip and the audit trail. It runs through change control so the reset is recorded and approved.
C1. Accept when the candidate shows: the AG bar past the KG bar on the overlay; a deviation row at the Material (or Critical) band with the right magnitude; an auto-created CR linked to the deviation; and an Audit row stamped with their user and timestamp.
Pass mark: Part A 4/5, Part B 4/5, Part C must be demonstrated.