Google Sheets Integration

Although Google Sheets is ‘just tabular data’ there is quite a lot of complexity to consider, for example:

  • assuming that each column in a sheet should be matched to a field in Fibery, how can Fibery know what datatype each column of data represents (is it a date, a number (integer/decimal), select field…)?
  • following on from that, how could Fibery adapt if the content of a cell changed such that it was no longer a supported value for that data type? In other words, if the sheet has a column of numbers, Fibery might ‘intelligently’ sync these as a number field, but then what should happen if one of the cells is edited to become a string of letters?
  • what should happen if the user adds more columns? should Fibery automatically add new fields?
  • what should happen if columns are deleted or reordered in the sheet? How does Fibery recognise this (as opposed to perceiving it as changes to the field types and values)?
  • what should happen if rows are deleted/reordered in the sheet? Is it to be expected that Fibery somehow intelligently compares before and after, in order to recognise that the data that was in row 1 (which was entity 1) is now in row 10 (but should still be identifiable as entity 1).
  • sheets are (almost) unlimited in the number of possible columns. Fibery databases are limited in the number of possible fields. Should the sheet data be truncated?

My guess is that different people might have different answers to these questions.
For example, some people might be happy for everything to simply be synced into Fibery as a text field (which is the most flexible/accommodating datatype) whereas others might require numbers to be synced as numbers.
Some might even just want to have a Google sheet embedded into a Fibery document, which is already possible :slight_smile:

Overall, although the use case “Sync Google sheets into Fibery” sounds like something a lot of users might have, in practical terms, it might actually be dozens of slightly different use cases, which typically makes for v difficult implementation.

4 Likes