Overview

Confluence Timeline

Using Atlassian Connect, this addon makes a real time timeline of Confluence attachments and comments.

Usage

  • Run 'npm install' to install dependent node modules
  • Setup up a local postgres database (use PostgresApp) called 'search_analytics' (or modify config.json to point to your DB). Tables are automatically created when you run.
  • Run Confluence using 'atlas-run-standalone --product confluence -v 5.1.3'
  • Run the add on using 'nodemon app.js'
  • Browse to your user menu -> 'Timeline' (top right)
  • Now in another browser window, add attachments or comments to a page
  • Watch the timeline magic!

For an old video of the product in action, see this video

Cool Technology

There's a lot of examples of cool technology going on in this add on.

  • Realtime updates - 'socket.io' used for real time communications and easy to do in Node. See bottom of app.js and top of routes/index.js
  • ORM data modelling / Postgres - using 'orm' and postgres. See models.js (for the model), app.js (for the Express setup) and routes/index.js (for queries)
  • REST API Access - using feebs + node. See lib/confluence.js for the start of a module to reliably access a host Confluence's REST API to retrieve data
  • Caching - using 'cache-manager' - see also lib/confluence.js for cached node method calls ('getCachedUser'). This is necessary in Connect to reduce network calls to the host server for things like users which don't change often.
  • HTML Parsing - using 'cheerio' (very efficient JQuery like parsing / manipulating of HTML). See lib/util.js
  • Utilities - using 'string' and 'underscore' all over the place for efficient coding

What's next?

  • Want to make handlebars reusable on the client side and remove ugly crufty JS
  • Permissioning isn't done at all yet (so you can see content you shouldn't)
  • More webhooks (like page create etc)
  • Better page summarisation (pull out first image)

Contact me if there's a problem, mike@atlassian.com.