May 13 2013

Use Tomcat URL rewriting to serve external images for Atlassian JIRA avatars

Atlassian makes some great workflow and knowledge management tools.  They are perhaps best well known for JIRA, originally used for tracking development issues.  In recent releases JIRA has become much more of team-friendly tool to manage projects during their entire life cycles.  As such there are a bunch of niceties such as personal profiles.

I recently installed and configured JIRA at Mullen.  We use ActiveDirectory (as I’m sure many of Atlassian’s clients do) and so I configured JIRA to delegate authentication to ActiveDirectory.  This means that users created in JIRA must have the same username as their ActiveDirectory account.  Mullen also has an internal personnel directory which has headshots of everyone in the agency with filenames that match their ActiveDirectory account (first initial, last name, e.g.: dfeinzeig).  I wanted to find a way to have JIRA use these pre-existing headshots without having to manage each user’s JIRA profile.

Continue reading


May 12 2013

Behold the power of default – How to set the default argument of a Django model field equal to a class method using lambda

Django model fields accept an optional default argument to set the default value of the field.  This can be either a value or a callable object.  A very common use for the default argument is to set created_at and modified_at datetime fields to datetime.datetime.now.  But default can be much more powerful than that.

Continue reading