Skip to content

feat(publishing): set one delivery type bean name - #5275

Merged
natechadwick-intsof merged 3 commits into
mainfrom
fix/issue-5268-delivery-type-bean
Oct 6, 2026
Merged

natechadwick-intsof merged 3 commits into
mainfrom
fix/issue-5268-delivery-type-bean

Conversation

@natechadwick-intsof

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

Copy link
Copy Markdown
Collaborator

Summary

PublishingShell Design can set the bean name on one delivery type. Save bean name calls the existing PUT …/publishingdesign/deliverytypes/{id} with only beanName. The visible name and description stay. The list shows the new bean only after the update succeeds.

A blank bean name and a bean name longer than 255 characters (PSX_DELIVERY_TYPE.BEAN_NAME) are rejected before the request. Cancel does not call the server. HTTP 400, 403, and 409 leave the previous bean name in place.

Parent: #4531. Fixes #5268.

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

Test plan

  1. Open Publish → Design → Delivery types on an H2 CMS (spa.jsp?entry=publish&section=design).
  2. On one row, choose Bean name. Confirm the name and description are shown and are not editable.
  3. Change the bean name and choose Save bean name. The list keeps the old bean until the update succeeds, then shows the new bean with the same name and description.
  4. Cancel a dirty form and confirm the previous bean is unchanged and no PUT was sent.
  5. Submit a blank bean name and a 256-character bean name. Both stay in the form, do not call the server, and leave the list unchanged.
  6. Force HTTP 400, 403, and 409 on the PUT. The form shows the error and the previous bean remains after cancel.

Checklist

  • Product documentation — updated product-docs/8.2/admin/publishing.md (Set a delivery type bean name)
  • Unit / module tests — deliveryTypeBean Vitest, DeliveryTypesPanel.bean Vitest, PSPublishingDesignRestServiceTest bean-only / blank / overlong / 403
  • WebUI + Playwright — modules/perc-qa-automation/frontend/tests/publishing/designDeliveryTypeBean.spec.js (2 passed on H2)
  • Build gates — standalone clean install for projects/sitemanage, WebUI, and modules/perc-qa-automation (no skipTests on those modules)
  • Cross-platform — N/A (no path or file I/O changes)

Build evidence

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

  • cd projects/sitemanage && JAVA_HOME=/usr/lib/jvm/java-21-openjdk rtk mvn clean install — BUILD SUCCESS. Tests run: 3627, Failures: 0, Errors: 0, Skipped: 125.
  • cd WebUI && JAVA_HOME=/usr/lib/jvm/java-21-openjdk rtk mvn clean install — BUILD SUCCESS. Java Tests run: 69, Failures: 0. Vitest: Test Files 701 passed, Tests 6461 passed.
  • rtk mvn -pl modules/perc-qa-automation clean install (repo root, JDK 21) — BUILD SUCCESS. No tests to run (Playwright is not bound to default Surefire).
  • Focused before the module installs: PSPublishingDesignRestServiceTest Tests run: 124, Failures: 0. Delivery-type Vitest 47 passed.

downstream_checked: C2 not applicable — updateDeliveryType signature is unchanged and no type was made final or sealed. Local rest SNAPSHOT was reinstalled from this branch (rtk mvn -pl rest -DskipTests install) only to replace a newer unrelated snapshot in ~/.m2 so sitemanage would compile. QA hot-deploy also copied this worktree's perc-system jar with sitemanage.

UI proof (C5)

  • python3 docker/scripts/perc-devctl.py qa-up — RESULT:OK. TEST_CMS_URL=http://127.0.0.1:9993. QA_CMS_HOST_PORT=9993. Container perc-matrix-cms-h2.
  • python3 docker/scripts/perc-devctl.py qa-health — RESULT:OK HTTP:200 HEALTH:healthy.
  • python3 docker/scripts/perc-devctl.py qa-deploy-war-jars --restart-jetty — copied sitemanage, rest, and perc-system into the Rhythmyx WAR and restarted Jetty inside the cell (not docker restart).
  • python3 docker/scripts/perc-devctl.py qa-health — RESULT:OK after Jetty restart (server.log: ServletContextHandler Started, context AVAILABLE).
  • python3 docker/scripts/perc-devctl.py qa-deploy-webui then qa-health — RESULT:OK HTTP:200 HEALTH:healthy.
  • cd modules/perc-qa-automation/frontend && TEST_CMS_URL=http://127.0.0.1:9993 ADMIN_USERNAME=Admin TEST_DB_TYPE=h2 TEST_PRODUCT=cms rtk npm run test:surface -- --path tests/publishing/designDeliveryTypeBean.spec.js — 2 passed.
  • console-clean=yes (spec fails on pageerror / console error).
  • server.log-clean=yes (no ERROR or FATAL lines in server.log during the Playwright window).

