All partners in the Developer Canary Program can now test their apps with live pages! Note that live pages are still in early access, and customers that opt in are aware that some apps may not be fully functional yet in live pages. Starting January 2025, we will start gradually rolling out the ability to opt in to the live pages beta to more customers (expecting to be available for opt in for all customers by April 2025).
To get started with testing live pages, follow the instructions here: Create and collaborate on live pages in Confluence
Here are some more technical details & things we recommend you try. Please feel free to leave comments here!
Page States
We recommend making sure that your app works in live pages that may never be published and always remain live pages. Keep in mind that live pages can still be published (e.g. for use cases like knowledge bases), so make sure that your app still makes sense with published pages–both while viewing & editing them.
Continue to consider permissions scenarios around who can edit / view pages, these continue to exist in live pages (e.g. a user may have view-only permission of a live page).
Extension Points
Live pages will support the following page extension points. If you are using any other extension points, we recommend you migrate so that your app is accessible in live pages. As stated on October 31, 2024, we will be deprecating other Confluence page extension points (note that extension points beyond pages are unaffected). Learn more about the extension points we are deprecating here.
- Forge
confluence:contentBylineItem
confluence:contentAction
confluence:contextMenu
- Connect
system.content.action/secondary
contentBylineItem
system.content.action
system.content.action/primary
atl.general
system.content.action/modify
page.view.selection/action-panel
system.content.action/marker
atl.footer
(will not render a UI component, but can still be used for running background scripts)
Macros
Bodied Macros (COMING SOON)
In December, we plan to rollout changes that make Bodied Macros like Table Filters & Aura Tabs functional in live pages. Today while editing, bodied macros only display in their “Edit” state–a text box where users can enter rich Confluence content. Users must publish to see macros in their rendered “Display” state. We will be giving users the option to switch between these “Edit” and “Display” states freely within the Editor without publishing, making them functional in Live Pages.
- When inserting a bodied macro, users will see the “Edit” state of the macro by default, so they can add content. They will need to exit the “Edit” state to see the “Display” state – now, they won’t need to publish & scroll around to see the “Display” content.
- When viewing a page with a bodied macro, users (assuming they did not insert the macro themselves) will see the “Display” state by default. They will be able to hover on the macro and enter the “Edit” mode.
We will let you know when we release these changes and we recommend testing your apps then to make sure they work as expected.
Non-Bodied Macros
As discussed in RFC-50, we’ve made it so non-bodied macros like Gliffy and draw.io, are more easily interacted with AND configured in the Editor, both for live pages & classic published pages. This has also been referred to as “removing the glass pane” from macros while editing. We recommend that you test your non-bodied macros in live pages to make sure they work as expected.
Connect Webhooks / Forge Events
Since live pages do not have drafts and are not explicitly published, there are updated events for them. Note that live pages can still be published, which turns them back into standard published pages.
Webhook Key | Forge Event | Description |
---|---|---|
page_started |
avi:confluence:started:page |
Emitted at the end of the first editing session of a page. The page will have a user generated title and 1 version. |
page_snapshotted |
avi:confluence:snapshotted:page |
Emitted at the end of every subsequent editing session. |
Query if a page is a live page via API
Currently, Live pages and draft/published pages will be differentiable via the content API by the subtype
field. Currently the subtype
is not available on the v2
API. This is not considered a stable API.
In the near future, we will make the subtype
field available on the v2
content API, making it a stable API.
Page Version Changes in Live Pages
Currently, a new version is created at the end of the “editing session”, which occurs 15 minutes after the users finish making changes.
In the near future, this logic will change such that the new version is created immediately once a user makes changes, but this version will remain in flux as users make changes, and only finalized 15 minutes after the editing session ends.