Confluence page generation for IIB/WMB/ACE applications
The larger an organization becomes, the more challenging that it is for an organization to manage is combined knowledge base.
In my previous posts, I described how we could extract our business logic and configuration from our code and present it back to developers as markdown pages in GitLab or GitHub.
We also demonstrated how we could deploy GitLab pages that would describe our logic and configuration.
Those tools are (or can be) popular with developers. But GitLab and GitHub are often not where non engineers spend their time. And some engineers still need to work with systems analysts and subject matter experts in other tools.
If you have ever worked with non-IT professionals, using GitLab and GitHub markdown to develop documentation can be just forcing pain upon them.
Also, GitHub and GitLab don't necessarily index well for non-code content. So your knowledge management system loses some of it's effectiveness and business value of users have to navigate multiple systems to find the information that they require.
Confluence has become some what of a standard with organizations, so more often then not, an organization might already have a Confluence instance, which contains large amounts of technical and non-technical documentation.
The more that we can combine and add information into Confluence, the wider the use of that information can be.
So that we can help meet teams where they work, we have been working on we can integrate better with Confluence.
Now, as developers we could be updating Confluence pages around our designs. But they can often become quickly scale and can also be un-sustainable.
But Confluence has a variety of REST API's that allow external tools to push and pull information from the various pages and spaces. So we will be looking to leverage those.
Find the space that we are going to use :
wiki/rest/api/space
We want to segregate all our generated content into a single consistent space, so that
Find all the pages in the space to work out where to add create pages
wiki/rest/api/content?spaceKey={space}
We delete old versions of any existing pages
wiki/rest/api/content/{pageid}
We will create a page and upload out wiki markup content
wiki/rest/api/content
Then upload our generated images to a specific page
wiki/rest/api/content/{pageid}/child/attachment
You can find more details of the full REST API here.
Recommended by LinkedIn
This means that we can leverage all the information about IIB/WMB/ACE code and configuration that we already use to generate static web pages and then format them in a way that works for Confluence.
We can also add "macros" with Wiki markup:
Which allows us to create rich content above when we can do with markdown in GitLab and GitHub.
The Confluence editor is quite nice for creating content, but as we are creating this content from wiki markup.
We were able to add image, child pages, and tables with the markdown that we posted to the Confluence REST API.
We are going to be doing some demonstrations in the next few weeks.
For a snapshot, we have published a read only version of the generated project.
Unfortunately it doesn't share well publicly, but I will going through what it looks like when authenticated in the demonstration to give a better idea of how useful it is.
We will be doing a quick demonstration next week for anyone who would like to see the full generated page and ask any questions.
The registration link is below:
More information on our products and on pricing can be found on our website:
You can also reach me via email at:
Or contact me via the contact page on our website:
Regards
Richard
IBM IIB Developer | IBM ACE Developer @Royal Bank of Canada
6moInsightful