Program configuration and instructions
Read-only views of the server feature switches and of programme instructions in the user's language.
FactsheetSupport & admin
- Who uses it
- CadreUnit In-Charge / FMT L1
- How you get here
- Side menu > Program Configuration or Program Instructions.
- APIs
- 3 calls today, 1 App Service operations
- Offline
- Cached copies shown offline (prefs KEY_PROGRAM_CONFIGURATION and KEY_PROGRAM_INSTRUCTIONS).
Screens
| Screen | What it does | Source |
|---|---|---|
| Program Configuration | List of every app-config code and its value, with refresh. | app/src/main/java/org/platformcommons/urvi/view/home/program_configuration/ |
| Program Instructions | Instruction texts for the current language. | app/src/main/java/org/platformcommons/urvi/view/home/program_instructions/ |
Rules
Conditions from the code, rewritten as plain decision rules.
| When | Then |
|---|---|
| A config value is "1" | Show True. |
| A config value is "0" | Show False. |
| A config value is anything else | Show it as is. |
| Instructions load | Show only the current language's texts, sorted by instruction_order. |
| Offline | Show the cached copy. |
API contracts
Each call opens to its use case, headers, request and response bodies, and errors.
| Today: call | Use | Replaced by |
|---|---|---|
GET /gateway/portfolio-service/api/v1/ref-data/class/CLASS.PORTFOLIO_APP_CONFIG?page&size=100&direction=ASC | Load app config: feature flags, current season, retry delay, pagination and chunk sizes. | |
GET /rtld/api/dataset/v1/execute?name=PlusOnePortfolioAppConfig | Load program configuration for the program info screen. | |
GET /rtld/api/dataset/v1/execute?name=PlusOneInstructions | Load program instructions. |
| App Service v2: operation | Use |
|---|---|
GET /config | Typed config bundle (ETag) |
Behaviour notes
- Possible bug · unverified instruction_order is sorted as text, so "10" comes before "2".
- Possible bug · unverified instructions filter by selectedLanguage, which Settings > Change language corrupts.
Improve in the rewrite
- Sort numerically and store both lists in database tables with timestamps.