Skip to content
This repository was archived by the owner on Apr 13, 2022. It is now read-only.

Commit f17e084

Browse files
authored
Merge branch 'master' into patch-1
2 parents eaea014 + f5c1324 commit f17e084

9 files changed

+64
-26
lines changed

README.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
* [HTTPS REST API](#https-rest-api)
2727
* [WebSockets API](#websockets-api)
2828
8. [Social Web App Protocols](#social-web-app-protocols)
29-
* [Feed Discovery](#feed-discovery)
3029
* [Notifications](#notifications)
3130
* [Friends Lists, Followers and
3231
Following](#friends-lists-followers-and-following)
@@ -35,7 +34,7 @@
3534
10. [Recommendations for Client App
3635
Implementation](#recommendations-for-client-app-implementations)
3736
11. [Examples](#examples)
38-
12. [Current Implementations](#implementations)
37+
12. [Current Implementations](#current-implementations)
3938

4039
## Overview
4140

@@ -153,7 +152,7 @@ protocols, adapted for WebID based decentralized use cases.
153152
**See component spec:
154153
[WebID-OIDC Specification](https://github.com/solid/webid-oidc-spec)**
155154

156-
#### Other Authentication Mechanisms
155+
#### Alternative Authentication Mechanisms
157156

158157
There are several other authentication mechanisms that are
159158
currently being investigated, such as combinations of traditional

UserStories/BrowsingTheFriendshipGraph.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212

1313
The Linked Data People graph extends to several million organic user profiles over hundreds of multiple domains. If facebook is included (they are producers of linked data via turtle) it extends to over 1.4 billion profiles.
1414

15-
Facebook profiles generally require an OAuth token to use the API, this enables access control and viewing priveledges. Solid in general uses WebAccessControl and ACL's to achieve the same thing, but implementors may choose which approach they wish to take.
15+
Facebook profiles generally require an OAuth token to use the API, this enables access control and viewing privileges. Solid in general uses WebAccessControl and ACL's to achieve the same thing, but implementors may choose which approach they wish to take.
1616

1717
In Solid people are denoted by an HTTP URI. Normally, as a best practice the URI contains a fragment identifier (#). This is to help software disambiguate between an HTTP document and the person it talks about, in much the same way that a passport contains information about a person but a passport ID is the ID of that document, not the person.
1818

UserStories/UserProfileManagement.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ She can do this either with a PUT which requires re-sending the full document as
152152

153153
#### update using PUT
154154

155-
PUT is the easiest for the client, as it does not have to calculate a diff between the original version it has and the version it wishes to have. We use If-Match, to make sure we don't override someone elses content.
155+
PUT is the easiest for the client, as it does not have to calculate a diff between the original version it has and the version it wishes to have. We use If-Match, to make sure we don't override someone else's content.
156156

157157
```http
158158
PUT /card HTTP/1.1

acl-inheritance.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ In `defaultForNew`, ACL permissions are inherited from the whole path as in 'mom
5151
- Fast
5252

5353
#### Cons
54-
- Generates a storage reuirement for all the ACL files, which is a pain, especialy in a fiel space shared with other systems.
54+
- Generates a storage requirement for all the ACL files, which is a pain, especially in a file space shared with other systems.
5555
- Users may lose access to their resource by creating an ACL file that does not contain themselves.
5656
- Changing permissions recursively to a folder will require changing permission on each subfolder's ACL
5757

api-rest.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,16 @@ HTTP/1.1 200 OK
6060

6161
#### Globbing (inlining on `GET`)
6262

63+
**Note: this feature is _at risk_ of being
64+
[changed](https://github.com/solid/solid-spec/pull/148)
65+
or [removed](https://github.com/solid/solid-spec/pull/151).
66+
Please join the discussion.
67+
Code depending on this will still work for now.**
68+
6369
In some cases, we have found that using the existing LDP features was not
6470
enough. For instance, to optimize certain applications, we needed to aggregate
6571
all RDF resources from a container and retrieve them with a single `GET`
72+
6673
operation. We implemented this feature on the servers and decided to call it
6774
"globbing". Similar to [UNIX shell
6875
glob](https://en.wikipedia.org/wiki/Glob_(programming)), doing a `GET` on any URI

examples/user-posts-note.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Example: User Posts a Note
22

33
**Note:** This example is a component of the parent
4-
[Solid specification](README.md); the parent spec and all its components are
4+
[Solid specification](../README.md); the parent spec and all its components are
55
versioned as a whole.
66

77
This example is taken from [W3C Social Web

recommendations-client.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ profile document.
8787

8888
**Attention!** Because creating client certificates requires the [keygen HTML5
8989
element](http://www.w3schools.com/tags/tag_keygen.asp),
90-
which does not work with AJAX reques ts, the client must submit a form to the
90+
which does not work with AJAX requests, the client must submit a form to the
9191
**account host URI** -- i.e. `https://user.example.org/`. This restriction means
9292
that a predefined set of form element names must be respected on the server.
9393
Here is the minimum list of form element names (case sensitive!) that **MUST**

recommendations-server.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -55,18 +55,15 @@ space#preferencesFile](http://www.w3.org/ns/pim/space#preferencesFile) property.
5555
##### `/inbox/` (Inbox)
5656

5757
A container to serve as a default primary channel for
58-
notifications. Note that this is complementary (and not necessarily replacing)
59-
app-specific notification inboxes such as the one used by
60-
[Dokieli](https://github.com/linkeddata/dokieli).
58+
notifications.
59+
6160
**Default ACL:** append-only by public, read by owner.
6261

63-
Discoverable from profile via
64-
[solid-terms](https://github.com/solid/vocab/blob/master/solid-terms.ttl)#Inbox
65-
property.
62+
Discoverable from profile using the [ldp:inbox](http://www.w3.org/ns/ldp#inbox) property as specified in [W3C Linked Data Notifications](https://www.w3.org/TR/ldn/).
6663

6764
```ttl
6865
<#me>
69-
<http://www.w3.org/ns/solid/terms#inbox> <../inbox/> ;
66+
<http://www.w3.org/ns/ldp#inbox> <../inbox/> ;
7067
```
7168

7269
## CORS - Cross Origin Resource Sharing

solid-webid-profiles.md

Lines changed: 46 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -89,12 +89,18 @@ for the purposes of building distributed read-write-web applications.
8989
In addition, Solid recommends that WebID profiles include the following
9090
statements:
9191

92-
1. A profile SHOULD include a `foaf:name` (see the discussion
92+
1. A profile MUST include a `foaf:name` (see the discussion
9393
on [user names](#recommendation-for-user-names-in-profiles) below).
94-
2. A profile SHOULD include `cert:key` public key certificate information, for
94+
This does not have to be a real name, it can by any pseudonym, but
95+
a string provided for apps to use for representing the user, in chats, sharing etc etc.
96+
2. A profile SHOULD include a public `foaf:img` of either a mugshot of the person or a chosen avatar
97+
to make the display of the user's contributions identifiable.
98+
3. A profile MAY provide a `foaf:nick` nickname as a short string for use by user interfaces where
99+
space is limited.
100+
3. A profile SHOULD include `cert:key` public key certificate information, for
95101
use with WebID+TLS (which is currently the primary Solid authentication
96102
mechanism).
97-
3. A profile SHOULD point to the root storage location using `pim:storage`
103+
4. A profile SHOULD point to the root storage location using `pim:storage`
98104
(so that applications will know where to read and write their data).
99105

100106
```ttl
@@ -125,7 +131,7 @@ what to name the user, is to perform the following steps:
125131
1. An app SHOULD look in the user's WebID Profile for the `foaf:name` predicate,
126132
and use that as the name, if it's available.
127133
2. If an app does not find a name in the user profile, it MAY fall back to using
128-
the WebID URL as the username.
134+
the WebID URL, or a part of it, as the username.
129135

130136
## Public and Private Profiles
131137

@@ -148,13 +154,42 @@ across several RDF documents:
148154
The combination of the main WebID Profile document, and all of the *related*
149155
profile documents is referred to as the **Extended Profile**.
150156

151-
Solid apps that interact with the WebID profile MUST also load and parse *all*
152-
of the related RDF resources that are linked to from the main profile using
153-
the following predicates:
157+
Solid apps that interact anonymously with the WebID profile MUST also load and parse *all*
158+
of the related public RDF resources that are linked to from the main profile using any
159+
the following triples in the main profile document:
160+
161+
1. $webid `http://www.w3.org/2002/07/owl#sameAs` ?public
162+
2. $webid `http://www.w3.org/2000/01/rdf-schema#seeAlso` ?public
163+
164+
Solid apps that interact as the user in question, logged in with their credentials,
165+
with their own WebID profile MUST also load and parse all
166+
of the related public resources above and also will normally
167+
load the user's preferences file.
168+
169+
### Private preferences file
170+
171+
The private preferences file is part of the extended profile. It is found
172+
by following a triple in the main profile (the result of looking up the webid)
173+
174+
3. $webid `http://www.w3.org/ns/pim/space#preferencesFile` ?preferences
175+
176+
Where the subject is the user's original webid.
177+
178+
It is the first private file that the app discovers in this process, and
179+
it is the place which either stores, or leads to, all of the
180+
data which is private to the user, including settings
181+
and preferences, language and display preferences, and so on
182+
and all the user's personal data, be it contacts, pictures or health data.
183+
184+
The `solid:preferencesFile` link is unusual then in that it is a link
185+
from public data to private data. Otherwise, discovery happens in two
186+
parallel but otherwise congruent ways, in a tree of public information starting from
187+
the extended profile, and a tree of private information starting from the
188+
private preferences file. Developers are urged to use common software for
189+
these cases, and also to make it extensible in future for when
190+
the congruent trees may be rooted in files corresponding to groups and organizations
191+
of which the user is a member.
154192

155-
1. `http://www.w3.org/2002/07/owl#sameAs`
156-
2. `http://www.w3.org/2000/01/rdf-schema#seeAlso`
157-
3. `http://www.w3.org/ns/pim/space#preferencesFile`
158193

159194
## Public Key Certificates
160195

@@ -228,7 +263,7 @@ Example:
228263
# ...
229264
<#me>
230265
a foaf:Person ;
231-
<http://www.w3.org/ns/solid/terms#inbox> </inbox/> .
266+
<http://www.w3.org/ns/ldp#inbox> </inbox/> .
232267
```
233268

234269
### Type Registry Index Discovery

0 commit comments

Comments
 (0)