Skip to content
Merged

ACP #12

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 40 additions & 0 deletions templates/pod/acp/.acr.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Root ACR for the agent account
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix acp: <http://www.w3.org/ns/solid/acp#>.

# The owner has full access to every resource in their pod.
# Other agents have no access rights,
# unless specifically authorized in other ACRs.
<#root>
a acp:AccessControlResource;
# Set the access to the root storage folder itself
acp:resource <./>;
# The homepage is readable by the public
acp:accessControl <#fullOwnerAccess>, <#publicReadAccess>;
# All resources will inherit this authorization
acp:memberAccessControl <#fullOwnerAccess>.

# The public only has read access
<#publicReadAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read;
acp:anyOf [
a acp:Matcher;
acp:agent acp:PublicAgent
]
].

# The owner has all of the access modes allowed
<#fullOwnerAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read, acl:Write, acl:Control;
acp:allOf [
a acp:Matcher;
acp:agent <{{webId}}>
acp:client <https://solid.pondersource.com/clientid.jsonld>
]
].
3 changes: 3 additions & 0 deletions templates/pod/acp/.meta
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@prefix pim: <http://www.w3.org/ns/pim/space#>.

<> a pim:Storage.
22 changes: 22 additions & 0 deletions templates/pod/acp/README$.md.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Welcome to your pod

## A place to store your data
Your pod is a **secure storage space** for your documents and data.
<br>
You can choose to share those with other people and apps.

As the owner of this pod,
identified by <a href="{{webId}}">{{webId}}</a>,
you have access to all of your documents.

## Working with your pod
The easiest way to interact with pods
is through Solid apps.
<br>
For example,
you can open your pod in [Databrowser](https://solidos.github.io/mashlib/dist/browse.html?uri={{podBaseUrl}}).

## Learn more
The [Solid website](https://solidproject.org/)
and the people on its [forum](https://forum.solidproject.org/)
will be glad to help you on your journey.
18 changes: 18 additions & 0 deletions templates/pod/acp/README.acr
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix acp: <http://www.w3.org/ns/solid/acp#>.

<#card>
a acp:AccessControlResource;
acp:resource <./README>;
acp:accessControl <#publicReadAccess>.

<#publicReadAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read;
acp:anyOf [
a acp:Matcher;
acp:agent acp:PublicAgent
]
].
18 changes: 18 additions & 0 deletions templates/pod/acp/profile/card$.ttl.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
@prefix space: <http://www.w3.org/ns/pim/space#>.
@prefix ldp: <http://www.w3.org/ns/ldp#>.
<>
a foaf:PersonalProfileDocument;
foaf:maker <{{webId}}>;
foaf:primaryTopic <{{webId}}>.

<{{webId}}>
{{#if name}}foaf:name "{{name}}";{{/if}}
space:storage <../>;
ldp:inbox <../inbox/>;
space:preferencesFile <../settings/prefs.ttl>;
solid:privateTypeIndex <../settings/privateTypeIndex.ttl>;
solid:publicTypeIndex <../settings/publicTypeIndex.ttl>;
{{#if oidcIssuer}}solid:oidcIssuer <{{oidcIssuer}}>;{{/if}}
a foaf:Person.
22 changes: 22 additions & 0 deletions templates/pod/acp/profile/card.acr
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# ACR for the WebID profile document
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix acp: <http://www.w3.org/ns/solid/acp#>.

# The WebID profile is readable by the public.
# This is required for discovery and verification,
# e.g. when checking identity providers.
<#card>
a acp:AccessControlResource;
acp:resource <./card>;
acp:accessControl <#publicReadAccess>.

<#publicReadAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read;
acp:anyOf [
a acp:Matcher;
acp:agent acp:PublicAgent
]
].
28 changes: 28 additions & 0 deletions templates/pod/acp/public/.acr
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Root ACR for the agent account
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix acp: <http://www.w3.org/ns/solid/acp#>.

# The owner has full access to every resource in their pod.
# Other agents have no access rights,
# unless specifically authorized in other ACRs.
<#root>
a acp:AccessControlResource;
# Set the access to the root storage folder itself
acp:resource <./>;
# The homepage is readable by the public
acp:accessControl <#publicReadAccess>;
# All resources will inherit this authorization
acp:memberAccessControl <#publicReadAccess>.

# The public has read access to anything under this folder
<#publicReadAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read;
acp:anyOf [
a acp:Matcher;
acp:agent acp:PublicAgent
]
].

3 changes: 3 additions & 0 deletions templates/pod/acp/robots.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
User-agent: *
# Allow all crawling (subject to ACLs as usual, of course)
Disallow:
15 changes: 15 additions & 0 deletions templates/pod/acp/settings/prefs.ttl.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
@prefix dct: <http://purl.org/dc/terms/>.
@prefix pim: <http://www.w3.org/ns/pim/space#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
@prefix solid: <http://www.w3.org/ns/solid/terms#>.

<>
a pim:ConfigurationFile;

dct:title "Preferences file" .

{{#if email}}<{{webId}}> foaf:mbox <{{email}}> .{{/if}}

<{{webId}}>
solid:publicTypeIndex <publicTypeIndex.ttl> ;
solid:privateTypeIndex <privateTypeIndex.ttl> .
4 changes: 4 additions & 0 deletions templates/pod/acp/settings/privateTypeIndex.ttl.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
<>
a solid:TypeIndex ;
a solid:UnlistedDocument.
18 changes: 18 additions & 0 deletions templates/pod/acp/settings/publicTypeIndex.ttl.acr
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix acp: <http://www.w3.org/ns/solid/acp#>.

<#card>
a acp:AccessControlResource;
acp:resource <./README>;
acp:accessControl <#publicReadAccess>.

<#publicReadAccess>
a acp:AccessControl;
acp:apply [
a acp:Policy;
acp:allow acl:Read;
acp:anyOf [
a acp:Matcher;
acp:agent acp:PublicAgent
]
].
4 changes: 4 additions & 0 deletions templates/pod/acp/settings/publicTypeIndex.ttl.hbs
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
@prefix solid: <http://www.w3.org/ns/solid/terms#>.
<>
a solid:TypeIndex ;
a solid:ListedDocument.