This article is a guest post by TNG Technology Consulting GmbH, an Atlassian Marketplace Partner

People love using Confluence tables to store data, but they often need some of the functionality they would get from a spreadsheet provider. That’s why we created the Table Enhancer for Confluence, a plugin that adds features to tables, including:

  • Initial sorting of rows before rendering
  • An auto-generated total line
  • Manual configuration of multiple sticky rows and columns

Back in 2013 when the plugin was first created, these requirements made it natural to implement the Data Center version of Table Enhancer as a “bodied macro”. Bodied macros are pieces of content that can have other content, called a macro body, nested within them. Whenever a bodied macro is rendered, it gets the opportunity to modify its body in place before appearing on the page. This makes bodied macros the perfect fit for what Table Enhancer provides.

The first stepping stone to Cloud

Atlassian’s shift to the Cloud prompted us to rewrite our most popular apps beginning in 2021 using one of the available Cloud development platforms: Forge or Connect. We chose to base our Cloud apps on the Forge platform to avoid the complexities of hosting our own back-ends and to operate entirely within the Atlassian Cloud. Unfortunately for Table Enhancer, there were no bodied macros available for Forge on Cloud at that time.

To address the growing demand from customers migrating to the Cloud, we developed an interim solution: referencing tables via their index on the page. That solution was not perfect, though. It led to issues such as “No table found” and warnings from accidental deletions or edits. Additionally, when migrating macros from Data Center, we had to extract tables and render the enhanced table alongside the original one. These limitations affected user experience and complicated our efforts to maintain and update the app.

Automating the migration process

Our goal is to enable a smooth journey for our existing Data Center users who are transitioning to Confluence Cloud. Early feedback indicated that manually converting legacy Table Enhancer macros to their Cloud counterparts is tedious. Users must unpack the content of the legacy macro, insert and configure a new Forge macro, and then delete the old one. For heavy users, this process can require significant manual effort.

With that in mind, we created an assistant for admins that automates these steps by fetching and updating page content. The assistant relies on building blocks provided by Atlassian to provide a familiar look and feel, but also on the REST API of the Forge platform. We list all pages that contain or previously contained Table Enhancer Data Center macros. Each entry displays status indicators that inform users about the editor conversion and macro migration status for that page. Users can select pages marked as ‘Not Migrated’ and converted to the new editor to initiate migration with a single click.

Additionally, we included an opt-in toggle for automatic macro migration during page updates where we rely on Forge update events. When combined with automatic editor conversion in the space settings, this feature makes macro migration seamless for most users.

Matching the Data Center user experience in Cloud

The introduction of bodied macros by Atlassian allowed us to finally address the limitations of Table Enhancer. Users can now enhance tables within the macro body, eliminating the need for error-prone configuration by table indices. This change enables updates in the same location as the macro configuration, streamlining the process. Additionally, it allows us to render only one table in view mode, improving the user experience. This update aligns the app with the Data Center version and facilitates automatic migration, as tables can remain in the macro body during the transition.

However, we faced a challenge: what to do with the current solution? We decided to migrate non-bodied macros to bodied macros to maintain a consistent user experience and reduce maintenance costs. We explored various options offered by Forge and ultimately chose to implement a scheduled job that identifies pages with not yet migrated macros and processes them in batches. We took great care to minimize disruption to users’ ongoing work. After deploying this to production, we saw a smooth transition so far.

So let’s take a moment to celebrate 🥳: our Table Enhancer has now the same smooth behavior and functionality as its Data Center counterpart.

What the future holds

We will not stop here and are committed to further improving the user experience. The Forge framework now simplifies the integration of a custom UI for adapting configuration changes and thus we have added a preview functionality that is not easily achievable on Data Center.

Also, Atlassian recently introduced automated macro migration, so we are looking forward to getting rid of the manual macro’s migration step after Data Center to Cloud migrations to make migration even smoother.

About TNG Technology Consulting GmbH

TNG Technology Consulting GmbH is a values-based consulting partnership focused on high end information technology. We have been internally relying on Atlassian’s products since the early 2000s, became an Atlassian Solution Partner in 2007, and currently have the Silver Marketplace status. Additionally, we also took the opportunity to develop apps to cater to specific needs and fulfill customer requirements on the Atlassian platform.

Table Enhancer’s Evolution: Elevating User Experience from Data Center to Cloud