Unable to edit due to confluenceADFMigrationUnsupportedContentInternalExtension error

Platform Notice: Cloud Only - This article only applies to Atlassian products on the cloud platform.

Summary

When editing a page using the new editor, users can observe that some macros show the error message confluenceADFMigrationUnsupportedContentInternalExtension, blocking the edition.

(Auto-migrated image: description temporarily unavailable)

Environment

Confluence Cloud

Pages migrated from Confluence On-Prem and using the new Editor.

Diagnosis

Reviewing the Page Source, we can observe:

  • Nested Macros structure: Excerpt > Expand > Section > Columns > Filter by Label;

  • Using deprecated macros Section and Columns.

Cause

Unsupported macro

This error message confluenceADFMigrationUnsupportedContentInternalExtension is presented when a non-supported macro is used on the new Editor. Some macros were intentionally excluded from the new editor and will be deprecated from the legacy editor soon: Learn which macros are being removed.

One example of a deprecated macro is the Section and the related Column macros, mentioned in this document Insert the section macro. The overall recommendation is to replace them with the Layouts Columns.

A second problem: Nested macros

Solution

1. Convert the page to the old Editor (legacy) to be able to edit the page - Reference:REST/API method Update content property:

1.1 Get the Editor properties for the page

curl sample to get the Editor properties

### The next lines should be edited to your execution # Replace the content of these variables USER_NAME=replacewithyouremail ### Replace with an user able to edit the page USER_PASSWORD=replacewithyourAPIToken ### Replace with the API Token from this user CONFLUENCE_BASEURL=https://xxxxx.atlassian.net/wiki ### Confluence Cloud and context path without the trailing slash CONTENT_ID=183894515 ### Content ID from the URL curl --request GET \ --url ${CONFLUENCE_BASEURL}'/rest/api/content/'${CONTENT_ID}'/property/editor' \ --user ${USER_NAME}:${USER_PASSWORD} \ --header 'Accept: application/json'

1.2 Identify the version used

Observe the returned JSON, it will show the latest version on the number attribute of the Editor properties. For the sample below, the last version was 5, so the new version will be 6.

{ "id":"183894517", "key":"editor", "value":"v2", "version":{ "by":{ "type":"user","operations":null,"isExternalCollaborator":false,"accountId":"999999999999999999999","accountType":"","publicName":"Unknown user","externalCollaborator":false}, "when":"2024-04-02T13:44:29.246Z","message":"","number":5,"minorEdit":false,"contentTypeModified":false }, "_expandable":{"content":"/rest/api/content/183894515" }, "_links":{"self":"https://xxxxx.atlassian.net/wiki/rest/api/content/183894515/property/editor","base":"https://xxxxx.atlassian.net/wiki","context":"/wiki"} }

⚠️ Note: Nothing will be returned if there are no Property changes for the key "Editor".

1.3 Add a new property for the Editor using the new version (last version + 1)

curl sample to add a new Editor property

  • Edit the script below and fill in the required variables (email address, API Token, content ID, new version)

  • Change the permission of the script to allow execution (chmod)

  • The script below will add a new Editor entry using the old Editor (v1):

    ./curl_putEditor.sh

### The next lines should be edited to your execution # Replace the content of these variables USER_NAME=replacewithyouremail ### Replace with an user able to edit the page USER_PASSWORD=replacewithyourAPIToken ### Replace with the API Token from this user CONFLUENCE_BASEURL=https://xxxxx.atlassian.net/wiki ### Confluence Cloud and context path without the trailing slash CONTENT_ID=183894515 ### Content ID from the URL NEW_VERSION_NUMBER=6 ### Add 1 to the last version created for this property ################################################################################################################# ### Do not change the next lines ### This REST/API will add a new version of this page using the old editor curl -v --request PUT \ --url ${CONFLUENCE_BASEURL}'/rest/api/content/'${CONTENT_ID}'/property/editor' \ --user ${USER_NAME}:${USER_PASSWORD} \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data @/dev/stdin<<EOF { "value": [ "v1" ], "version": { "number": ${NEW_VERSION_NUMBER}, "minorEdit": true } }

2. Edit the page using the old editor

  • Move the content out of the Section/Columns macro and delete the unsupported macros from the page;

  • The new editor does not support the nested macros Excerpt > Expand yet, showing the warning at the bottom "Some page elements aren't supported in the new editor"

  • Move the content of the Expand macro out of the Excerpt to resolve the warning;

  • Once resolved, the page will show a recommendation to convert the page to the new Editor;

  • Hitting the conversion link will convert the page back to the new editor.

3. Adjust the layout of the page

  • Use the Layout to create columns and move the content to the desired columns, achieving the same format used before by the macros Section and Columns;

  • There are some limitations when using nested macros Excerpt and Expand:

    • Layout > Expand ✔️

    • Layout > Excerpt ✔️

    • Layout > Excerpt > Expand

    • Layout > Expand > Insert Excerpt ✔️

  • As a workaround, it is possible to use the Include macro, separating only what would be the excerpt content to a separate page:

    • This page contains the content, already formatted using Layout > Expand macro.

(Auto-migrated image: description temporarily unavailable)
    • It will be embedded on another page using the Include Macro, inside the layout column.

  • Or separate the content from the macros into another page, keeping the layout > expand > Insert Excert format:

    • This page contains only the content

(Auto-migrated image: description temporarily unavailable)

    • It will be embedded on another page using the Insert Excerpt Macro, inside the layout column > Expand macro:

(Auto-migrated image: description temporarily unavailable)
Updated on May 22, 2025

Still need help?

The Atlassian Community is here for you.