Use Databases for your docs life-cycle management (updated)

Here's a quick tip how to put Confluence Database to use - the tool is still in beta, many Confluence users don't know how it can be actually useful. So perhaps this will help.

Anyway... :)

My use-case - an LCM database for docs space

I use it to get a quick overview of Confluence space where we author and manage Emplifi documentation. It makes life-cycle management (LCM) of our doc sets so much easier.

So here's what I have:

  • page title (column is set up as a page link field)
  • last updated
  • ...by
  • label
  • owner
  • created
  • page history version
  • excerpt content

Confluence Databases.png

In this use case, I have an overview of the entire space and can easily sort the table to see the last updated/added pages, ensure they all have proper labels. I can turn it around and see the oldest pages in the space. Content by label is especially sweet as you don't need an extra page to deploy that macro.

Get all pages into your DB

The trick was to figure out how to get all pages (page links) in to the database. I wish it could be automated but it's a question of a couple of minutes to get it all done.

Here's a how-to gif (it's public link from my private Confluence as it's too big for a Community post. 

Import Entries.png

The database works just fine even with 900 pages (tested). Sorting by date is relatively  fast but it obviously depends on how many pages and details your database displays.

UPDATE: You can also get the list by going to Export space > HTML > Select what to export. Then simply copy paste the pages as i the video. The advantage is that you don't have to expand all the parents :) 

Another use-case example

Another use-case is monitoring a collection of pages that serves a specific purpose.

Say that you have a course in your LMS that relies on the content from your Confluence sourced docs.

Simply create a DB for that specific course, list the pages the course is using, enter the date when the course went live. If the 'last updated date' of a page is newer than the course date, you know that you need to update your LMS content.

Confluence Databases wishlist

  • Populate the DB with all space's pages
  • List each history version number along with the editor of the given version
  • allow listing apps data
    • Comala Document Approval status
    • Comala Publishing status
    • Scroll Document version
    • Scroll Viewport default/custom links
    • Scroll Viewports where the page is

Last word

You might argue that many of the features can be replicate by labels. But you can have all that, and more, in a single place with context for any individual information type. The app was called 'Orderly Databases' for a reason when it was first developed by K15t (before Atlassian acquired the app).

22 comments

Panagiotis
Contributor
April 8, 2024

Hello @Kristian Klima ,

This is amazing. Thank you for sharing. 

Hopefully we will find a way to automatically keep this database up to date with newly created pages! 

 

Like # people like this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 9, 2024

@Panagiotis Yes, that would be tremendously useful.

- create page option - add to DB, Yes/No, if yes then select DB.

- Page menu option - add to DB, select DB.

Also, the copy/paste hack from the reorder page works great but it's no fun expanding all parent pages - one missed click and one can start again :) 

Like # people like this
Aron Gombas _Midori_
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 9, 2024

I like the idea of using a Confluence database to solve this kind of lifecycle management problems, but...

  1. It requires repeated and manual work, right?
  2. Will this method scale if the site grows for a few-thousand pages?
Like Paul Rathgeb likes this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 9, 2024

@Aron Gombas _Midori_ 

  1. Yes, once you add the existing pages (which you can do in one go), you have to add the pages manually.
    But as @Panagiotis quipped, there might be a solution.
  2. I have close to 1K pages in my space and the DB loads fully in a couple of seconds. Reordering, say by date, takes 10-20 seconds - it depends how detailed are your other columns. If you have an Excerpt column and a lot of pages with excerpt content, it takes longer.

DBs are still in beta so I wouldn't judge it too harshly :)

Tom_Carrott_Adaptavist
Solutions Partner
Solution Partners provide consulting, sales, and technical services on Atlassian products.
April 9, 2024

Interesting post @Kristian Klima and very relevant to me (as you well know from our previous chat) ;) 

Like Kristian Klima likes this
Tom_Carrott_Adaptavist
Solutions Partner
Solution Partners provide consulting, sales, and technical services on Atlassian products.
April 9, 2024

@Panagiotis - i'm very interested in your views on this topic. Its an area of research & discovery for me at the moment - would you be willing to have a short call with me to discuss this further? 

Levente Szabo _Midori_
Marketplace Partner
Marketplace Partners provide apps and integrations available on the Atlassian Marketplace that extend the power of Atlassian products.
April 10, 2024

Hey @Kristian Klima and all,

I understand that this is a promising approach for displaying pages in a table-like format and getting a glance at some metadata, like last updated date, creation date, or owner.

What I don't understand is how content lifecycle management (CLM) comes into play here. In my mind, Confluence content lifecycle management is a framework that nurtures content through different statuses (mostly automatically) from creation to dislocation and allows for actions (manual or automatic) along the way like notifications and automatic page archiving, (based on preset rules) to keep Confluence up-to-date.

You mentioned lifecycle management, so I was wondering what you do with all the 1000 pages in your database besides displaying them. What are the principles for CLM and how does this database approach support that?

Like # people like this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 11, 2024

Hi @Levente Szabo _Midori_ 

For customer facing product documentation (technical docs), my vision of life-cycle management is to ensure the docs always reflect the product.

This is crucial when one's on pretty much continuous delivery, supporting tens of development swimlanes, each of which moves at its own speed, aligned by GTM that's measured in days.

A database that I created helps in the overall docs LCM process - it's one of the tools, not a single tool. But over the last two months or so I've been using it, it made my life easier and it'd be even more so with apps integration, etc. Not to mention using dedicated Confluence Databases as tools to LCM content in our learning platform. 

