Migration from server to cloud

This page contains details to learn more about the migration process from server/data center (DC) to cloud versions of the app. Before migrating your HTML for Confluence app content from the server to the cloud, we recommend reading this Atlassian article to plan your migration.

This following sections explain:

  • Migration process

  • Differences between the server and cloud versions of the app

It is recommended to go through the pre-migration process to avoid possible errors on pages after migration. Read more about the pre-migration process.

Migration process

On completion of migration from version 5.8.0:

  • All global configuration and profile data in the Configuration page are transferred from the server instance to the cloud instance as specified in the Cloud Migration Assistant wizard.

  • If multiple migrations are performed on the same cloud instance, the latest migration takes precedence.

  • Any subsequent migrations performed on the same cloud instance only add or merge the data, but do not delete any existing data.

  • Points to note about profile data migration:

    • For profiles with distinct names on the server/DC and cloud instances, the profiles from both server/DC and cloud instances are combined and listed under Configuration > Profiles as-is.

    • For profiles with the same name in both server/DC and cloud instances, the profile configurations available on the server/DC overwrites the profile configuration on the cloud instance. Thus, only one copy of the profile configuration, taken from the server/DC, is available on the cloud, and the original configuration details on the cloud are overwritten. 

Consider an example if:

  • Profiles in server/DC: A, B, and D

  • Profiles in the cloud: A (profile with the same name as in server, and has the same or different configuration), and X

After the migration is completed, the Configuration page of the cloud instance now contains the A (with configuration details as in server/DC), B, D, and X profiles.

Administrators, installing the HTML for Confluence cloud app for the first time, can begin the installation and configuration process for both macros as given in the Installation and Configuration guides.

The migration of data from server to cloud is an independent process from app installation or configuration in your cloud instance. We recommend that administrators verify that all your data is displayed properly after all processes are completed successfully. Please report any issues immediately after looking through the known problem list.

For existing HTML macro content

Due to restrictions in the Confluence cloud, the HTML macro name was changed to HTML-bobswift causing HTML content display issues in pages and templates using the HTML macro of the HTML for Confluence app. For this purpose, an update process is now available in Migrate to Confluence Cloud on the HTML for the Confluence Configuration page. This option allows you to initiate a process that automatically updates the macro name to prepare your HTML content for migration. Refer to this article for the HTML macro name update process instructions. 

For XSLT macro

The migration process for this macro is quite straightforward. Administrators must use the Migration Assistant in the Confluence instance to start the migration.

Use the Confluence Cloud Migration Assistant app to migrate everything you need from the Confluence server to the Atlassian cloud. Confluence Cloud Migration Assistant explains in detail the step-by-step procedure to migrate the required content. As mentioned in the previous section, Atlassian does this job for you in most cases.

Differences between server and cloud versions

All the macros available in the server are supported in the cloud version as well. The following table lists the macros' parameters and features that work differently in server and cloud:

Parameter/Feature

Server/ DC

Cloud

Notes

Parameter/Feature

Server/ DC

Cloud

Notes

Enable strict allowlist

Not supported

Supported

The parameter applies the given allowlist to all content in the HTML content. See Allowlist for more information.

Location of HTML data;
Location of XML code;
Location of XSL code

Supported formats:

  • Default, in the macro body

  • URL

  • Attachment

  • File

  • Template

Supported formats:

  • Default, in the macro body

  • URL

  • Attachment

File and template options are not applicable for Confluence cloud.

Allow same origin

Not supported

Supported

These parameters are the integration points for the macro security feature available in the cloud version. Read more in the configuration page and the macro guide.

Allow script execution

Not supported

Supported

Select to use JTidy

Supported

Not supported

For updates on this feature, refer tohttps://appfire.atlassian.net/browse/HTML-203.

Remove conflicting tags

Supported

Not supported

For updates on this feature, refer tohttps://appfire.atlassian.net/browse/HTML-204.

Include head section HTML

Supported

Not supported

Both the HTML and XSLT macros do not support this feature in cloud.

For updates on this feature, refer tohttps://appfire.atlassian.net/browse/HTML-226,

https://appfire.atlassian.net/browse/HTML-205.

Show error message panel

Supported

Not supported

For updates on this feature, refer tohttps://appfire.atlassian.net/browse/HTML-227.

Omit a panel when output is wiki

Supported

Not applicable





Currently, Confluence Cloud does not support these features.

Width of the iframe

Supported

Not applicable

Disable secure processing feature

Supported

Not applicable

URL whitelisting

Supported natively by Confluence and configured using the Global Configuration page

Administrators must manually whitelist URLs in the Global Configuration page

For more information, refer to CLOUD-2636.

Macro security

Not supported

Supported

