Mingle Tip: Automatically Refresh Mingle

I’ve seen many teams using Mingle as a card wall instead of using real index cards. Usually the teams are distributed, so real cards wouldn’t help anyway. They all run into the same problem that Mingle doesn’t have a feature to automatically refresh a page throughout the day as the team updates cards. I’ll show you a few simple solutions you can choose from to refresh Mingle automatically.

Firefox Extension

A quick and easy solution is to use a Firefox extension that can automatically refresh any page called ReloadEvery. This is probably the least amount of work and works just fine.

HTML IFrame

I’ve also created a small bit of HTML that uses Javascript to refresh an IFrame that takes up the whole page. Just change the google URL to whatever page you need to point to and the amount of seconds you want it to refresh (set to 5 right now). It works in all of the browsers I could find.

Download Radiator

Mingle Tip: Search Mingle Projects Directly In Firefox

Do you love using Firefox’s built in Google search? Wish there was a way you could do that with your Mingle projects? Well, now you can with the code below.

I’ve provided a download of the xml file here.

You’ll need to edit the file to point to the Mingle project you want to use the search tool with and then you need to install it into your searchplugins directory for Firefox, which for Windows is probably something like

C:Program FilesMozilla Firefoxsearchplugins

and for Mac is something like

/Applications/Firefox.app/Contents/MacOS/searchplugins/

Drop the xml file in the folder and restart Firefox and you’ll have your new Mingle search up and running. It should look like this

Note: I’m working on getting this to work as described in this mozilla dev article for Mingle. It shouldn’t be too hard since we can modify views in Mingle. I’ll blog about it if people are interested.

Mingle Tip: Make A Better Project List

You don’t have to wait for the Mingle team to make improvements to your project list. It’s been requested in “the forums”:http://studios.thoughtworks.com/discussion/, but I got tired of waiting for a simple CSS change, so I did it myself with “Stylish”:http://userstyles.org/. Just copy the code below (or better yet, find the base.css file that you need to edit to make this change).

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {

.project {
   float:left;
   height:100px;
   width:300px;
}
.action-bar { clear:both; }
.round-corner-wrapper { height:91px; }
}

Your project list will then look like this:

Mingle Project List

One thing to note is that it doesn’t currently handle long project descriptions too well right now. I’ll try to get that fixed and I welcome any fixes to the above CSS changes to make it better.

Mingle Tip: Change A Password When Mingle Won’t Send Email

This trick probably won’t be used that often, but it might be nice to have if you get stuck. If you have a Mingle installation that isn’t configured to send out emails and you have forgotten your password for some reason, you can change your password if you’ve got access to the database.

mysql> update users set lost_password_key = 123, lost_password_reported_at = CURRENT_TIMESTAMP where login = your_username;

Once you do that, you can go to this URL (substitute values for your installation):

http://your-mingle-installation.com:8080/profile/change_password?ticket=123

That will let you reset your password.

Mingle Tip: Pipeline Your Team

Working on a larger team can really show off some of the flexibility and power of Mingle. Often, teams use Mingle as a virtual story wall. The grid view is a valuable tool to manage cards this way, but it can become overwhelming when actually working with the cards on a daily basis. Different parts of the team are not always concerned with all of the stages their cards are in. Creating segmented work areas for your team can help them get to exactly what they want with minimal searching. I call this Team Pipelining. Let’s take 3 examples and see how pipelining your team can help.

h3. Analysts

Analysts need a view of their own for upcoming story management. Without all of the distractions of current development, analysts get a focused view of what work they need to complete. Iteration or Project Managers can get a quick view of all of the stories that will be ready for development and can use their area to prioritize it. This view is simply a grid view on 3 card statuses for this project which is a card property.

Mingle Analyst Pipeline

h3. Developers

Developers want to find stories that need to be picked up or are being worked on quickly, so this view is more for them as well as anyone that’s interested in the development progress of the iteration at a low level.

Mingle Dev Pipeline

h3. Testers

Testers want to see when cards get past development and how they are being tested. Sorting their cards by another property called “Test Status” and applying some filters to only show cards that have been finished by the development team, testers can get a work area all their own that only shows that they need to immediately work on.

