We have to resolve to issues 1. discovery of the chat url --> private typeIndex of each party 2. user notifications of chat one2one chat URL --> (?) chatInvite to inbox 2. chat ressources permissions --> ACL A solution is with using `chatRoot/.acl` and `privateIndex on each side`. You should have : - `create private chat` with - a query for `webId of the otherParty` - storing the chat link in `owner privateIndex` (logged-in) - create `chatRoot/.acl` - `owner` with `Read Append Control` or `Read Append Write` - `restricted` with Read Append for the other chat party ``` @prefix : <#>. @prefix acl: <http://www.w3.org/ns/auth/acl#>. @prefix foaf: <http://xmlns.com/foaf/0.1/>. @prefix tes: <./>. @prefix c: </profile/card#>. :AppendRead a acl:Authorization; acl:accessTo tes:; acl:agent <an agent webid>; acl:default tes:; acl:mode acl:Append, acl:Read. :AppendControlRead a acl:Authorization; acl:accessTo tes:; acl:agent c:me; acl:default tes:; acl:mode acl:Control, acl:Read, acl:Append. ``` - You can send an `chatInvite` in the `otherParty inbox` - `join to a privateChat` - asking for `chatLink` to join - and storing the link in the logged-in `user privateIndex`
Activity