Council application – weekly report #1

2011/05/30 at 6:11 pm (Planet Gentoo) (, , , , , )

I’m going to finish work early (first week of August) so I started working three weeks ago.

Some functionality is ready:

  • Anyone can view agendas
    • Agenda has state:
      • Open – council members and administrators can edit it.
      • Closed for submissions – when meeting is close and no one should change agenda.
      • Meeting ongoing – currently unused.
      • Old – old agendas, no one can change them.
    • There is always exactly one agenda in state different then “old” (that is in open, closed for submissions or meeting ongoing state).  cal this agenda “current agenda”.
    • There is list of agenda items
      • Every item has fields for title, description, and discussion(s).
      • Any registered user can create a new item. Initially item is not assigned to agenda. There is listing of all unassigned (suggested) agenda items.
      • Council members can add it to current agenda. Items added to agenda don’t appear any more on the suggested agenda items list. They appear as agenda items for a specific agenda.
      • Council members can reject it. Rejected items don’t appear on suggested agenda items list.
    • For every agenda item there is voting options list.
  • Anyone can register
  • Registered user can be marked as administrator
  • Registered user can be marked as council member
  • I started work on the IRC bot
    • When someone says #startmeeting (in addition to everything MeetBot usually does) it obtains two JSON files containing:
      • Array of nicks allowed to vote on the meeting
      • Array of agenda items. Each agenda item is array. First item of that array is title of agenda item. Second item is array with voting options for agenda item.
        This looks a more complicated then it really is, so here is an example: suppose current  has two two items: ‘What I will eat for diner’ and ‘Should I walk the dog before or after dinner’. Voting options for the first one are ‘Pizza’, ‘Sandwiches’ and ‘Nothing’. Choices for the second one are ‘Yes’ and ‘No’. This results in an array:

        [["What I will eat for diner", ["Pizza", "Sandwiches", "Nothing"]], ["Should I walk the dog before or after dinner", ["Yes", "No"]]]
    • Other commands I added are: #nextitem, #previtem (to change currently discussed item), #startvote, #endvote, #vote(to vote).
    • When someone issues #endmeeting command bot posts voting results (JSON with hash mapping agenda item title to hash mapping nick to voting choice).

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – Short introduction

2011/05/30 at 1:57 pm (Planet Gentoo) (, , , , )

I’m working on application for Gentoo Council this year. You can see current code in repository on GitHub, you can expect frequent non fast forward changes there. You can find reviewed code in repository on overlays.gentoo.org. All changes in the repository on overlays.gentoo.org will be fast forwardable.

Like my GSoC project in 2010 the main part of this will be a hobo-based ruby on rails web application. I’m using hobo-devise gem to manage authentication, to provide LDAP integration. I want to expand MeetBot to provide IRC bot that will help to manage Council meetings on IRC.

Permalink Leave a Comment