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 [email protected] should go to you, and won't be archived; forward it to [email protected] or [email protected] if it is important.

You (and everyone else on [email protected]) 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 [email protected], which anyone can subscribe to, there is a [email protected] 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

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 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 [email protected]:/home/other/committee/bin/agenda-pull minutesYYYY/
    scp [email protected]:/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)
    • Open minutes-push in a text editor, make sure to edit these lines to update your committee year and username.

    • committee_year="2018"
  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


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

  • cd minutesYYYY
  • 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.


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.


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.


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


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 [email protected]

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


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>


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.


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.


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


  • Run the following:
  • scp [email protected]:/home/other/committee/agenda/agenda ~/minutesYYYY/$(date +%F).txt


  • Run the following (or do the equivalent with PuTTY):
  • scp ~/minutesYYYY/$(date +%F).txt [email protected]:/services/http/infobase/minutes/YYYY/
  • Send an email to [email protected] 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.


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