Skip to content
fire edited this page Oct 10, 2011 · 18 revisions

Contributing

Want to help All Our Ideas? We have several open problems, and solving these would really help us and all of the All Our Ideas users. We've split things up into easier tasks and harder tasks, and we recommend trying an easier task first. Of course, you should let us know if you have any questions about any of these tasks.

Easier Tasks

Adding new API calls

These tasks will involve working with the pairwise-api repository. Here are the general steps required for completing one of these tasks:

  • add methods to the proper models that will get us the data we're looking for
  • add tests for new model methods
  • create new controller action that will call new model methods and return XML
  • add new route for new controller action
  • add tests for controller action

See this commit for an example that created a new API call: https://github.com/allourideas/pairwise-api/commit/1a096cc

Research new map widget for displaying data

We're currently using http://code.google.com/apis/chart/interactive/docs/gallery/geomap.html to power some maps on our results page (Like the world map of all votes). However, we'd like to use something a bit more interactive that allows zooming. We'd like you to research any available widgets to add a new ability to zoom into the maps. Also, it would be good to verify that the new widget can be easily integrated into our current setup. You can view our current implementation here: https://github.com/allourideas/allourideas.org/blob/master/app/views/questions/voter_map.html.erb

See http://blog.allourideas.org/post/5137327337/languages-and-all-our-ideas for more on our internationalization efforts.

Harder tasks

Refactoring

It might be possible to speed up some of our most used API functions. If so, please let us know or even better try it yourself.