The point is that In our world, there's no such a thing as mandatory reviews, page expirations, etc.  as time itself is never a benchmark to asses and invalidate a document. Maybe this is down to my time spent as a tech writer on mainframe products where a page that's 30 years old is as up to date as a page I created in the same tree section yesterday. I'm not joking :) 

I think it comes to down to the nature of the content. Is your content static and in need of regular reviews? Or is your content itself a process? To me, it's the latter. And for that purpose, having a DB is tremendously useful.

Like Levente Szabo _Midori_ likes this
Sussi Åström
Contributor
May 22, 2024

@Kristian Klima thank you for this! It helped me create my db of current pages in a space. The only thing I could not figure out, was how do I get the page owner. Could you tell me how you achieved it?

Thanks in advance!

Like Kristian Klima likes this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 22, 2024

Hello @Sussi Åström 

Yay, I helped :)

Also, I cheated a bit... ;) The field actually shows the creator but since the person who creates a page is, by definition, the owner .... it does the job.

(Of course, it's still possible to change the owner but in out environment, it works for most content).

2024-05-22_10-47-53.png

Like Sussi Åström likes this
Sussi Åström
Contributor
May 22, 2024

Hi @Kristian Klima ,

Thank you for the swift response.

I thought that might have been the case. Like you said that will work for the most part, when the ownership is not changed.

We have pages that the ownership has changed, so cheating in the way you did, is not an option for us.

I will await for Atlassian to add this functionality. Hopefully that will  be sooner than later :D

Have a great day, wherever you are!

Like Kristian Klima likes this
Tom_Carrott_Adaptavist
Solutions Partner
Solution Partners provide consulting, sales, and technical services on Atlassian products.
June 14, 2024

Very interesting post...

We're in the early stages with a new product: Introducing Panorama: Your All-in-One Solution for Content Management in Confluence!

I wanted to share our landing page here incase it is of interest to anyone - https://www.kolekti.com/getpanorama

Please feel free to reach out with any questions!

Like Kristian Klima likes this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 14, 2024

@Tom_Carrott_Adaptavist 

a) Thank you...

b) From what I've seen and sampled so far, Panorama does fit my bill :)

Like Tom_Carrott_Adaptavist likes this
Tami Dubi
Contributor
July 8, 2024

Thanks for sharing!
This might be a good solution for a few pages or specific projects. One of the most powerful things with the DB is the Confluence and Jira view in one shot. So, if the process of creating/ updating the page depends on the development stages, it could be a great advantage to add the relevant Jira ticket status.
Some suggestions for Atlassian for improvement could be:

-  a bulk page copy from Confluence to Confluence or retrieving all the pages of a specific space. 

-  a column of page connection that automatically generates the connection between the pages. This is what I am missing in the "All content" feature. We can see the list of pages and some meta details, but there isn't any information about where they are in the tree. It could even be a field of breadcrumbs that can also be useful. 

Like # people like this
Bryan Guffey
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 15, 2024

Hey @Kristian Klima - I can no longer see the GIF at the public link - can you reshare it? 

Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
July 15, 2024

@Bryan Guffey , thanks for pointing this out, link restored!

Sherman, Christopher R
Contributor
August 9, 2024

Hi @Kristian Klima 

Thanks for you earlier help.  Dropping a note to suggest we add "copy database" automation functionality to the wishlist, so that we can schedule back-ups.  We're having someone do this manually weekly, but I'd love to be doing it overnight with automation.  If you've discovered an automated  workaround, would love to hear it.

Like Kristian Klima likes this
Sussi Åström
Contributor
August 11, 2024

Hi @Kristian Klima

How do you ensure that new created pages make it to your DB?

Like I said before, this article of yours, has helped me get a list of our pages in a space and have even gone so far, as to link the equivalent page in a second language. 

I believe as Atlassian improves the DB, it will become a powerful tool to use. 

Like Kristian Klima likes this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 12, 2024

@Sussi Åström 

Option one: Make adding a new page into a DB a part of your workflow (not ideal) :) 

Option two: Create a new page straight in a DB - you can select where in the tree the new page should appear (not ideal) :) 

I think using DB as a life-cycle / page inventory tool wasn't one of the usecases for Databases, hence the missing feature, which many of us who are using it to that end now miss.

Sussi Åström
Contributor
August 13, 2024

@Kristian Klima Thank you! Just noted that creating a new page requires selecting the parent page, which like you said is not ideal. Hopefully Atlassian will make better features, that are ideal. Also enabling 3rd-party info into dbs :) One needs to stay postive :)

I'd love to be able to use DB's for document management, especially for version control adn ensuring when a page is updated, it's counterpart (translated page in another space) gets updated too. 

It's still all a working process and making do what one gets out-of-the-box :)

Like Kristian Klima likes this
Kristian Klima
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
August 13, 2024

@Sussi Åström For that, you may want to look at Scroll Documents and Translations for Scroll Documents, so you can manage everything in a single space :) 

Sussi Åström
Contributor
August 13, 2024

@Kristian Klima I am currently testing it out to see how it would work having everything in a single space and how we could render that into our extranet (using Refined) where we have custom domains for each language. 

Like Kristian Klima likes this

Comment

Log in or Sign up to comment
TAGS
AUG Leaders

Atlassian Community Events