Self-Service GO

GO has undergone several revisions in its operating code base. The first version was a PHP 4 script running off that simply handled redirection of URLs based on well-formed parameters. This was then moved to a special CMS channel with redirect postings for each of the “codes”. At this time the system wasn’t known as “GO”, rather the “CRA” which is an acronym I can’t remember the meaning of. When Chris thought up extending this to be, I rewrote the system in PHP 5 so that it could have a database back-end with some administration screens. This version of GO supported all kinds of functionality: shortcut “types” like “Banner” that allowed us to shut off whole systems at will, a statistics library that grew so large we could never use it, multiple fallback URLs for some shortcuts, and a load balancer that I swear, at one time, actually worked (others disagree on this point).

Becuase of the scope of that application, maintenance was continually an issue, particularly at stress points in the year, like Registration, where many people would hit the GO system all at once, hoping to get transferred to Banner so they could register. Chris decided we should simplify the whole process and remove scripting languages and databases from the equation entirely, so we transferred the existing shortcuts to a flat file that served to redirect the URLs. This meant that we lost some functionality like the old GOtionary with its code descriptions and the ability to turn on or off a particular code at will through a web interface. So I got to work on a “simplified” GO and that’s what we launched on Monday.

The old GO database’s 13 tables were cut down to a mere 4: one to hold users, one to hold shortcuts, one to relate users and shortcuts, and one to hold aliases for shortcuts. This also allowed us to simplify the administration interface for the application to just have a “create” and “update” screen that people can use to manage their shortcuts. Additionally, because of its simplicity, we decided to make GO a self-service application. This means that you can now create any GO shortcut you want! Of course, you can’t create a shortcut that’s already been created, and we may need to re-purpose your shortcut if the College needs it for an important academic or business purpose (e.g. if you register go/czech and later on Middlebury opens a Czech Language School…).

Here are some helpful definitions regarding GO:

  • shortcut: these are the meat and potatoes of go. Anything after “go/” is the shortcut. So in “go/bannerweb” the word “bannerweb” is the shortcut, but you might also have “go/bannerweb/courses/english” where “bannerweb/courses/english” is the shortcut. Shortcuts can be up to 255 characters long and contain any alphanumeric characters plus /, ?, -, and _. The only restrictions are that they can’t begin with /, ?, or the phrase “go/”.
  • alias: these provide an alternate path to a shortcut. For example, “banner” and “bw” are both aliases for “bannerweb” so you can type go/bw, go/banner, or go/bannerweb and get to BannerWeb. If, for whatever reason, the URL of BannerWeb changes, we only need to update the “bannerweb” shortcut and the “bw” and “banner” aliases automatically follow.
  • creator: the person in charge of the shortcut and any associated aliases. Only the creator can delete a shortcut and only the creator can add other users.
  • user: any person who can update the shortcut. Users can change the URL, description, institution, and whether the shortcut is hidden from the GOtionary.
  • institution: we maintain both and and you can create shortcuts for either. However, each shortcut can only have one institution. You can change the institution of a shortcut at any time, but it will stop working in the other institution.

One thing we noticed during the Web Redo requirements gathering process is that people seemed confused about the GO domain. We got a lot of responses saying, “I wish I could use GO when off campus!” You can! The domain exists for exactly this reason. In fact, when you’re on campus, you’re using this address even if you just type “go/”. It’s just that, since you’re on campus, we assume that you’re interested in stuff, so we don’t make you type it. However, all the addresses in GO are available anywhere in the world by typing (or GO isn’t the only service that you can get to quickly just by typing its sub-domain name when on campus; try this out with “www”, “segue”, “middmedia”, or “netstorage”.

There’s a plea about this on the GO administration screen (, but I’ll repeat it here: if any of the existing GO shortcuts are things you’d like to manage, and you work or study in an area related or responsible for the shortcut, let me know (by emailing I’ll set you up as the creator of the shortcut and you can go from there.

1 thought on “Self-Service GO

Leave a Reply to Tyler Cancel reply

Your email address will not be published. Required fields are marked *