Council application – weekly report #10

2011/08/01 at 3:39 pm (Planet Gentoo) (, , , , , , )

This is my last weekly report – I started working on my project earlier because I’m leaving on Thursday morning (plane takes off on 7:40 a.m. local time, ouch). I’ll write a final report summing up what I did during the project before I leave, this report is summary of what I did last week.

  • I fixed a problem with MeetBot tests (there was one test that failed because it tried to create symlinks that already existed on my system
  • I read all code I wrote and did some refactoring
  • I wrote a proper front page for the application
  • I fixed a bug in a gem the site was using (if you made a mistake during signup it would show your password in plain text input)
  • I wrote usage hints for possibly non-obvious forms in the webapp
  • I added license information to webapp.

For short description of project and sources, read this.

Permalink 1 Comment

Council application – weekly report #9

2011/07/25 at 1:45 pm (Planet Gentoo) (, , , , , , )

Last week I was working on:

  • Preparing database seed for demos.
  • Made some more changes to Hobo to make it easier to use.
  • Wrote custom poll functionality (I planned to use Doodle API, but I had problems with authentication)
  • Improved code metrics.
  • Added support for basic summaries:
    • Council members can edit  summaries.
    • Council members can approve summaries.
    • All approvals are canceled after summary changes.
    • Regular users can view a summary after 4 council members approve it.

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #8

2011/07/19 at 1:00 pm (Planet Gentoo) (, , , , , , )

Last week I:

  • Opened bug asking for deployment to Gentoo infrastructure.
  • Worked to push some changes I made to packages maintained by someone else (capybara-webkit, MeetBot, Hobo).
  • Fixed some code that produced warnings

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #7

2011/07/12 at 2:54 pm (Planet Gentoo) (, , , , , , )

Last week I continued work on hobo-based application:

  • If you enter url to message on gentoo-archives as “discussion” for agenda item application will use it to calculate how long discussion took.
  • I worked to use Doodle to help planning meetings. Doodle REST API is pretty easy (my code words with doodle-test ) but I didn’t manage to finish authentication. Authentication is oauth-based but I couldn’t authenticate with oauth(2) gems.

I made some changes to hobo. In the application I’m writing I had to set
:null => false
for most fields, my patch adds configuration option null_false_by_default. If you turn it on all text, string and boolean fields in all models will have

:null => false

set by default.

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #6

2011/07/05 at 11:36 am (Planet Gentoo) (, , , , , , )

Last week I was working mostly on the website part of my project:

  • I fixed some bugs:
    • If for some reason there was no current agenda(for example it was removed when application was running) the application crashed. Now whenever it tries to access current agenda application will check if there is a current agenda. If there is no current agenda it will create one.
    • When council didn’t have any meetings yet.
    • Some buttons were in weird places, now they are where they look nice.
  • Now all users will be able to vote using the webapp. Those votes are just to let council know what community thinks.
  • Now it’s possible to use markdown when describing ideas.

Also bot will give meeting log to agenda and it will store it for later use.

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #5

2011/06/28 at 11:04 am (Planet Gentoo) (, , , , , , )

Last week I worked to improve MeetBot:

  • I added support for #changeitemcommand – it allows you to move through agenda items faster then #netxitem/ #previtem.
  • Bot will close voting after last vote
  • Bot can  send reminders. You can add reminder with

    #timelimit add :

    remove it with

    #timelimt remove message

    list set reminders with

    #timelimit list

    or set them in web application before meeting. Changing item removes all reminders.

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #4

2011/06/20 at 10:34 am (Planet Gentoo) (, , , , , , )

Last week I used metrical on the web app and improved tests coverage and variable naming. I also removed some stuff it reported as “code duplication”. Metrical warned about some stuff, but I couldn’t find a reasonable way to fix it.

I tried to switch to capybara-webkit for cucumber tests but I couldn’t find a way to remove session cookies (and I need it to test “Remember me” feature) so I made a feature request (including a suggested patch) and I’m waiting.

I added
#option add
#option remove
#option list

commands to MeetBot to allow changing voting options during meeting (I must do some work on the webapp end to handle added and removed option properly).

I also improved tests for my changes to MeetBot and wrote test for Reminder (the Supybot  plugin I wrote last week).

For short description of project and sources, read this.

Permalink Leave a Comment

Council application – weekly report #3

2011/06/13 at 9:32 am (Planet Gentoo) (, , , , , , )

Last week I:

  • Wrote Supybot plugin that regularly fetches JSON data from given location. Then it checks timestamp, if timestam is newer then previous it sends message to listed users.
  • Application now tracks slaking properly – it marks participation after meeting (council members who voted at least once are present). Then it calculates “slacking status” for current council members based on council term start date and participations.

For short description of project and sources, read this.

Permalink 2 Comments

Council application – weekly report #2

2011/06/07 at 9:01 pm (Planet Gentoo) (, , , , , , )

Last week I:

    • Fixed some bugs
    • Added support for proxies:
      • each council member can appoint one proxy per meeting
      • proxy must not be a council member
      • council member who appointed proxy will not be listed as ‘voter’ (for IRC bot)
      • appointed proxy will be listed as voter
    • Nearly finished work on bot
      • It obtains list of users allowed to vote from application
      • It obtains list of agenda items (with voting options for each item)
      • It helps to manage meeting (you can use #nextitem and #previtem commands)
      • It manages voting (#startvote, #endvote)
    • Application can send email reminders about meetings.

For short description of project and sources, read this.

Permalink Leave a Comment

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