Content formatting and management are increasing requirements within the Confluence space. There are lots of great options currently available on DC and Server in the Marketplace, whether it's a solution that offers a suite of functionality as a bundle or one that offer a single individual functionality (the former are typically more expensive). The availability of these solutions however are less abundant on Cloud, understandable as Confluence Cloud is still growing. We therefore wanted to create a solution on Cloud that allows users to manage their content better and improve engagement. One of these is Tabs for Confluence, it allows the user to structure and segment long congested content into tabs, making it easy for the reader to navigate and consume.
What it does
Tabs for Confluence lets you structure your page into styled tabs so the content is organised, easy to use, and easy to digest. The intuitive design also ensures users can get started and make edits quickly.
How I built it
We initially built a base Confluence Cloud App before building the macros on top. These in general took a few days due to its complex functionalities. We also followed the provided Atlassian documentation https://developer.atlassian.com/cloud/confluence/getting-started/#step-4--create-a-basic-app.
Challenges I ran into
In general to develop a macro we faced the same issues. Each macro is self isolated in an iframe, so it is difficult to interact with the other macros and with the page itself: https://en.wikipedia.org/wiki/HTML_element#Frames Moreover Tabs is a rich-text macro. This means that Tabs is also responsible to render the nested macros.
What I learned
Better understanding of the Cloud infrastructure, iframes and how to handle them. New frameworks learned: Typescript, React, Redux, Webpack, Jest
Evaluate the perfomance on MPAC to provide continued value and benefits to customers.