Documentation

Publisher lets you build safely under `/...` and then promote those pages to the live tree by copying them without the `/Development` prefix. During a publish run, every text attachment is rewritten, optional per-page translators run, and the target page is refreshed so editors see the new content immediately.

Use practice mode any time you want to dry-run the release process—the same checks execute, but no files are copied until you run a real publish.


Publishing workflow

  1. Select the `/...` page you want to promote and use Check for Page Differences to see what changed since the last release.
  2. Run Publish Page (practice) to generate release notes, confirm that path replacements and translation scripts behave as expected, and review the deletions script that will be produced.
  3. If everything looks correct, run Publish Page (for real) to copy files, rewrite `/` references, refresh the live page, and append any deletions to `process-deletions.sjs`.
  4. Review `release-notes.html.fragment` (kept under the dev page) and keep `process-deletions.sjs` for auditing before you execute the deletions script manually.

  5. Action buttons and services


    File translation and rewriting

    ActionDescription
    Check for Page DifferencesWalks the dev and live trees, showing files whose timestamps or MD5 hashes differ so you can review pending changes before publishing.
    Publish Page (practice)Runs the full pipeline (copy log, path replacement, translation, TODO/service scans, deletions calculation) but does not touch the live tree.
    Publish Page (for real)Copies attachments to the live location, rewrites `/` references, ensures a template link is set, refreshes the page, and produces release notes.
    Reverse PublishCopies the live page back into `/...` so you can bring hotfixes or emergency edits under source control.
    NameDescription
    pageName (required=true){{parameter.description}}
    practice (required=true){{parameter.description}}
    debug (required=false){{parameter.description}}

    Example Get Request

    /OpenForum/AddOn/Publisher?action=publish

    Example Response

    Example Error Response

Action getNeedsPublishing

Parameters

NameDescription
pageName (required=false){{parameter.description}}

Example Get Request

/OpenForum/AddOn/Publisher?action=getNeedsPublishing

Example Response

Example Error Response

Action getPublishedPageDifferences

Parameters

NameDescription
pageName (required=true){{parameter.description}}

Example Get Request

/OpenForum/AddOn/Publisher?action=getPublishedPageDifferences

Example Response

Example Error Response

Action reversePublish

Parameters

NameDescription
pageName (required=true){{parameter.description}}

Example Get Request

/OpenForum/AddOn/Publisher?action=reversePublish

Example Response

Example Error Response


Post Actions