- From: Evan Prodromou <evan@prodromou.name>
- Date: Fri, 3 May 2024 20:51:54 -0400
- To: Lisa Dusseault <lisa@dtinit.org>, public-swicg@w3c.org
- Message-ID: <8ca95baf-3452-43e8-bfae-def6d083c5e6@prodromou.name>
Another note: I think that content collections might be sufficiently
useful that they should have their own report separate from the data
portability one.
Evan
On 2024-05-03 8:49 p.m., Evan Prodromou wrote:
>
> Lisa,
>
> How would you feel about a `Copy` activity? I think that matches what
> you're proposing better than `Import`.
>
> Let's say you wanted to make a copy of this object, a private note to
> the old user's followers:
>
> {
> "@context": [
> "https://www.w3.org/ns/activitystreams",
> "https://namespace.example/ns/copy"
> ],
> "id":"https://source.example/user/olduser/note/1",
> "attributedTo":"https://source.example/user/olduser",
> "to":"https://source.example/user/olduser/followers",
> "type": "Note",
> "content": "Hello World"
> }
> The activity to make a copy might look like this:
> {
> "@context": [
> "https://www.w3.org/ns/activitystreams",
> "https://namespace.example/ns/copy"
> ],
> "id":"https://destination.example/user/newuser/copy/1",
> "actor":"https://destination.example/user/newuser",
> "to": ["https://source.example/user/olduser",
> "https://source.example/user/olduser/followers",
> "https://source.example/user/newuser/followers"]
> "type": ["Copy", "Create"],
> "origin":"https://source.example/user/olduser/note/1",
> "object":"https://destination.example/user/newuser/note/5"
> }
> This format lets us identify the new note as a copy. I've used
> `origin` to say where the object came from, and `object` for the
> destination. Using these properties, I can dual-type the activity so
> it works as both a `Copy` and a `Create` for fallback. A client that
> only recognizes the `Create` activity type will do the right thing
> with this activity.
>
> Note that the addressees are different; the new Copy activity is
> addressed to the old user, to the the old user's followers, and to the
> new user's followers.
>
> The resulting note might look something like this:
> {
> "@context": [
> "https://www.w3.org/ns/activitystreams",
> "https://namespace.example/ns/copy"
> ],
> "id":"https://destination.example/user/newuser/note/5",
> "attributedTo":"https://destination.example/user/newuser",
> "to": ["https://source.example/user/olduser",
> "https://source.example/user/olduser/followers",
> "https://source.example/user/newuser/followers"],
> "type": "Note",
> "content": "Hello World",
> "copyOf":"https://source.example/user/olduser/note/1"
> }
> The original note might also be changed to include a list of all the
> copies:
> {
> "@context": [
> "https://www.w3.org/ns/activitystreams",
> "https://namespace.example/ns/copy"
> ],
> "id":"https://source.example/user/olduser/note/1",
> "attributedTo":"https://source.example/user/olduser",
> "to":"https://source.example/user/olduser/followers",
> "type": "Note",
> "content": "Hello World",
> "copies": [
> "https://destination.example/user/newuser/note/5"
> ]
> }
> Evan
>
> On 2024-05-03 4:01 p.m., Lisa Dusseault wrote:
>> Here are my followups from today's call. Note the first one allows
>> folks to have a peek at LOLA as it stands even before the PR is
>> merged, but you might also wait for the next version after I work on
>> the issues listed below.
>>
>> 1. Create a PR for EvanP: Done
>> * https://github.com/swicg/activitypub-data-portability/pull/16
>>
>> 2. Add a section that explains how to copy from the outbox to handle
>> “unaugmented” source servers
>> https://github.com/swicg/activitypub-data-portability/issues/17
>>
>> 3. Do more work on use cases to motivate the choices especially make
>> sure the support for defederation is explained and what that means
>> for content copy models
>> https://github.com/swicg/activitypub-data-portability/issues/19
>>
>> 4. Suggestion to have a new "Import" activity: *I'd love more
>> feedback*. Is anybody in a position to be able to create a wrapper
>> of type "Import" around content of type "Note" and test that out in
>> the context of an outbox?
>> * if this works, it can be used for importing content through other
>> mechanisms besides LOLA.
>>
>> 5. Add to the spec that there are legitimate use cases to BLOCK
>> accounts from export or move - e.g. in the case of CSAM reports
>> https://github.com/swicg/activitypub-data-portability/issues/18
>>
>> Lisa
Received on Saturday, 4 May 2024 00:51:58 UTC