Permissions & Review

What each connection permission allows, how an agent's changes wait for review, and what to expect while you and an agent work on the same page.

An agent writes into a page's unsaved changes, the same ones your typing in the Panel creates. You review them in the Panel and publish or discard them as you would your own.

What Each Permission Allows

Every permission stops at your role: a page your role can't update, the agent can't change, and a page your role can't see, it doesn't find. A change to your role applies on the agent's next request.

Read Content

Lets the agent read the site's languages, the pages and drafts your role can list, their fields, and images. Where content has unsaved changes, the agent reads those.

Prepare Changes

Lets the agent write field values to the unsaved changes of a page, a file, or the site, one language at a time. It also creates pages as drafts.

  • The title is a field. It goes into the unsaved changes like any other, if your role may change it.
  • The slug isn't a field. Changing it takes Publish changes, since the new URL is live at once.
  • Disabled fields stay.
  • Some field types stay. A field type agents can't write, such as a plugin's own, is yours to edit in the Panel.
  • Shared fields go in the default language. A field with one value for all languages is written in the default language only.
  • Scripts stay out. The agent can't add <script>, <iframe>, <embed>, <style>, <svg>, or similar elements, on… event attributes, or script URLs like javascript: to a field, whether written out or produced by its KirbyText – not even inside a Markdown code span or code block. Markup an editor placed before survives a rewrite.

Publish Changes

Lets the agent publish or discard unsaved changes, change a page's status to listed, unlisted, or draft, change its slug, and move it below another parent. Changes with validation errors stay unpublished, except on a draft: its changes publish, but the draft stays a draft while it has validation errors or unsaved changes.

Like the Panel's Save button, the agent publishes all unsaved changes of a page in one language, whoever made them – your own unfinished edits included. Publish or discard those yourself first if they aren't ready.

It also uploads files, from a public HTTPS URL or sent along by the agent, since an upload is live at once. Only a new file's field values, such as its alt text, wait for review. A file from a URL may be as large as the file template's accept.maxsize allows, or 20 MB without one; a file the agent sends along, 100 KB.

Delete Content

Lets the agent delete pages and files. A page with subpages stays. So does a page or file with unsaved changes, until those are published or discarded – for a page, its files' changes count too. Fields that reference a deleted file keep the reference.

Deleting a page deletes its files too, so give a role both pages.delete and files.delete, or neither. With only the first, deleting a page with files fails. A file template that turns off delete can stop a page's delete after some of its files are gone.

Review an Agent's Changes

Each write hands the agent a link to the changed content in the Panel to pass on to you. Where the page has a preview, the link opens the comparison of the unsaved changes and the published page, in the language the agent wrote. Publish or discard the changes there, one language at a time.

For 10 minutes after an agent's write, the page carries your lock: colleagues see it as being edited by you.

The Panel's list of changed content leaves out the site itself. Changes an agent prepared for the site's own fields wait in the site view.

Working Alongside an Agent

An agent writes to a page even while you have it open in the Panel, so you can ask it to rework the page in front of you.

While a colleague is editing the page, Kirby keeps the agent from changing, publishing, or discarding its unsaved changes until they leave the page's view, or until 10 minutes after their last edit. The agent names the colleague.

An Open Page Reloads

When an agent writes to a page you have open in the Panel, the view reloads within 10 seconds while its tab is visible, or as soon as the tab regains focus. A notification says An agent changed this content, so the view was reloaded. An edit you make before the reload saves your form over what the agent wrote, so pause typing while the agent works.