Macro security is integrated with the cloud version unlike the server/DC version where you need to use the Macro Security for Confluence app with this app.

Custom editor

Not supported

Supported

A new custom editor with better usability and efficiency is now available for use with the cloud version. Available from the 1.6.0 version.

Please note that all the other parameters function the same in both versions of the app.

Known issues and troubleshooting

There are certain issues that can occur after the migration process is completed. These are listed along with the possible solution for each in the following table:

Possible issue

Possible solution

Possible issue

Possible solution

Macro does not have access to the meta tags in the head of the page it's embedded in. 

For example, the macro is unable to reference the ajs-current-user-fullname meta tag.



var pageMetaTags = document.getElementsByTagName('meta'); console.log("Parsing meta tags..."); for (let i=0; i<pageMetaTags.length; i++) { k = pageMetaTagsi.getAttribute('name') || pageMetaTagsi.getAttribute('id');   v = pageMetaTagsi.getAttribute('content'); console.log(`Page meta tag: $ {k} = $ {v} `); }



The Atlassian server has a feature that toggles whether the head of the page is available within the macro via the macro's configuration but the same feature does not appear to be present in the cloud version of the HTML macro. Without this feature, the currently logged-in user's ID and/or full name cannot be retrieved which are stored in meta tags.

In the cloud, the macros are rendered in iframes so you cannot access the information of the user the same way. You can invoke the JavaScript APIs (https://developer.atlassian.com/cloud/jira/service-desk/jsapi/user/) or Rest APIs (https://developer.atlassian.com/cloud/confluence/rest/api-group-users/#api-wiki-rest-api-user-get) exposed by Atlassian to get the user info.

//Gets the logged in user's accountId AP.user.getCurrentUser(function(user) {   console.log("The Atlassian Account ID is", user.atlassianAccountId); });



Issue rendering Vimeo videos from the HTML macro

It is recommended to set the referrerpolicy attribute to render the Vimeo video which has the following privacy settings:

Example video: https://vimeo.com/manage/679057197/advanced#

Who can watch it? - Unlisted Specific domains - appfire.app <iframe src="https://player.vimeo.com/video/679057197?h=d081c826e5%22 width="640" height="360" frameborder="0" allow="autoplay; fullscreen; picture-in-picture" referrerpolicy="origin-when-cross-origin" allowfullscreen></iframe>

Issue rendering SVG image

Modify the function call from makeInteractive() to window.addEventListener('load', makeInteractive).

The issue with the code inside the HTML macro uses regular JavaScript and also Confluence’s connect library.

Example: AP.context.getContext, AP.request, etc.

Use window.AP=window.parent.AP in the script to use Atlassian Confluence to connect library APIs.

Open issues

Issue

Comment

Issue

Comment

HTML content is not shown as-is, or, does not work as expected after migration to cloud.

  • Unable to apply styles that worked with the server/DC version

  • Unable to access content across multiple macros on the same page (worked in server/DC version)

This is a known issue with the Confluence cloud. Due to the cloud architecture, all content are rendered as iframes; thus, limiting the macro capabilities after the migration is completed. Refer to this Atlassian article to learn more.

Note that the HTML macro is a dynamic content macro and all dynamic content macros render their content in iframes with Confluence cloud. Hence, the macros have little to no ability to interact with any parent controls.

Support template variables in the HTML macro

This feature is not supported at this point.

Export Space as HTML does not work, limitations from the Atlassian cloud

Refer to https://support.atlassian.com/requests/PCS-92505/ for details.

HTML contents with target="_blank" redirection work but with target="_top" redirection are failing.

This is an open issue. Click https://bobswift.atlassian.net/browse/HTML-697 to know more.

Unable to nest a bodied macro (like the Expand Macro) into another bodied macro. 

This is an open issue. Click https://jira.atlassian.com/browse/CONFCLOUD-68323 to know more.

Macro does not work properly when nested within a Tab or Tab Group macro.

Refer to https://docs.servicerocket.com/composition/knowledge-base/incompatible-macros-when-nested-within-composition-cloud-s-tab-and-tab-group-macros to learn more.

Problem reporting

If you experience any problems or behavior changes that are unexpected, refer to Help and open a ticket with us. This helps us identify and prioritize fixes and improvements.


Find answers from the community.

Ask a question to the community.

Log a request with our support team.

Confluence®, Jira®, Atlassian Bamboo®, Bitbucket®, Fisheye®, and Atlassian Crucible® are registered trademarks of Atlassian®
Copyright © 2005 - 2024 Appfire | All rights reserved. Appfire™, the 'Apps for makers™' slogan and Bob Swift Atlassian Apps™ are all trademarks of Appfire Technologies, LLC.

Unable to render {include} The included page could not be found.