arbitrator
A utility allowing schedules from ArbiterSports to be added to Google Calendar with a minimum of effort.
arbitrator, the developers of arbitrator, and Glass Tower Studios are in no way related to ArbiterSports, ArbiterOne, or ArbiterPay. Use of this software is conditional on agreement with the license(s) described in LICENSE.md.
Binary Distributions
- MacOS: Arbitrator-2.2.0.dmg (See Installation Instructions for MacOS)
- Linux (Debian Variants): Arbitrator-2.2.0.deb
Installation Instructions for MacOS
We don't have a registered developer key with Apple, since this application doesn't make any revenue, and purchasing of a developer license with Apple is a $100 annual fee. As such, the DMG file will warn you that you can't install the application, because it's not signed by a verified developer.
To overcome this, you must have administrative privileges on your machine. Then, do the following:
- Click the Apple icon in the top left of your screen.
- Select 'System Preferences'.
- Click on 'Security and Privacy'.
- Click the lock in the bottom left corner of this window and enter your administrative password.
- Under 'Allow Apps Downloaded From', choose 'Anywhere'.
- If under MacOS Sierra, you will need to open a terminal and run
sudo spctl --master-disable
, since there is no option for 'Anywhere'. - Re-open the Arbitrator DMG file and install.
Build from Source
arbitrator is now a desktop application. You can build the binary for your platform by following these steps:
- Install the node package manager.
- Download the most current release.
- Run:
npm install && npm run release
. - Install the appropriate package from within
dist/
. For OS X, it will bedist/mac/Arbitrator-X.Y.Z.dmg
, for linux it will bedist/linux/Arbitrator-X.Y.Z.deb
, and for Windows it will bedist/windows/Arbitrator-X.Y.Z.msi
.
Using an existing instance
Note that the current web implementations have been deprecated as of version 2.0.0
. This means they will not be updated, but are still available for use right now.
There are currently two separate instances set up on glasstowerstudios.com. The first one, the alpha instance, is our most recent deployment, and is thus probably less stable than the beta version. If you're not sure which one to use, you should probably use the beta instance.
To access an instance, navigate your browser to the location described below for that instance. Note that most of the code was tested in Firefox. This doesn't mean it won't work in, say, Chrome, but just keep in mind that there may be unknown bugs in other browsers.
Version | Web Address |
---|---|
Beta | http://arbitrator.glasstowerstudios.com |
Alpha | http://alpha.arbitrator.glasstowerstudios.com |
From there, you can follow the instructions for usage below.
Instructions
Warning: arbitrator is designed as a tool to help you manage your game assignments. It's also in active development, meaning that there could be bugs. You should always double-check your game assignments against your Google Calendar if you use arbitrator. The developers of arbitrator are in NO WAY RESPONSIBLE for any problems arising out of the use of this product. You are responsible for your own game assignments, and arbitrator is a dumb tool designed to help you with some mundane tasks. Please see the LICENSE.md file for more information on the license agreement of arbitrator.
Using arbitrator is pretty simple. Simply copy all of the text in your schedule from ArbiterSports and paste it into the text box in the arbitrator main interface. Then, select the calendar which you want to populate your data to beneath the text entry, and click Submit.
Note that this is somewhat cumbersome at this time. We're working on a way to get an automatic synchronization from ArbiterSports -> Arbitrator, but it's not available yet.
Preferences
There are a few preferences on the right side that you can configure if you so choose. These are explained below. All preferences take effect on the next set of data that Arbitrator runs on, so adjusting preferences will not affect games you already migrated to Google Calendar.
Group Aliases
arbitrator adds calendar entries with the subject line:
[Group] <Position> <Home Team> v. <Away Team Name> (Game Level)
The Group
entry is, by default, whatever was entered into the ArbiterSports group field (which is probably understandable for schedulers, but can sometimes be unintelligible for officials). Once arbitrator has seen a given group abbreviation, it gives you the option to add an alias for that group to make it more understandable.
Time Preferences
- Minutes Before Start: Adding a number here allows you to configure how many minutes before the start of the game you want the calendar entry to start at. This is useful if, for example, you want to arrive 30 minutes prior to the start of the game (in order to get ready). Google calendar will then notify you in time so that you arrive at this time, rather than at the start of the game.
- Length of Game: This is a setting that indicates how long games should last within Google calendar. If you have hour-long games, you can set this here, or you can set it for longer if you have games that will likely run longer.
- Consecutive Game Threshold: This is the number of hours between which games will be considered "consecutive", assuming they take place at the same location. This enables arbitrator to not add the start time padding to consecutive games (since it's assumed you're already going to be on site).
Location Preferences
In a similar manner to Group Aliases, arbitrator will keep track of location fields from ArbiterSports. Unfortunately, since ArbiterSports doesn't have an open API, we can't gather this data directly. Instead, when a new location is seen, you can enter an address for future occurrences of that location. If an address exists for a given location, arbitrator will add that address to the calendar event. If an address does not exist, then the name of the site (taken directly from ArbiterSports) will be added as the location of the calendar event.
Support
We don't offer phone support (there simply aren't enough of us to do that). However, we can offer support via the following methods:
- Slack Channel (Preferred)
- Github Issues
If you need immediate assistance, chances are the best method of contact is our Slack developer channel (usually pretty slow, so you'll get a response fairly quickly, unless it's the middle of the night).