Generate index cards, wiki pages and pdf files from your product backlog spreadsheet – Part 2

Agile, Media wiki

In this article we’ll extract information from an MS Excel spreadsheet using python’s xlrd library.


Generate index cards, wiki pages and pdf files from your product backlog spreadsheet – Part 1

Agile, Media wiki, Project management

Henrik Kniberg  has an excellent  Microsoft Excel spreadsheet for tracking Agile/SCRUM product backlogs.

On Windows platforms, there’s even a button to generate  printable story index cards from the backlog items.

However as a Mac (MS office for Mac) user and Linux (OpenOffice/LibreOffice) user I found that the macros simply didn’t work for me, even after a bit of hacking.  OpenOffice’s VBA implementation has some interesting incompatibilities with the Microsoft equivalent – and Microsoft, in their infinite wisdom, have removed the VBA support from MS Excel for Mac  – and so are pushing me firmly towards an OSS solution.

I also faced an additional challenge: As well as index cards, I also the need to generate a readable PDF version of the document (using data read from the spreadsheet) and the ability to generate a mediawiki page (again using data read from the spreadsheet).

I want a solution that will work both on Linux (ubuntu) and Mac OSX  (though the solution I came up with probably ought to work on Windows too).

                /---> index cards
Spreadsheet --->
                \---> mediawiki page
                   \---> PDF document

To achieve the desired functionality and portability, I elected to use my favourite scripting language, python and the  excellent xlrd module for reading Microsoft Excel spreadsheets.

Automatically updating/replacing/editing a mediawiki page from a python script with mwclient – an example

Agile, Media wiki, Project management

Many workplaces have mediawiki wikis – and these are often the information hub for a team or, indeed, the entire organisation.

Rather than generating  a new web page on a different web server to display a semi-regularly updated computer generated report, I thought (perhaps) it could be convenient to have a tool which permitted the easy replacement of a particular page.

I recently undertook to develop such a tool – and, in researching, discovered the excellent mwclient library   – although it _is_ somewhat lacking in examples/documentation.

As luck had it, the reporting tool I was using already generated output in mediawiki markup  on stdout – so all I needed to do was write a tool that could read a page contents from stdin and then upload it to a predefined page on wiki.