Skip to content
  • Hjem
  • Seneste
  • Etiketter
  • Populære
  • Verden
  • Bruger
  • Grupper
Temaer
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Kollaps
FARVEL BIG TECH
  1. Forside
  2. Ikke-kategoriseret
  3. I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID.

I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID.

Planlagt Fastgjort Låst Flyttet Ikke-kategoriseret
activitypubdevfedidevactivitypub
13 Indlæg 6 Posters 6 Visninger
  • Ældste til nyeste
  • Nyeste til ældste
  • Most Votes
Svar
  • Svar som emne
Login for at svare
Denne tråd er blevet slettet. Kun brugere med emne behandlings privilegier kan se den.
  • mariusor@metalhead.clubM This user is from outside of this forum
    mariusor@metalhead.clubM This user is from outside of this forum
    mariusor@metalhead.club
    wrote sidst redigeret af
    #1

    I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

    An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

    Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

    #ActivityPub #fedidev #ActivityPubDev

    mariusor@metalhead.clubM thisismissem@hachyderm.ioT 2 Replies Last reply
    0
    • mariusor@metalhead.clubM mariusor@metalhead.club

      I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

      An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

      Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

      #ActivityPub #fedidev #ActivityPubDev

      mariusor@metalhead.clubM This user is from outside of this forum
      mariusor@metalhead.clubM This user is from outside of this forum
      mariusor@metalhead.club
      wrote sidst redigeret af
      #2

      Is anyone aware of a FEP for that?

      #ActivityPub #ActivityPubDev #FEP

      evan@cosocial.caE silverpill@mitra.socialS 2 Replies Last reply
      0
      • mariusor@metalhead.clubM mariusor@metalhead.club

        Is anyone aware of a FEP for that?

        #ActivityPub #ActivityPubDev #FEP

        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.caE This user is from outside of this forum
        evan@cosocial.ca
        wrote sidst redigeret af
        #3

        @mariusor it's not easy; the ID is really where the thing is, as well as what it's named.

        We have some work going on it; try LOLA.

        https://swicg.github.io/activitypub-data-portability/lola

        mariusor@metalhead.clubM 1 Reply Last reply
        0
        • evan@cosocial.caE evan@cosocial.ca

          @mariusor it's not easy; the ID is really where the thing is, as well as what it's named.

          We have some work going on it; try LOLA.

          https://swicg.github.io/activitypub-data-portability/lola

          mariusor@metalhead.clubM This user is from outside of this forum
          mariusor@metalhead.clubM This user is from outside of this forum
          mariusor@metalhead.club
          wrote sidst redigeret af
          #4

          @evan I understand that, but at the same time, HTTP contains all we need to make sure these changes get tracked.

          1. Move activity is disseminated, so downstream instances are aware of the new ID.
          2. Instances/clients/user-agents making use of the old ID get redirected through HTTP to the new ID, and they get the new resource with only one extra request if that.

          Sounds simple to me, but maybe I'm overlooking something.

          mariusor@metalhead.clubM julian@community.nodebb.orgJ 2 Replies Last reply
          0
          • mariusor@metalhead.clubM mariusor@metalhead.club

            @evan I understand that, but at the same time, HTTP contains all we need to make sure these changes get tracked.

            1. Move activity is disseminated, so downstream instances are aware of the new ID.
            2. Instances/clients/user-agents making use of the old ID get redirected through HTTP to the new ID, and they get the new resource with only one extra request if that.

            Sounds simple to me, but maybe I'm overlooking something.

            mariusor@metalhead.clubM This user is from outside of this forum
            mariusor@metalhead.clubM This user is from outside of this forum
            mariusor@metalhead.club
            wrote sidst redigeret af
            #5

            @evan from what I can see the document you proposed handles the difficult cases where the move is done across servers.

            I'm thinking of something simpler, same instance move.

            1 Reply Last reply
            0
            • mariusor@metalhead.clubM mariusor@metalhead.club

              @evan I understand that, but at the same time, HTTP contains all we need to make sure these changes get tracked.

              1. Move activity is disseminated, so downstream instances are aware of the new ID.
              2. Instances/clients/user-agents making use of the old ID get redirected through HTTP to the new ID, and they get the new resource with only one extra request if that.

              Sounds simple to me, but maybe I'm overlooking something.

              julian@community.nodebb.orgJ This user is from outside of this forum
              julian@community.nodebb.orgJ This user is from outside of this forum
              julian@community.nodebb.org
              wrote sidst redigeret af
              #6

              mariusor@metalhead.club yeah that’s basically it, but as far as I know no servers support it.

              Mastodon, for example, will support an update that changes a user’s preferred username, but on the backend a new user is created. Not quite ideal but they’re hamstrung on some db decisions they made early on tying preferred username to the URL.

              1 Reply Last reply
              0
              • mariusor@metalhead.clubM mariusor@metalhead.club

                I just realized that the default specifications for ActivityPub/ActivityStreams do not have a way to perform an update on an object's ID. (ie, moving it from example.com/1 -> example.com/2)

                An Update activity does not allow ID updates because it would lose the reference to the original one. (It can be massaged by using an Origin property, but I don't like that).

                Another option would be to use a Move activity (which is defined as moving objects between collections), where the Origin property is the object itself instead of a collection. (I like this behaviour better, as it requires less divergence from the spec)

                #ActivityPub #fedidev #ActivityPubDev

                thisismissem@hachyderm.ioT This user is from outside of this forum
                thisismissem@hachyderm.ioT This user is from outside of this forum
                thisismissem@hachyderm.io
                wrote sidst redigeret af
                #7

                @mariusor yeah, there's an issue on w3c/activitypub about this, it's been there for few years I think? This is a problem with JSON-LD in general too

                1 Reply Last reply
                0
                • mariusor@metalhead.clubM mariusor@metalhead.club

                  Is anyone aware of a FEP for that?

                  #ActivityPub #ActivityPubDev #FEP

                  silverpill@mitra.socialS This user is from outside of this forum
                  silverpill@mitra.socialS This user is from outside of this forum
                  silverpill@mitra.social
                  wrote sidst redigeret af
                  #8

                  @mariusor Move is used for migrating actors from one ID to another: FEP-7628. It can be used for migrating objects too, but I don't think it's practical.

                  FEP-ef61 solves the problem by making identifiers portable.

                  julian@community.nodebb.orgJ 1 Reply Last reply
                  0
                  • silverpill@mitra.socialS silverpill@mitra.social

                    @mariusor Move is used for migrating actors from one ID to another: FEP-7628. It can be used for migrating objects too, but I don't think it's practical.

                    FEP-ef61 solves the problem by making identifiers portable.

                    julian@community.nodebb.orgJ This user is from outside of this forum
                    julian@community.nodebb.orgJ This user is from outside of this forum
                    julian@community.nodebb.org
                    wrote sidst redigeret af
                    #9

                    silverpill@mitra.social mariusor@metalhead.club here’s a dumb question… What happens when my software with no idea of the concept of nomadic identity, encounters an object with an ap:// protocol?

                    1 Reply Last reply
                    0
                    • adiz@mtl.jinxian.casaA This user is from outside of this forum
                      adiz@mtl.jinxian.casaA This user is from outside of this forum
                      adiz@mtl.jinxian.casa
                      wrote sidst redigeret af
                      #10

                      @julian It dies. @silverpill @mariusor @evan

                      mariusor@metalhead.clubM 1 Reply Last reply
                      0
                      • adiz@mtl.jinxian.casaA adiz@mtl.jinxian.casa

                        @julian It dies. @silverpill @mariusor @evan

                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.clubM This user is from outside of this forum
                        mariusor@metalhead.club
                        wrote sidst redigeret af
                        #11

                        @adiz @julian I think the general behaviour is that your user-agent (client or browser) tries to find an application that can understand that protocol and delegate to the user if nothing is found.

                        @silverpill

                        1 Reply Last reply
                        0
                        • silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.socialS This user is from outside of this forum
                          silverpill@mitra.social
                          wrote sidst redigeret af
                          #12

                          @julian Hopefully nothing, the object is ignored. It may also crash 🙂

                          We use a different kind of identifier to keep portable objects compatible with ef61-unaware implementations:

                          https://social.example/.well-known/apgateway/did:example:abcd/object
                          

                          which works like a regular HTTPS URL, but ef61-aware implementations treat it as equivalent to ap://did:example:abcd/object

                          @mariusor

                          julian@community.nodebb.orgJ 1 Reply Last reply
                          0
                          • silverpill@mitra.socialS silverpill@mitra.social

                            @julian Hopefully nothing, the object is ignored. It may also crash 🙂

                            We use a different kind of identifier to keep portable objects compatible with ef61-unaware implementations:

                            https://social.example/.well-known/apgateway/did:example:abcd/object
                            

                            which works like a regular HTTPS URL, but ef61-aware implementations treat it as equivalent to ap://did:example:abcd/object

                            @mariusor

                            julian@community.nodebb.orgJ This user is from outside of this forum
                            julian@community.nodebb.orgJ This user is from outside of this forum
                            julian@community.nodebb.org
                            wrote sidst redigeret af
                            #13

                            silverpill@mitra.social ah that’s pretty clever!

                            1 Reply Last reply
                            0
                            Svar
                            • Svar som emne
                            Login for at svare
                            • Ældste til nyeste
                            • Nyeste til ældste
                            • Most Votes


                            • Log ind

                            • Har du ikke en konto? Tilmeld

                            • Login or register to search.
                            Powered by NodeBB Contributors
                            Graciously hosted by data.coop
                            • First post
                              Last post
                            0
                            • Hjem
                            • Seneste
                            • Etiketter
                            • Populære
                            • Verden
                            • Bruger
                            • Grupper