Whew. What a semester! Tracks has undergone a lot of work over the last few months, and the list has pretty much agreed it’s time for 2.0 in the near future. My JavaScript changes weren’t very visible, but they sure made things run faster. More visible are Henrik’s dependencies updates, integrating full task dependency functionality into Tracks. I spent the last few weeks re-writing his stuff to use the new JavaScript layer and making sure everything tests out. We also got a contribution for CAS authentication that I’m working on integrating over the next few weeks. The other major maintainer, Reinier, is taking some time off over the break, so he and I should be able to put together a great 2.0 release before the end of January.
Thanks again to Sean O’Sullivan for his generous support of RCOS, the organization that sponsored my work on Tracks this semester.
Every serious open source project has a community around it. These communities vary greatly, from open and accepting to harsh and critical. I believe that community stewardship is a critical part of being a maintainer on an open source project, and I think Tracks has a really cool community.
For many of the Tracks contributors, it was/is our first Rails project. When we start out, we don’t always do things perfectly, but the community helps us along. I felt very welcome from the start, and it seemed like my contributions were appreciated. Now that I’m acting as a maintainer, I’m doing my best to maintain the same atmosphere as we get contributions from others. For example, somebody from Evergreen College just submitted a bunch of patches, including support for Central Authentication Service, a popular auth solution for higher education. It wasn’t perfect, but we’re going to make it better and include it! On the flip side, I just submitted a four-line patch to Limelight and had it ignored because there was no accompanying test. I understand Micah’s motivations, but he has just discouraged me from using Limelight on future projects. I want to keep Tracks’s community open and inviting, and accepting patches is a big part of that.
This semester I’ve contributed more to Tracks than ever before, and it’s been really great to get feedback from the community on it. All of the maintainers, and even some of the users, have sent glowing feedback and plenty of praise for my jQuery migration and other work. This kind of positive support is great for the project, and keeps people like me going. I feel lucky to be part of the Tracks community!
As the semester comes to a close, I’d like to thank Mr. Sean O’Sullivan, RPI class of 1985, who has generously supported the Rensselaer Center for Open Source. The work I’ve done on Tracks this semester wasn’t flashy or cool, but it was important to the future success of the project. If I had not been sponsored, I probably wouldn’t have done it, but Mr. O’Sullivan’s generous support has made Tracks a better tool for everyone. Thank you!
I merged my jQuery branch to the main Tracks trunk this evening, concluding the transition from Prototype and UJS to jQuery throughout Tracks. All tests pass, and I’ve squashed every bug I could find in my own use of Tracks. There may still be a few little ones lurking in there, but that’s what merging to trunk is for. I’m looking forward to getting testing and feedback on my work from other Tracks users!
As it turns out, I’m not done yet. I’ve claimed 15 tickets in our Assembla bug tracking system, and I’ve taken over two major updates: upgrading to Rails 2.3 and merging Henrik Bohre’s dependencies fork. Another contributor has begun on internationalization of Tracks, and the upgrade to 2.3 will be a big help to him. The dependencies branch has been awaiting merging since the beginning of the semester, so that’s my next major project here.
Onward and upward!
I know it’s a little early to be thinking about it, but I’m already looking ahead toward my RCOS project for next semester. This JavaScript re-write is just about wrapped up, and I’ve got a presentation in a couple of days with what I’m doing until the end of the semester. What’s next? Groups.
A number of users of Tracks have asked for group functionality over the years, but nobody has actually done it. With the dependencies piece of the puzzle in place by December, next semester is a natural time to start allowing users to assign tasks to each other. I’m writing up a fairly extensive proposal for one of my classes, and I’ll post that here once it’s ready for public consumption. This is going to be an exciting year for Tracks!
Nothing’s final, and my choice (and participation in RCOS) could change, but I think adding group functionality to Tracks would be a huge win for everybody.
I’d like to thank Sean O’Sullivan, RPI class of 1985, who has generously supported the Rensselaer Center for Open Source and my work on Tracks. Without his support, these awesome features would not be happening.