{"id":283,"date":"2008-01-19T21:16:42","date_gmt":"2008-01-20T02:16:42","guid":{"rendered":"http:\/\/unitstep.net\/blog\/2008\/01\/19\/using-assemblas-trac-with-eclipse-mylyn-xml-rpc-access\/"},"modified":"2009-01-25T14:33:31","modified_gmt":"2009-01-25T19:33:31","slug":"using-assemblas-trac-with-eclipse-mylyn-xml-rpc-access","status":"publish","type":"post","link":"https:\/\/unitstep.net\/blog\/2008\/01\/19\/using-assemblas-trac-with-eclipse-mylyn-xml-rpc-access\/","title":{"rendered":"Using Assembla’s Trac with Eclipse Mylyn XML-RPC access"},"content":{"rendered":"
I recently found out about Assembla<\/a>, an awesome service for managing software development projects. It provides free SVN hosting (like other sites such as SourceForge<\/a> and Google Code<\/a>) but also provides tools like Trac<\/a>, a Wiki, Scrum reporting, public or private access and up to 500 MB of disk space. (Additional features\/space are available for a cost) For many, setting up services like Trac can be notoriously difficult<\/a>, so with free<\/em> services like this, it’s hard to find any nits to pick. <\/p>\n I won’t go into too much detail about the features<\/a> since I wanted to talk about integrating the Eclipse plugin Mylyn with a Trac setup on Assembla. There can be some issues getting things to work so I’ve outlined what I did to get everything running nicely.<\/p>\n <\/p>\n Mylyn<\/a> is an excellent task-management plugin for the ultimate IDE, Eclipse. I have been trying it out for a variety of things, since I was trying to find something better than just text files for managing various tasks lists. However, Mylyn does much more than just task management<\/a> as it helps to streamline your work environment with “context”. I haven’t started using these advanced features though, but what really caught my eye was the integration Mylyn offers with various issue-tracking services such as Bugzilla and the aforementioned Trac. This is accomplished by various “connectors”, with each connector being specific to one of the issue-tracking systems. <\/p>\n Integration of Mylyn with Trac allows you to view, create and edit tickets in a Trac repository from within Eclipse. To accomplish this, there are two levels of integration, the first being simple web-based access. This is the more primitive of the two and has been around for longer. Basically, items are still edited from a web browser; the only difference is the web browser is spawned within Eclipse. This isn’t really ideal and doesn’t offer a real integration.<\/p>\n The second uses an XML<\/acronym><\/a>-RPC interface to send\/receive data and thus offers proper integration with the Eclipse environment. However, when trying to connect to my Trac setup on Assembla with this choice, I ran into a lot of intermittent 404 (not found) errors. Basically, synchronization was very flaky and by no means usable. <\/p>\n I did some searching and found this page<\/a> on the Assembla site where other users had experienced the same problem. Scrolling through the comments brought me to this nice fellow’s explanation<\/a> of the problem, where a screencast was provided showing how it had been fixed.<\/p>\n Basically, these are the steps I did to get Mylyn XML<\/acronym><\/a>-RPC integration with Trac working.<\/p>\n Go to your Trac site, then click on Admin. On the left sidebar go to General > Plugins<\/strong>. There should be a section called TracXMLRPC<\/strong>; click to expand it. You might as well enable RPC access for all of the options provided, though I’m not sure if this is necessary. Here’s a screenshot.<\/p>\n \n<\/a><\/p>\n<\/li>\n After that, you need to enable permissions for XML<\/acronym><\/a>-RPC access. Go to General > Permissions<\/strong> on the sidebar. In the “Grant Permissions<\/strong>” area, add a permission for “XML_RPC<\/strong>” for “@editors<\/strong>“. Using “@managers” for the subject might also work\/be needed if you’ve setup access for those users. This is the basically what it should be:<\/p>\n \n<\/a><\/p>\n<\/li>\n For some reason, I had weird errors when trying to synchronize\/connect to a Trac repository with no tickets. This was corroborated by the fellow who originally found the solution<\/a> to this problem. It’s a minor issue though, just click “New Ticket” and create a placeholder.\n<\/li>\n This step’s simply enough; though some suggestions recommended using Background: Mylyn<\/h3>\n
The Problem: XML<\/acronym><\/a>-RPC Integration<\/h3>\n
The Fix<\/h3>\n
\n
Enable the XML<\/acronym><\/a>-RPC plugin<\/h4>\n
Enable XML<\/acronym><\/a>-RPC permissions<\/h4>\n
Ensure there is at least one ticket in the system<\/h4>\n
Add Trac to Mylyn<\/h4>\n
http:\/\/<domain_name_to_assembla_trac>\/<space_url_name>\/login\/xmlrpc<\/code> as the URL<\/acronym>, I simply used
http:\/\/<domain_name_to_assembla_trac>\/<space_url_name><\/code><\/strong> and it worked fine. Remember to use XML<\/acronym><\/a>-RPC as your access type or you won’t get proper integration.<\/p>\n