Archive for the 'Trac' Category

Email masking for anonymous users

January 24, 2008

This one has been coming for a long time. We now mask email addresses to anonymous users in a way that actually destroys the ability to use the email, while still making it obvious enough who the user is. I guess you could call it the Google approach. We take the last two characters off the username before the domain and replace them with periods, much like on Google Groups. For example: becomes

This should hopefully help you feel safer using an email address as your username. We still intend to build an alias system so that you can have short, non-email usernames for your projects, but we have to put that one off for a bit.


RSS feeds for private projects work now

January 15, 2008

Assuming your reader can do basic auth, follow redirects, and store cookies… they should work. Besides some of the simple aesthetic changes done recently (and you might notice new free accounts have text ads), I spent a big chunk of today trying to get RSS feeds and iCal for private projects working. The problem was that Trac would not properly tell feed readers to send authentication credentials, so trying to add the URL would fail because of permissions.

Turns out a long while back a patch was made to help solve the issue by allowing any URL to be prepended with /login (for example /timeline would become /login/timeline) and this would prompt you to enter authentication credentials, log you in and redirect you to the appropriate URL.

This works, and should work for you with most readers. Unfortunately Google Reader and Calendar don’t seem to work with anything that requires authentication, but I tried with Netvibes and and they work just fine. Let me know how it works with other readers.


DevjaVu Web API

October 23, 2007

Recently we enabled XML-RPC access to your Trac projects. Not only does this mean you can use the advanced features of external Trac interfaces such as Mylyn for Eclipse (previously known as Mylar), but of course that you can have programmatic access to your tickets, wiki, search and milestones.

You can see all the exposed functions by going to /login/xmlrpc on your project and authenticating via HTTP if necessary. This is the URL you would use to give other programs access to your Trac, including your own. Here are some examples of using the API with Python.

We really value having lots of inputs and outputs as a web service, so we’re glad to finally make this API available. We also have web hooks that allow you to trigger your own scripts when commits happen. Just check out the Hooks section of your Admin.

Over time, we look forward to exposing more via API and hooks. One possibility is to expose SVN operations via API, so that you can programmatically use and control your repository. Imagine powering a website using the DevjaVu wiki as a content management system and exposing your repository to users via an easy to use web interface that accepts and versions the contents of zip files.

We love API’s because they open up the possibility to build great things easily. We hope you can come up with some creative uses of our API. Let us know if there’s anything else in particular you’d like exposed!


Fun with tracd clusters

June 2, 2007

Actually it wasn’t all that fun. Thanks for putting up with the random Trac outages. We’ve reverted back to CGI based Trac to keep things stable again until we can make sure tracd clusters work without dying all the time. We would have reverted back sooner, but we needed enough information in the production environment to debug back in development.

To explain this in full technical detail, we have Adrian Perez, an up and coming writer of children stories:

Once upon a time, I had some fish. They used Trac, but they all died. Then there was a picture of some fish, eating insects and larva. But they died to. It was a fanciful time for all, said the Fox. I knew that would happen said the Dog. I couldn’t tell however, as I was precipitously on the shitter. Sorry kids. It was only a mistake. Before that though there was obviously an outage to say the least. I popped it. Brace with the hips when using Subversion. I could tell you about the events of this tremulous time, but if I were to, Ninjas, as always, would attack. Most of the server outages are actually Ninja based or related. In the time of Pirates, I tried to count them all, but they were legion.

Thanks for being such awesome beta users!