mirror of
https://codeberg.org/fediverse/fep.git
synced 2026-08-05 19:55:46 +00:00
0499: Change term IRI from #multibox to /multibox
This commit is contained in:
@@ -1,8 +0,0 @@
|
||||
{
|
||||
"@context": {
|
||||
"multibox": {
|
||||
"@id": "https://w3id.org/fep/0499#multibox",
|
||||
"@type": "@id"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,55 @@
|
||||
{
|
||||
"@context": {
|
||||
"multibox": {
|
||||
"@id": "https://w3id.org/fep/0499/multibox",
|
||||
"@type": "@id"
|
||||
}
|
||||
},
|
||||
"@graph": [
|
||||
{
|
||||
"@id": "https://w3id.org/fep/0499/multibox",
|
||||
"@type": "http://www.w3.org/1999/02/22-rdf-syntax-ns#Property",
|
||||
"http://www.w3.org/2000/01/rdf-schema#comment": {
|
||||
"@language": "en",
|
||||
"@value": "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."
|
||||
},
|
||||
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": {
|
||||
"@id": "https://w3id.org/fep/0499"
|
||||
},
|
||||
"http://www.w3.org/2000/01/rdf-schema#label": {
|
||||
"@language": "en",
|
||||
"@value": "multibox endpoint"
|
||||
},
|
||||
"http://www.w3.org/2000/01/rdf-schema#range": {
|
||||
"@id": "http://www.w3.org/2000/01/rdf-schema#Resource"
|
||||
},
|
||||
"http://www.w3.org/2002/07/owl#maxCardinality": {
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
|
||||
"@value": "1"
|
||||
}
|
||||
},
|
||||
{
|
||||
"@id": "https://w3id.org/fep/0499",
|
||||
"@type": "http://www.w3.org/2002/07/owl#Ontology",
|
||||
"http://purl.org/dc/elements/1.1/creator": "a <trwnh.com>",
|
||||
"http://purl.org/dc/elements/1.1/rights": {
|
||||
"@language": "en",
|
||||
"@value": "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"
|
||||
},
|
||||
"http://purl.org/dc/terms/abstract": "This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to.",
|
||||
"http://purl.org/dc/terms/dateSubmitted": {
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#date",
|
||||
"@value": "2024-09-30"
|
||||
},
|
||||
"http://purl.org/dc/terms/identifier": {
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#anyURI",
|
||||
"@value": "https://w3id.org/fep/0499"
|
||||
},
|
||||
"http://purl.org/dc/terms/license": {
|
||||
"@id": "https://creativecommons.org/publicdomain/zero/1.0/"
|
||||
},
|
||||
"http://purl.org/dc/terms/title": "FEP-0499: Delivering to multiple inboxes with a multibox endpoint"
|
||||
}
|
||||
],
|
||||
"@id": "https://w3id.org/fep/0499#"
|
||||
}
|
||||
+66
-6
@@ -89,7 +89,7 @@ Alternatively, without a context declaration:
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"https://w3id.org/fep/0499#multibox": {"id": "https://remote.example/multibox"}
|
||||
"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
|
||||
}
|
||||
}
|
||||
```
|
||||
@@ -144,15 +144,75 @@ Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystream
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
<div resource="https://w3id.org/fep/0499#multibox">
|
||||
<h3 id="multibox">multibox</h3>
|
||||
"multibox": "https://remote.example/multibox"
|
||||
}
|
||||
}
|
||||
</code>
|
||||
<dd><code>https://w3id.org/fep/0499#multibox</code>
|
||||
</dd>
|
||||
</pre>
|
||||
<pre title="Discovering a multibox endpoint without additional context" lang="json">
|
||||
<code>
|
||||
{
|
||||
<dd property="https://www.w3.org/2000/01/rdf-schema#comment">An optional endpoint used for wide delivery of activities to multiple inboxes.</dd>
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"id": "https://remote.example/actors/af4c8205cd81",
|
||||
"type": "Person",
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
<pre title="Delivering to a multibox endpoint" lang="http">
|
||||
<code>
|
||||
POST /multibox HTTP/1.1
|
||||
Host: remote.example
|
||||
Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
|
||||
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Add",
|
||||
"object": "https://example.com/some-activity",
|
||||
"target": [
|
||||
"https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"https://remote.example/inboxes/d21f509146e5",
|
||||
"https://remote.example/inboxes/68a7453f79e4",
|
||||
"https://remote.example/inboxes/655216a0be07",
|
||||
"https://remote.example/inboxes/84907eff485d",
|
||||
]
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
## References
|
||||
|
||||
- Christine Lemmer Webber, Jessica Tallon, [ActivityPub][ActivityPub], 2018
|
||||
- Christine Lemmer Webber, [Rebooting the Web of Trust 9: Keeping Unwanted Messages off the Fediverse > Proposed Suggestions > MultiBox][multibox], 2020
|
||||
|
||||
[ActivityPub]: https://www.w3.org/TR/activitypub/
|
||||
[multibox]: https://github.com/WebOfTrustInfo/rwot9-prague/blob/master/topics-and-advance-readings/ap-unwanted-messages.md#multibox
|
||||
|
||||
## Copyright
|
||||
|
||||
CC0 1.0 Universal (CC0 1.0) Public Domain Dedication
|
||||
|
||||
To the extent possible under law, the authors of this Fediverse Enhancement Proposal have waived all copyright and related or neighboring rights to this work.
|
||||
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Add",
|
||||
"object": "https://example.com/some-activity",
|
||||
"target": [
|
||||
"https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"https://remote.example/inboxes/d21f509146e5",
|
||||
"https://remote.example/inboxes/68a7453f79e4",
|
||||
"https://remote.example/inboxes/655216a0be07",
|
||||
"https://remote.example/inboxes/84907eff485d",
|
||||
]
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
|
||||
## References
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rdf:RDF
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:dcterms="http://purl.org/dc/terms/"
|
||||
xmlns:owl="http://www.w3.org/2002/07/owl#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
>
|
||||
<rdf:Description rdf:about="https://w3id.org/fep/0499/multibox">
|
||||
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/0499"/>
|
||||
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
|
||||
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
|
||||
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
|
||||
<rdfs:comment xml:lang="en">An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.</rdfs:comment>
|
||||
<rdfs:label xml:lang="en">multibox endpoint</rdfs:label>
|
||||
</rdf:Description>
|
||||
<rdf:Description rdf:about="https://w3id.org/fep/0499">
|
||||
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#Ontology"/>
|
||||
<dcterms:identifier rdf:datatype="http://www.w3.org/2001/XMLSchema#anyURI">https://w3id.org/fep/0499</dcterms:identifier>
|
||||
<dc:rights xml:lang="en">CC0 1.0 Universal (CC0 1.0) Public Domain Dedication</dc:rights>
|
||||
<dcterms:license rdf:resource="https://creativecommons.org/publicdomain/zero/1.0/"/>
|
||||
<dcterms:title>FEP-0499: Delivering to multiple inboxes with a multibox endpoint</dcterms:title>
|
||||
<dcterms:abstract>This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to.</dcterms:abstract>
|
||||
<dc:creator>a <trwnh.com></dc:creator>
|
||||
<dcterms:dateSubmitted rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2024-09-30</dcterms:dateSubmitted>
|
||||
</rdf:Description>
|
||||
</rdf:RDF>
|
||||
@@ -0,0 +1,23 @@
|
||||
@prefix dc: <http://purl.org/dc/elements/1.1/> .
|
||||
@prefix dcterms: <http://purl.org/dc/terms/> .
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
|
||||
<https://w3id.org/fep/0499/multibox> a rdf:Property ;
|
||||
rdfs:label "multibox endpoint"@en ;
|
||||
rdfs:comment "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."@en ;
|
||||
rdfs:isDefinedBy <https://w3id.org/fep/0499> ;
|
||||
rdfs:range rdfs:Resource ;
|
||||
owl:maxCardinality "1"^^xsd:nonNegativeInteger .
|
||||
|
||||
<https://w3id.org/fep/0499> a owl:Ontology ;
|
||||
dc:creator "a <trwnh.com>" ;
|
||||
dc:rights "CC0 1.0 Universal (CC0 1.0) Public Domain Dedication"@en ;
|
||||
dcterms:abstract "This FEP introduces a server-wide endpoint for delivering activities to multiple inboxes. sharedInbox currently allows for doing this, but it requires the remote server to know how to deliver the activity based on its addressing properties. However, the remote server might not know how to deliver the activity to private recipients, or recipients within a collection. The multibox endpoint removes this knowledge requirement from the receiving server and instead makes the sending server responsible for marking inboxes to explicitly deliver to." ;
|
||||
dcterms:dateSubmitted "2024-09-30"^^xsd:date ;
|
||||
dcterms:identifier "https://w3id.org/fep/0499"^^xsd:anyURI ;
|
||||
dcterms:license <https://creativecommons.org/publicdomain/zero/1.0/> ;
|
||||
dcterms:title "FEP-0499: Delivering to multiple inboxes with a multibox endpoint" .
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
# multibox
|
||||
|
||||
URI
|
||||
: `https://w3id.org/fep/0499/multibox`
|
||||
|
||||
Label
|
||||
: multibox endpoint
|
||||
|
||||
Comment
|
||||
: An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.
|
||||
|
||||
Domain
|
||||
: A map of `endpoints`
|
||||
|
||||
Range
|
||||
: The endpoint (@id)
|
||||
|
||||
Functional
|
||||
: Yes
|
||||
|
||||
Is defined by
|
||||
: [FEP-0499](https://w3id.org/fep/0499)
|
||||
|
||||
|
||||
## Examples
|
||||
|
||||
Discovering a multibox endpoint with additional context
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": [
|
||||
"https://www.w3.org/ns/activitystreams",
|
||||
"https://w3id.org/fep/0499"
|
||||
],
|
||||
"id": "https://remote.example/actors/af4c8205cd81",
|
||||
"type": "Person",
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"multibox": "https://remote.example/multibox"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Discovering a multibox endpoint without additional context
|
||||
|
||||
```json
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"id": "https://remote.example/actors/af4c8205cd81",
|
||||
"type": "Person",
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Delivering to a multibox endpoint
|
||||
|
||||
```http
|
||||
POST /multibox HTTP/1.1
|
||||
Host: remote.example
|
||||
Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
|
||||
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Add",
|
||||
"object": "https://example.com/some-activity",
|
||||
"target": [
|
||||
"https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"https://remote.example/inboxes/d21f509146e5",
|
||||
"https://remote.example/inboxes/68a7453f79e4",
|
||||
"https://remote.example/inboxes/655216a0be07",
|
||||
"https://remote.example/inboxes/84907eff485d",
|
||||
]
|
||||
}
|
||||
```
|
||||
@@ -0,0 +1,78 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>multibox</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="multibox" resource="https://w3id.org/fep/0499/multibox" typeof="rdf:Property">
|
||||
<h1>multibox</h1>
|
||||
<dl>
|
||||
<dt>URI</dt>
|
||||
<dd><code>https://w3id.org/fep/0499/multibox</code></dd>
|
||||
<dt>Label</dt>
|
||||
<dd lang="en" property="rdfs:label">multibox endpoint</dd>
|
||||
<dt>Comment</dt>
|
||||
<dd lang="en" property="rdfs:comment">An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.</dd>
|
||||
<dt>Domain</dt>
|
||||
<dd>A map of <code>endpoints</code></dd>
|
||||
<dt>Range</dt>
|
||||
<dd property="rdfs:range" resource="rdfs:Resource">The endpoint (@id)</dd>
|
||||
<dt>Functional</dt>
|
||||
<dd content="1" datatype="xsd:nonNegativeInteger" property="owl:maxCardinality">Yes</dd>
|
||||
<dt>Is defined by</dt>
|
||||
<dd><a href="https://w3id.org/fep/0499" property="rdfs:isDefinedBy">FEP-0499</a></dd>
|
||||
</dl>
|
||||
<pre lang="json" title="Discovering a multibox endpoint with additional context">
|
||||
<code>
|
||||
{
|
||||
"@context": [
|
||||
"https://www.w3.org/ns/activitystreams",
|
||||
"https://w3id.org/fep/0499"
|
||||
],
|
||||
"id": "https://remote.example/actors/af4c8205cd81",
|
||||
"type": "Person",
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"multibox": "https://remote.example/multibox"
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
<pre lang="json" title="Discovering a multibox endpoint without additional context">
|
||||
<code>
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"id": "https://remote.example/actors/af4c8205cd81",
|
||||
"type": "Person",
|
||||
"name": "Alice P. Hacker",
|
||||
"inbox": "https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"endpoints": {
|
||||
"https://w3id.org/fep/0499/multibox": {"id": "https://remote.example/multibox"}
|
||||
}
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
<pre lang="http" title="Delivering to a multibox endpoint">
|
||||
<code>
|
||||
POST /multibox HTTP/1.1
|
||||
Host: remote.example
|
||||
Content-Type: application/ld+json; profile="https://www.w3.org/ns/activitystreams"
|
||||
|
||||
{
|
||||
"@context": "https://www.w3.org/ns/activitystreams",
|
||||
"type": "Add",
|
||||
"object": "https://example.com/some-activity",
|
||||
"target": [
|
||||
"https://remote.example/inboxes/fbb433c8e6c4",
|
||||
"https://remote.example/inboxes/d21f509146e5",
|
||||
"https://remote.example/inboxes/68a7453f79e4",
|
||||
"https://remote.example/inboxes/655216a0be07",
|
||||
"https://remote.example/inboxes/84907eff485d",
|
||||
]
|
||||
}
|
||||
</code>
|
||||
</pre>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,36 @@
|
||||
[
|
||||
{
|
||||
"@id": "https://w3id.org/fep/0499/multibox",
|
||||
"@type": [
|
||||
"http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"
|
||||
],
|
||||
"http://www.w3.org/2000/01/rdf-schema#comment": [
|
||||
{
|
||||
"@language": "en",
|
||||
"@value": "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."
|
||||
}
|
||||
],
|
||||
"http://www.w3.org/2000/01/rdf-schema#isDefinedBy": [
|
||||
{
|
||||
"@id": "https://w3id.org/fep/0499"
|
||||
}
|
||||
],
|
||||
"http://www.w3.org/2000/01/rdf-schema#label": [
|
||||
{
|
||||
"@language": "en",
|
||||
"@value": "multibox endpoint"
|
||||
}
|
||||
],
|
||||
"http://www.w3.org/2000/01/rdf-schema#range": [
|
||||
{
|
||||
"@id": "http://www.w3.org/2000/01/rdf-schema#Resource"
|
||||
}
|
||||
],
|
||||
"http://www.w3.org/2002/07/owl#maxCardinality": [
|
||||
{
|
||||
"@type": "http://www.w3.org/2001/XMLSchema#nonNegativeInteger",
|
||||
"@value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<rdf:RDF
|
||||
xmlns:owl="http://www.w3.org/2002/07/owl#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
|
||||
>
|
||||
<rdf:Description rdf:about="https://w3id.org/fep/0499/multibox">
|
||||
<rdf:type rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#Property"/>
|
||||
<rdfs:label xml:lang="en">multibox endpoint</rdfs:label>
|
||||
<rdfs:comment xml:lang="en">An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to.</rdfs:comment>
|
||||
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/>
|
||||
<owl:maxCardinality rdf:datatype="http://www.w3.org/2001/XMLSchema#nonNegativeInteger">1</owl:maxCardinality>
|
||||
<rdfs:isDefinedBy rdf:resource="https://w3id.org/fep/0499"/>
|
||||
</rdf:Description>
|
||||
</rdf:RDF>
|
||||
@@ -0,0 +1,11 @@
|
||||
@prefix owl: <http://www.w3.org/2002/07/owl#> .
|
||||
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
|
||||
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
|
||||
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
|
||||
|
||||
<https://w3id.org/fep/0499/multibox> a rdf:Property ;
|
||||
rdfs:label "multibox endpoint"@en ;
|
||||
rdfs:comment "An optional endpoint used for wide delivery of activities to multiple inboxes. POST an Add activity where the object is at least one activity to be delivered, and the target is at least one inbox to deliver to."@en ;
|
||||
rdfs:isDefinedBy <https://w3id.org/fep/0499> ;
|
||||
rdfs:range rdfs:Resource ;
|
||||
owl:maxCardinality "1"^^xsd:nonNegativeInteger .
|
||||
Reference in New Issue
Block a user