tl;dr — how do PieFed/Lemmy/Mbin handle cross-posting?

Currently, when a NodeBB admin moves a topic from the uncategorized pseudo-category into a local category, we federate out an as:Announce, people typically think of that as a “boost” or “share”.

That worked fine when the entirety of the category list was your local categories plus the “uncategorized” pseudo-category. However, now that NodeBB is moving towards supporting remote categories (via group actors), this UX makes less sense. We wouldn’t want to “move” a topic out of the category it is supposed to be in, just for visibility to other local users. Additionally, topic moving was limited to administrators, and from the get-go we knew it would eventually cause issues because people other than admins would want to share topics to other local users.

This is where the “cross-post” functionality comes in, which is entirely new to NodeBB. I don’t think this is new to other AP-enabled threaded discussion software. The idea would be that if a new topic comes in, whether it’s uncategorized or not, any user could “cross-post” that topic to a local category, where it would be visible to other users on that instance. On the ActivityPub side, we would then federate out an as:Announce as we already do.

Is this what PieFed/Lemmy/Mbin already do, if they support cross-posting? What other alternative solutions would there be to this problem?

cc @rimu@mastodon.nzoss.nz @andrew_s@piefed.social @nutomic@lemmy.ml @bentigorlich@wehavecookies.social

  • BentiGorlich@gehirneimer.de
    link
    fedilink
    arrow-up
    2
    ·
    2 days ago

    @julian@community.nodebb.org On Mbin we don’t have a button so the user can cross post it to another magazine/community/group. What we count as “crossposts” are just posts linking the same URL (and sometimes title matching, though I don’t like that part). But like Rimu said these are entirely different entities with different apIds often from different instances

  • Scott M. Stolz@loves.tech
    link
    fedilink
    arrow-up
    1
    ·
    2 days ago

    One thing that you have to consider is that some forums and categories might have post permissions attached to them. For example, many Hubzilla forums restrict creating new posts to members of the forum. (To become a member of a forum, you would need to connect to or follow the forum, and then be allowed to join by the administrator, either automatically or by admin approval.) In that case, not everyone can create a new top level post. There may also be comment restrictions as well, regarding who can comment on a post in the forum.

    If you were to cross post between multiple forums or categories, if you want them to be synced, you would have to take into account the relevant permissions, and decide what to do with posts that don’t conform.

    One option is for the admin of a forum to allow which other forums they allow a full sync (ignoring existing forum permissions and providing an exception for other trusted forums). If a cross-posted post comes from a non-trusted forum, then no exceptions will be allowed and the existing forum permissions are enforced.

    Of course, nothing has to be done about this and we can just let the forums enforce their own permissions. But if we don’t communicate these permissions, some users might not realize why their cross-post has been silently dropped since the UI does not make it clear that a user had to be a member of certain forums to post to that forum.

  • Might want to use a custom taxonomy/tag type for cross-posts. That’s what we use for saving messages in “folders”. While we don’t typically federate these, I would imagine you might want to share those tags with software that supports cross-posting.

      • julian@community.nodebb.orgOP
        link
        fedilink
        arrow-up
        1
        ·
        3 days ago

        Hmm… considering that Piefed cross-posts are entirely separate posts, then if the original is edited, then the modification is not carried over to the cross-posted post, correct?

        I’m thinking that for NodeBB we could continue to have cross-posts reference the canonical topic. They’d simply be part of a separate audience as well.

        Whether this is local-only or not, I am not sure yet. Perhaps for federation purposes we’d still report the original category (if there is one) under audience

        • Rimu@piefed.social
          link
          fedilink
          English
          arrow-up
          1
          ·
          3 days ago

          Yes the modification is not carried over and the cross-post will often have a different author from the original too. While creating the cross-post the cross-poster could have edited the title and description, too. The only connection is that they have the same url (in the attachment). Lemmy adds the text “cross-posted from link-to-original” to the beginning of the body content but it’s just text, not an attribute on the Activity.

          Room for improvement!

          Also moving what NodeBB calls a topic (a post in Lemmy/PieFed) from what NodeBB calls a category (community in Lemmy/PieFed) into a different category (without spawning a new topic or leaving the old copy behind) is much needed but not implemented in Lemmy/PieFed/Mbin.