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

From The Document Foundation Wiki
Jump to navigation Jump to search

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.

Work flow

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


Voting for applications in gerrit

Task for MC-members.

Logging in

  • Login in gerrit,n,z


  • 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)

review in gerrit

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

submit in gerrit

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


 $ ./mcm list --format=html

Quick reference for handling applications, mcm-database..

file containing

  • 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#Information_to_start_working_with_the_mcm-database_and_mcm_application 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:// 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