Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Celebration

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,458,181
Community Members
 
Community Events
176
Community Groups

Migrating Confluence DC to Cloud - HTML macro

Trudy Claspill Community Leader Jan 19, 2023

This is a follow up question to this 2021 post:

https://community.atlassian.com/t5/Confluence-questions/HTML-macro-Confluence-Server-to-iFrame-macro-Confluence-Cloud/qaq-p/1881224

We are migrating Confluence DC to Confluence Cloud. On DC we have several instances of the HTML Macro. That macro is not available in Confluence Cloud.

Like the OP of the above post, we are trying to figure out what if anything we can do on the DC system to convert those HTML macros so that when the migration completes the result will be that the content is still displayed in Confluence Cloud.

The OP mentions that Cloud has an iFrame macro. Many of our HTML macros are used to imbed iFrame, but not all. Also, the iFrame macro itself is not available in DC, so we can't convert the macros on DC before the migration.

An answer on the post refers to this document while seeming to imply that document details how to use the iFrame macro in DC. However, that document says to use the HTML macro to embed iframe code, so it is not a solution.

I'm thinking the only solution might be find a DC-compatible a third party app that supports HTML and also has a Cloud migration path, and convert the native Confluence DC HTML macros to those third party macros.

Anybody have any suggestions on this topic?

2 answers

1 accepted

0 votes
Answer accepted
Brant Schroeder Community Leader Jan 19, 2023

@Trudy Claspill You are spot on that you would need to find an app that is available in both DC and cloud.  The issue is I do not think there is one that exists.  This is because DC has the HTML macro so no one is going to spend the time or money developing an app that provides this functionality in DC.  Even if you found an app you would have to convert every page to the new macro.  If you are spending the time to do that it might just be best to edit the page and add the macro content onto it.  I know that the HTML macro is often used to reference information/forms/applications through an iFrame and that can not be recreated.  You can just end up linking to this content, not ideal but workable.  Often the macro is used to enhance a pages content by using HTML and that could be converted but would not look as good.

You can also take an inventory of the pages and after converting purchase an app and update all the pages with what they had in DC.  The DC instance will still be there so you can go page by page and do the update.  Really this is what you would have to do if you would have to convert to a new app in DC prior to migration.

Sorry that there is not a great answer or solution at this time.  

A developer perspective:

On Confluence cloud all the 3rd party connect macros are rendered within iframes - so all the HTML macros provided by vendors cannot offer the same functionality as an HTML macro on DC.

Simply because there is no "access" to the parent document (page) and you cannot manipulate it's DOM (HTML). Your code will be sandboxed to your iframe. That is why they mentioned iframes - as this is the only way to have something "custom", but is very limited and not something you usually do with an HTML macro on DC.

True that "some code" still can be injected into Confluence page directly, and this is done by implementing a so called static macro. But the output your app generates (for example an HTML with scripts and may be CSS) gets aggressively sanitized by Atlassian before embedding it into the page. 

Alex

Suggest an answer

Log in or Sign up to answer
DEPLOYMENT TYPE
CLOUD
PRODUCT PLAN
FREE
PERMISSIONS LEVEL
Site Admin
TAGS

Atlassian Community Events