Skip to content
0
  • Home
  • Piero Bosio
  • Blog
  • World
  • Fediverso
  • News
  • Categories
  • Old Web Site
  • Recent
  • Popular
  • Tags
  • Users
  • Home
  • Piero Bosio
  • Blog
  • World
  • Fediverso
  • News
  • Categories
  • Old Web Site
  • Recent
  • Popular
  • Tags
  • Users
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

Piero Bosio Social Web Site Personale Logo Fediverso

Social Forum federato con il resto del mondo. Non contano le istanze, contano le persone
  1. Home
  2. Categories
  3. ActivityPub Protocol
  4. FEP-4f05: Soft Deletion

FEP-4f05: Soft Deletion

Scheduled Pinned Locked Moved ActivityPub Protocol
9 Posts 5 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.
  • devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
    devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
    devnull@socialhub.activitypub.rocks
    wrote on last edited by
    #1

    Hi all,

    Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

    https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

    devnull@socialhub.activitypub.rocksundefined silverpill@mitra.socialundefined thisismissem@socialhub.activitypub.rocksundefined helge@socialhub.activitypub.rocksundefined 4 Replies Last reply
    0
    • devnull@socialhub.activitypub.rocksundefined devnull@socialhub.activitypub.rocks

      Hi all,

      Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

      https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

      devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
      devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
      devnull@socialhub.activitypub.rocks
      wrote on last edited by
      #2

      @Claire, in Feb 2002, you created a topic where you mentioned soft deletes. While this isn't strictly related to Undo(Delete), this FEP recommends thinking of a received Delete as an instruction to invalidate the cache, and re-fetch, which would give you a better answer as to how to handle the received Delete or Undo(Delete).

      Perhaps this might help.

      1 Reply Last reply
      0
      • devnull@socialhub.activitypub.rocksundefined devnull@socialhub.activitypub.rocks

        Hi all,

        Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

        https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

        silverpill@mitra.socialundefined This user is from outside of this forum
        silverpill@mitra.socialundefined This user is from outside of this forum
        silverpill@mitra.social
        wrote on last edited by
        #3

        >Request the object (via its id) from the origin server directly

        Couldn't Delete activity itself indicate the type of operation?

        For example, if Delete contains embedded Tombstone, then treat it as a soft delete. Otherwise, treat it as a hard delete.

        >The Forums and Threaded Discussions Task Force (ForumWG) has identified a common nomenclature when referring to organized objects in a threaded discussion model.

        I find this nomenclature a bit confusing. Commented on the linked issue.

        devnull@socialhub.activitypub.rocksundefined 1 Reply Last reply
        0
        • silverpill@mitra.socialundefined silverpill@mitra.social

          >Request the object (via its id) from the origin server directly

          Couldn't Delete activity itself indicate the type of operation?

          For example, if Delete contains embedded Tombstone, then treat it as a soft delete. Otherwise, treat it as a hard delete.

          >The Forums and Threaded Discussions Task Force (ForumWG) has identified a common nomenclature when referring to organized objects in a threaded discussion model.

          I find this nomenclature a bit confusing. Commented on the linked issue.

          devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
          devnull@socialhub.activitypub.rocksundefined This user is from outside of this forum
          devnull@socialhub.activitypub.rocks
          wrote on last edited by
          #4

          The assumption is that the object is not embedded. If it is, then it stands to reason that the embedded object can be used as is. I'll call it out in that section, thanks.

          1 Reply Last reply
          0
          • devnull@socialhub.activitypub.rocksundefined devnull@socialhub.activitypub.rocks

            Hi all,

            Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

            https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

            thisismissem@socialhub.activitypub.rocksundefined This user is from outside of this forum
            thisismissem@socialhub.activitypub.rocksundefined This user is from outside of this forum
            thisismissem@socialhub.activitypub.rocks
            wrote on last edited by
            #5

            What would happen if you receive a Delete for an object that you believe to have been soft deleted, but now it shows up as an object instead of a Tombstone? Like, it was undeleted by the time you receive the Delete or something?

            Likewise, you receive an Undo(Delete) and when you fetch the referenced object, it returns back a Tombstone instead of the object?

            It'd be good to document those cases, because I think the answers are:

            • If you receive a Delete and the object returns an object, not a 410 / 404 or Tombstone, then you discard the Delete
            • If you receive an Undo(Delete) and the object returns a 404, 410 or Tombstone, then you discard the Undo(Delete)
            1 Reply Last reply
            0
            • devnull@socialhub.activitypub.rocksundefined devnull@socialhub.activitypub.rocks

              Hi all,

              Some discussion regarding NodeBB's handling of soft deleted posts and Discourse's parallel implementation prompted the creation of this FEP, which attempts to describe how the concept of soft deletion can be published without the introduction of new activities—using as:Delete as-is and relying on a backreference check for Tombstone in order to signal a soft delete.

              https://codeberg.org/fediverse/fep/src/branch/main/fep/4f05/fep-4f05.md

              helge@socialhub.activitypub.rocksundefined This user is from outside of this forum
              helge@socialhub.activitypub.rocksundefined This user is from outside of this forum
              helge@socialhub.activitypub.rocks
              wrote on last edited by
              #6

              Hi @devnull

              this regards soft deletion + context collections (as a collection of posts). This topic started at

              https://codeberg.org/silverpill/feps/issues/19

              I'm curious what should happen if the context contains three elements ap-obj, reply, and reply2. reply2 is a reply of reply. Now reply is deleted. How many elements does the context then contain?

              @silverpill said that for mitra the context would contain 1 element ap-obj.

              The scenario as Gherkin:

              Background: Given A new user called "Alice" And A new user called "Bob" And An ActivityPub object called "ap-obj"Scenario: Reply to reply with parent reply deleted Given "Alice" replied to "ap-obj" with "Nice post!" as "reply" And "Bob" replied to "reply" with "Good point!" as "reply2" When "Alice" deletes "reply" Then For "Alice", the "context" collection of "ap-obj" contains "?" elements
              julian@activitypub.spaceundefined 1 Reply Last reply
              0
              • helge@socialhub.activitypub.rocksundefined helge@socialhub.activitypub.rocks

                Hi @devnull

                this regards soft deletion + context collections (as a collection of posts). This topic started at

                https://codeberg.org/silverpill/feps/issues/19

                I'm curious what should happen if the context contains three elements ap-obj, reply, and reply2. reply2 is a reply of reply. Now reply is deleted. How many elements does the context then contain?

                @silverpill said that for mitra the context would contain 1 element ap-obj.

                The scenario as Gherkin:

                Background: Given A new user called "Alice" And A new user called "Bob" And An ActivityPub object called "ap-obj"Scenario: Reply to reply with parent reply deleted Given "Alice" replied to "ap-obj" with "Nice post!" as "reply" And "Bob" replied to "reply" with "Good point!" as "reply2" When "Alice" deletes "reply" Then For "Alice", the "context" collection of "ap-obj" contains "?" elements
                julian@activitypub.spaceundefined This user is from outside of this forum
                julian@activitypub.spaceundefined This user is from outside of this forum
                julian@activitypub.space
                wrote on last edited by
                #7

                Hey Helge.

                Per my understanding, when processing a deletion of reply, you would not presume deletion of any or all downstream objects. Only the referenced object is deleted.

                Deleting multiple objects at once would require multiple activities, or perhaps a single (and as-yet undefined) "batch" style activity.

                1 Reply Last reply
                0
                • helge@socialhub.activitypub.rocksundefined This user is from outside of this forum
                  helge@socialhub.activitypub.rocksundefined This user is from outside of this forum
                  helge@socialhub.activitypub.rocks
                  wrote on last edited by
                  #8

                  It is not about deleting the objects, it's about if they are in the context collection or not.

                  If I understand you correctly, we would have before Alice deletes her reply

                  context[ap-obj] = [ap-obj, reply, repl2]

                  and

                  context[ap-obj] = [ap-obj, repl2]

                  afterwards

                  julian@activitypub.spaceundefined 1 Reply Last reply
                  0
                  • helge@socialhub.activitypub.rocksundefined helge@socialhub.activitypub.rocks

                    It is not about deleting the objects, it's about if they are in the context collection or not.

                    If I understand you correctly, we would have before Alice deletes her reply

                    context[ap-obj] = [ap-obj, reply, repl2]

                    and

                    context[ap-obj] = [ap-obj, repl2]

                    afterwards

                    julian@activitypub.spaceundefined This user is from outside of this forum
                    julian@activitypub.spaceundefined This user is from outside of this forum
                    julian@activitypub.space
                    wrote on last edited by
                    #9

                    Yes, that's correct. Deletion of one object will not affect membership of downstream objects in the context collection.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    Feed RSS
                    FEP-4f05: Soft Deletion

                    Gli ultimi otto messaggi ricevuti dalla Federazione
                    • julian@activitypub.spaceundefined
                      julian@activitypub.space

                      Yes, that's correct. Deletion of one object will not affect membership of downstream objects in the context collection.

                      read more

                    • helge@socialhub.activitypub.rocksundefined
                      helge@socialhub.activitypub.rocks

                      It is not about deleting the objects, it's about if they are in the context collection or not.

                      If I understand you correctly, we would have before Alice deletes her reply

                      context[ap-obj] = [ap-obj, reply, repl2]

                      and

                      context[ap-obj] = [ap-obj, repl2]

                      afterwards

                      read more

                    • julian@activitypub.spaceundefined
                      julian@activitypub.space

                      Hey Helge.

                      Per my understanding, when processing a deletion of reply, you would not presume deletion of any or all downstream objects. Only the referenced object is deleted.

                      Deleting multiple objects at once would require multiple activities, or perhaps a single (and as-yet undefined) "batch" style activity.

                      read more

                    • helge@socialhub.activitypub.rocksundefined
                      helge@socialhub.activitypub.rocks

                      Hi @devnull

                      this regards soft deletion + context collections (as a collection of posts). This topic started at

                      https://codeberg.org/silverpill/feps/issues/19

                      I'm curious what should happen if the context contains three elements ap-obj, reply, and reply2. reply2 is a reply of reply. Now reply is deleted. How many elements does the context then contain?

                      @silverpill said that for mitra the context would contain 1 element ap-obj.

                      The scenario as Gherkin:

                      Background: Given A new user called "Alice" And A new user called "Bob" And An ActivityPub object called "ap-obj"Scenario: Reply to reply with parent reply deleted Given "Alice" replied to "ap-obj" with "Nice post!" as "reply" And "Bob" replied to "reply" with "Good point!" as "reply2" When "Alice" deletes "reply" Then For "Alice", the "context" collection of "ap-obj" contains "?" elements
                      read more

                    • thisismissem@socialhub.activitypub.rocksundefined
                      thisismissem@socialhub.activitypub.rocks

                      What would happen if you receive a Delete for an object that you believe to have been soft deleted, but now it shows up as an object instead of a Tombstone? Like, it was undeleted by the time you receive the Delete or something?

                      Likewise, you receive an Undo(Delete) and when you fetch the referenced object, it returns back a Tombstone instead of the object?

                      It'd be good to document those cases, because I think the answers are:

                      If you receive a Delete and the object returns an object, not a 410 / 404 or Tombstone, then you discard the DeleteIf you receive an Undo(Delete) and the object returns a 404, 410 or Tombstone, then you discard the Undo(Delete)
                      read more

                    • devnull@socialhub.activitypub.rocksundefined
                      devnull@socialhub.activitypub.rocks

                      The assumption is that the object is not embedded. If it is, then it stands to reason that the embedded object can be used as is. I'll call it out in that section, thanks.

                      read more

                    • silverpill@mitra.socialundefined
                      silverpill@mitra.social

                      >Request the object (via its id) from the origin server directly

                      Couldn't Delete activity itself indicate the type of operation?

                      For example, if Delete contains embedded Tombstone, then treat it as a soft delete. Otherwise, treat it as a hard delete.

                      >The Forums and Threaded Discussions Task Force (ForumWG) has identified a common nomenclature when referring to organized objects in a threaded discussion model.

                      I find this nomenclature a bit confusing. Commented on the linked issue.

                      read more

                    • devnull@socialhub.activitypub.rocksundefined
                      devnull@socialhub.activitypub.rocks

                      @Claire, in Feb 2002, you created a topic where you mentioned soft deletes. While this isn't strictly related to Undo(Delete), this FEP recommends thinking of a received Delete as an instruction to invalidate the cache, and re-fetch, which would give you a better answer as to how to handle the received Delete or Undo(Delete).

                      Perhaps this might help.

                      read more
                    @pierobosio@soc.bosio.info
                    Running NodeBB v4.7.2 Contributors
                    Post suggeriti
                    • Login

                    • Login or register to search.
                    • First post
                      Last post