Skip to main content
Skip table of contents

Step 1 - Plan Out Your Migration (Scaffolding)

  • Confluence Cloud currently does not support nested macro (See CONFCLOUD-68323) which means integration with other apps by way of nesting will be limited.

  • This documentation lists the Confluence macros that go through changes when converted to the new editor in Confluence Cloud. 

Use the steps on this page to plan for complete migration from Scaffolding Server to Scaffolding Cloud:

Prerequisites

Guide

1. Upgrade the Scaffolding app

  • Update the Scaffolding app to at least version 8.25.0 through the UPM inside the Confluence administration console.

    1. Go to the cog icon > Manage apps

    2. Search for Scaffolding. Make sure that the app is updated.

2. Find all the Scaffolding macros

  • ⚠ Make sure that the site search indexes are up to date

  • Complete the steps below to assess data compatibility between Scaffolding Server and Cloud. 

  • Upon completion, you will know which data will not be compatible with Scaffolding Cloud after migration.

  • Choose one of the 2 options below:

Option 1: Use the Macro Usage details page

  1. The Macro Usage page will give you the number of Scaffolding macros on your site, and also the pages that contain those macros.

  2. Go to Administration > Macro Usage. Or access it via the shortcut  <base-url>/admin/pluginusage.action .

  3. Look under  Scaffolding. Take note of how many Scaffolding macros are on your site, and how many of them cannot be migrated. In this example, the ones marked will not be migrated to Cloud.

  4. Clicking on the macro links will show you all pages that contain those macros.

Option 2: Use the SQL query below

The sample SQL query below to help you gather all pages and templates that contain unsupported Scaffolding macros

⚠  This example uses PostgreSQL query syntax, please adjust usage according to your database syntax. Also, limit the outcome to a smaller scope if needed (using limit may help) to avoid performance issues.

  • This SQL will provide a list of impacted page authors and the relevant page titles which currently contain Scaffolding macros that are unavailable in the Cloud

QL query to find impacted pages...
CODE
select s.spacekey, s.spacename, c.title as "Page Title", um.username
from content c, spaces s, user_mapping um left join cwd_user cu on um.username = cu.user_name
where c.spaceid = s.spaceid and c.contenttype = 'PAGE' and c.prevver is null and c.content_status = 'current'
and c.creator = um.user_key
and c.title in
(SELECT c.title
FROM CONTENT c
JOIN BODYCONTENT bc
    ON c.contentid = bc.contentid
JOIN SPACES s
    ON c.spaceid = s.spaceid
WHERE c.prevver IS NULL
    AND c.contenttype IN ('PAGE', 'BLOGPOST')
    AND bc.body LIKE '%ac:name="hidden-data"%'
		or bc.body LIKE '%ac:name="repeating-data"%'
		or bc.body LIKE '%ac:name="get-data"%'
		or bc.body LIKE '%ac:name="excerpt-data"%'
		or bc.body LIKE '%ac:name="eval-data"%'
		or bc.body LIKE '%ac:name="set-data"%'
		or bc.body LIKE '%ac:name="label-options"%'
		or bc.body LIKE '%ac:name="group-data"%')
order by s.spacekey, c.title

  • This SQL will provide a list of impacted page authors and the relevant template titles which currently contain Scaffolding macros that are unavailable in the Cloud.

SQL query to find impacted templates
CODE
select s.spacekey, s.spacename, p.templatename as "Template Title", um.username
from pagetemplates p 
left join spaces s on p.spaceid = s.spaceid
left join user_mapping um on p.creator = um.user_key
--left join 
where p.prevver is null
--and p.creator = um.user_key
and p.content LIKE '%ac:name="hidden-data"%'
        or p.content LIKE '%ac:name="repeating-data"%'
        or p.content LIKE '%ac:name="get-data"%'
        or p.content LIKE '%ac:name="excerpt-data"%'
        or p.content LIKE '%ac:name="eval-data"%'
        or p.content LIKE '%ac:name="set-data"%'
        or p.content LIKE '%ac:name="label-options"%'
        or p.content LIKE '%ac:name="group-data"%'
order by s.spacekey, p.templatename ;

3. Prepare the Scaffolding data in Server

Know your Scaffolding structure and data in server, to anticipate incompatibilities in Cloud after migration

  • As the Scaffolding server is more versatile than Scaffolding Cloud, it is important that admins understand what's inside their scaffolding structure, and anticipate what is not migratable. 

  • It's worth the time to check the main templates that others are using and remove the structures that are incompatible with Cloud. The following documentation can help you with this decision

Take note that Global templates will not be migrated automatically and has to be manually migrated instead.

4. Create a staging instance, and perform a test migration on sample data. (This is a recommended best practice step)

Best practices to do a test migration with a Staging instance...
Best practices to create test data by creating a Sample space
  1. Identify a Space that contains

    1. Space templates that are widely used in your organization and use Scaffolding macros.

    2. Pages with Live Templates that are using the Space templates.

  2. Clone the contents of that space to a new space

  3. Now you are ready to migrate, prepare a migration window as highlighted below

  4. Go through the Test migration as highlighted in Steps 2 & 3

5. Schedule the migration window

To estimate the time you will need for the migration steps, we recommend reviewing all of the steps before executing. Depending on the size of the data and the complexity of the existing template configuration, it may take a few hours to complete these steps. We advise you to schedule a maintenance window in your organization to perform the migration.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.