We're starting work on Tracker badges and widgets. Our goal is to allow you to share information about your project or backlog on your website, or to promote Tracker and Agile Software in general.

Our current thinking is a few widgets that expose project summary data and stories, as well as something along the lines of "I <3 Tracker"/"I <3 Agile Development" badges for those who just want to spread the love without sharing their private project data. We imagine these being used on open source project pages, personal websites, and blogs.

So I ask you: What information would you like to share (story summaries, upcoming stories, members, etc?). If your project is private do you want to be able to expose some of this information anyway? If you are interested in sharing your love of Tracker and Agile Software but not your project data what kind of badge(s) would you want?

As always, thanks for your feedback!

Dan PodsedlyDan Podsedly
Faster Pivotal Tracker story writing with Slurper
edit Posted by Dan Podsedly on Monday December 28, 2009 at 08:29AM

Written by our friends at Hashrocket, Slurper lets you create stories as plain text files and import them into Tracker via the API. Also, if you use Vim, check out slurper.vim, a Vim companion script with syntax highlighting and key mappings.

Adam Lowe's blog post talks about these really useful new tools in more detail.

For other Tracker tools, see the 3rd Party Tools page.

Mike DalessioMike Dalessio
NYC Standup Roundup for Dec 14th - Dec 24th
edit Posted by Mike Dalessio on Monday December 28, 2009 at 07:17AM

Happy Holidays from NYC!

Interesting

  • Someone noticed that rspec's should_not (rdocs here) returns false when the spec passes, whereas should returns true when it passes. This has unexpected results when a should_not is used within a Webrat wait_for loop (code here) -- wait_for loops until its body returns true. Fail!
  • John Resig has implemented a jQuery.require method that should be in the next release. Check out the commit and the lengthy discussion here. Everyone's a critic.
  • One Pivotal project that recently switched from MySQL to Postgres noticed that PG sorts NULL values differently than MySQL. The default in PG is NULLS FIRST when ordering DESC, and NULLS LAST otherwise. You can override this behavior by using a NULLS FIRST or NULLS LAST clause in your ORDER BY.
  • Someone was reminded the hard way that Ruby's rescue, by default, only catches exceptions inherited from StandardError.

Help

  • Does anyone know of a service or library that will convert an email into a tracker story? The use case is stake holders who send UI/UX requirements within emails with attachments, etc.

Nathan WilmesNathan Wilmes
Standup 12/21/2009: Bundler and symbol.to_proc
edit Posted by Nathan Wilmes on Monday December 21, 2009 at 09:47AM

Ask for Help

"How do I make attachment_fu use both the file system and S3 as storage backends?"

One of our clients would like to migrate attachments from the file system to S3. They want a clever way to make attachment_fu look in S3 or the filesystem, where new files are in S3 and old files are in the filesystem.

Their current solution, which they're not super happy with, is to monkeypatch the S3 backend by extending it with file system methods. This solution doesn't really seem to work too well, since the two backends share some of the same methods, and calling "extend FileSystemBackend" doesn't give them the freedom to pick and choose their methods. In addition, their patch makes the S3 backend not be an S3 backend any more, which could cause problems for maintenance down the road.

A better solution is to define a new backend object, based on the S3 backend but falling back to file system-style methods. Attachment_fu supports defining custom backend modules; a class using :storage => :my_storage would look for a backend module called Technoweenie::AttachmentFu::Backends::MyStorageBackend.

Attachment_fu still has a design problem. The backend objects are all modules, not classes. As a result, it's not easy to make a new backend descend from one of the existing backends.

Interesting Things

  • The new version of the bundler gem, version 0.7.2, does not seem to be Ruby 1.8.6 compliant. The gem relies on symbol.to_proc, which is part of Ruby 1.8.7 (and Rails). A native Ruby 1.8.6 without Rails does not support this method.

Issue tracking: http://github.com/wycats/bundler/issues/#issue/134

