/inout2

A web-based office in/out board powered by Google Calendar, written in Google Apps Script

Primary LanguageHTML

In/Out Board 2

In/Out 2

Basics

This project is a rewrite of my old web-based office in/out board, written in Google Apps Script and powered by Google Calendar. It's a simple HTML table generator that formats and displays a hard-coded list of user's current statuses on Google Calendar.

For each user, you get their name (with optional phone extension), free/busy status, location, and duration of the event. If the person has shared their calendar with you, you will see if they are free or busy, and if busy, event information available to you. When that user creates a new event in Google Calendar, "Available" vs. "Busy" events determine their status on the board, and "Public" vs. "Private" events determine if the details of the event are visible on the board. If you have more than one event going on at the same time, the board looks at the event that is ending latest.

Because this code is hosted and authenticated server-side on Google Apps Script, there are no dependencies or servers required. It simply generates a web page.

Setup

  1. Create a new Google Apps Script project in Google Drive.
  2. Copy and paste the code from the src folder into six files in the Apps Script project.
  3. Go into ResourcesAdvanced Google services..., and turn on the Calendar API. You may have to click a link and accept some Terms of Service.
  4. Go into the config.html file and modify your location name, latitude, longitude (all for the weather), names, phone numbers, and email addresses, as well as whether or not you'd like to show phone extensions.
  5. Go into PublishDeploy as web app.... Choose the level of access that you want to have on the in/out web page (Under Who has access to the app:), and click Deploy.

You're done! Share the link to your new In/Out board (the Current web app URL), or point a TV to look at that page.

Updating

When updates are released here on Github, simply copy and paste the newer files in the src folder (except your config file) to your project, and go to PublishDeploy as web app.... Increment the version number (Pick "New" under the Project Version dropdown) and click Deploy. You should be good to go!


Feel free to take a look at the source and adapt as you please. I would love to see some pull requests for improvements to the Javascript.

This source is licensed as follows:

Creative Commons License

Javascript In/Out 2 is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.


If this was helpful to you, buy me a tea.