As DMC continues to grow, we’re always trying out new tools to improve our ability to deliver excellent service to clients. One of our most recent upgrades has been our adoption of Confluence as a collaborative knowledge platform. While Confluence is a powerful tool, it has limitations. DMC’s Application Development team has gotten to work to address them.
Confluence Adoption and Sharing Access
![Confluence project screenshot](/Portals/0/confluence-cross-team.png)
Image Source: Atlassian
As DMC has adopted Confluence, we’ve taken to using it to capture important knowledge for both client projects and internal organization. However, as software developers we’re always identifying features we’d love to see in our favorite software and Confluence is no exception.
For example, we’re excited to share access to Confluence with our clients so we can use it to collaborate on projects. However, Confluence limits the number of guests we can have and doesn’t include good tools to manage them.
As another example, Confluence’s philosophy is that content should be open by default. This can make management of privileged information cumbersome. We’ve encountered several of these challenges so far, and we know that as we continue using the platform we’ll encounter more.
Atlassian Forge
![sharing info illustration](/Portals/0/forge-illustration.jpg)
Image Source: Atlassian
Enter Forge, Atlassian’s platform for building plugins for its various products including Confluence. Forge is a great fit for DMC’s Confluence customization for three main reasons.
First, Forge allows you to integrate directly with Atlassian features, including the ability to add new menu options to existing menus and UI components preconfigured to match Atlassian’s style. Second, Forge hosts your apps for you, allowing the development team to avoid scaffolding or paying for hosting infrastructure. Forge can add custom user interfaces to Confluence as well as run event-triggered or scheduled, headless processes, providing a great degree of flexibility in features that can be developed. Finally, Forge is built in React and standard web development technologies, allowing DMC to leverage our web development expertise to build features quickly.
Technical Challenges
![confluence attachment viewer](/Portals/0/confluence-attachement-viewer.png)
This approach is not without its issues. As appealing as Forge is, its support is somewhat lacking. DMC ran into a number of bugs, some unsupported scenarios, and some general flakiness.
Another challenge we encountered was paging through data effectively. Coordinating data paging between frontend and backend is always a bit challenging, but in most cases, DMC can mitigate those issues by designing each system with the other in mind. Several features (like loading all of DMC’s guest users) required paging through data available through the Confluence backend in a format that didn’t mesh well with the grid control Confluence provides.
Fortunately, we are very used to and well-equipped for such hurdles. We've worked around them in a few ways. In certain cases, we implemented some undocumented capabilities. In some cases, we made tradeoffs, and in some cases, we documented the issues for ourselves so we know what to avoid.
Capability Highlights
DMC has internally developed and tested customizations to our Confluence site to thoroughly understand the capabilities of Atlassian’s infrastructure and to build modular app templates that can be quickly customized and deployed to other Confluence sites.
Here are a few highlights of the tools we’ve created:
- A page ownership manager to audit and transfer ownership of pages in bulk. This tool makes it simple to identify pages a user owns and, should they transition to a new role, ensure continuity of ownership of documents throughout their lifecycle.
- A guest user manager to periodically audit guest users, identify dormant users, and warn or remove them. This ensures that Confluence’s guest user quotas are not exceeded and improves information security by pruning users’ access who are not actively collaborating with DMC.
- An attachment viewer to view and filter all files uploaded to Confluence. This can aid in understanding storage usage and verifying that users are storing data in adherence with company policies.
Conclusion
![page restriction in confluence](/Portals/0/confluence-page-restriction.png)
Overall, our experience with Confluence allows us to manage our instance more effectively and provide additional features to all users of Confluence without paying for expensive Marketplace plugins or for a higher tier of Confluence itself. If your organization has pain points with Confluence usage (or other customizable platforms), DMC would love to deploy our expertise to improve these tools so they work perfectly for you!
Learn more about DMC's Application Development services and contact us for your next project.