# Starter client setup

IFS Cloud 26R1 documentation-based teaching example. Not compiled or executed in IFS.

The accompanying DemoRequest.client is a client model, not an installable solution. It does not create a component, projection, entity, database table, business API, or permission set.

1. In an authorized training checkout, choose an existing development component and appropriate layer. Replace DEMO and follow that project's generated model conventions.
2. Supply a projection named DemoRequestHandling, with DemoRequestSet exposing DemoRequest. Use a supported existing training entity/query or implement it through the normal IFS model workflow. Do not create or modify IFS business tables with ad-hoc SQL.
3. Required attributes: RequestId Text (unique key); Title Text; Closed Boolean; EstimateHours Number. Match metadata spelling and types exactly. The client is read-only but the service must independently restrict writes.
4. Seed these fictional values through the training entity's supported APIs/import process:

| RequestId | Title | Closed | EstimateHours |
| --- | --- | --- | --- |
| TRAIN-001 | Inspect cooling fan | false | 2 |
| TRAIN-002 | Review inspection checklist | false | 3 |
| TRAIN-003 | Close completed rehearsal | true | 4 |

5. Build/generate the projection and client in the supported workflow, inspect the merged model, and deploy to the training environment.
6. Grant read access to the test role. Browse Request training -> Browse training requests. Confirm three rows, then open each and match all four values. The client should not offer create/edit/delete.
7. Test a denied user and an apostrophe-containing key using an additional disposable record. Record actual outcomes in client-acceptance.csv.
8. Remove fixtures with supported APIs and revert temporary grants after the exercise. Do not mark this example verified until release-specific compilation and runtime checks have passed.

Guide: https://howtoifs.com/development/client-keywords/file-structure-and-pages/
Acceptance procedure: https://howtoifs.com/development/client-keywords/testing-and-troubleshooting/
