Council application – final report

2011/08/04 at 12:48 am (Planet Gentoo) (, , , , , )

I wanted to write a proper summary, but it’s almost 2am local time for me and I have to get up in 3 hour or so to leave, so I’ll just give a short-yet-covering-everything sumamry I wrote for README of the project. I’ll try to write something more once I’m back. Also you may be interested in README and bug for deploying to Gentoo Infra.

This project has three parts:

  • Website written in Ruby (using Rails and Hobo). This site helps to prepare meetings, collect ideas and feedback from community.
  • Modified MeetBot (MeetBot is supybot plugin). This plugin handles meetings. You can use

    to list available commands and

    #command <command> 

    to view help for each command.

  • Reminder plugin. This supybot plugin pulls reminder information from the website and sends messages to all council members to remind them about upcoming meeting.

What you can do in the webapp depends on your role. You can be guest or a registered user. Once you register administrators can give you administrator and council member roles.


As guest you can only view:

  • Current and past agendas
  • Items for agendas
  • Voting results
  • Meeting summaries approved by council
  • Council attendance

Registered user

Once you register you can do everything a guest can and:

  • Suggest items for council
  • Participate in community vote

Council member

When administrator will give you a council member role you will be able to do everything a regular registered user can and:

  • Change agendas states (available states are open, submissions closed, meeting_ongoing, old)
  • Add suggested items to agenda
  • Reject suggested items
  • Vote during meetings (IRC bot handles voting)


As administrator you can manage users – give them new roles and take away old roles.

Bot has a separate list of commands:

  • #startmeeting
  • #startvote
  • #vote
  • #endvote
  • #nextitem
  • #previtem
  • #changeitem
  • #option list
  • #option add
  • #option remove
  • #timelimit list
  • #timelimit add:
  • #timelimit remove
  • #endmeeting

hopefully command names are self-explanatory. In addition bot obtains agenda items, voting options and timelimits for each item from website when you #startmeeting and sends voting option changes and voting results to webapp when you #endmeeting.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: