Visual map — Ch.05 · Workspace — fulfiller UI
My Requests · Team Approvals · Admin pages
UI Builder experience published
Development
Full visual path (all chapters): VISUAL_FROM_SCRATCH_00_16.html
Studio-only from scratch: Now Experience workspace with list pages on req_v2. Studio UI only — no npx or external build.
Also open: Properties + Direct Links · Schema · Studio Create All Objects · Previous: 04 Service Portal
How workspace objects relate
Part 1 Experience (HR Leave Workspace) ├── Part 2 Pages (My Requests, Team Approvals, Admin) ├── Part 3 Data resource → req_v2 table broker └── Part 4 List component + role bindings
Rule 0 — Before any object (Application + Update Set + Studio)
Repeat these checks before creating or editing any application file. This section is also section 00 Update Set — create the capture set first.
- Application picker — top-right globe / application menu → select HR Leave (
x_786686_hr_leave). Never leave Global selected when creating scoped artifacts. - Update Set — All → System Update Sets → Local Update Sets → New:
After submit: open the record → click Make Current. Direct list: {BASE}/sys_update_set_list.doField Value Name HR Leave – BuildApplication HR Leave State In Progress Description Captures all HR Leave lab artifacts - Open Studio — {BASE}/$studio.do → confirm header shows HR Leave.
If artifacts land in Global scope, delete them and recreate under HR Leave. ACLs and events created globally will not behave correctly for this app.
Verify Update Set: Create a test Script Include in Studio → open HR Leave – Build → Related List Customer Updates shows the new file.
Part 1: Create Experience — HR Leave Workspace
Purpose
Now Experience workspace container scoped to HR Leave application.
Navigation path
Direct URL
Prerequisites
- Part 3: Table — Leave Request (01).
- Roles from 02 Administration.
Form fields
| Field | Value |
|---|---|
| Name | HR Leave Workspace |
| Application | HR Leave |
| Experience type | Workspace / Custom |
Step-by-step create
- UI Builder → Create experience → fill fields → Create.
- Confirm Application = HR Leave in header.
Verify checklist
- Experience opens in UI Builder.
Demo / test
Preview URL loads (empty until pages added).
Part 2: Pages — My Requests, Team Approvals, Admin
Purpose
Three routed pages for employee, manager, and HR admin personas.
Navigation path
Prerequisites
Form fields
| Label | Route | Roles |
|---|---|---|
| My Requests | my-requests | employee, manager, hr_admin |
| Team Approvals | team-approvals | manager, hr_admin |
| Admin | admin | hr_admin |
Step-by-step create
- Add page → Name My Requests → Route my-requests.
- Repeat for Team Approvals and Admin pages.
- Add navigation menu items linking each page (Part 4).
Verify checklist
- Three pages listed in experience.
Demo / test
Preview each route — page shell loads.
Part 3: Data Resource — req_v2
Purpose
Table data broker feeding list components with req_v2 records.
Navigation path
Prerequisites
Form fields — My Requests broker
| Field | Value |
|---|---|
| Label | My Leave Requests |
| Table | x_786686_hr_leave_req_v2 |
| Condition | u_requested_for_user=javascript:gs.getUserID() |
Team Approvals broker
| Condition | u_state=submitted AND u_approver_user=current user |
|---|
Step-by-step create
- Data Resources → Create → Table → req_v2.
- Set conditions per page persona.
- Columns: Number, Leave Type, Start, End, Days, State.
Verify checklist
- Data resource preview returns rows for test user.
Demo / test
Preview broker as employee1 → only own requests.
Part 4: Bind List + Role Restrictions
Purpose
Attach list components to data resources and publish workspace with role access.
Navigation path
Prerequisites
Step-by-step create
- My Requests page → drag List → bind My Leave Requests data resource.
- Team Approvals page → List → team broker filter.
- Admin page → Lists for employee_v2 and bal_v2 — hr_admin only.
- Navigation: menu items with role restrictions per page.
- Publish workspace → assign roles employee, manager, hr_admin.
- Impersonate each test user → open workspace URL.
Verify checklist
- employee sees only own requests on My Requests.
- manager sees submitted items awaiting approval.
- hr_admin sees admin lists.
Demo / test
Impersonate each role → list data matches ACL expectations.
Workspace verify checklist
Complete after Parts 1–4.
- Experience published under HR Leave.
- Three pages with correct role gates.
- req_v2 list filtered per persona.