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.

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: