[Collaboa] RESTful Collaboa Brainstorm

Oliver Legg ollylegg at gmail.com
Thu Dec 14 19:03:11 GMT 2006


With the approach of Rails 1.2 and all its restful goodies. I was  
wondering how to go about introducing REST into Collaboa.

Firstly, for all user management and login, I would recommend Rick  
Olson's Restful Authentication plugin (http://svn.techno-weenie.net/ 
projects/plugins/restful_authentication/). This would replace the  
login and user controllers.

With regards to the user login, I would like to propose a  
relationship, where User <-> Permissions <-> Projects (I think this  
can be accomplished through a has_many :though relationship, although  
I'm not sure). This would allow each user to be assigned different  
permissions to each project.

Secondly, I reckon that the milestones, projects, search controllers  
would translate to a restful approach quite easily.

Thirdly, a restful approach would remove the need for the rss  
controller.

Fourthly, I think that the repository and tickets controllers might  
need to be split up into multiple controllers. After a brief look, I  
would propose the repository controller be split into a changesets  
and repository controller. And the tickets controller being split  
into a tickets, ticket changes (possibly renamed) and an attachments  
controller.

Finally, I think there needs to be a think about how the admin  
controller can best be fitted into this approach. Personally I want  
to use REST as a free way to get an API, so that I can extend  
functions to my repositories (possibly integrating Collaboa with  
mod_dav_svn authentication, to provide a nice interface for that; or  
allowing changesets to be added from a remote machine). For the api  
to work nicely a combined controller would be ideal. Although this  
might make managing permissions harder (or even easier, if you want  
permissions for everything).

These are just my thoughts, and I would to implement some of them.  
But I would like to see what ideas the commiters and community have.

Olly


More information about the Collaboa-talk mailing list