1 |
(Note: this is c&p from my blog [0]) |
2 |
|
3 |
I’m going to finish work early (first week of August) so I started |
4 |
working three weeks ago. |
5 |
|
6 |
Some functionality is ready: |
7 |
|
8 |
Anyone can view agendas |
9 |
Agenda has state: |
10 |
Open – council members and administrators can edit it. |
11 |
Closed for submissions – when meeting is close and no one |
12 |
should change agenda. |
13 |
Meeting ongoing – currently unused. |
14 |
Old – old agendas, no one can change them. |
15 |
There is always exactly one agenda in state different then “old” |
16 |
(that is in open, closed for submissions or meeting ongoing state). cal |
17 |
this agenda “current agenda”. |
18 |
There is list of agenda items |
19 |
Every item has fields for title, description, and discussion(s). |
20 |
Any registered user can create a new item. Initially item is |
21 |
not assigned to agenda. There is listing of all unassigned (suggested) |
22 |
agenda items. |
23 |
Council members can add it to current agenda. Items added to |
24 |
agenda don’t appear any more on the suggested agenda items list. They |
25 |
appear as agenda items for a specific agenda. |
26 |
Council members can reject it. Rejected items don’t appear |
27 |
on suggested agenda items list. |
28 |
For every agenda item there is voting options list. |
29 |
Anyone can register |
30 |
Registered user can be marked as administrator |
31 |
Registered user can be marked as council member |
32 |
I started work on the IRC bot |
33 |
When someone says #startmeeting (in addition to everything |
34 |
MeetBot usually does) it obtains two JSON files containing: |
35 |
Array of nicks allowed to vote on the meeting |
36 |
Array of agenda items. Each agenda item is array. First item |
37 |
of that array is title of agenda item. Second item is array with voting |
38 |
options for agenda item. |
39 |
This looks a more complicated then it really is, so here is |
40 |
an example: suppose current has two two items: ‘What I will eat for |
41 |
diner’ and ‘Should I walk the dog before or after dinner’. Voting |
42 |
options for the first one are ‘Pizza’, ‘Sandwiches’ and ‘Nothing’. |
43 |
Choices for the second one are ‘Yes’ and ‘No’. This results in an array: |
44 |
|
45 |
[["What I will eat for diner", ["Pizza", "Sandwiches", |
46 |
"Nothing"]], ["Should I walk the dog before or after dinner", ["Yes", |
47 |
"No"]]] |
48 |
Other commands I added are: #nextitem, #previtem (to change |
49 |
currently discussed item), #startvote, #endvote, #vote(to vote). |
50 |
When someone issues #endmeeting command bot posts voting results |
51 |
(JSON with hash mapping agenda item title to hash mapping nick to voting |
52 |
choice). |
53 |
|
54 |
For short description of project and sources, read this[1]. |
55 |
|
56 |
[0] |
57 |
http://ahenobarbi.wordpress.com/2011/05/30/council-application-weekly-report-1/ |
58 |
[1] |
59 |
http://ahenobarbi.wordpress.com/2011/05/30/council-application-short-introduction/ |