Skip to content

Commit 8ee193d

Browse files
Document Meeting tool
1 parent 6a08510 commit 8ee193d

1 file changed

Lines changed: 48 additions & 1 deletion

File tree

Documentation/conventions.md

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ For short-hand, we will use the following namespace prefixes here:
1616
* @prefix ldp: <http://www.w3.org/ns/ldp#>.
1717
* @prefix mee: <http://www.w3.org/ns/pim/meeting#>.
1818
* @prefix pim: <http://www.w3.org/ns/pim/space#>.
19+
* @prefix rdf: http://www.w3.org/2000/01/rdf-schema#>.
1920
* @prefix schema: <http://schema.org/>.
2021
* @prefix sioc: <http://rdfs.org/sioc/ns#>.
2122
* @prefix solid: <http://www.w3.org/ns/solid/terms#>.
@@ -30,40 +31,47 @@ One of the most important RDF documents on your pod is your profile, which is th
3031
## Profile
3132
### Profile document
3233
To add information to your webid profile, you can use the following triples. Suppose your webid is /profile/card#me, then your profile document is /profile/card (without the '#me'). Add the following triples to it:
34+
3335
* </profile/card> a foaf:PersonalProfileDocument
3436
* </profile/card> foaf:maker </profile/card#me>
3537
* </profile/card> foaf:primaryTopic </profile/card#me>
3638

3739
### You as a person
3840
Now say your name is "John Doe", then add these triples to your profile document to publish your identity as a person:
41+
3942
* </profile/card#me> a foaf:Person
4043
* </profile/card#me> a schema:Person
4144
* </profile/card#me> foaf:name "John Doe"
4245

4346
### Linking to your pod
4447
Say your pod is at /pod, with the LDN inbox at /pod/inbox/, to link from your identity to your pod:
48+
4549
* </profile/card#me> solid:account </pod>
4650
* </profile/card#me> pim:storage </pod>
4751
* </profile/card#me> ldp:inbox </pod/inbox/>
4852

4953
### Preferences
5054
To publish some of your generic preferences to apps, use:
55+
5156
* </profile/card#me> pim:preferencesFile </settings/prefs.ttl>
5257
* </profile/card#me> solid:publicTypeIndex </settings/publicTypeIndex.ttl>
5358
* </profile/card#me> solid:privateTypeIndex </settings/privateTypeIndex.ttl>
5459

5560
## Addressbook
5661
You can create an addressbook containing persons and groups, by adding triples to RDF documents on your pod.
5762
To create an addressbook, create a document for it, e.g. /address-book/index.ttl, and add the following triples to that document:
63+
5864
* </address-book/index.ttl#this> a vcard:AddressBook
5965
* </address-book/index.ttl#this> dc:title "New address Book"
6066
* </address-book/index.ttl#this> acl:owner </profile/card#me>
6167

6268
You can create separate documents for the people index and for the groups index, as long as you link to those from the main /address-book/index.ttl document in the following ways:
69+
6370
* </address-book/index.ttl#this> vcard:nameEmailIndex </address-book/peopleIndex.ttl>
6471
* </address-book/index.ttl#this> vcard:groupIndex </address-book/groupIndex.ttl>
6572

6673
To indicate that a person /johnDoe.ttl with full name "John Doe" is in addressbook /address-book/index.ttl, add the following triples:
74+
6775
* </johnDoe.ttl#this> vcard:inAddressBook /address-book/index.ttl#this (NB: needs to be in /address-book/peopleIndex.ttl)
6876
* </johnDoe.ttl#this> a vcard:Individual
6977
* </johnDoe.ttl#this> vcard:fn "John Doe"
@@ -76,24 +84,32 @@ To indicate that addressbook /address-book/index.ttl has a group called "Colleag
7684

7785
## Notepad
7886
To create a new notepad at /notepad.ttl, add the following triples into it:
87+
7988
* </notepad.ttl#this> a pim:Notepad
8089
* </notepad.ttl#this> dc:author </profile/card#me>
8190
* </notepad.ttl#this> dc:created "2019-04-17T08:05:19Z"^^XML:dateTime
8291
* </notepad.ttl#this> dc:title "Shared Notes"
8392

8493
Now to indicate that his notepad is empty, add an empty first line to it:
94+
8595
* </notepad.ttl#this> pim:next </notepad.ttl#this_line0>
8696
* </notepad.ttl#line0> dc:author </profile/card#me>
8797
* </notepad.ttl#line0> dc:content ""
8898

8999
Now indicate that this is the last line, set this line's pim:next to the notepad itself:
100+
90101
* </notepad.ttl#line0> pim:next </notepad.ttl#this>
91102

92103
To add a line to the notepad, for instance 'first line', first update the content of the first line, by replacing
104+
93105
* </notepad.ttl#line0> dc:content ""
106+
94107
with
108+
95109
* </notepad.ttl#line0> dc:content "first line"
110+
96111
and then add a new participation-line below it, where the user can type their next line; pick a timestamp, for instance 1555488949899, and add the following triples:
112+
97113
* </notepad.ttl#this> flow:participation </notepad.ttl#id1555488949899>
98114
* </notepad.ttl#id1555488949899> flow:participant </profile/card#me>
99115
* </notepad.ttl#id1555488949899> ical:dtstart "2019-04-17T08:05:22Z"^^XML:dateTime
@@ -126,12 +142,14 @@ Note that the first line still is the only line in the document, apart from the
126142

