TDF/Membership Committee -Tasks-Work flow-Working with mcm

Information on the Tasks - Work flow of the MC Committee and on installing mcm

Overview membership management
The project 'mcm-database' in gerrit is feed by the 'mcm' program that is used to manage the mcm-database on the server. That mcm program (a shell script really) will update an underlying git repo, thus a local copy of the mcm-database. Then when a modification needs to be voted on (new member or renewal) the mcm program generates a patch and pushes it 'for review' on gerrit. There the other MC member can vote using 'Review' After review is done, the mcm-database on de server is updated (the patch in gerrit is submitted).


 * new member
 * new candidate email arrive on the ML
 * the MC member-on-duty creates a record in the mcm-database and that post a 'elect' patch proposal to gerrit
 * MC members vote on that patch (Review +1/-1)


 * renewal
 * a script is run regularely to detect soon-to-renew member and send them renewal notice
 * members send a renewal email in reply... that should land on the MC ML
 * the MC member-on-duty records the renewal request.... that post a patch 'renewed' proposal to gerrit
 * MC members vote on the patch (Review +1/-1).

Both for new members and for renewing ones, sometimes MC need some more info in order to vote, so they can ask trusted members, especially the ones cited by (re)new member's messages. Otherwise they can reply this persons directly for some clarification. In such cases they may profit using some MC Template Messages, customizing if required.


 * End of quarter:
 * all the pending patch in are reviewed (they should already have the needed vote already) and these patches are confirmed and applied
 * a command is run to promote elect member of the quarter to full official 'active' status
 * commands are run to 'cancel' non renewed member
 * commands are run to generate the different list of membership (one for the filing with the authority, one for updating the web-site, one for updating the member-ML regsitration etc..

More detailed information below.

Aspirant members
Apply for membership with this form. New applications for membership which reached the MC after two weeks before a quarter will be handled in the next quarter. E.g. a membership apply send on 16th June 2016 will be handled in the third quarter of 2016.

MC members
Choose one of them to be the 'MC-member-on-duty', that is the person handling the membership database.

Handling applications for membership
1. The application is added to the database by the MC-member-on-duty 2. The applicant is send a notification by email (by the MC-member-on-duty) that the application is revieved etc. 3. Other MC-members review, discuss, vote and comment. !! Though this looks as a little task, it may not be overlooked. If MC members do not vote, there can be no members and other MC members get an extra burdon in pinging their collegues. 4. The MC-member-on-duty updates the database and notificates the applicants. Then there are special actions for mailing members, generating a list of members and more. New applications for membership which reached the MC after two weeks before a quarter will be handled in the next quarter. E.g. a membership apply send on 16th June 2016 will be handled in the third quarter of 2016. This is to not get a problem between mc-db and Berlin announcement.

Diagram explaining the workflow between the mcm-database and gerrit
[[Media:MCM_Handling_Route_vs1.3.pdf]]

Voting for applications in gerrit
Task for MC-members.

Logging in
https://gerrit.libreoffice.org/#/q/status:open+project:mcm-database,n,z
 * Login in gerrit

Voting/reviewing

 * Click on the name of an applicant (the link in the column Subject)
 * The sort of button Reply, top middle of the screen, allows to vote and give comments (short cut a)
 * In the Code Review section, choose +1 (or -1), add comment and press the button Send
 * Type u to return to the list with applications (I do not know another way)



Short cut keys
For information on short cut keys in gerrit, type a ' ? '.

Finish reviewing: publish or deny
Votes + 2 to Review and +1 to Verify are needed to be able to publish (then the mcm database on the server is upated).
 * The one managing the database should do verification, and then press Send and then submit
 * In case the vote failed, press 'Abandon Change'
 * Then the MC-member-on-duty has to manually deny the person in the database



Tasks in mcm for the MC Member-on-duty
Note: the MC Member-on-duty role should rotate. This to spread the knowledge, experience and work load.

Overview tasks

 * Continuous: Handle new applications and renewal requests; this is done via the mcm-script
 * When needed: retrieve or ask for more information about the contributions of the applicants
 * Every two or three weeks: Send out renewal notifications; check first and only send in the quarter where renewal is needed
 * Every two or three weeks: check response to renewal notifications; done via mcm-script; poke people that are lame in responding
 * Every two or three weeks: handle the patches in gerrit; verify&submit, or abandon
 * Every quarter: database checks, produce lists for filing and website, sign database

Perform tasks with mcm-script
Most of the tasks, can be done with the mcm-script. Such as mailing members that need to renew membership, creating a list of the members etc., adding new member applications, entering renewal requests, creating lists of members that did not respond on a renewal reminder, etc. For all these tasks, mcm has a command. See: $ ./mcm --help For exampe $ ./mcm list will create a list of members. For details: $ ./mcm list --help Example: $ ./mcm list --format=html

Quick reference for handling applications, mcm-database..
file containing [[Media:MCM_Handling_Route_LittleAids.ods]]
 * link gerrit
 * mcm-actions for various steps/actions
 * little aid to get data from application form
 * little aid to get proper dates for various listings

Requirements to work with mcm
MC-members must have access to the project mcm-database Therefore MC-members must be in the MC group in gerrit The MC-member that needs to work on and with the membership database (useally the MC-member-on-duty) also needs to set-up mcm to be able to do so.

Installing mcm
See Membership_Committee too. Members need to set-up mcm to be able to work on and with the membership database. Therefore you need first to have an authorized key; ssh. (See sections Gerrit and pgp in the UserGuide.txt) Then install mcm: $ git clone ssh://gerrit.libreoffice.org/mcm mcm

updating mcm
When you need to update the mcm-program, do ../mcm$ git pull -r

UserGuide for the mcm application
mcm has a UserGuide.txt The UserGuide.txt gives guidance to sep up the mcm database. And give information on other tasks. As written: mcm is shell script, so has among others ./mcm --help