Using Atlassian Connect, this addon makes a real time timeline of Confluence attachments and comments.
- 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
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
- 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, firstname.lastname@example.org.