UNPKG

wcz-layout

Version:

106 lines (100 loc) 6.69 kB
# WiCOP Setup Ask the user only through the **AskUserQuestion** pop-up, never as chat text waiting for a typed reply, and never with a single `Continue`-style option — that is a wait, not a question. Ask only when there is a real choice, always with at least two concrete options; enable free text only for open-ended values (cost center, employee ID), not for yes/no decisions. To wait for something the user does in the browser, poll in a tool loop: wait ~5 s, re-check, repeat until the expected state appears or ~5 minutes pass, then carry straight on. Never end your turn while waiting — announcing "I'll continue once you have signed in" and stopping ends the session, and nothing resumes it. Poll cheaply: a full page read returns the entire sidebar and is tens of kilobytes, so when you are waiting on one field, screenshot that field's ref instead. Element refs stay valid across re-renders, so reuse the ones you already have rather than re-reading the page to rediscover them. 1. Open [WiCOP](https://wicop.wistron.com/). If the sign-in page appears, do not ask for any application-form values yet. Say in one line that the user should finish the Microsoft sign-in, then poll inside the same turn until the URL returns to `wicop.wistron.com`. While the sign-in pages are open, poll the page title and URL only — never read the page content, because the password the user types is exposed in the accessibility snapshot. Once back on WiCOP, confirm the signed-in shell (user name in the header, left navigation) and continue without asking. 2. Navigate directly to `https://wicop.wistron.com/wicop/applicationForms/newAccountComboFlow` — the collapsed left-nav submenu intercepts pointer events and clicking its links times out. Select **Start**, then **New Account Combo**, set **Purpose** to `Initialization of a new application.`, and select **OK**. 3. On **IBU Apply**, ask via **AskUserQuestion** for the **Cost Center** and whether to create **QAS**, **PRD**, or both. Fill the form sequentially from top to bottom; never interact with a field while a required field above it is incomplete. Leave prefilled and unneeded fields unchanged. The controls appear on the page in this order — use these values as each one is reached: - **I already have an IBU**: keep `No, apply a new IBU`. **IBU Group (Service Name)** is generated from the fields below; never type into it. - _Cloud Environment_ - Service Provider: `K8S` - Application Name (EA ID): search for it yourself first — see step 4 - Service(System) Alias Name: read `package.json` `name` converted to uppercase letters and digits only, with spaces and punctuation removed (`my-app` becomes `MYAPP`); the field accepts at most 16 characters - Cloud Type: `Satellite Cloud` - Cloud Site: `WCZ` - Plant: `WCZ` — this control only appears once Cloud Type is `Satellite Cloud`, below Cloud Site - Environment: tick only the requested boxes; the list is filtered by site, so WCZ Satellite offers QAS and PRD only. Each ticked box enables its own **Cloud Cluster ID** and **Budget (TWD)** below it - QAS cluster / budget: `wcz-sat-qas-01` / `0` - PRD cluster / budget: `wcz-sat-prd-01` / `0` - _Owner information_ - Cost Center: the user-provided value, entered in the editable IBU control, not the prefilled read-only IBG control - _Charge Setting_ - Charge Type: `By Fixed Amount (per IBU)` - Charge Groups: reuse the same Cost Center if its row asks for one 4. When **Application Name (EA ID)** is reached, try to find it yourself. The registered application names follow no convention — they may differ from `package.json` `name` in casing, spacing, punctuation, and wording (`My App`, `MyApp`, `My Application`, or an unrelated label), so do not expect an exact match. Click the field first — it only starts searching once focused — then type only a few leading characters of the most likely name to get a wide option list. The options are loaded lazily, so wait and re-check the list until it appears instead of concluding there are no matches; read the options and select the one that clearly matches the project. Make a few attempts with different guesses (short prefix, the words separately, the full name). If no option is clearly the right one, clear the field, say in one line that the user should pick the EA ID, then poll the field until it holds a value. Resume filling the form sequentially and select **Next >** when complete. 5. On **IBG Apply**, verify the inherited read-only values and select **Next >**. This page routinely needs the click twice. 6. On **Project Apply**, set **Memory (GB)** to `2` for each selected environment; leave other fields unchanged. Ask via **AskUserQuestion** before selecting **Next >**. 7. On **Team Apply**, ask via **AskUserQuestion** who the GitLab team manager is, offering exactly two options: `Martin Husar (C1107048)` and the logged-in user — read that ID and name from the top-right corner of the WiCOP header. Populate all other team fields automatically. Add `C0708003`, `C1107048`, `C2503017`, `C2404003`, `C2404002`, and `C2508015` as GitLab members, excluding the selected manager from the member list. Each member box is a search field: type the ID, then select the suggestion it offers before adding the next row — an unresolved ID is discarded. Use **Copy & Paste Now** for all other teams. Create a JSM team and select its license-charge agreement when requested, then copy the GitLab team to it. Do not add a member row after the final member. 8. On **Review & Confirm**, present the summary to the user, then ask via **AskUserQuestion**: **"Submit the WiCOP request?"** with options `Submit` / `Not yet`. Only after they select `Submit`, select **Submit**; in the dialog, accept the CCoE Policy and select **Confirm**. On the successful-submission dialog, select **Let's Go** to open **Apply Status**. 9. Close the current browser session. This applies on every page and to every advancing control (**OK**, **Next >**, **Submit**, **Confirm**, **Let's Go**): after selecting it, inspect the next step and continue the workflow without pausing unless user input, a required confirmation, or a final submission decision is needed. If the UI does not visibly advance, select the same control once more, then stop. Do not submit the final request without the user's confirmation. WiCOP sends the application to the manager, owner, and owner division head for approval.