Publishing
Publishing
Publishing puts documentation in front of readers outside MaxSuite. It gives a project's docs a public address, optionally on your own domain. It also makes share links that open one page for somebody without an account.
In the sidebar under Content → Publishing. Needs: Pages, Projects.
Publishing screen
The screen has four parts, top to bottom.
- Share links: each link with its label, the page it opens, and whether it shows the Published page or a Draft preview. It also shows when it was revoked (live if not), when it expires (never if no date, flagged within seven days) and when it was last used. Counts at the top give links, live links and pages shared. New share link makes one. Copy link and Revoke sit on each row.
- Documentation sites: one row per project that has a public address, with its address, custom domain and title. Edit and Unpublish sit on each row, and a button to publish a project.
- Custom Domain DNS Assistant: type a domain and click Check DNS to learn what record it needs.
- Caddy TLS Edge Servers: the edge servers that serve custom domains with automatic Let's Encrypt certificates. Each shows its host, status, SSH port and when it was configured, with a form to add one.
Each table has a search box and filters.
Give a project's docs a public address
- Open Content → Publishing and, under Documentation sites, publish a project.
- Choose the Project (only projects without an address are offered).
- Choose the Address. The site answers at
https://<your-deployment>/d/<address>, and the address must be unique across the whole deployment. - Optionally give it a Title and a Custom domain.
- Save.
An address is not permission to read. A stranger can read the site only if the project's own visibility is public, which is set on the project in Projects. Each page must also be published and visible in Pages. Readers see the published pages with their navigation, can search the site, and can switch versions where the theme allows it.
Edit changes the address, title or domain. Changing the address changes the web address, and the old one stops answering at once. Unpublish takes the address away.
A published site can be suggested as a monitor in Monitoring, so you hear when it stops answering.
Send one page to somebody without an account
- Under Share links, click New share link.
- Pick the Page. Optionally add a Label (who or what it is for) and an Expires date. Left blank, it never expires.
- Tick Show the draft, not what is published only when you want to send unfinished work. It is off unless you say so.
- Save, then Copy link. The link has the form
https://<your-deployment>/share/pages/<token>.
The link itself is the permission: anybody holding it can read the page. Revoke stops it working at once. A share link opens one page without making the whole project public. See Sharing and visibility.
Serve the docs on your own domain
- Type the domain into the Custom Domain DNS Assistant and click Check DNS. It says whether the name is an apex domain. An apex needs an A record pointing at the edge server's address. Any other name needs a CNAME to the edge host it names.
- Add the record at your DNS host. If the domain's DNS is in MaxSuite, see DNS and Integrations (provider accounts).
- Under Caddy TLS Edge Servers, add the edge server that will answer for the domain, by its address and host name.
- Put the domain on the project's site with Edit.
The edge server gets a TLS certificate for the domain from Let's Encrypt.
Who can do what
| Permission | Label | Lets you |
|---|---|---|
publishing:read | View publishing | See share links, sites and edge servers, and check a custom domain. |
publishing:write | Manage publishing | Make and revoke share links, give projects addresses and take them away, and add or change edge servers. |
Making a project's site readable by anyone is a separate permission on the project (projects:write). See People, roles and permissions.
What happens on its own
Nothing in this module runs on a schedule.
What agents can do
An agent can see what is published and where, check a custom domain, and make or revoke page share links. Reads run straight away. Making or revoking a link waits for a person's approval by default (Agents and approvals). Giving a project an address, and managing edge servers, are not agent tools.
Read only: publishing.sites, publishing.site, publishing.page_shares, publishing.validate_domain, publishing.list_edge_servers, publishing.edge_server
Write: publishing.share_page, publishing.unshare_page
publishing.unshare_page only ever narrows who can read a page. Over MCP the same tools are named publishing__sites, publishing__share_page and so on. See API keys and MCP access.
Related
- Pages: publish pages, set each page's visibility and the site theme
- Projects: a project's visibility decides whether its site is public
- Doc sync
- Sharing and visibility