Skip to content

feat(publish): rename a delivery type by name only - #5214

Merged
natechadwick-intsof merged 3 commits into
mainfrom
feat/issue-5203-rename-delivery-type
Oct 5, 2026
Merged

natechadwick-intsof merged 3 commits into
mainfrom
feat/issue-5203-rename-delivery-type

Conversation

@natechadwick-intsof

@natechadwick-intsof natechadwick-intsof commented Oct 5, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

Parent: #4531. Slice #5203.

PublishingShell Design can rename one delivery type. Rename sends PUT …/publishingdesign/deliverytypes/{deliveryTypeId} with a deliveryType object that contains only the new name. Bean name, description, and whether unpublishing requires assembly are omitted, so the server leaves them stored. The list keeps the previous name until that update succeeds, then shows the new name and the same bean name. A blank or over-long name is rejected in the form. Cancel and HTTP 400, 403, and 409 do not change the list.

Fixes #5203

Operator: Grok: night-issue-prs (model grok-4.7)

Test plan

  1. QA H2: Publish → Design → Delivery types. Add a type with a bean name and description.
  2. Rename, change the name, Cancel. The list still shows the old name. No PUT.
  3. Clear the name or enter more than 50 characters. The form shows an error and does not call the server.
  4. Save a new unique name. The list shows the new name and the same bean name only after the update succeeds. Open the type: bean name and description are unchanged.
  5. Repeat against HTTP 400, 403, and 409. The form keeps the error and the list keeps the old name.

Checklist

  • Product documentation — updated product-docs/8.2/admin/publishing.md (Rename a delivery type)
  • Unit / module tests — Vitest for the rename form and name-only body; sitemanage service and Jackson tests
  • WebUI + Playwright — modules/perc-qa-automation/frontend/tests/publishing/designDeliveryTypeRename.spec.js
  • Build gates — standalone clean install (JDK 21) for projects/sitemanage, WebUI, and modules/perc-qa-automation
  • Cross-platform — no new filesystem path construction

Build evidence

modules_built: projects/sitemanage, WebUI, modules/perc-qa-automation

downstream_checked: no signature change on updateDeliveryType. Added PSDeliveryTypeSummary.isUnpublishingRequiresAssemblySpecified() (XmlTransient, not on the wire). Grep shows PSDeliveryTypeSummary is used only in sitemanage. Restored rest SNAPSHOT from this worktree before the sitemanage build because ~/.m2 had a newer sibling snapshot (updateTransitionApprovalsRequired) that is not on main. That rest install used -DskipTests and is not a changed module.

  • cd projects/sitemanage && rtk mvn clean install — BUILD SUCCESS. Tests run: 3540, Failures: 0, Errors: 0, Skipped: 125
  • cd WebUI && rtk mvn clean install — BUILD SUCCESS. Java tests run: 69, Failures: 0. Vitest: Test Files 677 passed, Tests 6179 passed
  • cd modules/perc-qa-automation && rtk mvn clean install — BUILD SUCCESS. No Java tests (Playwright spec is the C5 surface run)

JAVA_HOME: /usr/lib/jvm/java-21-openjdk. No new compiler warnings on the changed types.

UI proof (C5)

  • python3 docker/scripts/perc-devctl.py qa-up --skip-image-build --then-qa-deploy-webui
  • RESULT:OK STEP:qa-up. TEST_CMS_URL=http://127.0.0.1:9993. QA_CONTAINER=perc-matrix-cms-h2
  • Deploy copied the modern SPA and WAR SNAPSHOTs (including sitemanage and perc-system) and restarted Jetty inside the cell
  • python3 docker/scripts/perc-devctl.py qa-health — RESULT:OK STEP:qa-health HTTP:200 HEALTH:healthy
  • cd modules/perc-qa-automation/frontend && rtk npm run test:surface -- --path tests/publishing/designDeliveryTypeRename.spec.js
  • TEST_CMS_URL=http://127.0.0.1:9993 TEST_DB_TYPE=h2 TEST_PRODUCT=cms ADMIN_USERNAME=Admin
  • 2 passed (3.6s)
  • console-clean=yes (spec asserts no pageerror / console error)
  • server.log-clean=yes (no new ERROR/FATAL lines in the test window)

Pre-push local code review

## Summary

Machine analysis found **1** finding(s), **0** bug(s).

## Scope

- Base: origin/main
- Head: HEAD
- Files: 12 analyzed
- In-diff: 0 finding(s); preexisting: 1
- Persona: erlang 0.1.1
- Persona source: /home/nate/.local/share/mkd/agents/erlang

## Recommendation

approve

## Gate

- Blocking bugs: 0
- May commit/push: yes

## Issues

### Issue 1 -- Severity: suggestion

- File: WebUI/src/main/ts/publishing/design/DeliveryTypesPanel.tsx:51 (preexisting)
- Rule: `complexity.cognitive`
- Tool: `arborist-metrics`
- Description: Function `DeliveryTypesPanel` cognitive=26 (max 15), cyclomatic=26 (max 15)
- Suggestion: Extract helpers, reduce nesting, use guard clauses (see CODE_STANDARDS).
- Status: open

Erlang (independent of the author): approve. In-diff bugs: 0. DeliveryTypesPanel complexity is preexisting and does not block. Name-only PUT leaves bean, description, and the omitted assembly flag stored. No blocking defect.

Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.

PublishingShell Design renames one delivery type through the existing
update. The request sends only the name, so the bean name, description,
and unpublishing flag stay stored. The list shows the new name after
save; a blank name, cancel, and HTTP 400, 403, and 409 keep the old name.

Fixes #5203

> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.
> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs.
@natechadwick-intsof natechadwick-intsof added operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow model:grok-4.7 Session model grok-4.7 labels Oct 5, 2026
Independent mkd-code-review 0.1.18 (erlang 0.1.1, pack percussion, advisory, origin/main). In-diff bugs: 0.

> Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.
@natechadwick-intsof

Copy link
Copy Markdown
Collaborator Author

Erlang LGTM. Independent review of PR #5214 (not the author). mkd-code-review 0.1.18, erlang 0.1.1, pack percussion, advisory, base origin/main. Persona source: ~/.local/share/mkd/agents/erlang.

In-diff bugs: 0. May commit/push: yes. DeliveryTypesPanel complexity is preexisting and does not block. Name-only PUT leaves bean name, description, and an omitted assembly flag stored. Report: docs/ai-generated/code-reviews/pr-5214-erlang.md (96cf4af).

Co-Authored by Grok Build 1.0.46 using grok-4.7 with agent night-issue-prs-erlang.

@natechadwick-intsof
natechadwick-intsof merged commit ad8a57c into main Oct 5, 2026
8 checks passed
@natechadwick-intsof
natechadwick-intsof deleted the feat/issue-5203-rename-delivery-type branch October 5, 2026 04:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.7 Session model grok-4.7 operator:grok Changes authored by Grok operator:night-issue-prs night-issue-prs workflow

Projects

None yet

Development

Successfully merging this pull request may close these issues.

issue 4531 slice 77: PublishingShell rename a delivery type

1 participant