This file contains the setup guide for the Solid Calendar Store: a CSS (Community Solid Server) extension / plugin to support calendar transformation, aggregation and relevant API endpoints.
The Solid Calendar Store can be seen as a modified version of CSS. In fact, it is a "plugin" to CSS, and the given configuration lunches both CSS and the Calendar Store plugin.
The steps to set up it are stated in their README. It is correct, but misses some important aspects, which are added here:
-
In step 4, the configuration file has two main fields to modify, which are marked with
**SOMETHING**
in the file:-
HttpGetStore:_options_url
in the part with"@id": "my:PersonalGoogleCalendar"
: the URL to a valid calendar.ics
file. This must be correct, otherwise you will encounter errors when using the Calendar Store. -
AvailabilityStore:_options_name
: custom name for yourself. It is not critical if you leave the example value.
-
-
In step 5 (i.e. run server), the working directory should be within the
examples
directory. This is because:-
-m ..
means to start context look up in the parent directory. Based on our experience, the specified directory for that argument should be the project's root. -
The
config.json
specifies some other files used to start the server. They are located underexamples
directory.
-
You can directly perform HTTP request to the API endpoints (e.g. from your browser, or using curl
). The available API endpoints are configured in the configuration file.
The example configuration file contains one API endpoint: availability
. You can access it from https://SERVER/availability
. Note that there should not be a slash /
at the end.
The list of available endpoints can be found here.
KNoodle is a companion Solid App developed for the Calendar Store.
Its README contains the relevant instructions on how to set up the app.
Before using KNoodle, you will want to add the relevant information to your WebID (profile card):
@prefix knows: <https://data.knows.idlab.ugent.be/person/office/#> .
@prefix schema: <http://schema.org/> .
<**your-webid**>
knows:hasAvailabilityCalendar [ schema:url "**availability-url**" ] .
where the relevant fields are replaced with your own information. This can be added to any of your WebID as you wish.
You will prefer to have foaf:name "your-name"@en
in your WebID document, if you want to see your name displayed in KNoodle. Notice the @en
at the end.
Note that KNoodle does not read your friend list and display it. It uses a predefined/hard-coded list of people. See this section in README for relevant information on how to modify the list of people seen on the app.
If you get HTTP error 500 when using calendar store API endpoint (e.g. /availability
), you may configured an incorrect URL to your personal calendar.
Check if you have an excessive /
at the end. Normally, the API endpoints should not have /
at the end.
Otherwise, there may be a configuration error.