ci-server-engineer/.claude/skills/system-management/tasks/package-project.md
cliu 516729ff24 R1.05 findings from a user project (tested only)
Tested on the R1.05 test server 2026-10-09..12 with a user project (own
objects only); not yet on CI-Eng-Sample (ISS-188). Only results that
were tested are included; inferences, code-only and manual-only points
and the untested sample layout change were left out.
- layouts: 'logout' is a secondary logout, always disabled on the R1.05
  web client; 'exit' closes the window and ends the session (ISS-182).
- create-display: R1.05 web client table (String items in text vs
  textField, fixed text alignment, start-hidden limits ISS-183, two
  visibility conditions, On entry display actions, rectangle blinking,
  verified connections, first load).
- java-class 4a: signal arrays at scale, write on change, attribute
  arrays, offline javac/javap check; change-reset-class: new signals need
  the object recreated, attributes lost (ISS-185); opcdbg reset in cmd,
  TRIGGER_1 via dssqld -m.
- string-items (ISS-187), users-groups, modbus-station (400 registers,
  comm loss), export-dataset (NAME range filter), item-alarming.
- new task system-management/package-project.md; tools/ModbusSim.java
  (tested on R1.05: FC03/04/06/16, exceptions, modes); AMSI (ISS-186).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 21:57:08 +11:00

3.2 KiB

task version source status
Package a project for another CI Server (quick load files, display, layout, user) and check the install R1.05 IM 36K10J10-01EN §5.6 (moving engineering data); IM 36K10L50-01EN §3; practiced with a user project on the R1.05 test server 2026-10-12 (remove and reload from the package, twice) verified on R1.05 with a user project (not on CI-Eng-Sample)

Package a project for another CI Server

Goal: a folder (zip) a junior engineer can install from, step by step, on another server.

1. What goes in

Part Notes
Quick load files 01_… to nn_… in load order + load.cmd sections, status items, line, station/points, items, trigger, class, object, users. No node names (leave EQUIPMENT_NODE, FRONT_END_NODE out) and no NSID / ID_NUMBER: the target assigns them. Insert (-i) only.
Removal files in reverse order + remove.cmd so the install can be undone
Displays + a deploy script copy to DEPLOY\displays, jwuiutl -d -v -i -l … <display> (must say No problems found), copy again (validation re-saves), jwuiutl -e HTML -i -f DEPLOY <display>. Displays without <itemId> bind by name, so new item numbers on the target do not matter.
Layout block + script only the project's layout(s) between <!-- <P>-BEGIN / <!-- <P>-END -->, inserted before the first <translations>; the script makes a timestamped backup and checks the XML (sample: examples/CI-Eng-Sample/layouts/layout.ps1).
README numbered steps with the exact command, the expected output and what to do if it differs
Pre-check script (read-only) CI Server version (%TLS_ALLUSERS_PATH%\lst\tls_versions.lst), dssqld answers, longest file path ≤ 79 (ISS-020), tls\jre\bin\javac.exe present (Java classes compile on load), device reachable (TCP connect), each name free (filtered export per dataset, e.g. 'NAME = "<LINE>"' on MODBUS_LINE_DF, 'EQUIPMENT_MAN = "<EQPNAME>"'), layout name not used outside the project block
Post-install check itmval -g of the station status item, one value to compare with the device's own software, a value the calculation updates (read twice), learn/initial states

2. Script rules (found by testing the README in one Command Prompt)

  • pushd "%~dp0" … popd, not cd /d "%~dp0": the engineer runs the scripts one after the other in the same prompt; a script that leaves the prompt in its own folder breaks the next command.
  • load.cmd: delete the old 0*.qlo first and end with findstr /c:"_DF " 0*.qlo (one result line per data set; the last column is Errors). Otherwise old results (e.g. of an undo) are listed too.
  • Wait after the line (powershell -NoProfile -Command "Start-Sleep -Seconds 15", the equipment manager starts) and after a class (about 20 s, compile) before the next file.

3. Test the package

On a test server: run the README's undo, then every step exactly as written, in one Command Prompt, from a fresh copy of the zip; point the device address at a simulator (tools/ModbusSim.java) if the device is not reachable. Compare the server against the package afterwards (filtered ITEM_DF export by name range, class source from a CLASS_DF export, display file hash).