Mingle Testing Pipeline

h3. Coming Up

Sharp readers will notice that I didn’t use Iteration Planning as an example here. That’s coming in another Mingle Tip because it deserves it’s own special treatment.

Mingle 2.0 will make Pipelining even more powerful by adding story trees and all sorts of cool filtering abilities that will allow Mingle to fade into the background, so to speak, and let your teams focus on what they need to get done.

Mingle Tip: Make Your Own Full Screen View

I stumbled upon a question in the “ThoughtWorks Studios forums”:http://studios.thoughtworks.com/discussion/forums/1/topics/60 that never really got answered about having a full screen mode in Mingle. Using the steps I showed you from my last article, I’ll show you how to get rid of some interface elements that you may not need once you’ve got Mingle set the way you like using “Stylish”:http://userscripts.org/stylish again.

The code below will give you what dpattins wanted with comments explaining what each of those CSS selectors do. Note that you could further scope your stylish script to the card list in case you want the navigation back on other parts of Mingle.

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {
/* #hd = header navigation
   #sidebar = filtering sidebar
   .basic-panel-one = card adding section
   #lanes-header = group/color selection  */

#hd, #sidebar, .basic-panel-one, #lanes-header {display:none !important}
}

Mingle Tip: Modify Mingle’s Look and Feel

This will probably only be interesting to a few people, but I’m putting it out there anyway. I’ve gotten tired of the orange header and yellow background in input fields in Mingle and decided to make a quick user stylesheet for use with “Stylish”:http://userstyles.org/stylish/.

Here’s the code you’ll need to make the header look like what you want and get rid of the yellow behind the input boxes when you are working on them. You can either paste this directly into Stylish as a new style or you can use the CSS rules in your own way. Just change the “my.mingle.installation.com” to the URL where you installed Mingle.

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document domain("my.mingle.installation.com") {
  /* Header Styles */
  #hd, #hd-bottom, #hd-nav li.menu-item, #hd-nav li.menu-item a.first-link {background: #000 !important;}
  #hd-nav li.current-menu-item, #hd-nav li.current-menu-item a.first-link {background: #FFF !important;}

  /* Input Boxes */
  input:focus, textarea:focus {background-color:#FFF !important;}
}

I may create a Firefox extension that will integrate more features like this for people if there is interest.

Mingle Tip: Longer Session Timeouts

Have you ever been editing a card in Mingle and you lose your data because the session timed out? Well, if you are comfortable editing a config file in <mingle directory>/config/web.xml you can make the session timeout much longer. Here is what it looks like by default:


  60

You can change it to be something like this:


  6000

That works out to be around 4 days for the timeout, so all you need to do now is restart Mingle on the server and you shouldn’t be bothered by it any more.

Mingle Tip: Keeping Casual Users In The Loop

Mingle History Filter
In some projects, there are sometimes people that want to stay informed of what is happening without having to login to Mingle constantly.

One good example is someone that has to verify that work has been completed by the development team.

Our fictional customer, Sandy, is a busy person and would like a way to keep informed of when she needs to look at the work the development team has done so that she doesn’t get behind. She doesn’t have time to check Mingle all day and lives in email and feed readers all day.

Fortunately for Sandy, Mingle has a simple and powerful solution for her. By simply going to the History tab in Mingle, she can see all of what is going on in real time. But wait, there is too much information that Sandy doesn’t need to look at. Sandy needs to take a few steps to give her just what she needs with all of the steps highlighted in the image on the right.

# Sandy only wants to know what she needs to act on. She doesn’t care about updates to pages or code checkins. So clicking on the cards checkbox limits her search just to cards that are changing.
# This is still too much information, so she further narrows her choices down by selecting only to look at stories because she doesn’t need to know about defects.
# Her final choice is to select that the card changed to a story status of “In Customer Review” because that’s where she knows she’ll need to take some action and look at the work her team is doing.
# Sandy can then choose how she wants to stay informed via feed or email.

Mingle now keeps Sandy up to date on what she needs to review. She’s happy because she can keep up to date even while she’s out of the office.