Category Archives: Content Management Systems

Conceptual design of implementing a Software Architecture Document with Atlassian Confluence


This blog post showcases a conceptual design for implementing a Software Architecture Document (SAD) in a Atlassian Confluence Wiki.


Share the design concept to a broad audience by publishing online.


Defines the initial steps for creating Atlassian Confluence (will be referenced as Confluence from here forward) wiki pages aligned with the SAD example provided by the Software Engineering Institute (SEI).


I was working on a project which was getting into a documentation problem.   I wanted to know the common practices in industry and started researching documentation practices for software architecture and systems.  The research led to the ISO/IEC 42010 standard, SEI’s contribution to the topic and the related Documenting Software Architectures: Views and Beyond book on the same topic.

In the specific project I was working on, the direction was to use Confluence for documentation.  While I had been regularly publishing to the wiki and benefiting from using the Macro and Template features, I wanted to dive  deeper into what Confluence had to offer to understand how the concepts of the SAD can be applied to the wiki to provide a documentation solution requiring a reasonable effort to maintain and scale.

Design Description


The flow is for the publishers of the documentation to start with the SAD Microsoft Word template, import the template into Confluence, create Confluence Template Pages, and add sections to Confluence using Confluence Templates as the architecture changes over time.


The remaining parts of this section describes the implementation in more detail.

Initialization and Addition of pages

The intended flow is as follows:

  1. Publishers download the SAD Microsoft Word template,
  2. Publishers edit SAD template and save
  3. Publishers import SAD document into wiki
  4. Publishers add Viewpoint Definitions, Views and View Packets using Templates.

Template Design and Macro Usage

This section provides a structural view of the wiki modules used in the design.

The UML Class Diagram below shows the templates and macros used in this design.

Class Diagram
Class Diagram


The UML Object Diagram below shows the pages that would exist for a scenario where there are two Views, each View having two View Packets.

Object Diagram
Object Diagram

Good-bye SlideShowPro, Hello Koken

In 2014 I changed direction from using SlideShowPro to Koken for custom online galleries and slideshows.

SSP Background

As a hobbyist level photographer and web developer I found SlideShowPro to provide a reasonable level of re-use and customization to present my works.  It was not perfect, but it provided a professional presentation, had decent WordPress integration, and good-enough stand-alone options for manual web-site integration.

Transition to Koken

The past several years the SSP innovation tapered off and when I revisited the photography CMS options in December of 2013 I was pleased to see what the creative peoples behind SSP had been working on; a new Content Management System (CMS) called Koken.   I describe Koken as a refactored SSP suite of tools presented as a CMS designed for photographers that addresses usability & photo management issues of SSP Director and WordPress.  Koken is a joy to use and while its Beta versions are not perfect, I look forward to using them.

While I installed and used Koken for a few private portfolio’s, I have yet to transition my public Steven Berke Photography portfolio over.  So until then, you can experience the live Koken Theme Gallery.

How I weight my decision to use Koken

A few parting words on features I value in a photography CMS so you can better assess my evaluation.  Features in rough priority order:

  1. Free Installation
  2. Installation requires minimal manual steps
  3. Free Upgrades
  4. Turn-Key Upgrade
  5. Lightroom integration
  6. Strong developer base
  7. Ability to re-use photograph assets across albums (with positive User Experience (UX))
  8. Out-of-the box widgets and styling features
  9. Strong user base
  10. Ability to apply free customizations to website
  11. Framework to develop custom extensions