Analytics Plugin for Confluence 1.2 released

analytics-plugin-icon-60pc Last week I released Analytics Plugin for Confluence 1.2 on the Atlassian Plugin Exchange.

It’s been 6 months since the initial release which was only tested on Confluence 3.0. This time I’ve added a new dashboard section, full support for Confluence 3.1 & 3.2 and a pile of macro parameters as requested by Guy Fraser. The release notes are here. Confluence 3.3 is just around the corner, so I’ll add an update for that when it comes out.

Thank you

The Confluence community has shown a great deal of support and encouragement since the plugin was originally released. For example, Atlassian blogged about it before I got a chance to. So thanks to all for your support.

The plugin was name checked by Sherif Mansour – Atlassian’s Product Manager for Confluence in the Confluence State of the Union presentation at Atlassian Summit 2010 at the start of the month. Watch it all, but concentrate especially around 5:10!

This week Google approved the plugin for their Google Analytics Application Gallerytake a look here. The Apps Gallery has only been going for about a month so I’m really excited about being a part of it. The slight name change and new logo were done to fit in with the Application Gallery Policy.

Bitten a lot by a bitlybot

Bitly

This website and one or two others I run recently experienced what appeared to be a denial-of-service attack.

Looking at the access logs, I could see several tens of thousands of requests all originating from a range of amazonaws.com IP addresses. All with the useragent “bitlybot”.

This post is a quick postmortem of what went wrong and why.

Hide wiki markup – Confluence user macro

A simple Confluence user macro to hide access to the View Wiki Markup menu link…

{hide-wiki-markup}

tools-menu

One thing I love about Confluence is the way that you can browse other people’s pages and steal their superior layout ideas for your own wiki pages.

It’s dead easy to do. Go to the Tools drop down menu and click on the View Wiki Markup link. A new window will open containing the wiki markup for the page. You can now copy the bits you like and discard the rest. Your friends and colleagues will be impressed by your wiki skills and you can continue on your path to becoming a wiki ninja.

But what if you don’t want to share those wiki markup skills?
That’s not very collaborative, I know. But there are entirely valid reasons that you’d wish to disable this feature.

What we really want to know about UK politics – Google Suggest reveals all

In light of the newly changed UK government and recent blogpost about Google Suggest, I thought I’d check the current state of the nation’s thoughts as predicted by Google UK.

How? Type part of a sentence in the search form, then sit back and wait for the concerns of the people to be revealed.

Meta tags are your friend part 2: Space specific tracking in Confluence with Google Analytics

I’ve previously written a number of posts about Confluence and Google Analytics (GA), including how to set up GA on Confluence and pointers for GA reports you should consider. Lastly, I wrote the Confluence Google Analytics Plugin (CGAP) which provides space specific GA reports from within Confluence.

However, I’ve not been entirely happy because there wasn’t a method to allow complete tracking of all space specific Confluence pages using CGAP or the reports that I’ve previously described.

This has been documented elsewhere, but briefly, the problem is with…

  • pages with punctuation in the title e.g. This page is bad for Analytics, isn’t it? (hover on the link to see the URI)
  • short URLs e.g. /x/2Bq9Ag
  • space administration e.g. /spaces/spaceadmin.action?key=spaceKey
  • page edits e.g./pages/editpage.action?pageId=XXXX
  • page creation e.g. /pages/createpage.action?spaceKey=spaceKey&fromPageId=XXXX
  • add/view attachments e.g. /pages/viewpageattachments.action?pageId=XXXX
  • page history e.g. /pages/viewpreviousversions.action?pageId=XXXX
  • view wiki markup e.g. /pages/viewpagesrc.action?pageId=XXXX

…and so on. I think you get the picture.

For any page where there is a real interaction with the wiki — such as page creation or page edits, attachment viewing or uploading — it is very difficult associate that interaction to the space where the interaction took place. Damn. That’s the main point really. Wikis are for collaboration — editing and creating content — not just passively reading.

It really bugs me that the URIs in Confluence aren’t built up so that they always provide a context of where you are. But what can we do?

This post suggests 2 possible solutions to this problem:

  1. A Javascript only method
  2. A Javascript and velocity templating method

Both have their drawbacks, but they do let you get a little closer to understanding what your users are doing within your Confluence spaces. Try them out and please report back on your preference or your own alternative solution.

Meta tags are your friend part 1: Tracking roles in Sungard Luminis with Google Analytics

At work, we use Sungard HE’s Luminis portal (v3.3) — It’s been good to us over the years, but there’s a lack of usage information regarding users’ roles and their interactions with Luminis.

In the past, we’ve added Google Analytics to Luminis to track the interactions, but never managed to fully segment user roles. Until now.

Out of the box, Luminis has roles such as staff, student, faculty, ProspectiveStudent etc. Users can have one or more of these roles and other custom roles too. If we could capture all the roles and pass them onto Google Analytics, then we’d be able to fully segment the user types and gain a better understanding of how each segment uses Luminis.

This post aims to show how this is possible in just 3 steps:

  1. XSL: Edit nested-tables.xsl to add a custom meta tag for the luminis roles
  2. Javascript/jQuery: Read the custom meta tag and set a custom variable in Google Analytics
  3. Google Analytics: Create custom segments to view traffic for specific Luminis roles

Dear Apple Inc.

UK postage stamp

Please fix the search UI in Safari on the iPhone.

I’ve been using the iPhone for some time now and overall, the interface is really slick. The buttons are consistently placed and this gives a really strong user experience. Everything appears to be in the obvious place.

The trouble is, I like to search the web and it looks like you’ve forgotten your own iPhone user interface rules for this area.

Some thoughts on developing my first Confluence plugin

ga-idea

I recently started building Confluence plugins. The first one being my Google Analytics plugin for Confluence. This post outlines my “journey” into Confluence plugin development. It documents a beginner’s pitfalls when developing with the Atlassian Plugin SDK. Hopefully others can learn from, or at least laugh at my mistakes.

Where I was starting from:

  • No experience of maven
  • No understanding of how Confluence plugins work or how they are written
  • Some experience of Java – Mainly uPortal/Luminis portal development for the University of Nottingham and some consultancy work e.g. for Astra Zeneca, Documentum and 3Com
  • No experience of unit testing or integration testing in Java – oh dear
  • I prefer UI work to real programming

Announcing: Google Analytics plugin for Confluence

Google Analytics

I’m pleased to announce the release of my first Confluence plugin — Google Analytics plugin for Confluence.

It lists Google Analytics reports for a particular Confluence space – from within that space. The current version has 10 reports and shows the first 20 results for each report.

  • Top Content
  • Depth of Visit
  • Internal Search
  • Browser and OS
  • Browser Version
  • Screen Resolution
  • Network
  • City
  • All Traffic Sources
  • Search Engine Keywords

Portal UI Design Patterns

Here are the slides from a talk I gave at the European Luminis User Group in Nottingham last week.

Outlined are some thoughts behind reusable UI elements in the Luminis portal at the University of Nottingham.