Dan PodsedlyDan Podsedly
MobiTracker - new iPhone app for Pivotal Tracker
edit Posted by Dan Podsedly on Thursday December 17, 2009 at 07:15PM

MobiTracker, written by Steven Nie, is a new iPhone app for Pivotal Tracker. It uses the Pivotal Tracker API, and supports off-line reading and editing of stories, search, email, and more.

Track-R logo

MobiTracker is available for download now on iTunes.

Matthew KocherMatthew Kocher
Standup 12/17/09 - Rspec/Rack eats your cookies
edit Posted by Matthew Kocher on Thursday December 17, 2009 at 09:13AM

Interesting Things

  • The combination of Rspec and rack assume everything is a single domain, so you can't check cookies for xyz.foo.com and foo.com separately. Should you encounter this, be prepared to check the header manually. You also won't be able to delete more than one cookie at a time.

Matthew KocherMatthew Kocher
Standup 12/16/09
edit Posted by Matthew Kocher on Wednesday December 16, 2009 at 09:16AM

Ask for Help

  • "Does anyone know why directory globbing order differs by system architecture?" This problem bit this stand up blogger yesterday. An entire directory was required, and on a mac the order is alphabetical. On linux it's apparently random, most likely based on inode order. Ruby doesn't gaurantee an order, so something that may "just work" on a mac purely by luck might not work on linux/bsd/windows.
  • "Is anyone using unicorn on EngineYard?" Not yet.

Interesting Things

*Keep files continued - The keep file will cause the original file to be retained, so just touching the keep file is fine. No need to mess with sym links or anything of the sort

Edward HieattEdward Hieatt
SF.TUG, December 2009 edition
edit Posted by Edward Hieatt on Wednesday December 16, 2009 at 08:46AM

Yesterday we held a TUG over lunchtime at our San Francisco offices. The subject was "Tracker 101". Thanks to all those who came; some good questions came up, and we hope you found it useful!

TUG

Matthew KocherMatthew Kocher
Standup 12/15/09 - Rubymine, Chef, Passenger and more
edit Posted by Matthew Kocher on Tuesday December 15, 2009 at 09:42AM

Ask for Help

"How do I get Rubymine to run Selenium tests?"

"sh: java command not found" - Tried setting environment variables in bash.rc. Rubymine doesn't use bash so it doesn't get the bash environment. You can set the variables in launchd.conf (be careful of the syntax), start Rubymine from the shell, or set the path in Rubymine.

It was brought up that Chef could be used to maintain these changes, and make it easy to spin up new developer workstations. It's agreed that it would be better than shell scripts, but unclear if it would be worth the effort.

Interesting Things

  • EngineYard, Chef, keep.appname.conf - appending keep will prevent chef from overwriting the file.
  • BufferedLogger flushes every 1,000 lines - It's buffered, after all. However, rails uses BufferedLogger by default in production, so when you switch to troubleshooting a a production issue, be aware. "Just poke it 1k times" was offered as a solution, but setting sync equal to true is probably easier.
  • Phusion Passenger/Facebooker/Threads Locals - All requests in passenger run in the same thread, which means the thread locals are shared. Facebooker is storing the facebook session in thread locals, which causes bad things to happen. This was difficult to debug as the team wasn't using passenger in development.

Interesting Things

  • Tweet this has some peculiarities which took some Pivots a while to figure out. The URL you want is http://twitter.com/home?status=this+is+my+tweet - Using www causes a redirect, and leaving off home appears to work, but will lose the message if the user is not currently logged in to twitter and has to go through the log in dialog.

  • A pivot asks if anyone uses the "tweet/share/digg/blog/sharethis/email/overshare" links. Two pivots do, one thinks they're "rarely used but requisite" and one has added them to a project recently and promises to report back in a few weeks with some log data.

Ask for Help

"Does anyone use Delayed Job with more than one worker process?"

One project is trying to use four workers, and can't find a way to monitor their individual status. The current solution is to spin them all down and then up, which not optimal. One suggestion is to wrap the entire thing in a rescue block, though this is probably not optimal.

Other articles: