ci-server-engineer/knowledge/manuals/IM36K10R20-01EN.md
cliu 84181711b8 Add phase 4 CI Portal setup and Setup File Editor summaries, portal-setup skill
- Summaries of IM 36K10R10 (CI Portal Setup) and IM 36K10R20 (Setup File Editor),
  checked against the installed setup files and the Setup File Editor GUI
- New skill portal-setup: read a setup file, check web access for CI View,
  change a setup file safely (verified with a port change and restore)
- Manual vs software differences logged as ISS-012 to ISS-017; installed
  software taken as the reference

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 16:41:02 +10:00

106 lines
5.9 KiB
Markdown

---
manual: IM 36K10R20-01EN
title: Setup File Editor
edition: 3rd Edition, Sep. 2023
version: R1.03
status: from docs; launcher, file location and metadata keywords checked read-only on the test system (2026-09-30)
---
# Setup File Editor (R1.03)
What setup files are, how the Setup File Editor shows and changes them, and the comment
keywords (metadata) inside a setup file that the editor reads to build its forms. Section
numbers refer to the manual.
## 1. Setup files (§1)
- CI Server reads its setup files (`*.sup`) **at startup**. Installed files hold the default
values; change a value, then **restart CI Server** for it to take effect.
- Location: `%TLS_ROOT_PATH%\tls\sup` (about 200 files on the test system). Plain text.
- Lines starting with `!` are comments/metadata; the other lines are the active settings,
normally `KEYWORD = value[, value…]`.
- The editor does not handle non-ASCII text (it is shown garbled), so labels cannot be
localised.
## 2. Using the editor (§2)
- Start: Start menu *CI Server → Setup File Editor* (on the test system this runs
`%TLS_ROOT_PATH%\tls\com\fsuedit.cmd`, a Java program).
- Main window: tabs *Setup Files* and *Templates* (the latter not in the manual, ISS-016);
the list shows file name, description and status: *Default* when the active values equal
the file's `!DEFAULT` block, *Changed* when any differs (ISS-016).
- Double-click a file (or *File → Edit Setup File*) to open its form: one tab per group of
entries, with *OK*, *Cancel* and *Help* (help text of the entries). A field whose value
differs from its default has a **blue** label. The manual says *OK* keeps changes in
memory until *Exit*; in R1.03 **OK writes the file at once** (ISS-016). R1.03 also
shows *Undo Field* and *Reset Field*. *Reset Field* is enabled when the cursor is in a
changed field and sets it back to its `!DEFAULT` value; *OK* then saves.
- A keyword that may repeat (`!TIMES = INF`, e.g. `PROXY_ENTRY` in `jwuiisg.sup`) is shown
as a frame (its `!LABEL`) with one input per argument and an *Add* button, a table with
one row per active line and one column per argument, and icon buttons beside the table
(apparently delete, update selected row, move up, move down; not in the manual, seen in
R1.03).
- *File* menu: *Edit Setup File*; *Open File* (opens the raw file in Notepad); *Print…*
(preview, then print); *Refresh* (re-read the list, e.g. after changing metadata);
*Exit* (per the manual, asks whether to save unsaved changes).
- *Edit* menu: *Reset to Default* (only for files that define defaults); *Edit Description*
(not usable); *Toggle Read Only* (locks a file against editing in the editor; toggle again
to unlock).
- *Help* menu: editor help. Most commands are also on the right-click menu of the list.
- Unavailable commands are greyed out for a given file.
## 3. Metadata keywords (§3)
The editor builds its forms from comment lines in the setup file. All start with `!`.
**File level (§3.1)**
| Keyword | Purpose |
|---|---|
| `!DESCRIPTION = <text>` | Description in the file list (first one wins; missing → "(Unknown)") |
| `!INFO` … `!ENDINFO` | Text for an *Information* tab |
| `!TAB = <label>` | Starts a tab; following keywords go on it. Keywords before the first tab (or all, if there are no tabs) go on a *General* tab. The manual says keywords before the first tab are ignored, but the R1.03 editor shows them on *General* (ISS-015). |
| `!DEFAULT = YES/NO` … `!ENDDEFAULT` | Default settings (each line prefixed with `!`); enables *Reset to Default* |
**Keyword level (§3.2)** — between `!KEYWORD : <syntax>` and `!ENDKEYWORD`:
| Keyword | Purpose |
|---|---|
| `!LABEL = <text>` | Frame caption around the arguments; advised with several arguments, repeats or a text argument |
| `!KEYHELP` … `!ENDKEYHELP` | Help text of the keyword |
| `!TIMES = <n>/INF` with optional `!MUST = a|b` | How often the setting may appear (default once; 0 or INF = unlimited); values that must be present |
| `!ARGREPEAT` | The argument list may repeat |
| `!NUMTIMES = <from>,<to>` | Settings named `NAME_<n>` sharing one definition |
Only one of `TIMES`/`MUST`, `ARGREPEAT` and `NUMTIMES` per keyword.
**Argument level (§3.3)** — `!ARG<n> = <label>` … `!ENDARG<n>` with `!KIND` (required),
`!OPTIONS` and `!HELP` … `!ENDHELP`.
**Argument kinds (§3.4)**
| KIND | Label | OPTIONS |
|---|---|---|
| `number` | "label, unit" | `pos`, `point` (decimals), `must`, `min = n`, `max = n`, `hex` (positive hex; only `must` still applies) |
| `coord` | "label, x label, y label" | as `number` |
| `string` | label | default: no spaces/commas, written in double quotes. `noquot`, `onequot`, `must`, `ucase`, `lcase`, `cstring` (newline → `\n`), `space`, `comma`, `nonum`, `format <letters>` |
| `switch` | text after the check box | `on|off` values (default `YES|NO`); `alone` = keyword present or absent, no value |
| `list` | label | comma-separated choices; `*` before the first = required |
| `text` | label | must be the last argument; the end word follows `...` in the syntax (e.g. `... endheader`). `quot`, `must`, `cstring` |
| `timedate` | "date label, time label" | none; only for `CHANGE` in `time_table.sup` |
A full template and examples are in §3.4 and Appendix 1 (`odbsrv.sup`).
## Test-system notes
- Setup files can be read without the editor: lines not starting with `!` are the active
settings; `!KEYWORD`/`!HELP` blocks explain them (task
`.claude/skills/portal-setup/tasks/read-setup-file.md`).
- `wfla_display.sup` puts its main keywords before its only `!TAB = Debug` line; the editor
shows them on a *General* tab, with values exactly as in the file (checked in the GUI,
ISS-015).
- The R1.03 editor also has a *Templates* tab, a *Status* column (e.g. "Default"),
*Undo Field* / *Reset Field* buttons and a status bar, none of them in the manual
(ISS-016).
- Some installed files have no `!DESCRIPTION` (e.g. `adtini.sup`, `almini.sup`,
`durini.sup`, `itmini.sup`); they show as "(Unknown)" in the list.