- Run
npm run prepare:pods
to prepare a local Community Solid Server. - Run
npm run start:pods
to start the local CSS. - Make sure correct tokens have been generated by following the authentication steps as described in
README.md
in sectionsGoogle Sheet API
andOAuth2 tokens
. - Copy the contents of
config.query.example.yml
toconfig.yml
in the working directory. Set theid
section to the id of an existing Google Sheet. - Copy the contents of
rules.example.yml
torules.yml
.
- Run
npm start
to start the synchronisation agent. - Wait a couple of seconds until the initial cold start of the synchronisation process is completed.
- All the RDF data on the resource should be correctly converted and displayed on the Google Sheet.
- Follow and execute all steps in the "cold start" test above.
- Change and/or delete any amount of cells in the Google Sheet. Do not delete an entire row.
- Wait at least the configured amount of milliseconds as configured under
interval
in the configuration file (default 5000).
- The resource
http://localhost:3000/testing/software
contains the new data.
- Follow and execute all steps in the "cold start" test above.
The pod can be updated with the following request:
curl --location --request PATCH 'http://localhost:3000/testing/software' --header 'Content-Type: text/n3' --data-raw '@prefix solid: <http://www.w3.org/ns/solid/terms#>. @prefix software: <https://data.knows.idlab.ugent.be/person/office/software#>. @prefix schema: <http://schema.org/>. _:rename a solid:InsertDeletePatch; solid:inserts { software:test schema:name "test"; schema:description "abracadabra". }.'
When using websockets, the change should be almost immediately shown, otherwise wait at least the configured amount of milliseconds (default 5000ms).
- The Google sheet contains the new data.
- Go to
initial-pod-data/software.acl
and changeacl:agentClass foaf:Agent;
toacl:agentClass acl:AuthenticatedAgent;
. This makes the resource only accessible for authenticated Agents. - Make sure all dependencies have been installed by running
npm i
. - Run
npm run prepare:pods
to prepare a local Community Solid Server. - Run
npm run start:pods
to start the local CSS. - Make sure correct tokens have been generated by following the authentication steps as described in
README.md
in sectionsGoogle Sheet API
andOAuth2 tokens
. - Copy the contents of
config.query.example.yml
toconfig.yml
in the working directory. Set theid
section to the id of an existing Google Sheet. - Copy the contents of
rules.example.yml
torules.yml
.
-
Run
npm run auth
to start the authentication web app. -
Navigate to
http://localhost:8081/
(or another port if changed) in a browser. -
Fill in all the necessary information:
- host server (Url of your Community Solid Server where your pod is located)
- email for your pod
- password for your pod
The Solid instance that comes with this program is seeded with 1 pod by default. The default pod name is
example
. The email is[email protected]
with passwordabc123
. You can use these values to authenticate. For the host value, usehttp://localhost:3000
. -
Press "Authenticate" under the "Solid Pod" section.
-
Run
npm start
to start the synchronisation agent. -
Wait a couple of seconds until the initial cold start of the synchronisation process is completed.
If authentication was done correctly and successfully, everything should work the same as without authentication.
- Make sure all dependencies have been installed by running
npm i
. - Run
npm run prepare:pods
to prepare a local Community Solid Server. - Run
npm run start:pods
to start the local CSS. - Make sure correct tokens have been generated by following the authentication steps as described in
README.md
in sectionsGoogle Sheet API
andOAuth2 tokens
. - Copy the contents of
config.query-multiple.example.yml
toconfig.yml
in the working directory. Set theid
section to the id of an existing Google Sheet. - Copy the contents of
rules-multiple.example.yml
torules.yml
.
- Run
npm start
to start the synchronisation agent. - You can change the
description
,score
,reviewDate
andtitle
of tv-shows
Depending on the column that you edit, the corresponding file will be changed as well.
The columns description
and title
are stored in pods/testing/tv-shows$.ttl
,
score
and reviewDate
are stored in pods/testing/ratings$.ttl
.
The other columns are the IRIs of the objects (the identifiers). You can change these but it is generally not a good idea, since new objects will be created.