Skip to content

feat(publishing): set a publishing context description - #5263

Merged
natechadwick-intsof merged 3 commits into
mainfrom
fix/issue-5250-context-description
Oct 6, 2026
Merged

natechadwick-intsof merged 3 commits into
mainfrom
fix/issue-5250-context-description

Conversation

@natechadwick-intsof

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

Copy link
Copy Markdown
Collaborator

Summary

Publishing Design can set or clear the description of one publishing context. Save description sends the existing PUT …/sitemanage/publishingdesign/contexts/{contextId} with a context object that contains only the description, so the name and default scheme stay stored and location schemes are not moved. A blank description clears the stored text. A description longer than 255 characters (RXCONTEXT.CONTEXTDESC) is rejected before any field is written.

Parent: #4531. Fixes #5250.

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

Test plan

  1. Publish → Design → Contexts / schemes. Choose a context that has a location scheme. Description opens the form and does not call the server. Name and scheme names are shown and are not editable.
  2. Change the description and Cancel. The list still shows the previous description, the same name, and the same scheme. No PUT.
  3. Save a new description. The list keeps the old description until the update succeeds, then shows the new text with the same name and scheme.
  4. Save a blank description. The stored description clears. Name and schemes stay.
  5. A description longer than 255 characters stays in the form and does not call the server. HTTP 400, 403, and 409 stay in the form and leave the previous description in place.

Checklist

  • Product documentation — updated product-docs/8.2/admin/publishing.md (Set a publishing context description)
  • Unit / module tests — Java description-only / blank / 400 / 403 / 409 tests; Vitest for the description body and ContextsPanel
  • WebUI + Playwright — modules/perc-qa-automation/frontend/tests/publishing/designContextDescription.spec.js (2 passed on H2)
  • Build gates — standalone clean install for projects/sitemanage and WebUI
  • Cross-platform — N/A (no path/file I/O)

Build evidence

modules_built: projects/sitemanage, WebUI

downstream_checked: none (no public signature, final, or sealed type change)

  • cd projects/sitemanage && rtk mvn clean install — BUILD SUCCESS. Tests run: 3615, Failures: 0, Errors: 0, Skipped: 125
  • cd WebUI && rtk mvn clean install — BUILD SUCCESS. Vitest: Test Files 698 passed, Tests 6416 passed. Java Tests run: 69, Failures: 0
  • JDK 21 (JAVA_HOME=/usr/lib/jvm/java-21-openjdk)

UI proof (C5)

  • python3 docker/scripts/perc-devctl.py qa-up --skip-image-build — 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-deploy-webui — RESULT:OK
  • python3 docker/scripts/perc-devctl.py qa-deploy-war-jars --restart-jetty — RESULT:OK (sitemanage plus perc-system/rest/extensions-workflow into the Rhythmyx WAR; in-cell Jetty restart, not docker restart)
  • python3 docker/scripts/perc-devctl.py qa-health — RESULT:OK HTTP:200 HEALTH:healthy
  • cd modules/perc-qa-automation/frontend && rtk npm run test:surface -- --path tests/publishing/designContextDescription.spec.js with TEST_CMS_URL, ADMIN_USERNAME=Admin, TEST_DB_TYPE=h2, TEST_PRODUCT=cms — 2 passed
  • console-clean=yes (spec asserts no pageerror/console error)
  • server.log-clean=yes (no new ERROR/FATAL 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: 10 analyzed
  • In-diff: 1 finding(s); preexisting: 0
  • 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: projects/sitemanage/src/main/java/com/percussion/publishingdesign/impl/PSPublishingDesignRestService.java:1090 (in-diff)
  • Rule: complexity.cognitive
  • Tool: arborist-metrics
  • Description: Function updateContext cognitive=17 (max 15), cyclomatic=13 (max 15)
  • Suggestion: Extract helpers, reduce nesting, use guard clauses (see CODE_STANDARDS).
  • Status: open

Independent diff read: a description-only update leaves the name, default scheme, and location schemes; blank clears; overlong text is rejected before any field write. The updateContext cognitive complexity suggestion is not a defect.

Durable copy: docs/ai-generated/code-reviews/pr-5263-erlang.md.

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

Design saves or clears one context description without changing the name
or location schemes. Overlong text is rejected before anything is written.

Fixes #5250

> 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 6, 2026
Record the independent mkd-code-review advisory report.

> 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

LGTM. Erlang (independent, mkd-code-review 0.1.18, persona erlang 0.1.1, gate advisory) found no in-diff blocking bugs. GitHub rejected a same-login APPROVE, so this comment records the review. Required checks were still running on the review-doc commit when this was posted.

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

@natechadwick-intsof
natechadwick-intsof merged commit c5fc6b5 into main Oct 6, 2026
8 checks passed
@natechadwick-intsof
natechadwick-intsof deleted the fix/issue-5250-context-description branch October 6, 2026 13:39
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 84: PublishingShell set a publishing context description

1 participant