You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
Public roadmaps are sort of in between product documentation and product marketing, so as we at K15t started focussing more of our efforts on Cloud apps, we realized that a public roadmap was necessary for our customers to keep track of available and upcoming features.
For our Cloud Roadmap, we wanted to use something that's easy to create and maintain in Confluence, which we use for our Help Center anyway (plus Scroll Viewport). What came out of it however was my favorite Confluence page.
I started with a simple table with Planned, In Progress and Shipped columns and table cells with a title and description, a Jira issue link and an ETA:
After looking at a couple roadmaps, like Atlassian's, I was impressed with the looks and decided to add some custom styles though a user macro (happy to share the macro if anyone's interested) with this result:
The Cloud Roadmap was later migrated to Confluence Cloud, but this Confluence Server-based roadmap is still in use for our Cloud Roadmap for Backbone.
After a few months, it felt strange to manage a Cloud Roadmap (and a whole Cloud Migration Hub) on Confluence server, we made the move to Confluence Cloud and Scroll Viewport for Cloud:
It survived the migration just fine and is still used to communicate our Cloud plans to our customers. Though the styles no longer are added by the user macro, but rather though custom CSS in Scroll Viewport for Cloud, it still feels great to just copy a table cell to the next column to let people know that a feature has been shipped.
I hope you enjoyed that little story!
Hey Patrick,
sure thing, here's a screen shot of the configurations:
And below is the template code, which is mainly CSS styles and a little bit of JS.
The most important thing to keep in mind is that the styles expect tables cells with the table cell wrapper added by the Confluence editor and 3 paragraphs, first one being thee title, second one being the description and third one holding the Jira macro and the status lozenges, exactly like on this image:
## Macro title: Roadmap Table
## Macro has a body: N
## Body processing: Selected body processing option
## Output: Selected output option
## Developed by: david
## @noparams
<style>
.roadmap-table th {
background-color: white !important;
text-align: center !important;
border: none !important;
}
.roadmap-table th:after {
background-color: #25e9a4;
border-radius: 2px;
border: 0;
clear: both;
content: '';
display: table;
height: 4px;
width: 36px;
margin-top: 3px;
margin-left: auto;
margin-right: auto;
}
.roadmap-table tr th:nth-child(2):after {
background-color: #1062FB;
}
.roadmap-table tr th:nth-child(3):after {
background-color: #2EB785;
}
.roadmap-table tr th:nth-child(1):after {
background-color: #FFC420;
}
.roadmap-table col {
width: 33.333333% !important;
}
.roadmap-table tbody {
border: none !important;
}
.roadmap-table td {
border: none !important;
}
.roadmap-table td p {
max-width: 100% !important;
}
.roadmap-table td p:nth-child(2) {
font-size: 14px !important;
line-height: 1.4em !important;
color: #666666 !important;
padding: 10px 0 !important;
}
.roadmap-table td p:last-child {
text-align: right !important;
}
.roadmap-table td div.content-wrapper {
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);
padding: 12px;
background-color: white;
border: 1px solid #e0e0e0;
height: 100%;
}
.roadmap-table tbody tr:last-child {
display: none;
}
.roadmap-table span.jira-issue {
padding : 0 0 0 0 !important;
line-height: normal !important;
border: none !important;
}
.roadmap-table span.jira-issue a {
font-size: 12px !important;
padding: 0 2px !important;
}
.roadmap-table span.jira-issue span {
display: none !important;
}
.roadmap-table span.jira-issue img.icon {
height: 16px !important;
width: 16px !important;
padding: 2px !important;
}
</style>
<script class="roadmap-table-script">
$(document).ready(
function() {
function fixJiraIssues() {
if (!$(".roadmap-table span.jira-issue").first().hasClass("aui-lozenge") && iterator < 5) {
$(".roadmap-table span.jira-issue").each(function() {
$(this).addClass("status-macro aui-lozenge conf-macro output-inline");
$(this).html($(this).children());
});
} else {
clearInterval(issueStyleChecker);
}
}
var iterator = 0;
$("script.roadmap-table-script").parents("table").addClass("roadmap-table");
var issueStyleChecker = setInterval(fixJiraIssues, 800);
}
);
</script>
Let me know if that works for you!
Cheers,
David