Pre-push local code review

Independent Erlang review of head 3219cb6015ec6f72c6ebe1a038fcf3f714014b75. Full mkd-code-review analyze --format markdown stdout:

Summary

Machine analysis found 3 finding(s), 0 bug(s).

Scope

  • Base: origin/main
  • Head: HEAD
  • Files: 9 analyzed
  • In-diff: 0 finding(s); preexisting: 2
  • 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: bug

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

Issue 2 -- Severity: suggestion

  • File: projects/sitemanage/src/main/java/com/percussion/publishingdesign/impl/PSPublishingDesignRestService.java:679 (preexisting)
  • Rule: complexity.cognitive
  • Tool: arborist-metrics
  • Description: Function updateDeliveryType cognitive=20 (max 15), cyclomatic=16 (max 15)
  • Suggestion: Extract helpers, reduce nesting, use guard clauses (see CODE_STANDARDS).
  • Status: open

Issue 3 -- Severity: suggestion

  • File: review

  • Rule: llm.error

  • Tool: llm

  • Description: model ollama-dev-coder failed: http: status 500 Internal Server Error body {"error":{"message":"llama-server process has terminated: exit status 1: cudaMalloc failed: out of memory\nalloc_tensor_range: failed to allocate CUDA0 buffer of size 5064192000\nerror loading model: unable to allocate CUDA0 buffer","type":"api_error","param":null,"code":null}}

  • Status: open

Independent read of updateDeliveryType and the bean form. A null beanName is still omitted, so a name-only or description-only update does not clear the stored bean. A blank or overlong bean is rejected before name, bean, or description is written. The panel does not replace the list when client validation fails or the PUT fails. Preexisting cognitive-complexity rows on DeliveryTypesPanel and updateDeliveryType are outside this diff and do not block. Vitest, the service test, Playwright, and product-docs/8.2/admin/publishing.md are present. Ollama failed to load (CUDA out of memory); machine findings were kept.

Report: docs/ai-generated/code-reviews/pr-5275-erlang.md.

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

PublishingShell Design saves a bean name through the existing delivery-type update. Name and description stay. A blank or overlong bean name does not write, and HTTP 400, 403, and 409 leave the previous bean.

Fixes #5268

> Co-Authored by Grok Build 1.0.46 using grok-4.6 with agent night-issue-prs.
> Co-Authored by Grok Build 1.0.46 using grok-4.6 with agent night-issue-prs.
Record the independent mkd-code-review advisory result for setting one delivery type bean name. No in-diff bugs.

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

Copy link
Copy Markdown
Collaborator Author

LGTM. Independent Erlang review of head 3219cb6015 plus docs commit fe57ac0e8d. mkd-code-review 0.1.18 advisory, persona erlang 0.1.1: 0 in-diff bugs. Preexisting cognitive complexity on DeliveryTypesPanel and updateDeliveryType does not block. A null bean name is still omitted; blank and overlong bean names are rejected before any field is written. Vitest, service tests, Playwright, and product-docs are present. Ollama CUDA OOM is not a gate failure.

Full report is in the PR body under Pre-push local code review and in docs/ai-generated/code-reviews/pr-5275-erlang.md.

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

@natechadwick-intsof
natechadwick-intsof merged commit 52793af into main Oct 6, 2026
8 checks passed
@natechadwick-intsof
natechadwick-intsof deleted the fix/issue-5268-delivery-type-bean branch October 6, 2026 17:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

model:grok-4.6 Session model grok-4.6 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 85: PublishingShell set a delivery type bean name

1 participant