Skip to content

Agent that syncs pods and Google Sheets v2 #123

Open
@pheyvaer

Description

@pheyvaer

Pitch

A lot of users use Google Sheets to view and edit data. This data can be stored in Google Sheets itself or it can be coming from an external data source such as a MySQL database or MongoDB. So far, there is no solution that exists that allows doing this with data in Solid pods. This challenge focuses on the agent/backend part of a solution for this problem.

This challenge is an extension of challenge #120. We explain in the "Acceptance criteria" section what is expected.

Desired solution

The solution builds on this agent, which is the solution for challenge #120.

Acceptance criteria

The solution needs to support the following user flows.

Update Google Sheet with changes from pod

  1. There exists a public resource on the user's pod that they want to sync.
  2. The user opens a new Google Sheet.
  3. The user updates the config file.
  4. The user updates the YARRRML file.
  5. The user starts the server application.
  6. The Google Sheets is initially filled with the data from the resource.
  7. The user updates a field in the Google Sheets.
  8. The application writes the changes to the resource.
  9. The user manually checks the resource and sees the changes.
  10. The user updates the resource via another app or manually.
  11. The application updates the Google Sheet.

Note that steps 1 till 9 are the similar to the flow described in challenge #120.
Supporting this flow includes solving SolidLabResearch/google-sheet-sync#10.

Update Google Sheet beyond the initial range

  1. There exists a public resource on the user's pod that they want to sync.
  2. The user opens a new Google Sheet.
  3. The user updates the config file.
  4. The updates the YARRRML file.
  5. The user starts the server application.
  6. The Google Sheets is initially filled with the data from the resource.
    Assume that the last row is row 100.
  7. The user adds new information on row 101.
  8. The application writes the changes to the resource.
  9. The user manually checks the resource and sees the changes.

Supporting this flow includes solving SolidLabResearch/google-sheet-sync#7.

Write changes from Google Sheets to multiple resources

  1. There exist at least two public resources on the user's pod that they want to sync.
  2. The user opens a new Google Sheet.
  3. The user updates the config file.
  4. The user updates the YARRRML file.
  5. The user starts the server application.
  6. The Google Sheets is initially filled with the data from the resource.
  7. The user updates multiple fields in the Google Sheets.
    The data in these fields corresponds to data spread over the different resources.
  8. The application writes the changes to the correct resources.
  9. The user manually checks the resources and sees the changes.

Supporting this flow includes solving SolidLabResearch/google-sheet-sync#12.

Sync Google Sheet with resources that require authentication

  1. There exists a private resource on the user's pod that they want to sync.
  2. The user opens a new Google Sheet.
  3. The user updates the config file.
  4. The user updates the YARRRML file.
  5. The user starts the server application.
    The application asks the user for login credentials.
  6. The Google Sheets is initially filled with the data from the resource.
  7. The user updates a field in the Google Sheets.
  8. The application writes the changes to the resource.
  9. The user manually checks the resource and sees the changes.

Supporting this flow includes solving SolidLabResearch/google-sheet-sync#13.

Scenarios

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions