Differences between revisions 1 and 33 (spanning 32 versions)
Revision 1 as of 2013-03-13 02:11:30
Size: 17474
Editor: SamMoore
Comment:
Revision 33 as of 2018-11-17 11:30:57
Size: 23411
Editor: maaxen
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
= How To Secretary =

== Overview of Duties ==

Here are the duties as defined in [[[[http://www.ucc.asn.au/infobase/policies/const.ucc#duties_sec|section 16.3 of the constitution]].

{{{
1. to maintain an up to date register of the members of the Club and their postal or residential addresses and, upon the request of a member of the Club, make the register available for the inspection of the member;
}}}
= Overview of Duties =
Constitutionally the Secretary shall perform duties as defined in [[[[http://www.ucc.asn.au/infobase/policies/const.ucc#duties_sec|constitution, including section 16.3]].

Duties as proposed under the 2014 Committee KPI Document:
  * to record all minutes of club meetings in a detailed manner and in a consistent format approved by the committee
  * to check the UCC mailbox on a regular basis
  * to communicate with the groups and membership of the club on behalf of the committee, including all emails to the mailing lists
  * advertise all UCC Events through UCC and Guild communication channels (Mailing Lists, Facebook, Guild Weekly)

== Register of members ==
Line 13: Line 14:
If someone wants to view the register, it is probably best to [[https://secure.ucc.asn.au/members/auth/user/|add a user]] in MemberDB. Leave the password empty. Make sure they are not staff or superusers (or they can alter the database).

----

{{{
2. A member may make a copy of or take an extract from the register but shall have no right to remove the register for that purpose.
}}}

Do not let people take the paper membership forms, just add them as a user in MemberDB (see above).

----

{{{
3. to carry out the administrative work of the Club for which the Committee does not appoint or elect an officer;
}}}

This is pretty much all the administrative work except what the Treasurer does.

----

{{{
4. to record the proceedings of all General Meetings and meetings of the Committee and make these minutes available in an easily accessible portion of the Club online presence;
}}}

The minutes should be uploaded to http://www.ucc.asn.au/infobase/minutes/YYYY/YYYY-MM-DD.txt and emailed to [email protected]
See [[#Minutes|Minutes]].

----

{{{
5. to conduct and keep copies of all correspondence to the Club;
}}}
If someone who is not a club administrator wants to view the register, they are only entitled to see the name and postal address of other members, in which case it is best '''not''' to create a user for somebody who wants to view the register. If a member wants to view another members postal address they may ask an administrator (wheel or committee member), or if they want the entire list they must ask wheel to extract the relevant information. Other information about a person cannot be given away without the permission of that person, which requires them to either accept the club privacy policy (which doesn't exist) or for the person in question to give specific permission on a per-case basis.

== Correspondence of the Club ==

The club has a number of communication platforms that are used by its members.
 * Email and mailing lists
 * IRC / Discord
 * Facebook page and group
Line 48: Line 25:
We have [[http://lists.ucc.gu.uwa.edu.au/mailman/listinfo/|mailing lists]]. Most lists have archives, so you don't have to save copies. Mail sent to secretary@ucc.asn.au should go to you, and won't be archived; forward it to committee@ or ucc@ if it is important.

In addition to the list committee@ucc.asn.au, which anyone can subscribe to, there is a committee-only@ucc.asn.au.
We have [[http://lists.ucc.gu.uwa.edu.au/mailman/listinfo/|mailing lists]]. Most lists have archives, so you don't have to save copies. Mail sent to secretary@ should go to you, and won't be archived; forward it to committee@ or ucc@ if it is important.

You (and everyone else on committee-only@) should receive emails from mailman when a non-subscriber posts to a mailing list. Visit the URL and you can approve the message. Ask wheel or another committee member if you don't have the moderation password
.

In addition to the list committee@, which anyone can subscribe to, there is a committee-only@.
Line 66: Line 45:
----

{{{
6. generally to carry out the
instructions and decisions of the Committee relating to the administration of the Club;
}}}


This means to do things like organise clean-ups, notify people of meetings and events, contact people outside the club relating to non-financial matters, organising the AGM and SGMs, etc.

Normally anything important that needs to be done will be discussed at a Committee meeting. In fact it is important that Committee knows what you are doing.
== Carrying out instructions and decisions of the Committee ==

This means to do things like organise clean-ups, notify people of meetings and events, contact people outside the club relating to non-financial matters, organising the AGM and SGMs, etc as decided upon by the committee.

Normally anything important that needs to be done will be discussed at a Committee meeting, and it is important that Committee knows what you are doing.
Line 78: Line 53:
== Maintaining the Constitution ==

The constitution is at [[http://www.ucc.asn.au/infobase/policies/const.ucc]].

It is also the job of the Secretary to ensure that any changes to the constitution are sent to the appropriate authorities (ie. the Guild, the Commissioner for Consumer Protection, the ACNC and any other organisations that the club may be affiliated to), and that the constitution on the website is correct and up-to-date.

== Custody of Documents ==

This means that you get to take care of the contents everything in the filing cabinet, except for the stuff in the Treasurer's drawer. There are a lot of old books and documents which are an important part of UCC's history, and being the Secretary means that you can effectively veto the throwing out of these things.

Any member can borrow any book in the book shelves. Get them to add the details to [[http://wiki.ucc.asn.au/TheftBook]].
Line 80: Line 67:
{{{
7. to ensure that an accurate copy of the Club constitution is maintained in an easily accessible portion of the Club online presence
}}}

The constitution is at [[http://www.ucc.asn.au/infobase/policies/const.ucc]].

We should also have a pdf copy of the constitution in {{{ /home/other/committee/somewhere }}}, but [SZM] can't find it at the moment.

----

{{{
8. unless the members resolve otherwise at a general meeting, have custody of all books, documents, records and registers of the Club, other than those required to be kept and maintained by, or in the custody of, the Treasurer.
}}}

This effectively means that you can veto the throwing out of these things. Even though people seldom read the old books and documents, they are an important part of UCC's history.

Any member can borrow any book in the book shelves. Get them to add the details to [[http://wiki.ucc.asn.au/TheftBook]].

----

== Minutes ==

You will probably find it easiest to take minutes on a linux machine using a simple text editor (gedit or kate). The scripts to automate tasks will only work on linux machines. You can use a clubroom machine or your own laptop.

If you don't want to use linux, you can perform the tasks [[#Manual Minutes|manually]] with PuTTY, but this will take a lot longer.

The scripts will work best if you continue the style of minuting used from 2009 to early 2013.

=== Setting up scripts ===
= Minutes =

'''Minutes must be formatted using [[https://github.com/pydanny/markdown-guide/blob/master/docs/basics.rst|Markdown]] (which is used often on Github and is fairly simple to learn).'''

You will probably find it easiest to take minutes on a Linux machine using a simple text editor (gedit or kate), since the scripts require a functioning Linux environment. Failing this, one could simply take minutes on a Windows machine in plaintext/markdown format and then copy them to a Linux machine (such as [[Motsugo]]) to then run the scripts.

If you don't like the scripts or can't be bothered learning Markdown, you ''can'' perform the tasks [[#Manual Minutes|manually]] over SSH (such as with PuTTY), but this will take a lot longer.

'''If you really want to take minutes on Windows, look at [[#Windows Versions|the windows scripts]]'''

== Setting up scripts ==
Line 111: Line 80:
Line 115: Line 83:
mkdir ~/minutesYYYY
}}}
  *(The {{{~}}} will automatically be interpreted as {{{/home/ucc/username}}})
mkdir minutesYYYY
}}}
Line 122: Line 89:
scp username@motsugo:/home/other/committee/bin/agenda-pull ~/minutesYYYY/
scp username@motsugo:/home/other/committee/bin/minutes-push ~/minutesYYYY/
scp username@motsugo:/home/other/committee/bin/agenda-pull minutesYYYY/
scp username@motsugo:/home/other/committee/bin/minutes-push minutesYYYY/
Line 127: Line 94:
  *How to perform the tasks manually is explained [[#Manual Minutes|below]]

 1. Edit variables in the scripts

  *{{{agenda-pull}}} should not need modification.

  * Open {{{minutes-push}}} in a text editor, look for these lines near the top:
  *How to perform a subset of the tasks manually is explained [[#Manual Minutes|below]]. If you want to know what the scripts do exactly, it is a good idea to familiarise yourself with `bash` scripting and read them.

 2. Edit variables in the scripts
  * Open {{{agenda-pull}}} and modify `ssh_hostname` to whatever you have in your ssh-config. If you don't know what this is talking about, then replace `ssh_hostname="motsugo"` with `ssh_hostname=""`
Line 136: Line 99:
# Future secretaries:
# Change your name, tla and username here
}}}

  . And change the variables after them:
# hostname to give to SSH. Use this if you have something in your ssh-config (~/.ssh/config)
ssh_hostname="motsugo"
}}}

  * Open {{{minutes-push}}} in a text editor, make sure to edit these lines to update your committee year and username.
Line 143: Line 106:
name="Your Name"
tla="[TLA]"
username="your_username"
committee_year="YYYY"
}}}


=== Before the meeting starts ===

 1. Obtain a copy of the agenda; this will be the template for the minutes

  *Use the {{{agenda-pull}}} script for this:
committee_year="2018"
username="username"
}}}

 3. Edit the attendance header and update it with the names and positions of your committee.
  * This can be found in `/home/other/committee/agenda/attendance` and is automatically prepended to the agenda by `agenda-pull` to make your life easier!

== Using the scripts ==


==== agenda-pull ====
'''Before the meeting, use `agenda-pull` to download the agenda and make the template for the minutes.'''

 . {{{
cd minutesYYYY
./agenda-pull
}}}
 * See [[#Agenda|Agenda]] for how to change this template.
 * The agenda will be downloaded as a ''plain text file'' to {{{YYYY-MM-DD.md}}}, where the filename is based on the current date.


==== minutes-push ====
'''After the meeting, use `minutes-push` to upload the minutes to the website and send out an email.'''

 1. Once you are satisfied that the minutes are mostly correct, run:
Line 157: Line 132:
cd ~/minutesYYYY
./agenda-pull
}}}
   *Enter username and password.

   *The agenda will be downloaded to {{{~/minutes2013/YYYY-MM-DD.txt}}}

   *If that file already exists you will get an error; make sure you haven't already pulled the agenda by viewing the file.

   *The file should contain a first line of what and when the meeting is, followed by all the various sections of the meeting.
   *See [[#Agenda|Agenda]] for how to change this template.

 1. Add attendance of the meeting at the top of the minutes

  *Include members present, committee members who sent apologies, and committee members who are absent without an excuse in seperate lists.
   *Optional: Seperate the committee members present from ordinary members present.
  *If people arrive late (after the meeting is actually opened, not after when it was supposed to open), add another list later for them.

   

 1. Add a line "Meeting opened at HH:MM" once the President or acting President opens the meeting

  *24 hour time format is probably the best to use.

== During the Meeting ==

 1. Reports come first, in the order: President, Vice-President, Treasurer, Secretary , Fresher Representative

  *These people have the option of writing their own reports using [[#Scripts|vigenda]]. Encourage them to do this, since it will save you a lot of time, and speeds up the meeting, because they have to think about what they will say before hand. Make sure you add anything extra that they say though.

 1. Other sections

  *The exact layout of the rest of the meeting will probably vary with the Committee and how they want to do things. This layout should be in the [[#Agenda|agenda]] already.

  . Typically (at least, since 2009) sections are:

   i. Committee Member Reports
    *May or may not include OCM reports
   i. Machine and Technical Reports
    *In this section, a wheel member will typically say things like "We have servers" or "The servers are fucked"
   i. Drink and Snack Reports
    *Normally the Treasurer will talk about how well things are selling, and what we need more of
    *Committee will then organise a coke run if necessary
   i. Mail Guild and SOC Reports
    *The Secretary will say "We have mail" or "We don't have mail" or "I didn't check it"
     *Note what the mail was
    *Attendees for upcoming Guild/SOC related meetings or busy bees will be organised
   i. Action Items
    * We have a rather militaristic system of "assigning actions" to committee members
    * In this section people report on how much of what they "volunteered" to do has actually been done
    * Usually make the first note "Done", "Not Done" or (occasionally) "In progress"
    * Then add more detail on the current status if required
   i. General Business (also known as General Shouting)
    * In this section, committee members yell at each other a lot
    * Occasionally new Action Items (that aren't covered by the previous sections) will be assigned
   i. Current Action Items
    * Don't add this until the meeting is finished. It is used to summarise all action items that still have to be done, including any new ones.

 1. Add a line "Meeting closed at HH:MM"
cd minutesYYYY
./minutes-push YYYY-MM-DD.md
}}}
   * '''This will not fully publish the minutes!''' It simply lets you check that the formatting worked properly and gives you a chance to correct it later.
   * The script tries to call `firefox` with the URL of the minutes that have been uploaded, and sends a test email to `[email protected]` (which should be your UCC email address). If no web browser is opened, you can simply open the URL printed at the end of the output of the script.
 2. Check that the draft minutes at the URL and in the test email are correct and no formatting errors have occurred.
   * If something is wrong, update it in the local minutes file and run `minutes-push` again.
   * Once you are satisfied that everything is correct, run:
   . {{{
./minutes-push -F YYYY-MM-DD.md
}}}
   * This uploads the minutes to the website at `https://ucc.asn.au/infobase/minutes/YYYY/YYYY-MM-DD.ucc` and emails them to `[email protected]`.
  * '''Check carefully through the test email or the webpage to ensure that you have not made any formatting errors.'''
   * Common issues include nested bullet points not being sufficiently indented, lists appearing all on one line, random lines of text appearing bold and in large font and so on. Read the markdown guide to fix this or just add more newlines as appropriate.
  * You can run the `minutes-push` as many times as necessary (sending a new test email ONLY to yourself) in order to fix all formatting issues.
   * Once you are done and are satisfied with the quality of your minutes, run `minutes-push` with the `-F` option to commit the minutes and send out the proper email to the mailing lists. This will also update the index page for the minutes archive so that it will appear on the website.

If something breaks, look in the [[#Scripts|scripts section]] to find more information. If that doesn't help you can see a wheel member (preferably [FVP]) or try and fix it yourself.

== Taking Minutes ==

'''Committee members have the option of writing their own reports using [[#Scripts|vigenda]].''' Encourage them to do this, since it will save you time and speeds up the meeting.

Open the minutes template produced by `agenda-pull` in a text editor.

=== During the Meeting ===
 * Update the attendance section based on who turns up at the meeting, moving the entries to the appropriate headings (Present, Late, Apologies, etc)
  * Seperate the committee members present from ordinary members present.
 * Update the lines ''Meeting opened/closed at HH:MM'' to reflect the time the meeting is opened and finally closed by the Chair.
 * The layout for all the sections of the meeting should already be in the [[#Agenda|agenda]].
 * Record what people say during the meeting, and try to keep a concise record of discussions that occur.
   * In meeting minutes, refer to people by their [[#TLA|TLA]] like this: `[TLA]`
   * Where relevant, prefix what is said by the TLA of the person who says it.
 * Note times at which members arrive/leave the meeting.

=== After the Meeting ===
 1. Put any action items decided upon during the meeting as well as any incomplete previous action items in the section '''Current Action Items''' after '''General Business''' (and after the "Meeting closed" line).
 1. Edit the minutes
  * You may want to remove:
   * jokes that aren't as funny as people thought at the time
   * swear words (although those are often just left in)
   * snarky comments that you wrote while everyone was shouting and not paying attention to each other
   * offensive comments (unfortunately people do make them)
  * You should also rephrase poorly worded lines
  * Complete anything that you didn't have time to finish noting during the meeting
 2. Publish the minutes using [[#minutes-push|minutes-push]]. You should do this as soon as possible after the meeting finishes, ideally on the same day.
Line 219: Line 181:
 i. The President is supposed to be the chair, but if things are not on track feel free to bring people back to the current topic  i. The President is supposed to be the chair, but if things are not on track feel free to bring people back to the current topic.
Line 222: Line 184:
 i. Note times at which members arrive/leave the meeting.
i. Use indenting to show sub-topics: two spaces for each level followed by a hyphen '-' and a space
 i. Use indenting to show sub-topics: Markdown requires at least four spaces for each level followed by a hyphen '-' and a space.
Line 225: Line 186:
 i. See [[http://www.ucc.asn.au/infobase/minutes/2012/2012-11-20.txt]] for an example of meeting minutes.

== After the Meeting ==

 1. Add an extra section "Current Action Items" after the "Meeting Closed" line

  *Put any action items that are still in progress as well as any new action items in this section.

 1. Edit the minutes

  *You may want to remove:
   *jokes that aren't as funny as people thought at the time
   *swear words (although those are often just left in)
   *snarky comments that you wrote while everyone was shouting and not paying attention to each other
   *offensive comments (unfortunately people do make them)

  *You should also rephrase poorly worded lines
  *Complete anything that you didn't have time to finish noting during the meeting

 1. Upload the minutes and email ucc@

  *You should do this as soon as possible after the meeting finishes, on the same day if possible.

  . {{{
cd ~/minutesYYYY/
./minutes-push
}}}

  * The script will automatically look for a file {{{YYYY-MM-DD.txt}}} based on the current date.
  * If it doesn't exist (because you are running it a day or so after the meeting), you will have to enter the date.

  *You will get an error if you try to upload a previous meetings minutes on the same day as a later meeting. You can fix it by temporarily renaming files:

  . {{{
mv YYYY-MM-DD.txt YYYY-MM-DD.txt.old
./minutes-push
mv YYYY-MM-DD.txt.old YYYY-MM-DD.txt
./minutes-push
}}}

  *Otherwise, the script should "Just work" (TM). If it doesn't you can see a wheel member (preferably [SZM], [GOZ] or [DTK]), or try and fix it.

== TLAs ==
 i. See [[https://www.ucc.asn.au/infobase/minutes/2018/2018-05-11.ucc]] for an example of meeting minutes after they have been formatted by the minutes scripts. The plaintext version (perhaps useful if you are still learning Markdown) can be found at [[https://www.ucc.asn.au/infobase/minutes/2018/2018-05-11.txt]]

= Editing Things =

Taking minutes can be done on any computer. However occasionally you might need to edit a file on one of the servers, for example the webpage, or the timetable data.

 * You can use {{{nano}}} or {{{vim}}} to do this.
  *{{{nano}}} might be easier, just move around with the arrow keys and type. There is a list of shortcuts at the bottom that look like {{{^X}}} - the {{{^}}} means to press {{{ctrl}}} plus the key.
  *If you use the [[#Scripts|vigenda]] script, you will need to know how the basics of {{{vim}}} though
   *The arrow keys move the cursor
   *{{{vim}}} has things called "modes" for different tasks. Initially {{{vim}}} isn't in any mode.
    *Press {{{i}}} to start inserting characters
    *Press {{{esc}}} to go back to no mode.
    *Press {{{a}}} to append to the end of a line
    *Press {{{:w}}} to save the file
     *Add a file name if you want to save it to a different file name
    *Press {{{:q}}} to quit the file
     *Add a {{{!}}} if you have made a change but don't want to save it

== Where are the files ==

All of the useful committee-related directories are available on [[motsugo]] or [[mussel]] (and a few other servers). Use [[SSH]] to login to a server, or you can browse the filesystem remotely using `sftp` and any decent file manager on Linux/OS X or a program such as [[https://winscp.net/eng/index.php|WinSCP]] on Windows.

 * Important directories are:
  1. {{{/home/other/committee}}} - All committee related stuff. Feel free to dump things in here.
    * There is a git repository in this directory which ignores everything except for `bin/`. If you make any changes to committee scripts, please run `git commit -a` and add a descriptive message.
  1. {{{/home/other/committee/agenda}}} - Agenda related stuff.
  1. {{{/home/other/committee/bin}}} - Committee scripts
  2. {{{/home/other/committee/minutes/<year>}}} - Symlink to the minutes directory on the website
  1. {{{/services/http/infobase/minutes/<year>}}} - Where meeting minutes go
 * Note that {{{/home}}} on [[motsugo]] or [[mussel]] is not the same as {{{/home}}} on a clubroom machine
  * If you store files in {{{/home}}} on a clubroom machine, you can get to it from a server by replacing {{{/home}}} with {{{/away}}}. From now on {{{/home}}} will refer to {{{/home}}} as seen by a server, not a clubroom machine.
 * A useful place to upload files for other people to view is your web directory in {{{/home/ucc/username/public-html}}}
  * Then you can give people a link: http://username.ucc.asn.au/path/to/file relative to that directory
 * Upload and download files to and from servers with {{{scp}}} or {{{sftp}}}.

= TLA =
Line 279: Line 234:

=
= Agenda ==
= Agenda =
Line 283: Line 237:
Line 285: Line 238:
Line 288: Line 240:


=
= Scripts ==
= Scripts =
Line 294: Line 244:
Line 298: Line 249:
The scripts are all in {{{ /home/other/committee/bin }}}

=== Meeting Related Scripts ===
{{{
agenda - Allows anyone to view and add items to the current agenda
agenda-pull - Make a template for meeting minutes from the current agenda
minutes-push - Upload minutes to website and send email to ucc@
meeting-reminder - Sends a reminder of the next meeting. This should be run automatically as a [[#Cronjob|cronjob]]
agenda.weeklyrotate - Resets the agenda. This should also be run as a [[#Cronjob|cronjob]]
vigenda - Allows committee members to directly edit the agenda. Should only be used to insert reports.
}}}

=== Other Scripts ===

{{{
tla - Enter a username, TLA, or full name to find out the others
account-whinge.sh (and variants) - Alter this and run it to complain at people who haven't paid up membership fees
locking.sh (and variants) - Alter this and run it to lock accounts when people still won't pay the membership fee
}}}

=== Scripts in /usr/bin ===

Some scripts have symbolic links in {{{/usr/bin}}} so that you just have to type its name on motsugo or mussel to run it from anywhere (as opposed to the full path).

These are:

{{{
agenda
vigenda
tla
}}}
The scripts are all in {{{ /home/other/committee/bin }}} and are part of the committee git repository.


== Meeting Related Scripts ==

 * `minutes-push` uploads minutes to website and sends email to ucc@.
  * Rewritten and greatly overengineered by [FVP]. It even has a number of command line options and a help page.
  .{{{
Usage: ./minutes-push [minutes.txt] [-d date] [-n] [-F] [-h]
 -h print this message
 -d date of minutes (YYYY-MM-DD)
 -n do not check minutes by opening in Firefox
 -t title of minutes (eg. AGM)
 -y permit obscenities to be published
 -F force upload and commit minutes (passes -f to $MINUTES_RECV)
}}}
  * The script runs locally and pipes the plaintext minutes to `minutes-receive` on [[Motsugo]] which does the formatting and sends the emails.
  * Once minutes are uploaded and the official email is sent, the script calls `mkagenda` with the path to the latest minutes which generates the next agenda, filling in sections such as '''Events''' and '''Previous Action Items''' automagically.
 * `agenda-pull` grabs the agenda and makes it into a template for the meeting minutes.
 * `vigenda` allows committee members to directly edit the agenda.
 * `agenda` allows non-committee members to view the agenda and add items to the end of it (which will appear in General Business).
 * `meeting-reminder` sends a reminder of the next meeting. This should be run automatically as a cronjob by the secretary.
  * Supply a day of the week and 24-hour time like so {{{./meeting-reminder Tuesday 10:00}}}.

== Windows Versions ==

[GOZ] kindly worked out how to make {{{agenda-pull}}} and {{{minutes-push}}} work under Windows. A zip file should be found at {{{/home/other/committee/bin/win-minutes.zip}}}.

If you ever change the original scripts, rebuild the zip file using {{{/home/other/committee/bin/win-minutes/make.sh}}}.

== Other Scripts ==

 * `tla` - Enter a username, TLA, or full name to find out the others
 * `account-whinge.sh` (and variants) - Alter this and run it to complain at people who haven't paid up membership fees
 * `locking.sh` (and variants) - Alter this and run it to lock accounts when people still won't pay the membership fee

= Meeting Reminders =

The script [[#Scripts|meeting-reminder]] will do send out a single email reminder.
Line 334: Line 293:
 * Run this on [[motsugo]]:  * Run this on [[motsugo]] or [[mussel]] to edit your user crontab.
Line 338: Line 297:
  * Edit the crontab as follows lines:
  * For example, a meeting at 5PM on a Thursday afternoon could look like:
Line 343: Line 301:
M H * * D-4 /home/other/committee/bin/meeting-reminder Weekday H:M 0 17 * * 0 /home/other/committee/bin/meeting-reminder Thursday 17:00
Line 345: Line 303:
M H * * D-1 /home/other/committee/bin/meeting-reminder Weekday H:M
# 6 hour warning
M H-6 * * D /home/other/committee/bin/meeting-reminder Weekday H:M
# 1 hour warning
M H-1 * * D /home/other/committee/bin/meeting-reminder Weekday H:M

# Weekly agenda rotation
MM HH+1 * * D /home/other/committee/bin/agenda.weeklyrotate
}}}

  * Replace H and M with the hour and minute of the meeting (24 hour format)
  * Replace Weekday with the full name of the day of the week the meeting is on; eg "Tuesday"
  * Replace D with a number indicating the day of week.
  * I've shown -1, -6, +1, etc to indicate you should change the value by that number
    * Remember to wrap things around, eg: 4 days before Tuesday is Friday, so {{{D-4 == 5}}}

== Manual Minutes ==
0 17 * * 3 /home/other/committee/bin/meeting-reminder Thursday 17:00
}}}
  * Crontabs are incredibly confusing, note that the lines starting with `#` are comments. The other lines are formatted as a space or tab separated list of fields:
  .{{{<minute> <hour> <day of month (1-31)> <month (1-12)> <day of week (1-7)> <command>}}}

= Timetable =

Something like [[http://whenisgood.net|WhenIsGood]] is a good way to find times that everyone (or noone) on committee is available for a meeting.
 * There is in fact an account for `[email protected]` available in `uccpass`. Ask a wheel member if you aren't sure what this means.

UCC does have a [[http://www.ucc.asn.au/cgi-bin/timetable.py|timetable script]] of its own, however it is relatively annoying to use. Look in {{{/services/http/cgi-bin/.timetable}}} for details on how to use this if you are interested.

= Events =

== UCC Events Page ==
The current year's events page should be available [[http://wiki.ucc.asn.au/Events|on the wiki]]. It should be updated to redirect to the correct year's event page.

== Facebook Events ==

 * Other people probably know more about these than [SZM]
 * There is a [[https://www.facebook.com/groups/universitycomputerclub|UCC Facebook Group]] that you should be an administrator for.
   * Once you are, you can create events there. Be sure to add a link from the UCC Events page to the Facebook one.

== Guild ==
 * You can advertise events in Pelican or G-News, but we rarely do this
 * There is a requirement that General Meetings be added to the Guild Calendar. [SAS] and [GOZ] know how to do this.

= Manual Minutes =
Line 365: Line 334:
The scripts do a lot of unnecessary error checking... that is why they are a lot longer than this section would suggest they need to be.

=== agenda-pull ===
The scripts do a lot of error checking... that is why they are a lot longer than this section would suggest they need to be.

== agenda-pull ==
Line 374: Line 343:
=== minutes-push === == minutes-push ==
Line 380: Line 349:
 * Send an email to ucc@ucc.asn.au with subject "Minutes of Meeting YYYY-MM-DD" and copy the minutes into the body  * Send an email to ucc@ with subject "Minutes of Meeting YYYY-MM-DD" and copy the minutes into the body
Line 384: Line 353:
=== meeting-reminder ===
 * Just send an email to committee@ 
== meeting-reminder ==
 * Just send an email to `committee@ucc.asn.au`
Line 388: Line 357:


== Things don't work because I don't have permissions ==
= The Club Seal =

As an incorporated entity, UCC has a club seal which is supposedly kept in the custody of the Secretary, and used on all mail sent by the club.

The seal is actually kept in the safe. The Treasurer, Vice President and President will have keys.

= Things don't work because I don't have permissions =
Line 393: Line 366:

= I need more help! =

Talk to a past secretary and/or wheel member.

Overview of Duties

Constitutionally the Secretary shall perform duties as defined in constitution, including section 16.3.

Duties as proposed under the 2014 Committee KPI Document:

  • to record all minutes of club meetings in a detailed manner and in a consistent format approved by the committee
  • to check the UCC mailbox on a regular basis
  • to communicate with the groups and membership of the club on behalf of the committee, including all emails to the mailing lists
  • advertise all UCC Events through UCC and Guild communication channels (Mailing Lists, Facebook, Guild Weekly)

Register of members

We maintain an online database called MemberDB. We also keep paper copies of all membership forms in the top drawer of the filing cabinet for each year. It is a requirement of being an incorporation that we keep these details, so it is important to make sure all members fill in a new form, even if they are rejoining.

If someone who is not a club administrator wants to view the register, they are only entitled to see the name and postal address of other members, in which case it is best not to create a user for somebody who wants to view the register. If a member wants to view another members postal address they may ask an administrator (wheel or committee member), or if they want the entire list they must ask wheel to extract the relevant information. Other information about a person cannot be given away without the permission of that person, which requires them to either accept the club privacy policy (which doesn't exist) or for the person in question to give specific permission on a per-case basis.

Correspondence of the Club

The club has a number of communication platforms that are used by its members.

  • Email and mailing lists
  • IRC / Discord
  • Facebook page and group

Most correspondence is by email. You can access ucc email at http://webmail.ucc.asn.au, or you can SSH to motsugo and run alpine, or you can forward your mail to another email address.

We have mailing lists. Most lists have archives, so you don't have to save copies. Mail sent to secretary@ should go to you, and won't be archived; forward it to committee@ or ucc@ if it is important.

You (and everyone else on committee-only@) should receive emails from mailman when a non-subscriber posts to a mailing list. Visit the URL and you can approve the message. Ask wheel or another committee member if you don't have the moderation password.

In addition to the list committee@, which anyone can subscribe to, there is a committee-only@. This is not actually a mailing list, and only the current year's committee members will get emails sent to the address. They will not be archived. Using this address is discouraged, but sometimes useful for sensitive conversations. Mostly we use it to give committee a chance to proof read important emails before they are sent.

We also have a post box with the guild. The address is:

University Computer Club
Box 22, M300
The University of Western Australia
35 Stirling Highway
CRAWLEY WA 6009
Australia

This page should have that and other contact information if you need to supply it.

The mail should be checked at least once a week. To check it, go to guild reception, and tell the receptionist that you are the Secretary of UCC and need to check the mail in Box 22. The boxes are at the top of the stairs to the left of guild reception.

Carrying out instructions and decisions of the Committee

This means to do things like organise clean-ups, notify people of meetings and events, contact people outside the club relating to non-financial matters, organising the AGM and SGMs, etc as decided upon by the committee.

Normally anything important that needs to be done will be discussed at a Committee meeting, and it is important that Committee knows what you are doing.

You should also volunteer to do other tasks if you can, even if they are not administration related.

Maintaining the Constitution

The constitution is at http://www.ucc.asn.au/infobase/policies/const.ucc.

It is also the job of the Secretary to ensure that any changes to the constitution are sent to the appropriate authorities (ie. the Guild, the Commissioner for Consumer Protection, the ACNC and any other organisations that the club may be affiliated to), and that the constitution on the website is correct and up-to-date.

Custody of Documents

This means that you get to take care of the contents everything in the filing cabinet, except for the stuff in the Treasurer's drawer. There are a lot of old books and documents which are an important part of UCC's history, and being the Secretary means that you can effectively veto the throwing out of these things.

Any member can borrow any book in the book shelves. Get them to add the details to http://wiki.ucc.asn.au/TheftBook.


Minutes

Minutes must be formatted using Markdown (which is used often on Github and is fairly simple to learn).

You will probably find it easiest to take minutes on a Linux machine using a simple text editor (gedit or kate), since the scripts require a functioning Linux environment. Failing this, one could simply take minutes on a Windows machine in plaintext/markdown format and then copy them to a Linux machine (such as Motsugo) to then run the scripts.

If you don't like the scripts or can't be bothered learning Markdown, you can perform the tasks manually over SSH (such as with PuTTY), but this will take a lot longer.

If you really want to take minutes on Windows, look at the windows scripts

Setting up scripts

  1. Login to any linux clubroom machine, or if you have linux on your laptop you can use that.
  2. Make a directory to put the minutes and related scripts into:
  3. mkdir minutesYYYY
  4. Copy scripts from motsugo or mussel into the directory:
  5. scp username@motsugo:/home/other/committee/bin/agenda-pull minutesYYYY/
    scp username@motsugo:/home/other/committee/bin/minutes-push minutesYYYY/
    • These two scripts automate most of the work involved with the minutes (other than writing them).
    • How to perform a subset of the tasks manually is explained below. If you want to know what the scripts do exactly, it is a good idea to familiarise yourself with bash scripting and read them.

  6. Edit variables in the scripts
    • Open agenda-pull and modify ssh_hostname to whatever you have in your ssh-config. If you don't know what this is talking about, then replace ssh_hostname="motsugo" with ssh_hostname=""

    • # hostname to give to SSH. Use this if you have something in your ssh-config (~/.ssh/config)
      ssh_hostname="motsugo"
    • Open minutes-push in a text editor, make sure to edit these lines to update your committee year and username.

    • committee_year="2018"
      username="username"
  7. Edit the attendance header and update it with the names and positions of your committee.
    • This can be found in /home/other/committee/agenda/attendance and is automatically prepended to the agenda by agenda-pull to make your life easier!

Using the scripts

agenda-pull

Before the meeting, use agenda-pull to download the agenda and make the template for the minutes.

  • cd minutesYYYY
    ./agenda-pull
  • See Agenda for how to change this template.

  • The agenda will be downloaded as a plain text file to YYYY-MM-DD.md, where the filename is based on the current date.

minutes-push

After the meeting, use minutes-push to upload the minutes to the website and send out an email.

  1. Once you are satisfied that the minutes are mostly correct, run:
    • cd minutesYYYY
      ./minutes-push YYYY-MM-DD.md
      • This will not fully publish the minutes! It simply lets you check that the formatting worked properly and gives you a chance to correct it later.

      • The script tries to call firefox with the URL of the minutes that have been uploaded, and sends a test email to [email protected] (which should be your UCC email address). If no web browser is opened, you can simply open the URL printed at the end of the output of the script.

  2. Check that the draft minutes at the URL and in the test email are correct and no formatting errors have occurred.
    • If something is wrong, update it in the local minutes file and run minutes-push again.

    • Once you are satisfied that everything is correct, run:
    • ./minutes-push -F YYYY-MM-DD.md
    • This uploads the minutes to the website at https://ucc.asn.au/infobase/minutes/YYYY/YYYY-MM-DD.ucc and emails them to [email protected].

    • Check carefully through the test email or the webpage to ensure that you have not made any formatting errors.

      • Common issues include nested bullet points not being sufficiently indented, lists appearing all on one line, random lines of text appearing bold and in large font and so on. Read the markdown guide to fix this or just add more newlines as appropriate.
    • You can run the minutes-push as many times as necessary (sending a new test email ONLY to yourself) in order to fix all formatting issues.

      • Once you are done and are satisfied with the quality of your minutes, run minutes-push with the -F option to commit the minutes and send out the proper email to the mailing lists. This will also update the index page for the minutes archive so that it will appear on the website.

If something breaks, look in the scripts section to find more information. If that doesn't help you can see a wheel member (preferably [FVP]) or try and fix it yourself.

Taking Minutes

Committee members have the option of writing their own reports using vigenda. Encourage them to do this, since it will save you time and speeds up the meeting.

Open the minutes template produced by agenda-pull in a text editor.

During the Meeting

  • Update the attendance section based on who turns up at the meeting, moving the entries to the appropriate headings (Present, Late, Apologies, etc)
    • Seperate the committee members present from ordinary members present.
  • Update the lines Meeting opened/closed at HH:MM to reflect the time the meeting is opened and finally closed by the Chair.

  • The layout for all the sections of the meeting should already be in the agenda.

  • Record what people say during the meeting, and try to keep a concise record of discussions that occur.
    • In meeting minutes, refer to people by their TLA like this: [TLA]

    • Where relevant, prefix what is said by the TLA of the person who says it.
  • Note times at which members arrive/leave the meeting.

After the Meeting

  1. Put any action items decided upon during the meeting as well as any incomplete previous action items in the section Current Action Items after General Business (and after the "Meeting closed" line).

  2. Edit the minutes
    • You may want to remove:
      • jokes that aren't as funny as people thought at the time
      • swear words (although those are often just left in)
      • snarky comments that you wrote while everyone was shouting and not paying attention to each other
      • offensive comments (unfortunately people do make them)
    • You should also rephrase poorly worded lines
    • Complete anything that you didn't have time to finish noting during the meeting
  3. Publish the minutes using minutes-push. You should do this as soon as possible after the meeting finishes, ideally on the same day.

General advice

  1. The President is supposed to be the chair, but if things are not on track feel free to bring people back to the current topic.
  2. You can paraphrase people's words to make them clearer and more concise.
  3. Some people think the minutes should not be humourous. Others disagree strongly.
  4. Use indenting to show sub-topics: Markdown requires at least four spaces for each level followed by a hyphen '-' and a space.
  5. In meeting minutes, refer to people by their TLA like this: [TLA]

  6. See https://www.ucc.asn.au/infobase/minutes/2018/2018-05-11.ucc for an example of meeting minutes after they have been formatted by the minutes scripts. The plaintext version (perhaps useful if you are still learning Markdown) can be found at https://www.ucc.asn.au/infobase/minutes/2018/2018-05-11.txt

Editing Things

Taking minutes can be done on any computer. However occasionally you might need to edit a file on one of the servers, for example the webpage, or the timetable data.

  • You can use nano or vim to do this.

    • nano might be easier, just move around with the arrow keys and type. There is a list of shortcuts at the bottom that look like ^X - the ^ means to press ctrl plus the key.

    • If you use the vigenda script, you will need to know how the basics of vim though

      • The arrow keys move the cursor
      • vim has things called "modes" for different tasks. Initially vim isn't in any mode.

        • Press i to start inserting characters

        • Press esc to go back to no mode.

        • Press a to append to the end of a line

        • Press :w to save the file

          • Add a file name if you want to save it to a different file name
        • Press :q to quit the file

          • Add a ! if you have made a change but don't want to save it

Where are the files

All of the useful committee-related directories are available on motsugo or mussel (and a few other servers). Use SSH to login to a server, or you can browse the filesystem remotely using sftp and any decent file manager on Linux/OS X or a program such as WinSCP on Windows.

  • Important directories are:
    1. /home/other/committee - All committee related stuff. Feel free to dump things in here.

      • There is a git repository in this directory which ignores everything except for bin/. If you make any changes to committee scripts, please run git commit -a and add a descriptive message.

    2. /home/other/committee/agenda - Agenda related stuff.

    3. /home/other/committee/bin - Committee scripts

    4. /home/other/committee/minutes/<year> - Symlink to the minutes directory on the website

    5. /services/http/infobase/minutes/<year> - Where meeting minutes go

  • Note that /home on motsugo or mussel is not the same as /home on a clubroom machine

    • If you store files in /home on a clubroom machine, you can get to it from a server by replacing /home with /away. From now on /home will refer to /home as seen by a server, not a clubroom machine.

  • A useful place to upload files for other people to view is your web directory in /home/ucc/username/public-html

  • Upload and download files to and from servers with scp or sftp.

TLA

Any member who participates in a Committee or General Meeting should have a Three Letter Acronym (TLA).

If they don't have a TLA, try and get them to choose one before the meeting. If that isn't practical (say at a General Meeting where there are 20 people without a TLA), refer to them using their full name, get them to pick a TLA later, and then replace the name with the TLA.

The TLA list is here.

It might be faster to run tla on motsugo or mussel to check TLAs.

To learn how to add new TLAs see http://www.ucc.asn.au/member/tla.README or /services/http/member/tla.README on motsugo or mussel. Unfortunately it is a bit complicated, you might want to get a past Secretary to demonstrate.

Agenda

  • The agenda serves as a template for meeting minutes. It can be downloaded to any linux machine by using the agenda-pull script.

  • Any member may add items to the agenda with the agenda script. Committee members may edit the agenda to insert their reports directly using vigenda.

  • If Committee decides to remove or add sections from all meetings, you will need to manually edit /home/other/committee/agenda/agenda.default on motsugo or mussel.

Scripts

There are a number of scripts that automate secretarial tasks. These can be found in  /home/other/committee/bin  on motsugo or mussel.

Most of the scripts are written in bash or zsh (which is pretty similar).

If there are problems with the scripts and you can't fix them yourself, ask a wheel member.

The scripts are all in  /home/other/committee/bin  and are part of the committee git repository.

  • minutes-push uploads minutes to website and sends email to ucc@.

    • Rewritten and greatly overengineered by [FVP]. It even has a number of command line options and a help page.
    • Usage: ./minutes-push [minutes.txt] [-d date] [-n] [-F] [-h]
       -h       print this message
       -d       date of minutes (YYYY-MM-DD)
       -n       do not check minutes by opening in Firefox
       -t       title of minutes (eg. AGM)
       -y       permit obscenities to be published
       -F       force upload and commit minutes (passes -f to $MINUTES_RECV)
    • The script runs locally and pipes the plaintext minutes to minutes-receive on Motsugo which does the formatting and sends the emails.

    • Once minutes are uploaded and the official email is sent, the script calls mkagenda with the path to the latest minutes which generates the next agenda, filling in sections such as Events and Previous Action Items automagically.

  • agenda-pull grabs the agenda and makes it into a template for the meeting minutes.

  • vigenda allows committee members to directly edit the agenda.

  • agenda allows non-committee members to view the agenda and add items to the end of it (which will appear in General Business).

  • meeting-reminder sends a reminder of the next meeting. This should be run automatically as a cronjob by the secretary.

    • Supply a day of the week and 24-hour time like so ./meeting-reminder Tuesday 10:00.

Windows Versions

[GOZ] kindly worked out how to make agenda-pull and minutes-push work under Windows. A zip file should be found at /home/other/committee/bin/win-minutes.zip.

If you ever change the original scripts, rebuild the zip file using /home/other/committee/bin/win-minutes/make.sh.

Other Scripts

  • tla - Enter a username, TLA, or full name to find out the others

  • account-whinge.sh (and variants) - Alter this and run it to complain at people who haven't paid up membership fees

  • locking.sh (and variants) - Alter this and run it to lock accounts when people still won't pay the membership fee

Meeting Reminders

The script meeting-reminder will do send out a single email reminder.

Cronjob

The Secretary is required to give four (4) days advance notice of meetings. It would be tedious to have to send an email manually every week. This is what cron is for.

  • Run this on motsugo or mussel to edit your user crontab.

  • crontab -e
    • For example, a meeting at 5PM on a Thursday afternoon could look like:
    • # Meeting reminders:
      # 4 day warning
      0 17 * * 0 /home/other/committee/bin/meeting-reminder Thursday 17:00
      # 24 hour warning
      0 17 * * 3 /home/other/committee/bin/meeting-reminder Thursday 17:00
    • Crontabs are incredibly confusing, note that the lines starting with # are comments. The other lines are formatted as a space or tab separated list of fields:

    • <minute> <hour> <day of month (1-31)> <month (1-12)> <day of week (1-7)>  <command>

Timetable

Something like WhenIsGood is a good way to find times that everyone (or noone) on committee is available for a meeting.

  • There is in fact an account for [email protected] available in uccpass. Ask a wheel member if you aren't sure what this means.

UCC does have a timetable script of its own, however it is relatively annoying to use. Look in /services/http/cgi-bin/.timetable for details on how to use this if you are interested.

Events

UCC Events Page

The current year's events page should be available on the wiki. It should be updated to redirect to the correct year's event page.

Facebook Events

  • Other people probably know more about these than [SZM]
  • There is a UCC Facebook Group that you should be an administrator for.

    • Once you are, you can create events there. Be sure to add a link from the UCC Events page to the Facebook one.

Guild

  • You can advertise events in Pelican or G-News, but we rarely do this
  • There is a requirement that General Meetings be added to the Guild Calendar. [SAS] and [GOZ] know how to do this.

Manual Minutes

In special cases such as a General Meeting, or when the scripts are broken, you can follow this guide for how to manually do what the scripts do.

The scripts do a lot of error checking... that is why they are a lot longer than this section would suggest they need to be.

agenda-pull

  • Run the following:
  • scp username@motsugo:/home/other/committee/agenda/agenda ~/minutesYYYY/$(date +%F).txt

minutes-push

  • Run the following (or do the equivalent with PuTTY):
  • scp ~/minutesYYYY/$(date +%F).txt username@motsugo:/services/http/infobase/minutes/YYYY/
  • Send an email to ucc@ with subject "Minutes of Meeting YYYY-MM-DD" and copy the minutes into the body
  • Manually edit /services/http/infobase/minutes/YYYY/index.ucc to contain a link to the new minutes file.

meeting-reminder

  • Just send an email to [email protected]

  • The script will add "Current Action Items" automatically, you can do this manually by copying from the previous meeting minutes.

The Club Seal

As an incorporated entity, UCC has a club seal which is supposedly kept in the custody of the Secretary, and used on all mail sent by the club.

The seal is actually kept in the safe. The Treasurer, Vice President and President will have keys.

Things don't work because I don't have permissions

Tell a wheel member!

I need more help!

Talk to a past secretary and/or wheel member.