Pages and macros do not load - Static macros

This issue is related to an internal framework migration requested by Atlassian for all marketplace apps. Please see more information here: Migration to Forge

Use case

  • When opening a page, the page loading is very slow

  • When refreshing a page, the RY macros are very slow to load.

  • There is an infinite spinner for the RY macros

Explanations

As part of our migration from Connect to Forge, our usual macros have changed, and they are now rendered through the Forge framework, as per Atlassian’s documentation.

When we were using Connect, our remote server was responsible to return html for the content of the requirement yogi macros. On Forge, the Atlassian team didn’t replicate this type of macros, and only have 'Dynamic macros' that are rendered via a system of <iframes>. Unfortunately, every iframe instance is isolated from the rest of the page, which requires many resources from your internet browser and can even crash the page.

After further discussions with the Atlassian team, they are starting to reintegrate ‘Static macros’ into Forge. See: https://ecosystem.atlassian.net/browse/FRGE-1495 and RFC: https://community.developer.atlassian.com/t/rfc-136-forge-staticview-macro-for-confluence-connect-migration-feedback/100892/4 .

In Forge, static macros are rendered as if they were part of the original page: The content of the macro is stored as “ATLAS_DOC_FORMAT” in a page custom-content. If no custom content is found for the specific macro, the macro is then rendered as usual : as a dynamic macro in an iframe.

What to expect

Dynamic macros in Forge

Static macros in Forge

Dynamic Macros.png
Static Macros.png

You can see the Requirement Yogi macros here (on the left and right of the table)

  • The keys can be clicked on and display a ‘popup’

You can see now that they have been transformed.

  • When you click on a key, there is no popup, and you will be redirected to the 'Requirement’s detail'.

How to enable static macros for your instance

If you are seeing drastically slow performance with your pages and requirement yogi macros, Atlassian has worked on a specific integration for us and our customers.

The feature is in Preview (See: https://developer.atlassian.com/platform/forge/changelog/#CHANGE-3505 ), so you should be able to activate it.

1. Make sure you are on the latest version of the app ( over 5.1.0 )

This feature requires a manual update from your side, so you need to check you are on the latest version by going into your Confluence administration > Manage Apps > Connected apps > Requirement Yogi for Confluence.

2. Activate the feature in the Champion Center

This ‘Static macro’ feature is not activated by default on your instance as this will change the aspect of your pages. To activate this feature, you will need to go in the Champion Center > Configuration and activate the feature.

  • All your pages will now use the ‘Static-macro’ rendering.

  • ⚠️ If you are using the ‘Advanced display’ feature in your requirement links macros, they will remain dynamically rendered.

Limitations and FAQ

Which macros are impacted ?

  • The Requirement Definition and Requirement Link macros are automatically transformed to static.

  • If you are using the ‘Advanced display’ feature in your requirement links macros will remain dynamically rendered.

What are the differences in features between Static and Dynamic macros ?

The main difference will be the requirement’s popup, which no longer exists on the ‘Static-macros’. Other than that, all features should work as expected.

What happens if I disable this feature ?

When disabling the feature in the Champion Center, macros will revert automatically to being dynamically rendered.

How come all my macros in the page are not ‘Static’ ?

This is a limitation by Atlassian team, we encourage you to raise this issue with them.

Is there a difference in indexation of the static vs dynamic macro ?

Whether you are using static or dynamic macros, the use has not changed. Your requirements will remain indexed no matter their format, and will continue to index the content in Confluence pages.
You will still be able to see them in the search, traceability, baselines, etc.

If you have any questions

Please a support ticket with our team: https://support.requirementyogi.com/ .