Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Brite
  • 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
Collapse

NodeBB

  1. Home
  2. Technical Discussion
  3. @silverpill yes, I was thinking of the nomadic identity aspect when I said that.

@silverpill yes, I was thinking of the nomadic identity aspect when I said that.

Scheduled Pinned Locked Moved Technical Discussion
14 Posts 4 Posters 0 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • 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 on last edited by
    #1

    @silverpill yes, I was thinking of the nomadic identity aspect when I said that.

    So, for GoAP: a user wants to upload an image, it can specify recipients, the client builds an Image AP object out of that (including a reply collection) and wraps it in a Create collection, sends it to the server (C2S).

    Server saves Image locally, creates all collections for the Image that are not empty in the Image (like replies, likes, shares, etc) adds it to outbox of user's Actor, adds it to local follower's Inbox or sends it to remote followers Inbox (S2S). If it's in reply to something(s) loads the object(s) and disseminates it to the recipients.

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

      @silverpill yes, I was thinking of the nomadic identity aspect when I said that.

      So, for GoAP: a user wants to upload an image, it can specify recipients, the client builds an Image AP object out of that (including a reply collection) and wraps it in a Create collection, sends it to the server (C2S).

      Server saves Image locally, creates all collections for the Image that are not empty in the Image (like replies, likes, shares, etc) adds it to outbox of user's Actor, adds it to local follower's Inbox or sends it to remote followers Inbox (S2S). If it's in reply to something(s) loads the object(s) and disseminates it to the recipients.

      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 last edited by
      #2

      @mariusor Could you tell me more about how replies and similar properties are treated by GoAP servers?

      I initially imagined that clients would put collection ID there, but regular ActivityPub clients (not FEP-ae97) are not supposed to mint identifiers.

      So I decided to remove this from my Collections FEP and recommend explicit creation instead (via Create activity).

      One possible solution is to introduce a special value (such as null), that tells server that it should create a collection:

      {
        "type": "Note",
        "replies": null
      }
      

      cc @trwnh

      mariusor@metalhead.clubM 2 Replies Last reply
      0
      • silverpill@mitra.socialS silverpill@mitra.social

        @mariusor Could you tell me more about how replies and similar properties are treated by GoAP servers?

        I initially imagined that clients would put collection ID there, but regular ActivityPub clients (not FEP-ae97) are not supposed to mint identifiers.

        So I decided to remove this from my Collections FEP and recommend explicit creation instead (via Create activity).

        One possible solution is to introduce a special value (such as null), that tells server that it should create a collection:

        {
          "type": "Note",
          "replies": null
        }
        

        cc @trwnh

        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 last edited by
        #3

        @silverpill the Go ActivityPub state machine creates all collections that appear as properties in an object. So if the client has filled the replies collection with an IRI that is namespaced to the instance (or better yet, the user), it creates that an OrderedCollection using that as an ID.

        So for your example, there would not be a replies created.

        However the servers built with GoActivityPub have no universal rule about clients not being able to generate IDs. When they receive an object with ID they try to create it, if it fails, it fails, if it succeeds... cool. This helps with allowing users to have nice URLs for their content.

        @trwnh

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

          @silverpill the Go ActivityPub state machine creates all collections that appear as properties in an object. So if the client has filled the replies collection with an IRI that is namespaced to the instance (or better yet, the user), it creates that an OrderedCollection using that as an ID.

          So for your example, there would not be a replies created.

          However the servers built with GoActivityPub have no universal rule about clients not being able to generate IDs. When they receive an object with ID they try to create it, if it fails, it fails, if it succeeds... cool. This helps with allowing users to have nice URLs for their content.

          @trwnh

          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 last edited by
          #4

          @silverpill basically I did it like this because I wanted to short-circuit clients having to send Create activities that create the collections at the same time.

          I can think of a flow where you create all collections that you want the actor/object to have, then you create the actor/object by setting those collections' ids in the right places, but it feels a little unwholesome.

          With the automatic creation, I can also set ownership on the collections to the actor that created them, or the actor that they belong to.

          In GoAP this relies a lot on URL paths having meaning and not being opaque blobs as the specs say, which might not be for everyone...

          @trwnh

          1 Reply Last reply
          0
          • silverpill@mitra.socialS silverpill@mitra.social

            @mariusor Could you tell me more about how replies and similar properties are treated by GoAP servers?

            I initially imagined that clients would put collection ID there, but regular ActivityPub clients (not FEP-ae97) are not supposed to mint identifiers.

            So I decided to remove this from my Collections FEP and recommend explicit creation instead (via Create activity).

            One possible solution is to introduce a special value (such as null), that tells server that it should create a collection:

            {
              "type": "Note",
              "replies": null
            }
            

            cc @trwnh

            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 last edited by
            #5

            @silverpill PS. did I miss where the spec forbids clients passing IDs to the Create objects, or am I right that it could be a valid mechanism?

            @trwnh

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

              @silverpill PS. did I miss where the spec forbids clients passing IDs to the Create objects, or am I right that it could be a valid mechanism?

              @trwnh

              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 last edited by
              #6

              @mariusor In the section 6. Client to Server Interactions it says "If an Activity is submitted with a value in the id property, servers MUST ignore this and generate a new id for the Activity." ActivityPub sometimes uses "activities" and "objects" interchangeably, it even allows POSTing objects directly without wrapping them in Create, so this "MUST" may apply to objects too.

              I think this means that a client can pass an id, it is just not guaranteed to be respected by a server.

              AFAIK there is nothing in the spec that forbids clients to provide an ID in replies and similar properties.

              @trwnh

              evan@cosocial.caE 1 Reply Last reply
              0
              • silverpill@mitra.socialS silverpill@mitra.social

                @mariusor In the section 6. Client to Server Interactions it says "If an Activity is submitted with a value in the id property, servers MUST ignore this and generate a new id for the Activity." ActivityPub sometimes uses "activities" and "objects" interchangeably, it even allows POSTing objects directly without wrapping them in Create, so this "MUST" may apply to objects too.

                I think this means that a client can pass an id, it is just not guaranteed to be respected by a server.

                AFAIK there is nothing in the spec that forbids clients to provide an ID in replies and similar properties.

                @trwnh

                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 last edited by
                #7

                @silverpill @mariusor @trwnh I don't think the MUST applies to objects.

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

                  @silverpill @mariusor @trwnh I don't think the MUST applies to objects.

                  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 last edited by
                  #8

                  @evan probably that should be clarified. Should I open a ticket somewhere?

                  @silverpill @trwnh

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

                    @evan probably that should be clarified. Should I open a ticket somewhere?

                    @silverpill @trwnh

                    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 last edited by
                    #9

                    @mariusor @silverpill @trwnh yes, https://github.com/w3c/activitypub/issues

                    trwnh@mastodon.socialT mariusor@metalhead.clubM 2 Replies Last reply
                    0
                    • evan@cosocial.caE evan@cosocial.ca

                      @mariusor @silverpill @trwnh yes, https://github.com/w3c/activitypub/issues

                      trwnh@mastodon.socialT This user is from outside of this forum
                      trwnh@mastodon.socialT This user is from outside of this forum
                      trwnh@mastodon.social
                      wrote last edited by
                      #10

                      @evan @mariusor @silverpill https://github.com/w3c/activitypub/issues/438

                      trwnh@mastodon.socialT 1 Reply Last reply
                      0
                      • trwnh@mastodon.socialT trwnh@mastodon.social

                        @evan @mariusor @silverpill https://github.com/w3c/activitypub/issues/438

                        trwnh@mastodon.socialT This user is from outside of this forum
                        trwnh@mastodon.socialT This user is from outside of this forum
                        trwnh@mastodon.social
                        wrote last edited by
                        #11

                        @evan @mariusor @silverpill although note that i think nightpool is of the opinion that POSTing a non-activity to the outbox is an at-risk behavior and should be deprecated, because the "implicit Create" behavior has to somehow know whether or not the body of the POST is an Activity or not, and we never actually define how to know this, so it is too likely that the server will accidentally wrap activities in a Create if some inference fails.

                        trwnh@mastodon.socialT 1 Reply Last reply
                        0
                        • trwnh@mastodon.socialT trwnh@mastodon.social

                          @evan @mariusor @silverpill although note that i think nightpool is of the opinion that POSTing a non-activity to the outbox is an at-risk behavior and should be deprecated, because the "implicit Create" behavior has to somehow know whether or not the body of the POST is an Activity or not, and we never actually define how to know this, so it is too likely that the server will accidentally wrap activities in a Create if some inference fails.

                          trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.socialT This user is from outside of this forum
                          trwnh@mastodon.social
                          wrote last edited by
                          #12

                          @evan @mariusor @silverpill re: ids though the RDF ecosystem (and jsonld) doesn't use "null", it uses blank node identifiers (those prefixed with _: are special cased by the prefix expansion algorithm). this can allow for "transient" activities or "anonymous" objects (and the graph data model auto assigns _:b1, _:b2 and so on when "id" is missing; the canonicalization algorithm assigns _:c14n0 and _:c14n1 and so on)

                          this is maybe not the best way to create replies collections though...

                          trwnh@mastodon.socialT 1 Reply Last reply
                          0
                          • evan@cosocial.caE evan@cosocial.ca

                            @mariusor @silverpill @trwnh yes, https://github.com/w3c/activitypub/issues

                            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 last edited by
                            #13

                            @evan my suggestion: https://github.com/w3c/activitypub/issues/533

                            @silverpill @trwnh

                            1 Reply Last reply
                            0
                            • trwnh@mastodon.socialT trwnh@mastodon.social

                              @evan @mariusor @silverpill re: ids though the RDF ecosystem (and jsonld) doesn't use "null", it uses blank node identifiers (those prefixed with _: are special cased by the prefix expansion algorithm). this can allow for "transient" activities or "anonymous" objects (and the graph data model auto assigns _:b1, _:b2 and so on when "id" is missing; the canonicalization algorithm assigns _:c14n0 and _:c14n1 and so on)

                              this is maybe not the best way to create replies collections though...

                              trwnh@mastodon.socialT This user is from outside of this forum
                              trwnh@mastodon.socialT This user is from outside of this forum
                              trwnh@mastodon.social
                              wrote last edited by
                              #14

                              @evan @mariusor @silverpill i think we probably need to revisit the user story of creating multiple objects at once, or more accurately, the user story of minting and binding multiple identifiers at once.

                              1 Reply Last reply
                              0

                              Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                              Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                              With your input, this post could be even better 💗

                              Register Login
                              Reply
                              • Reply as topic
                              Log in to reply
                              • Oldest to Newest
                              • Newest to Oldest
                              • Most Votes


                              • Login

                              • Don't have an account? Register

                              • Login or register to search.
                              Powered by NodeBB Contributors
                              • First post
                                Last post
                              0
                              • Categories
                              • Recent
                              • Tags
                              • Popular
                              • World
                              • Users
                              • Groups