Skip to end of banner
Go to start of banner

Step 1 - Plan Out Your Migration (Scaffolding)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Confluence Cloud currently does not support nested macros (See CONFCLOUD-68323).

This means integration with other apps by way of nesting will be limited.

This Atlassian 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

You have

You now understand the macro differences between Scaffolding for Confluence Server and Confluence Cloud 

You have reviewed and understood the following unsupported scenarios in Cloud as compared to Scaffolding for Confluence Server 

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

  • choose the global admin cog icon

  • choose Manage apps

  • search for Scaffolding

  • make sure that the app is updated/most recent version

2. Find all the Scaffolding macros

  • first, 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

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

  • go to Administration > Macro Usage

Or access the macro usage information via the shortcut  <base-url>/admin/pluginusage.action .

  • look under  Scaffolding

  • record

    • how many Scaffolding macros are on your site

    • how many of them cannot be migrated

In this example, the ones marked will not be migrated to Cloud.

  • select the macro links will show you all pages that contain those macros.

Option 2: Use the SQL query below

Use the sample SQL queries 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 that currently contain Scaffolding macros that are unavailable in the Cloud

 QL query to find impacted pages...
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 that currently contain Scaffolding macros that are unavailable in the Cloud

 SQL query to find impacted templates
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 have to be manually migrated instead.

Due to CCMA limitations

As a workaround

  • copy all Global Templates manually into Space Templates before the migration, in order to migrate them to Cloud

You may copy the migrated templates back to Global templates after the successful migration.

Detailed step-by-step instructions are available on this page - Global Template is not automatically migrated to Cloud.

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.

Next Steps

Queries? Problems?

Contact us via our support portal.

  • No labels