Difference between revisions of "HOWTO Be Secretary"

From i3Detroit
Jump to: navigation, search
(Taking Minutes)
 
(20 intermediate revisions by 6 users not shown)
Line 1: Line 1:
 
The Secretary has a bunch of duties! This page should eventually contain info about how to properly perform most or all of them.
 
The Secretary has a bunch of duties! This page should eventually contain info about how to properly perform most or all of them.
  
= Calling a Vote =
+
== Preliminary Background Information ==
* Making sure the item is actually something that can be voted on.
+
* Review [http://www.asce.org/pplcontent.aspx?id=2147489901 Robert's Rules of Order] which is the basis for i3 Detroit's meeting's operating meetings.  Note: Link broken, needs update.
* Determining who can vote on it.
+
* Familiarize yourself with i3 Detroit's [[Bylaws]] and [[Standing Rules]]
* Finalizing the language to be voted on.
+
** Know how to find them on the wiki
* Opening voting.
+
** Refer to them when appropriate to answer questions at meetings - it's a good idea to delegate this while you are taking [[HOWTO_Be_Secretary#Taking Minutes|minutes]]!
* Closing voting and announcing results.
+
* Learn [[HOWTO Add a Page to the Wiki|how to edit the wiki]]
  
= Taking Minutes =
+
== Necessary Access to Official Records and Systems ==
 +
These are i3 Detroit's official records systems that the secretary is responsible for:
 +
 
 +
==== The Official Email: secretary@i3detroit.com ====
 +
* Use this email for official communications to the announce list, individuals, and external organizations.
 +
* Make sure this is added to the i3detroit-announce@googlegroups.com so that you can make announcements.
 +
==== [[Bylaws]] and [[Standing Rules]] ====
 +
* Get your wiki access permissions to include [[I3Detroit:Bureaucrats|Bureaucrats]] and [[I3Detroit:Administrators|Administrators]] so that you have edit permissions.
 +
* Make sure other people who don't need access to these don't have that access.
 +
==== [http://i3detroit.org/crm/?q= CRM] aka Customer Relationship Manager ====
 +
* Get your CRM role set to "director".
 +
* Check your role settings by going to your page on the CRM, then clicking on the roles link.  In addition to the normal Home, Members, and Reports tabs there should now be additional options visible.
 +
 
 +
== Other Important Documents ==
 +
* Hold a copy of the current lease to 1481 A Wordsworth St
 +
* Hold a copy of the insurance policy
 +
* The current printed copy of each should be in the secretary bag.
 +
 
 +
== Setting up a vote ==
 +
Note on this whole process: i3 technically follows Robert's rules of order (as compared to consensus), but we're pretty lax about it, following only the basics. Robert's also has guidelines for discussing proposals prior to voting, but those are outside the secretary's job responsibilities.
 +
 
 +
# Make sure the item is actually something that can be voted on
 +
#* Changing the standing rules: General membership
 +
#* Changing the bylaws: both board and general membership
 +
#* Officer/Warden appointments, budgetary proposals, floor plan changes: board
 +
#* This is not a comprehensive list! add to meeeee
 +
# Finalize the exact language to be voted on
 +
#* For proposals at a meeting, the secretary should write down the proposal and read it out loud so everybody knows the exact language. If necessary, write it down on a whiteboard.
 +
#** If people have proposals, adding them to the meeting minutes prior to the meeting greatly reduces the effort of the secretary, and allows other members to reference the proposal on their own screen.
 +
#* For email votes, whoever makes the motion should put the exact text in their email, or reference someone else's email with the exact text.
 +
# Open voting
 +
#* A proposal needs to be moved for before it can be voted on. Having one person specifically move for a proposal helps to give the proposal a champion. If no one cares about the proposal enough to champion it, then it probably doesn't need to be proposed!
 +
#* A proposal needs to be seconded before it can be voted on. This is to prevent one person from calling a million votes that no one else wants.
 +
#* Whoever moves for and seconds the proposal should be eligible to vote for the proposal.
 +
#* Votes can be held at any regular meeting, and any special meeting.
 +
#* Email votes: There are currently no provisions in the bylaws or standing rules for votes via email, so the secretaries have developed and implemented best practices over the years.
 +
#** To open a vote via email, we count it as a special meeting, which requires 7 days notice. Therefore, whenever an email vote is called, the voting period is 7 days, ending at the virtual special meeting. In order for the vote to be closed earlier than that, everyone has to waive their rights to advance notification of a special meeting. Make this explicit in the vote thread.
 +
#** Vote threads vs. discussion threads: If a proposal comes in via email, it starts a thread where usually people talk about the proposal and make adjustments to it. The proposal should be officially moved and seconded on this thread in order to trigger the secretary to open the vote. Having votes on this thread can get really confusing because it's not clear exactly which proposal is being voted on, and when future secretaries want to look something up, they'll have to slog through the whole thread, and depending on the proposal, that can be a really messy job. To make it easier to keep clean records, a separate thread is created. Some guidelines for the vote thread:
 +
#*** Put something in the subject that makes it clearly a vote thread. "VOTE", "VOTE THREAD", anything like that that calls attention to the thread as something important, and makes it easy to find when looking things up in the future.
 +
#*** The exact text of the proposal
 +
#*** Who moved and seconded the proposal
 +
#*** A link to the discussion thread(s) for easy reference
 +
#*** The date that voting closes (at least a week from the date of the thread creation)
 +
#*** Note about advance notice. Something like "By voting you are waiving your right to advance notice of a special meeting." You can also have people type "I waive my right to advance notice of a special meeting" when they vote.
 +
# Determine who can vote on it
 +
#* For general membership votes, only voting members as listed in the CRM at the time of vote are eligible to vote.
 +
#** Most votes historically are passed by a large margin, so we've been pretty lax about checking this and just use the honor system
 +
#** If the vote is close, or if someone requests it, or if you feel particularly responsible, use the attendance sheet to check against the CRM and the number of votes. To get really formal, call out each person's name to get their vote
 +
#* For board votes, there are no eligibility requirements other than to be on the board at the time of the vote.
 +
# Everybody votes!
 +
#* Votes can be Aye/Yes, Nay/No, or Abstain.
 +
#* For in person meetings, usually having the chair ask for raising of hands suffices, but depending on the circumstances, individual votes may also be recorded. See section on voting eligibility for one such circumstance.
 +
#* For email votes, each person should post a response to the vote thread with their vote and the phrase "I waive my right to advance notice of a special meeting", if necessary.
 +
#** Google forms is also being tested as an alternative to posting responses via email. In this case, a link to the form is provided in the initial email, and each person should indicate their vote on the form. A vote key may be required for authentication.
 +
#* Counting votes: For in person meetings, it's nice if the chair of the meeting does this and just tells the secretary the number, since they're usually standing and aren't trying to record things. For email votes, the secretary can handle it.
 +
# Close voting
 +
#* In person meetings: voting closes after the chair calls for all the ayes, nays, and anyone who is abstaining.
 +
#* Email votes: Voting closes after a week, or after everyone has voted & waived their right to advance notice of a special meeting
 +
# Document results
 +
#* In person meetings: The chair will usually announce to the members present. Record the result in the minutes.
 +
#* Email votes: Put the results of the vote in the vote thread to summarize. Also add the proposal and results to the next meeting minutes to summarize what happened between meetings.
 +
#* Votes needed to pass something: Most votes require simple majorities of members present, not a majority of ALL members, to pass. Votes to change the bylaws require a 2/3 majority to pass.
 +
#** For email votes, the number of votes required to pass a proposal isn't known until the voting is closed (aka when attendance has been taken at the virtual special meeting).
 +
#* Every proposal that is passed should lead to further action and documentation somewhere. It is the secretary's duty to perform such documentation or delegate it.
 +
#* Examples:
 +
#** Officer/Zone Coordinator Appointments: Update the relevant wiki pages with current appointments. Announce new appointment(s) to the general membership.
 +
#** Modification to Standing Rules/Bylaws: Update the document on the wiki
 +
#** Budget Items: delegated to Treasurer/Budget
 +
#** Disciplinary Actions: usually delegated to Member Advocate or equivalent officer.
 +
#** Other resolutions: deal with as appropriate, but DO NOT just note it in the minutes and then do nothing with it
 +
# Announce results
 +
#* Depending on what the proposal is, the secretary or someone else can announce the changes via the -announce mailing list or the regular mailing list, or not announce at all.
 +
 
 +
== Regular Meetings ==
 +
==== Call for Topics ====
 +
Before every regular meeting a call for topics is sent out by the secretary to i3detriot@googlegroups.com to help create the agenda. Since regular meetings are on Tuesdays, it is best to send out the call for topics on the preceding Sunday.
 +
 
 +
# Create a [[HOWTO Add a Page to the Wiki|new wiki page]] for the minutes
 +
#* See [[:Category:Meeting Minutes]] for examples
 +
#* Use the format Meeting_Minutes_YYYYMMDD or Board_Meeting_Minutes_YYYYMMDD
 +
# Copy the appropriate template into the new minutes page as a starting point.
 +
#* [[Meeting Minutes Template]]
 +
#* [[Board Meeting Minutes Template]]
 +
# Copy the action items from the last meeting's minutes to the review for the new meeting's Action Item Review.
 +
# Save the new minutes page.
 +
# Send an email to i3detroit@googlegroups.com
 +
#* Announce the meeting time and whether the meeting is a member or board meeting
 +
#* Request users add meeting topics and include the URL to the new minutes wiki page
 +
#* It's also helpful to include a URL to HOWTO
 +
# Remember to keep the templates up to date as needed.
 +
 
 +
==== Taking Minutes ====
 +
* When a Secretary will miss a Board/Member meeting, best practice is to inform the Board email list and arrange for a substitute minutes taker. That way, the group knows to not delay the meeting waiting for everyone to arrive. It is not necessary to provide an excuse. It is also considerate, before taking a break from the work you are doing together with your colleagues, to briefly inform them, so they know to move forward without holding up deliberations.
 
* Making a note of the time the meeting starts is important to looking all official-like.
 
* Making a note of the time the meeting starts is important to looking all official-like.
* Record all people in attendance at the meeting; this is important!
+
* Record all people in attendance at the meeting; this is a legal requirement!
* After the meeting ends, post the [[Category:Meeting_Minutes|minutes]] to this wiki.
+
* After the meeting ends, post them to this wiki.
* How do you create a page without linking to it from somewhere?
+
 
* You go to the name of a prior meeting minutes page, change the name of the link in your browser's location bar, and hit enter!
+
'''Example of how to document proposals'''
 +
* Person A moves to nominate/propose
 +
* Person B seconds the motion
 +
<pre> Motion to nominate Person C as warden of the Wiki Zone</pre>
 +
* 5 in favor of 7 present, motion passes
 +
 
 +
Use <nowiki><pre> and </pre></nowiki> tags to offset proposals so they're easy to pick out
 +
 
 +
Note: There is a proposal template that may supersede the tagging above.
 +
 
 +
==== Action Items ====
 +
Action items are a record of specific tasks and who is responsible for them. They require a specific name (i.e. cannot be "everyone") and a specific task. Action items are reviewed at the beginning of the next meeting to check on progress toward completing the action. If an action item is not completed at the time of review, it is copied to the current action item list so that it will be reviewed at the following meeting unless the action item is determined to be no longer necessary. It is a good idea to email everyone with an action item a couple days before the meeting (like right after creating the minutes/call for topics post) to increase the chances of the action items being completed.
 +
 
 +
'''Documenting Action Items'''
 +
 
 +
Action Items from the previous meeting are copied into the "Action Item Review" section of the current meeting.
 +
After the item is discussed, use <nowiki><strike> and </strike></nowiki> tags to cross off the old item and then put the update. This makes it easier to see the change in status.
 +
 
 +
Example: <strike>Konrad to educate Jamie about strikethroughs</strike> Jamie is now educated and has even documented their use!
 +
 
 +
==== Documenting Proposals ====
 +
See voting section above.
 +
 
 +
 
 +
== Running the Annual Election ==
 +
* Use the [[Standing_rules#Board_of_Directors.2C_Officers.2C_and_Elections | standing rules] as guidance. Make sure to check them early, as parts of the election process start in the beginning of August.  
 +
* Send out emails both to the regular members-only list and to the announce list. Don't be afraid to repeat the same information over and over. Elections are important stuff and it's better to pound the information into people's heads as much as possible, instead of risking confusion.
 +
 
 +
=== Nominations List ===
 +
In 2015, Jamie shared a Google Doc (view-only) with the members list so that everyone could see who was nominated, even the people that didn't accept. Relative to 2014, this reduced the number of repeat nominations. There were always some viewers on the document, so it seems like a good idea worth repeating.
 +
 
 +
Jamie always sent out emails to nominees manually. Is there a better way to do this? Probably! Feel free to improve upon her method.
 +
 
 +
=== Electronic Voting ===
 +
In 2014 Jamie set up an electronic voting system using a system of random vote keys, google forms, and spreadsheet formulas.
 +
 
 +
==== Sending out Vote Keys ====
 +
# Download python 2.7
 +
# Download SendEmail
 +
# Make a folder that contains the SendEmail executable, like "2015 Vote". Put all the rest of the files in this folder.
 +
# Export from the CRM the list of voting members, and separate out the list of email addresses. Put the email addresses in a text file labelled with the date (for example VotingEmails_826.txt) as they will likely need to be re-checked the day of/before the election. Get the number of emails, roughly, as a sanity check.
 +
# Copy the text below and save it as something like "Votekey_EmailGenerator.py" This file will
 +
## Generate a list of random keys, 6 characters long. Confusing characters are taken out of this list. Generate a sufficient number of random keys so as to have extra if needed.
 +
## Write a batch file that uses the program SendEmail to send an email from youremail@gmail.com. Make sure that the from email and SMTP authorization username/password are correct. Check the subject and text of the email for outdated references and the correct dates.
 +
<pre>
 +
#Generates a text file of a specified number of
 +
#random alphanumeric sans confusing characaters (1, 0, i, l, o)
 +
#strings of a specified length
 +
 
 +
import random
 +
import string
 +
 
 +
x=0            #counter
 +
keylength=6    #char length of vote key
 +
numkeys=120    #number of vote keys desired
 +
votekey_output=open("VoteKeys_2015.txt","w") #open file for writing
 +
 
 +
#combine [keylength] random chars into a string and write it to the file, with a newline
 +
for x in range(numkeys):
 +
    votekey_output.write(''.join(random.choice("abcdefghjkmnpqrstuvwxyz" + "23456789") for _ in range(keylength)) + "\n")
 +
 
 +
votekey_output.close()
 +
 
 +
# Load CRM emails
 +
CRM_File = open("Good2Vote_8-27-15.txt")
 +
VotingEmails=CRM_File.readlines()
 +
Voters = len(VotingEmails)
 +
 
 +
# Load Vote Keys
 +
VoteKeyFile = open("VoteKeys_2015.txt")
 +
VoteKeys=VoteKeyFile.readlines()
 +
 
 +
# Write batch file
 +
file = open("newfile.txt", "w")
 +
 
 +
i = 0
 +
while i < Voters:
 +
    file.write("SendEmail -f youremail@gmail.com -u i3Detroit 2015 Elections: Vote Key")
 +
    file.write(" -t "+VotingEmails[i].rstrip())
 +
    file.write(" -m Hello i3Detroit voting member! Below is your vote key for the 2015 Election!")
 +
    file.write("\\n You will need this key in order to vote in the election on September 1st, 2015. Elections this year are going to be held over a 24 hour period to allow as many members as possible to participate. Voting will be open from 10pm Monday, August 31st until 10pm Tuesday, September 1st. The ballot will be sent out to the general mailing list and you will need to enter your vote key for your vote to be counted. You are strongly encouraged to come to i3 on Tuesday, September 1st at 7:30pm as candidates will be giving speeches to the membership and doing their final campaigning. ")
 +
    file.write("\\n \\nFor more information about the candidates, see http://i3detroit.org/wiki/Election_2015")
 +
    file.write("\\n \\nIf you have any questions, email the secretary (secretary@i3detroit.org) ")
 +
    file.write("\\n \\nVote Key: "+VoteKeys[i].rstrip())
 +
    file.write("\\n \\n \\n \\nSincerely, \\nJamie Burdeski\\nSecretary, i3Detroit")
 +
    file.write(" -s smtp.gmail.com:587 -xu youremail@gmail.com -xp youremailpassword -o tls=yes \n")
 +
    file.write("timeout /t 10 \n")
 +
 
 +
    i = i + 1
 +
 
 +
 
 +
file.close()
 +
</pre>
 +
# Run VoteKey_EmailGenerator.py
 +
# Make an excel file and copy the emails and votekeys into it. (for example from VotingEmails_826.txt and Votekeys_2015.txt). This is just for reference. This step could probably be implemented into the python script.
 +
# Rename the output file, newfile.txt, to a batch file (.bat). Double check the contents by opening in notepad++
 +
# Run the batch file in command line. The delay is 10 seconds between each email (so as to not look spammy), so it will take 15-20 minutes to run.
 +
# There will always be stragglers. Add the stragglers' emails to the excel spreadsheet and manually email their vote keys to them. There should be more than enough extra vote keys generated.
 +
 
 +
==== Setting up the Ballot ====
 +
If the secretary is also running for board, it's a good idea to have an election helper who is not running for board to oversee the final ballot counts. If not, it's ok for the Secretary to do everything, although there is the possibility that the secretary could violate the claim of anonymity by checking vote keys against emails. Just don't be a dick, future secretary!
 +
 
 +
[https://docs.google.com/forms/d/1PcCKrtSFR95uD5Gb1_N0spFHg_QfwXNbzwPNij_j0-U/edit?usp=sharing Copy of sample ballot in google forms for secretary/election helper]
 +
 
 +
[https://docs.google.com/spreadsheets/d/1WgWN0vdf8W_Esv1Uk5BUqP8FBsmmvQY4kH3ahIOSp2Q/edit?usp=sharing Copy of responses from Sample Ballot]
 +
 
 +
Notes on the ballot
 +
* Data validation in the ballot itself limits the number of votes to 8 (the current number of board of directors)
 +
* All other data validation is done in the spreadsheet that collects form responses
 +
 
 +
Notes on the vote-validating-and-counting spreadsheet
 +
* There is some test data already in the spreadsheet to see how it'll work
 +
* Form responses 1: this sheet contains the raw data from the form. Don't mess with it, because the form overwrites anything there with new responses.
 +
* Vote Keys: Copy the vote keys into the first column of this sheet
 +
* Data Validation: This sheet copies the first 3 columns of the form response data and then does a lookup against the vote key list, and also checks for duplicates, keeping the last occurrence. It takes the valid votes and formats them for counting. This is the hackiest sheet, so let me know if you have any questions about the logic.
 +
* Vote Count: This sheet counts up all the valid votes for each nominee and makes a pretty graph.
 +
 
 +
 
 +
'''Election Helper: How to set up the final vote after you're done playing with test data'''
 +
# Open the sample ballot
 +
# Open the responses spreadsheet
 +
# Save an official copy of both for the current election year (very important, otherwise all the responses are public! Make sure you do not check the box that keeps the previous sharing settings)
 +
# In the ballot, Change the nominees to reflect the current years' nominees. You can copy/paste an entire column from excel easily.
 +
# Look over the ballot for any outdated references
 +
# In the ballot, go to menu item Responses > Delete all responses
 +
# Then go to Menu item Responses > Choose response destination > New sheet in an existing spreadsheet
 +
# Select the official spreadsheet that you just created
 +
# Open that spreadsheet if it's not already open
 +
# Delete the previous "Form Responses" sheet that contained old data
 +
# Rename the new Form Response sheet to "Form Responses 1" (it'll break formulas if you don't)
 +
# Double check all the formulas, particularly the array formulas in the top row of the Data Validation sheet. (you may have to hit Enter to re-jigger the array formulae into working)
 +
# Get the list of vote keys from the secretary after they do the final CRM-checking.
 +
# Copy all of the nominees into the first column of the "Vote Count" tab
 +
# In the ballot, click on the blue "send" button. Send the form via email to the secretary. This embeds the form into an email that the secretary can then send to the members list when voting is officially open.
 +
# At the end of the election, open the ballot and go to Responses -> "accepting responses" and toggle to "Not accepting responses"
 +
# Go over the election spreadsheet, check for errors, and when finished, send the secretary the list of newly elected directors so the secretary can announce it all official-like.
 +
 
 +
== Filing Paperwork ==
 +
* To maintain our non-profit status we need to file an annual report here;
 +
http://www.michigan.gov/lara/0,4601,7-154-35299_61343_35413_40269-136482--,00.html
 +
 
 +
typically this report is filed after elections take place in Septemeber. It needs to be filed on or before October 1. The fee is $20.
 +
 
 +
*We are a Domestic Nonprofit Corporation registered with the state of Michigan
 +
http://www.dleg.state.mi.us/bcs_corp/dt_corp.asp?id_nbr=70489T&name_entity=I3%20DETROIT
 +
 
 +
== Helpful books ==
 +
* [http://www.nolo.com/products/nonprofit-meetings-minutes-and-records-norm.html Nonprofit Meetings, Minutes, and Records]
 +
 
 +
[[Category:HOWTO]][[Category:Internal HOWTO]][[Category:Organization Information]]

Latest revision as of 12:49, 14 January 2016

The Secretary has a bunch of duties! This page should eventually contain info about how to properly perform most or all of them.

Preliminary Background Information

  • Review Robert's Rules of Order which is the basis for i3 Detroit's meeting's operating meetings. Note: Link broken, needs update.
  • Familiarize yourself with i3 Detroit's Bylaws and Standing Rules
    • Know how to find them on the wiki
    • Refer to them when appropriate to answer questions at meetings - it's a good idea to delegate this while you are taking minutes!
  • Learn how to edit the wiki

Necessary Access to Official Records and Systems

These are i3 Detroit's official records systems that the secretary is responsible for:

The Official Email: secretary@i3detroit.com

  • Use this email for official communications to the announce list, individuals, and external organizations.
  • Make sure this is added to the i3detroit-announce@googlegroups.com so that you can make announcements.

Bylaws and Standing Rules

  • Get your wiki access permissions to include Bureaucrats and Administrators so that you have edit permissions.
  • Make sure other people who don't need access to these don't have that access.

CRM aka Customer Relationship Manager

  • Get your CRM role set to "director".
  • Check your role settings by going to your page on the CRM, then clicking on the roles link. In addition to the normal Home, Members, and Reports tabs there should now be additional options visible.

Other Important Documents

  • Hold a copy of the current lease to 1481 A Wordsworth St
  • Hold a copy of the insurance policy
  • The current printed copy of each should be in the secretary bag.

Setting up a vote

Note on this whole process: i3 technically follows Robert's rules of order (as compared to consensus), but we're pretty lax about it, following only the basics. Robert's also has guidelines for discussing proposals prior to voting, but those are outside the secretary's job responsibilities.

  1. Make sure the item is actually something that can be voted on
    • Changing the standing rules: General membership
    • Changing the bylaws: both board and general membership
    • Officer/Warden appointments, budgetary proposals, floor plan changes: board
    • This is not a comprehensive list! add to meeeee
  2. Finalize the exact language to be voted on
    • For proposals at a meeting, the secretary should write down the proposal and read it out loud so everybody knows the exact language. If necessary, write it down on a whiteboard.
      • If people have proposals, adding them to the meeting minutes prior to the meeting greatly reduces the effort of the secretary, and allows other members to reference the proposal on their own screen.
    • For email votes, whoever makes the motion should put the exact text in their email, or reference someone else's email with the exact text.
  3. Open voting
    • A proposal needs to be moved for before it can be voted on. Having one person specifically move for a proposal helps to give the proposal a champion. If no one cares about the proposal enough to champion it, then it probably doesn't need to be proposed!
    • A proposal needs to be seconded before it can be voted on. This is to prevent one person from calling a million votes that no one else wants.
    • Whoever moves for and seconds the proposal should be eligible to vote for the proposal.
    • Votes can be held at any regular meeting, and any special meeting.
    • Email votes: There are currently no provisions in the bylaws or standing rules for votes via email, so the secretaries have developed and implemented best practices over the years.
      • To open a vote via email, we count it as a special meeting, which requires 7 days notice. Therefore, whenever an email vote is called, the voting period is 7 days, ending at the virtual special meeting. In order for the vote to be closed earlier than that, everyone has to waive their rights to advance notification of a special meeting. Make this explicit in the vote thread.
      • Vote threads vs. discussion threads: If a proposal comes in via email, it starts a thread where usually people talk about the proposal and make adjustments to it. The proposal should be officially moved and seconded on this thread in order to trigger the secretary to open the vote. Having votes on this thread can get really confusing because it's not clear exactly which proposal is being voted on, and when future secretaries want to look something up, they'll have to slog through the whole thread, and depending on the proposal, that can be a really messy job. To make it easier to keep clean records, a separate thread is created. Some guidelines for the vote thread:
        • Put something in the subject that makes it clearly a vote thread. "VOTE", "VOTE THREAD", anything like that that calls attention to the thread as something important, and makes it easy to find when looking things up in the future.
        • The exact text of the proposal
        • Who moved and seconded the proposal
        • A link to the discussion thread(s) for easy reference
        • The date that voting closes (at least a week from the date of the thread creation)
        • Note about advance notice. Something like "By voting you are waiving your right to advance notice of a special meeting." You can also have people type "I waive my right to advance notice of a special meeting" when they vote.
  4. Determine who can vote on it
    • For general membership votes, only voting members as listed in the CRM at the time of vote are eligible to vote.
      • Most votes historically are passed by a large margin, so we've been pretty lax about checking this and just use the honor system
      • If the vote is close, or if someone requests it, or if you feel particularly responsible, use the attendance sheet to check against the CRM and the number of votes. To get really formal, call out each person's name to get their vote
    • For board votes, there are no eligibility requirements other than to be on the board at the time of the vote.
  5. Everybody votes!
    • Votes can be Aye/Yes, Nay/No, or Abstain.
    • For in person meetings, usually having the chair ask for raising of hands suffices, but depending on the circumstances, individual votes may also be recorded. See section on voting eligibility for one such circumstance.
    • For email votes, each person should post a response to the vote thread with their vote and the phrase "I waive my right to advance notice of a special meeting", if necessary.
      • Google forms is also being tested as an alternative to posting responses via email. In this case, a link to the form is provided in the initial email, and each person should indicate their vote on the form. A vote key may be required for authentication.
    • Counting votes: For in person meetings, it's nice if the chair of the meeting does this and just tells the secretary the number, since they're usually standing and aren't trying to record things. For email votes, the secretary can handle it.
  6. Close voting
    • In person meetings: voting closes after the chair calls for all the ayes, nays, and anyone who is abstaining.
    • Email votes: Voting closes after a week, or after everyone has voted & waived their right to advance notice of a special meeting
  7. Document results
    • In person meetings: The chair will usually announce to the members present. Record the result in the minutes.
    • Email votes: Put the results of the vote in the vote thread to summarize. Also add the proposal and results to the next meeting minutes to summarize what happened between meetings.
    • Votes needed to pass something: Most votes require simple majorities of members present, not a majority of ALL members, to pass. Votes to change the bylaws require a 2/3 majority to pass.
      • For email votes, the number of votes required to pass a proposal isn't known until the voting is closed (aka when attendance has been taken at the virtual special meeting).
    • Every proposal that is passed should lead to further action and documentation somewhere. It is the secretary's duty to perform such documentation or delegate it.
    • Examples:
      • Officer/Zone Coordinator Appointments: Update the relevant wiki pages with current appointments. Announce new appointment(s) to the general membership.
      • Modification to Standing Rules/Bylaws: Update the document on the wiki
      • Budget Items: delegated to Treasurer/Budget
      • Disciplinary Actions: usually delegated to Member Advocate or equivalent officer.
      • Other resolutions: deal with as appropriate, but DO NOT just note it in the minutes and then do nothing with it
  8. Announce results
    • Depending on what the proposal is, the secretary or someone else can announce the changes via the -announce mailing list or the regular mailing list, or not announce at all.

Regular Meetings

Call for Topics

Before every regular meeting a call for topics is sent out by the secretary to i3detriot@googlegroups.com to help create the agenda. Since regular meetings are on Tuesdays, it is best to send out the call for topics on the preceding Sunday.

  1. Create a new wiki page for the minutes
  2. Copy the appropriate template into the new minutes page as a starting point.
  3. Copy the action items from the last meeting's minutes to the review for the new meeting's Action Item Review.
  4. Save the new minutes page.
  5. Send an email to i3detroit@googlegroups.com
    • Announce the meeting time and whether the meeting is a member or board meeting
    • Request users add meeting topics and include the URL to the new minutes wiki page
    • It's also helpful to include a URL to HOWTO
  6. Remember to keep the templates up to date as needed.

Taking Minutes

  • When a Secretary will miss a Board/Member meeting, best practice is to inform the Board email list and arrange for a substitute minutes taker. That way, the group knows to not delay the meeting waiting for everyone to arrive. It is not necessary to provide an excuse. It is also considerate, before taking a break from the work you are doing together with your colleagues, to briefly inform them, so they know to move forward without holding up deliberations.
  • Making a note of the time the meeting starts is important to looking all official-like.
  • Record all people in attendance at the meeting; this is a legal requirement!
  • After the meeting ends, post them to this wiki.

Example of how to document proposals

  • Person A moves to nominate/propose
  • Person B seconds the motion
 Motion to nominate Person C as warden of the Wiki Zone
  • 5 in favor of 7 present, motion passes

Use <pre> and </pre> tags to offset proposals so they're easy to pick out

Note: There is a proposal template that may supersede the tagging above.

Action Items

Action items are a record of specific tasks and who is responsible for them. They require a specific name (i.e. cannot be "everyone") and a specific task. Action items are reviewed at the beginning of the next meeting to check on progress toward completing the action. If an action item is not completed at the time of review, it is copied to the current action item list so that it will be reviewed at the following meeting unless the action item is determined to be no longer necessary. It is a good idea to email everyone with an action item a couple days before the meeting (like right after creating the minutes/call for topics post) to increase the chances of the action items being completed.

Documenting Action Items

Action Items from the previous meeting are copied into the "Action Item Review" section of the current meeting. After the item is discussed, use <strike> and </strike> tags to cross off the old item and then put the update. This makes it easier to see the change in status.

Example: Konrad to educate Jamie about strikethroughs Jamie is now educated and has even documented their use!

Documenting Proposals

See voting section above.


Running the Annual Election

  • Use the [[Standing_rules#Board_of_Directors.2C_Officers.2C_and_Elections | standing rules] as guidance. Make sure to check them early, as parts of the election process start in the beginning of August.
  • Send out emails both to the regular members-only list and to the announce list. Don't be afraid to repeat the same information over and over. Elections are important stuff and it's better to pound the information into people's heads as much as possible, instead of risking confusion.

Nominations List

In 2015, Jamie shared a Google Doc (view-only) with the members list so that everyone could see who was nominated, even the people that didn't accept. Relative to 2014, this reduced the number of repeat nominations. There were always some viewers on the document, so it seems like a good idea worth repeating.

Jamie always sent out emails to nominees manually. Is there a better way to do this? Probably! Feel free to improve upon her method.

Electronic Voting

In 2014 Jamie set up an electronic voting system using a system of random vote keys, google forms, and spreadsheet formulas.

Sending out Vote Keys

  1. Download python 2.7
  2. Download SendEmail
  3. Make a folder that contains the SendEmail executable, like "2015 Vote". Put all the rest of the files in this folder.
  4. Export from the CRM the list of voting members, and separate out the list of email addresses. Put the email addresses in a text file labelled with the date (for example VotingEmails_826.txt) as they will likely need to be re-checked the day of/before the election. Get the number of emails, roughly, as a sanity check.
  5. Copy the text below and save it as something like "Votekey_EmailGenerator.py" This file will
    1. Generate a list of random keys, 6 characters long. Confusing characters are taken out of this list. Generate a sufficient number of random keys so as to have extra if needed.
    2. Write a batch file that uses the program SendEmail to send an email from youremail@gmail.com. Make sure that the from email and SMTP authorization username/password are correct. Check the subject and text of the email for outdated references and the correct dates.
#Generates a text file of a specified number of
#random alphanumeric sans confusing characaters (1, 0, i, l, o)
#strings of a specified length

import random
import string

x=0             #counter
keylength=6     #char length of vote key
numkeys=120     #number of vote keys desired
votekey_output=open("VoteKeys_2015.txt","w") #open file for writing

#combine [keylength] random chars into a string and write it to the file, with a newline
for x in range(numkeys):
    votekey_output.write(''.join(random.choice("abcdefghjkmnpqrstuvwxyz" + "23456789") for _ in range(keylength)) + "\n")

votekey_output.close()

# Load CRM emails
CRM_File = open("Good2Vote_8-27-15.txt")
VotingEmails=CRM_File.readlines()
Voters = len(VotingEmails)

# Load Vote Keys
VoteKeyFile = open("VoteKeys_2015.txt")
VoteKeys=VoteKeyFile.readlines()

# Write batch file
file = open("newfile.txt", "w")

i = 0
while i < Voters:
    file.write("SendEmail -f youremail@gmail.com -u i3Detroit 2015 Elections: Vote Key")
    file.write(" -t "+VotingEmails[i].rstrip())
    file.write(" -m Hello i3Detroit voting member! Below is your vote key for the 2015 Election!")
    file.write("\\n You will need this key in order to vote in the election on September 1st, 2015. Elections this year are going to be held over a 24 hour period to allow as many members as possible to participate. Voting will be open from 10pm Monday, August 31st until 10pm Tuesday, September 1st. The ballot will be sent out to the general mailing list and you will need to enter your vote key for your vote to be counted. You are strongly encouraged to come to i3 on Tuesday, September 1st at 7:30pm as candidates will be giving speeches to the membership and doing their final campaigning. ")
    file.write("\\n \\nFor more information about the candidates, see http://i3detroit.org/wiki/Election_2015")
    file.write("\\n \\nIf you have any questions, email the secretary (secretary@i3detroit.org) ")
    file.write("\\n \\nVote Key: "+VoteKeys[i].rstrip())
    file.write("\\n \\n \\n \\nSincerely, \\nJamie Burdeski\\nSecretary, i3Detroit")
    file.write(" -s smtp.gmail.com:587 -xu youremail@gmail.com -xp youremailpassword -o tls=yes \n")
    file.write("timeout /t 10 \n")

    i = i + 1


file.close()
  1. Run VoteKey_EmailGenerator.py
  2. Make an excel file and copy the emails and votekeys into it. (for example from VotingEmails_826.txt and Votekeys_2015.txt). This is just for reference. This step could probably be implemented into the python script.
  3. Rename the output file, newfile.txt, to a batch file (.bat). Double check the contents by opening in notepad++
  4. Run the batch file in command line. The delay is 10 seconds between each email (so as to not look spammy), so it will take 15-20 minutes to run.
  5. There will always be stragglers. Add the stragglers' emails to the excel spreadsheet and manually email their vote keys to them. There should be more than enough extra vote keys generated.

Setting up the Ballot

If the secretary is also running for board, it's a good idea to have an election helper who is not running for board to oversee the final ballot counts. If not, it's ok for the Secretary to do everything, although there is the possibility that the secretary could violate the claim of anonymity by checking vote keys against emails. Just don't be a dick, future secretary!

Copy of sample ballot in google forms for secretary/election helper

Copy of responses from Sample Ballot

Notes on the ballot

  • Data validation in the ballot itself limits the number of votes to 8 (the current number of board of directors)
  • All other data validation is done in the spreadsheet that collects form responses

Notes on the vote-validating-and-counting spreadsheet

  • There is some test data already in the spreadsheet to see how it'll work
  • Form responses 1: this sheet contains the raw data from the form. Don't mess with it, because the form overwrites anything there with new responses.
  • Vote Keys: Copy the vote keys into the first column of this sheet
  • Data Validation: This sheet copies the first 3 columns of the form response data and then does a lookup against the vote key list, and also checks for duplicates, keeping the last occurrence. It takes the valid votes and formats them for counting. This is the hackiest sheet, so let me know if you have any questions about the logic.
  • Vote Count: This sheet counts up all the valid votes for each nominee and makes a pretty graph.


Election Helper: How to set up the final vote after you're done playing with test data

  1. Open the sample ballot
  2. Open the responses spreadsheet
  3. Save an official copy of both for the current election year (very important, otherwise all the responses are public! Make sure you do not check the box that keeps the previous sharing settings)
  4. In the ballot, Change the nominees to reflect the current years' nominees. You can copy/paste an entire column from excel easily.
  5. Look over the ballot for any outdated references
  6. In the ballot, go to menu item Responses > Delete all responses
  7. Then go to Menu item Responses > Choose response destination > New sheet in an existing spreadsheet
  8. Select the official spreadsheet that you just created
  9. Open that spreadsheet if it's not already open
  10. Delete the previous "Form Responses" sheet that contained old data
  11. Rename the new Form Response sheet to "Form Responses 1" (it'll break formulas if you don't)
  12. Double check all the formulas, particularly the array formulas in the top row of the Data Validation sheet. (you may have to hit Enter to re-jigger the array formulae into working)
  13. Get the list of vote keys from the secretary after they do the final CRM-checking.
  14. Copy all of the nominees into the first column of the "Vote Count" tab
  15. In the ballot, click on the blue "send" button. Send the form via email to the secretary. This embeds the form into an email that the secretary can then send to the members list when voting is officially open.
  16. At the end of the election, open the ballot and go to Responses -> "accepting responses" and toggle to "Not accepting responses"
  17. Go over the election spreadsheet, check for errors, and when finished, send the secretary the list of newly elected directors so the secretary can announce it all official-like.

Filing Paperwork

  • To maintain our non-profit status we need to file an annual report here;

http://www.michigan.gov/lara/0,4601,7-154-35299_61343_35413_40269-136482--,00.html

typically this report is filed after elections take place in Septemeber. It needs to be filed on or before October 1. The fee is $20.

  • We are a Domestic Nonprofit Corporation registered with the state of Michigan

http://www.dleg.state.mi.us/bcs_corp/dt_corp.asp?id_nbr=70489T&name_entity=I3%20DETROIT

Helpful books