# Publishing

Publishing gives out an address that anyone can open, with no account, read-only, always up to date — different from inviting someone (see *[Sharing and roles](/docs/en/guides/partage-et-roles/)*, which grants an account and, potentially, write access).

## Publishing

From **Settings › Sharing**, the **PUBLICATION** section, the **Publish** button is enough. Right away, the screen shows the address (`.../p/<id>`), a **Copy the link** button, a **Password (4 characters minimum)** field with **Set a password**, an **Allow embedding in another page (iframe)** checkbox, and an **Unpublish** button.

- **With no password**, the page is open to anyone with the link.
- **With a password set**, the page asks for it before it opens.
- **Allow embedding** lets the public page be placed in an `<iframe>` elsewhere; unchecked by default.
- **Show the absences calendar**, unchecked by default, adds the schedule members' calendar to the link. **Anyone with the link then sees the members' names and the dates they are away**; the reason is never shown, nor the email address. Unchecked, the link's calendar says “This calendar is not published.”.

**Unpublish** cuts off access: the old address no longer leads anywhere. Publishing again afterwards gives a **different address** — the old link never comes back to life.

## What a visitor sees

The public page reuses the editor's screen, read-only: a **Published schedule** banner, the schedule's name, a **Saved** indicator, the owner, **List** / **Timeline** tabs, the Summary line, the full grid and timeline, the legend — but without the editing ribbon (no Settings, Print, Versions buttons…). It follows the schedule **live**: any change made by the owner or an editor shows up there, with no need to republish.

## Embedding PalmaPlan in a page

Once **Allow embedding** is checked, the **Embed** section gives you `<iframe>` codes ready to paste, each with its **Copy the code** button: the Gantt, the kanban, and the absences calendar if **Show the absences calendar** is checked. They are three addresses of the same public link:

| What it shows | The address |
| --- | --- |
| The Gantt | `.../p/<id>?embed=1` (or `&vue=gantt`) |
| The kanban — the actions of **the whole schedule**, in three columns (To do, In progress, Done), each card naming its block | `.../p/<id>?embed=1&vue=kanban` |
| The members' absences calendar | `.../p/<id>?embed=1&vue=agenda` |

`embed=1` removes the bar; without it, the page opens on its own with the schedule's name as its title. `theme=clair` or `theme=sombre` matches the view to the page that hosts it. Everything there is **read-only** and follows the schedule live; a password-protected link asks for its password inside the frame itself.

**Only these pages can be embedded.** Every other PalmaPlan screen — your schedules, Settings, sign-in — refuses to be shown inside another site's page, and so does the public page as long as embedding is not checked.

**The embedded view** (`/embed/…`, the one `show_schedule` gives an agent, or **Copy a one-hour address** under **Embedded view**) accepts the same `vue=gantt`, `vue=kanban` and `vue=agenda`, under the rights of the person who asked for it — so it can write. But its address **expires after one hour**: for a page that has to show the schedule for good, embed the public link.

## What happens when you get it wrong

- **A link published by mistake**: **Unpublish** makes it unusable right away.
- **A forgotten password, or one that needs changing**: set a new one from the same field, it replaces the old one.
- **You want to cut off access for just one person who has the link**: it's not possible to target one specific person on a public address — **Unpublish** then **Publish** again changes the address for everyone.

## What this page doesn't cover

- **Giving someone an account, with an editor or viewer role**: see *[Sharing and roles](/docs/en/guides/partage-et-roles/)*.
- **The embedded view inside an agent conversation** (`show_schedule`, MCP Apps): a different mechanism, for agents — see the agent guide; its `vue=` is described above.
- **Exporting the schedule as an image or a file**, to publish it elsewhere: see *[Printing and exports](/docs/en/guides/impression-et-exports/)*.
