LemmyNet / lemmy

🐀 A link aggregator and forum for the fediverse
https://join-lemmy.org
GNU Affero General Public License v3.0
13.31k stars 883 forks source link

Decide on "forum" or "community" #121

Closed trosel closed 5 years ago

trosel commented 5 years ago

There is a mix of language in the UI and the code.

The url path is /f/ right now, but the Create Forum button activates the create_community route, etc

pojntfx commented 5 years ago

I'd advocate for community - more generic and more in line with the way that Discourse and others handle it.

dessalines commented 5 years ago

To complicate it further, the actual terminology in activitypub that this is going to use, is called groups. Right now I've kinda called everything that the user sees, "forums", and everything in the code, communities.

I'm open to either one tho.

Vote on this : https://simplevote.tk/#/poll/PNG2

trosel commented 5 years ago

@dessalines Can you explain the "groups" term being linked to activitypub? Is this on the activitypub spec somewhere? I don't see it mentioned in this doc https://www.w3.org/TR/activitypub/

dessalines commented 5 years ago

https://www.w3.org/TR/activitystreams-vocabulary/#dfn-group

trosel commented 5 years ago

Based on the ActivityPub little tutorial

Feeling happy about things, she decides to post a public message to
her followers.  Soon the following message is blasted to all the
members of her followers collection, and since it has the special
Public group addressed, is generally readable by anyone.

  {"@context": "https://www.w3.org/ns/activitystreams",
   "type": "Create",
   "id": "https://social.example/alyssa/posts/9282e9cc-14d0-42b3-a758-d6aeca6c876b",
   "to": ["https://social.example/alyssa/followers/",
          "https://www.w3.org/ns/activitystreams#Public"],
   "author": "https://social.example/alyssa/",
   "object": {"type": "Note",
              "id": "https://social.example/alyssa/posts/d18c55d4-8a63-4181-9745-4e6cf7938fa1",
              "attributedTo": "https://social.example/alyssa/",
              "to": ["https://social.example/alyssa/followers/",
                     "https://www.w3.org/ns/activitystreams#Public"],
              "content": "Lending books to friends is nice.  Getting them back is even nicer! :)"}}

I get the sense that each application is supposed to rename ActivityPub terminology in ways that makes sense for each app. For example, in this tutorial, a person's followers is an ActivityPub Group.

dessalines commented 5 years ago

That, and this ActivityPub API is what I'm gonna start with when I tackle this next week.

mister-monster commented 5 years ago

I personally am partial to "community" even though I'm in the habit of "forum" now.

pojntfx commented 5 years ago

@dessalines Thanks for putting this up to public polling and using a Borda count!

ralyodio commented 5 years ago

I like how lobste.rs does it where you just have tags.

trosel commented 5 years ago

@chovy Prismo uses tags instead of hard community separation. They allow 5 tags per post.

I do think that this is a good way to do it. Otherwise you end up like reddit with "[x-post from ____]" posts.

dessalines commented 5 years ago

I dislike tags with a passion. On Reddit, I get to subscribe to things im interested in, and each community has its own moderators, moderation policies, sidebar, banned list, etc.

Tags are completely unmoderated, anyone could hijack popular tags to get their content viewed.

You could create a system of subscribing to tags, but youd be at the whims of the gallowboobs of the world.

pojntfx commented 5 years ago

I'd personally be quite fond of tags, but not in the traditional sense, more as in one-to-many relations for posts. This would quite dramatically reduce the amount of "unnecessary" cross-posting; one could simply "assign" a post to a community. This would IMHO combine the best of tags (seeing relations between posts and tags, "trends" and "one-off" communities) with the best of communities (moderation, sidebar, ...). In addition with multiple authors per post, I think that this would make for an amazing system.

Like this (excuse the ASCII):

                                                                        c/floss
                                                               +------->(Community)<-------------+
                                                               |                                 |
u/pojntfx     +-------------------------+                      |                                 |
(Author, User)+                         |                      |        c/ldk                    |u/mod1
                                        |                      +------->(Community)<------+  +---+(Moderator, User)
                                        v                      |                          |  |
u/coauthor                https://github.com/rancher/k3os      |                          |  |
(Author, User)+---------->"k3s OS has been released"     +-----+        c/kubernetes      |  |    u/mod2
                          (Post)        ^                      +------->(Community)<-------------+(Moderator, User)
                                        |                      |                          |  |
u/yett                                  |                      |                          |  |
(User, Voter)+--------------------------+                      |        c/containers      |  |    u/mod3
                                                               +------->(Community)       +------+(Moderator, User)
                                                                                             |
                                                                                             |
                                                                        c/commune            |
                                                                        (Community)<---------+
dessalines commented 5 years ago

This is getting into a separate issue now, but there can't really be co-authors of a post, unless they're collaboratively filling out those URLs and submission bodies together.

Different communities are going to react to posts in different ways; /f/floss might have a different viewpoint on a posted url than /f/piracy, and their comment sections would be different, even if many of them have the same users and or mods.

The main issue, is rather that a single url gets posted to many communities, and it'd be cool to

This is actually pretty easy to do, I could create some kind of expander for posts with urls, and show every time, and where, its been posted. Like a "show cross-posts" button or something.

Here's an issue for that.