Skip to content

Use Google Drive as a CMS? #5

@luca-aurelia

Description

@luca-aurelia

Pros and Cons

Pros

  1. Could reduce our dependence on services like Bandpage if our information (e.g. upcoming shows) is easy enough to update.
  2. Easy for non-devs to update our EPK.
  3. Song documentation will already be stored in Google Drive, so we can easily publish it if we want. Might be nicer than using the Google Drive interface to reference songs.
  4. Google Docs is a good interface for blogging if we want to roll our own blog. Medium is also a good option.
  5. Easy to fix typos, etc.
  6. If we store tour planning data in Google Drive, it could automatically generate reports using our tour planner. Reports could be presented on our website.

Cons

  1. Cost in development time.
  2. Cost in maintenance.
  3. Maybe scaling too soon? Are devs really a big enough bottleneck to website updates?
  4. Making our site even faster and giving it a better design seem like higher priorities.

Implementation

I can imagine two rendering pipelines. Client-side rendering is slightly less performant, but easier to implement:

Client-side rendering

  1. A user updates a song’s lyrics in Google Drive.
  2. A user publishes those updates using Drive CMS.
  3. Drive CMS posts the updates to the Firebase database.
  4. When a visitor opens partials.co/songs, the app fetches all song info from the Firebase db.
  5. The app renders the songs dynamically with React.

Server-side rendering

Another option, server-side rendering, is more complicated but also probably faster:

  1. A user updates a song’s lyrics in Google Drive.
  2. A user publishes those updates using Drive CMS.
  3. Drive CMS posts the update to a build server.
  4. The build server renders each song page dynamically and saves the rendered page to disk.
  5. The re-built app with all the rendered song pages is deployed to Firebase hosting.

More on server-side vs. client-side rendering:
https://www.quora.com/What-are-the-tradeoffs-of-client-side-rendering-vs-server-side-rendering

If we decide to do this, Max Berry has built a Google Drive CMS that integrates with Firebase.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions