discuitnet / discuit

A free and open-source community discussion platform.
https://discuit.net
GNU Affero General Public License v3.0
385 stars 40 forks source link

Communities have no path prefix #2

Open imbev opened 7 months ago

imbev commented 7 months ago

I noticed that communities have their paths immediately following the domain. e.g. https://discuit.net/opensource

In contrast to prefixing the path such as r/, c/, etc., this approach doesn't scale, and will make adding non-community pages more difficult.

TylerCode commented 7 months ago

If this change is to be done, the earlier the better to break the least amount of links.

Something could be done to redirect and add the /d or whatever though as well

ReticentRobot commented 6 months ago

I believe this has been discussed by previnder a few times and the plan is for it to be more like twitter (as opposed to reddit) where internal pages are prefixed and communities are not. Example: discuit.net/d/about. I don't think the existing pages do that though. Outside of that, is there another reason you say it would not scale?

previnder commented 6 months ago

Yep, as @ReticentRobot said, we've had several discussions on this with users/admins and we even took a vote couple months back (but that's more on community and user mentions than URL structure).

But as things stand I would say that this is still undecided. The main argument for namespacing community URLs is, I suppose, that it's cleaner and more orderly and structured. And the main argument for keeping the URLs as they are is probably that it's easier to type.

imbev commented 6 months ago

I believe this has been discussed by previnder a few times and the plan is for it to be more like twitter (as opposed to reddit) where internal pages are prefixed and communities are not. Example: discuit.net/d/about. I don't think the existing pages do that though. Outside of that, is there another reason you say it would not scale?

What if someone wants to add a "legal" community? Without the community approval process being careful to reject certain names, certain pages could be unavailable to create in the future. Communities could be more easily mistaken for official pages.

The prefixing for official pages is another option, although it may be misleading for many users coming from Reddit.

TylerCode commented 6 months ago

Yep, as @ReticentRobot said, we've had several discussions on this with users/admins and we even took a vote couple months back (but that's more on community and user mentions than URL structure).

But as things stand I would say that this is still undecided. The main argument for namespacing community URLs is, I suppose, that it's cleaner and more orderly and structured. And the main argument for keeping the URLs as they are is probably that it's easier to type.

I can understand this, I also get not wanting to be like every other site in that regard. However, my two cents is that adding a /d/community gives a nice format that can be used to create links and whatnot when people type it in comments and posts, less chances of false positives being made on the links for instance when someone says something like /s for sarcasm. It also gives it some context outside the site when writing shorthand. Obviously, it's far off from reddit but if someone says r/gamedev you immediately know what someone is talking about (and if you don't, google does).

I am curious on @previnder's individual take though cause ultimately, it's up to you.

previnder commented 6 months ago

What if someone wants to add a "legal" community? Without the community approval process being careful to reject certain names, certain pages could be unavailable to create in the future. Communities could be more easily mistaken for official pages.

The prefixing for official pages is another option, although it may be misleading for many users coming from Reddit.

Yep, prefixing (some of) the official pages is the alternative.

I am curious on @previnder's individual take though cause ultimately, it's up to you.

I'm actually torn here; I can see both points of view. However, if we're going to namespace communities, I prefer using a symbol like +community instead of /d/community. Not least because it parallels how we namespace users with an @.

TylerCode commented 6 months ago

I actually really like the idea of a symbol being used. I'm not sure which symbol I'd advocate for but I like the idea.

Codycody31 commented 3 months ago

Bit late for me to drop in, but I like the idea of doing +community. And migrating over shouldn't be to hard, as we just add a catch-all for routes that don't exist which do not include + and do a quick check to see if a community exists and then redirect to it.

And while prefixing official pages is an option, I don't believe it's the norm and it would be better to just prefix the community so for official pages its /legal rather then something like /d/legal.

noClaps commented 2 months ago

Maybe the official pages can be hosted on subdomains? Something like legal.discuit.net instead of discuit.net/legal. That way people can use whatever community names they want. Also, the community pages look different enough from the official ones that it shouldn't cause too many issues.

previnder commented 2 months ago

Maybe the official pages can be hosted on subdomains? Something like legal.discuit.net instead of discuit.net/legal. That way people can use whatever community names they want. Also, the community pages look different enough from the official ones that it shouldn't cause too many issues.

That could work, but that still doesn't solve the conflicts we might have with community paths and other paths. Example: /subscriptions is a valid path right now, but it isn't a community; and we can't have a community with that name because of this.

Bit late for me to drop in, but I like the idea of doing +community. And migrating over shouldn't be to hard, as we just add a catch-all for routes that don't exist which do not include + and do a quick check to see if a community exists and then redirect to it.

Yes, it's a minor tweak to change it.