You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Stuart Olivera edited this page Jan 17, 2018
·
2 revisions
The schedule published on the homepage is dynamically loaded from a Google Sheet. This enables organizers to quickly update the schedule without touching a line of code.
Caching
Google Sheets API response is cached hourly. If the schedule is loaded at 3:01pm, the website will show the same schedule until it re-fetches at 4:01pm. This helps to prevent exceeding our API request limit, as well as avoid high request latency (an un-cached schedule load blocks the home page from displaying to the user).
This includes error responses, so if the schedule is broken at 3:01pm, it'll stay broken until 4:01pm (there should be a user-friendly message to check back later during this time).
Caching is ignored in development, unless a tmp/caching-dev.txt file exists (file content can be empty). This can be useful for testing the cache (see config/development.rb for details).
API Access & Permissions
An API key is required to read the sheet
The Google Sheet's sharing permissions must be:
Shared with the API Key's associated Google user
Made public ("Anyone with the link" or "Public on the web" link sharing)
The API Key can be obtained in Google's Developer Console. Enable the Sheets API, and create an API key credential. If possible, restrict API access to specific IP addresses.
For BrickHack, this is handled on the codeRIT Google account.