%META:TOPICPARENT{name="OdsCalendar"}%
---+Manipulate my Calendar data via CRUD RESTful using Calendar CalDAV Endpoint
%TOC%
---++What?
Calendar CRUD (Create, Read, Update, Delete) Endpoint Service.
---++Why?
Using CRUD RESTful Endpoint service provides an easy way to manage calendar tasks/events.
---++How?
Knowing an Calendar CRUD Endpoint Service endpoint URL, one can perform the following activities:
* Copy-paste vCard files containing calendar tasks/events. So once pasted, the system creates the calendar tasks/events;
* Edit task(s)/event(s);
* Update task(s)/event(s);
* Delete task(s)/event(s);
* Update RDF Data for the Calendar instance. Depending on the instance's model:
* When model is "Closed", will be updated the RDF Data for the instance's private graph:
http://cname/dataspace/protected/[name-of-the-instance]
* When model is "Opened", will be updated the RDF Data for the ODS Dataspace public graph:
http://cname/dataspace/[name-of-the-instance]
---+++Example with Calendar instance that has Member model from type "Closed" and is not set "Visible to public"
1. Suppose a user, for ex. "demo", has created Calendar instance with name "demoCalendar" and Member model
is "Closed":
%BR%%BR%%BR%%BR%
1 Mount the Calendar CalDAV Endpoint URL http://localhost:8890/DAV/home/demo/calendars/demoCalendar/
%BR%%BR%%BR%%BR%
%BR%%BR%%BR%%BR%
%BR%%BR%%BR%%BR%
1 Drop a .vcf file, for ex. demo-calendar.ics into the mapped CalDAV Calendar folder:
%BR%%BR%%BR%%BR%
1 The user demo's Calendar Dataspace instance UI now should show under "Tasks"/"Events" the new imported task(s)/event(s):
%BR%%BR%%BR%%BR%
%BR%%BR%%BR%%BR%
1 [[http://ods.openlinksw.com/dataspace/dav/wiki/ODS/ODSGenerateX509Certificate][Generate an X.509 Certificate hosted WebID]] for user "demo" WebID.
1 [[http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAuthFOAFSSLACL][Secure your SPARQL Endpoint via user "demo" WebID]], for ex.:
-- user "demo" WebID:
http://localhost:8890/dataspace/person/demo#this
-- SPARQL-WebID Endpoint:
-- https://localhost:4433/sparql-webid
1 Access the SPARQL-WebID Endpoint.
1 When challenged for authentication select the generated from above certificate for user "demo":
%BR%%BR%%BR%%BR%
1 The SPARQL-WebID Endpoint UI should be presented:
%BR%%BR%%BR%%BR%
1 Enter the following query:
SELECT *
FROM
WHERE {?s ?p ?o}
%BR%%BR%%BR%%BR%
1 As result no rows are found.
---+++Example with Calendar instance that has Member model from type "Opened" and is set "Visible to Public"
1. Suppose a user, for ex. "demo", has created Calendar instance with name "demoCalendar" and Member model
is "Opened" and is set "Visible to Public".
%BR%%BR%%BR%%BR%
1 Mount the Calendar CalDAV Endpoint URL http://localhost:8890/DAV/home/demo/calendars/demoCalendar/
%BR%%BR%%BR%%BR%
%BR%%BR%%BR%%BR%
%BR%%BR%%BR%%BR%
1 Drop a .ics file, for ex. * demo-calendar.ics into the mapped CalDAV Calendar folder:
%BR%%BR%%BR%%BR%
1 The user demo's Calendar Dataspace instance UI now should show under "Tasks"/"Events" the new imported task(s)/event(s):
%BR%%BR%%BR%%BR%
1 Access the SPARQL Public Endpoint.
%BR%%BR%%BR%%BR%
1 Suppose there is inserted from above task with id= 1032
1 Enter the following query:
SELECT *
FROM
WHERE
{
?p ?o
}
%BR%%BR%%BR%%BR%
1 Click "Run Query".
1 As result the freshly inserted RDF Data for the task in question will be displayed:
%BR%%BR%%BR%%BR%
---++Related
* [[http://ietfreport.isoc.org/idref/draft-ietf-vcarddav-carddav/][CalDAV Specification]]
* [[OdsCalendar][ODS-Calendar Dataspace]]