💡Inspiration

Maintaining up-to-date documentation is essential, especially for:

  • ⚡ Rapidly evolving systems.
  • 📊 Critical data structures like MDM classes.

ArchiWiki lets developers focus on coding while automating documentation updates. By embedding comments and metadata in the code, ArchiWiki ensures that Confluence reflects the latest system state.

What was my motivation 🤔?

Our Developers managing Master Data Management (MDM) systems often face evolving structures. ArchiWiki will ensure documentation stays synchronized with the latest class definitions and object metadata, eliminating manual effort.

Once the initial setup is complete, ArchiWiki will automatically update Confluence pages whenever the MDM class definitions are updated / created.

🔎 What it does

ArchiWiki is an open-source Forge application designed to simplify documentation management for teams using Atlassian Confluence. This tool provides a JSON abstraction layer over the Confluence Wiki Format, making it easy to create and version control Confluence pages programmatically.

🔨 How we built it

The forge app was build using the forge cli in JS. To test the end to end working of it we used the following

  1. Sanity.io as source CMS
  2. NodeJs Express as a Server to listen to all the Sanity.io event notifications, and to transform the Sanity.io events to ArchiWiki Json format.
  3. NGROK to connect Express and Sanity.io. Even though both of them run locally, Sanity.io does not like localhost urls, and they have to be configured on the Sanity.io cloud.

💪 Challenges we ran into

The Atlassian free cloud environment was not very reliable. Install Upgrades (forge install --upgrade) were inconsistent in promoting my local changes.

Forge Tunnel (forge tunnel) seemed to be the most reliable, and the demo was recorded using the same.

I use WebStorm(JetBrains) as my preferred development IDE. Though setting up the debugger was super easy, but debugging was not very stable too, hence I resorted to using the tunnel.

🏅Accomplishments that I am proud of

I’m incredibly proud to have been able to complete this submission. Being a new father and working from home can be challenging, especially with a toddler who demands so much of your time. My wife, currently on maternity leave, has been absolutely amazing. She takes care of him and gave me the space I needed to focus on building the app. I couldn’t have done it without her support!

🎓What we learned

Forge has really demystified working on the Altassian stack. We use Jira, Confluence and BitBucket on a daily basis. We also have many third party that we use for a day to day activities, I guess we will be connecting all of them to Jira now 😉

🚀 What's next for ArchiviWiki

🚦Integration with SQS Queues

Enhance the app to process page requests through SQS Queues, enabling better scalability and asynchronous operations.

📝JIRA Integration

Connect the app with JIRA to automatically capture and document sprint details upon the completion of each sprint, ensuring project documentation stays aligned with development progress.

</> Bitbucket Integration

Link the app to Bitbucket repositories to automatically capture and document changes in code, providing a seamless connection between code updates and documentation.

🧠 Integration with LLMs

Incorporate Large Language Models (LLMs) to enable automatic generation of detailed documentation. With this capability, the app's potential becomes boundless, as it could dynamically create and update comprehensive documentation with minimal input.

🔮 Future of Confluence

I’m convinced that Atlassian is likely working on an LLM-powered service behind the scenes that could revolutionize Confluence workspaces. Instead of simply directing users to a specific page, this service would directly answer their questions. To ensure the best results, Confluence documentation would need to be consistently updated and properly versioned. That’s where ArchiWiki feels like the perfect first step toward this exciting future.

Built With

Share this project:

Updates