127143
## Chat
128144
To create a chat conversation, create a document, e.g. /chat.ttl, and add the following triples to it:
145+
129146
* </chat.ttl#this> a mee:LongChat
130147
* </chat.ttl#this> dc:author </profile/card#me>
131148
* </chat.ttl#this> dc:created "2018-07-06T21:36:04Z"^^XML:dateTime
132149
* </chat.ttl#this> dc:title "Chat channel"
133150

134151
To add a message in the chat conversation, for instance where you say "hi", generate a timestamp like 1555487418787 and add the following triples to /chat.ttl:
152+
135153
* </chat.ttl#Msg1555487418787> dct:created "2019-04-17T07:50:18Z"^^XML:dateTime
136154
* </chat.ttl#Msg1555487418787> sioc:content "hi"
137155
* </chat.ttl#Msg1555487418787> foaf:maker </profile/card#me>
@@ -142,6 +160,7 @@ Note that for historical reasons, for the chat conversation as a whole, we use `
142160
LongChat is similar to Chat, except that it uses LDP containers to discover the triples that describe the chat conversation,
143161
instead of having all the triples in one chat.ttl doc.
144162
To create a chat conversation, pick a timestamp, e.g. 1555491215455, create an LDP container, for instance /long-chat/, and in there, create an index document, e.g. /long-chat/index.ttl. To the index document, add the following triples:
163+
145164
* </long-chat/index.ttl#this> a mee:LongChat
146165
* </long-chat/index.ttl#this> dc:author </profile/card#me>
147166
* </long-chat/index.ttl#this> dc:created "2018-07-06T21:36:04Z"^^XML:dateTime
@@ -153,6 +172,7 @@ To create a chat conversation, pick a timestamp, e.g. 1555491215455, create an L
153172
* </long-chat/index.ttl#id1555491215455> ui:backgroundColor "#c0d2fe"
154173

155174
To add a message in the LongChat conversation, for instance where you say "hi", pick a filename, for instance /long-chat/2019/04/17/chat.ttl, generate a timestamp like 1555487418787 and add the following triples to /long-chat/2019/04/17/chat.ttl:
175+
156176
* </long-chat/2019/04/17/chat.ttl#Msg1555487418787> dct:created "2019-04-17T07:50:18Z"^^XML:dateTime
157177
* </long-chat/2019/04/17/chat.ttl#Msg1555487418787> sioc:content "hi"
158178
* </long-chat/2019/04/17/chat.ttl#Msg1555487418787> foaf:maker </profile/card#me>
@@ -162,7 +182,34 @@ Note that there is no need to make /long-chat/2019/04/17/chat.ttl discoverable f
162182
Also note that here too, for the chat conversation as a whole, we use `dc:created` and `dc:author`, whereas for the individual chat messages we use `dct:created` and `foaf:maker`.
163183

164184
## Meeting
165-
// TODO
185+
To create a meeting, create a document, e.g. /meeting.ttl and add the following triples to it:
186+
187+
* </meeting.ttl#this> a mee:Meeting
188+
* </meeting.ttl#this> dc:author </profile/card#me>
189+
* </meeting.ttl#this> dc:created "2018-07-06T21:36:04Z"^^XML:dateTime
190+
* </meeting.ttl#this> flow:participation :id1555491215455
191+
* </meeting.ttl#this> ui:backgroundColor "#ddddcc"^^XML:color
192+
* </meeting.ttl#this> mee:toolList ( </meeting.ttl#this> )
193+
* </meeting.ttl#id1555491215455> ic:dtstart "2019-04-17T08:53:35Z"^^XML:dateTime
194+
* </meeting.ttl#id1555491215455> flow:participant </profile/card#me>
195+
* </meeting.ttl#id1555491215455> ui:backgroundColor "#c0d2fe"
196+
197+
To add some details, pick a name like "Weekly Meeting"(note the use of `ical:summary` instead of `dc:title` here), a start and end date/time, a comment like "Discuss weekly things", and a location like "Utrecht", and add them using the ical namespace:
198+
199+
* </meeting.ttl#this> ical:summary "Weekly Meeting"
200+
* </meeting.ttl#this> ical:comment "Discuss weekly things";
201+
* </meeting.ttl#this> ical:dtstart "2019-04-19"^^XML:date;
202+
* </meeting.ttl#this> ical:dtend "2019-04-20"^^XML:date;
203+
* </meeting.ttl#this> ical:location "Utrecht";
204+
205+
To add material to the meeting (let's say https://example.com/agenda-meeting.html), pick a timestamp like 1555492506279, remove the old `mee:toolList` triple which only contained `</meeting.ttl#this>`, and add the following triples:
206+
207+
* </meeting.ttl#this> mee:toolList ( </meeting.ttl#this> </meeting.ttl#id1555492030413> ) # updated from earlier
208+
* </meeting.ttl#id1555492506279> a mee:Tool
209+
* </meeting.ttl#this> flow:attachment <https://example.com/agenda-meeting.html>
210+
* </meeting.ttl#id1555492506279> mee:target <https://example.com/agenda-meeting.html>
211+
* </meeting.ttl#id1555492506279> rdf:label "Agenda"
212+
* </meeting.ttl#id1555492506279> mee:view "iframe"
166213

167214
## Event
168215
// TODO

0 commit comments

Comments
 (0)