Communities is getting an update ! What to expect

in #hive6 months ago

Hello !

image.png

In the coming month (or a bit more depending how testing goes), a new stable release of hivemind will be released containing a communities update. I believe this is the first major update at the feature apart from bugfixes here and there.

This post is both intended as a technical guide for front ends and Dapps but also as an explainers for users.

New communities types

with this update, you will be able to specify a community type.

A community type defines how users can interact in the community:

Right now all communities are type 1, aka a Topic In a topic community, anyone can post or comment.

We are introducing two new community types:

  • Communities type 2, aka journal where everyone can comment but only members can post.
  • Communities type 3, aka council where only members can comment or post.

The goal is for us to empower community owners to fine tune who can post or comment in a hands-off fashion. This enables them to create paid communities, enforce quality by vetting quality writers or whatever else you may find interesting ! The power is in your hands.

Everything works with the same custom_json api meaning that it's easy to integrate in your app calls to leverage this functionality (eg: if you hold X NFT you will be a member, but if you sell the NFT you are no longer part of the community)

Communities type are enforced through mutes

We wouldn't be a censorship resistant blockchain if hivemind would simply stop posts from going through because they were posted in a community where they weren't a member. Instead if you try to post to a community where you shouldn't, your post will simply be muted. and therefore hidden from most front ends, similar to the muted role or if a moderator were to hide your post/comment.

How to create a community with a different type

Previously a community had this format:

hive-123456

The rule being that the first digit has to be 1, this is because the first digit defines the community type, so effectively if you create an account named hive-222222 it will be type 2, and in the same way, if you create an account that starts with a 3 eg: hive-322222 it will be type 3.

Updating your existing community

"But what if I already have a community ?" I hear you ask, don't worry it's possible to update your community type at any time. Doing so requires you to have the role admin or owner

Updating works in the same way as updating any other community properties (eg: title, about etc).

Here's an example where I update the type from the community type hive-111111 to 3:

{
  "required_auths": [],
  "required_posting_auths": [
    "hive-111111"
  ],
  "id": "community",
  "json": "[\"updateProps\",{\"community\":\"hive-111111\",\"props\":{\"type_id\":3}}]"
}

You can change as many times as you want without any time limit.

Types API

If you can change the type of a community, this means that you can't trust the first digit to get the community type. If you want to get the type of a community, you will get it in the properties when executing any get command. This feature is actually already live, eg:

curl 'https://api.deathwing.me/' --compressed -X POST --data-raw '{"id":5,"jsonrpc":"2.0","method":"bridge.get_community","params":{"name":"hive-163772","observer":"howo"}}'

{
  "id": 5,
  "jsonrpc": "2.0",
  "result": {
    "about": "The Hive travel community",
    "avatar_url": "",
    ......
    "title": "Pinmapple",
    "type_id": 1
  }
}

You'll notice the type_id prop set to 1.

Changes are not retroactive

Hivemind will validate (and mute) as of the time of posting and won't go back in time to change the value of old posts.

So if a community is type 3 (only members can post or comment), and a member that had posts and comments in the communities loses his membership his future posts/comments will be muted but his previous posts/comments will remain visible.

Same goes for changes in the community type. If you change you community from type 1 (everyone can post and comment) to type 2 (only members can post). All the previous posts will remain visible regardless of the membership status of the posters.

This means you can start as an open community and then as you grow bigger enable tighter controls to enable monetization etc without changing the way the community was.

That's all for me, If you have any questions feel free to ask them below !


You can vote for our witness directly using Hivesigner here.

Sort:  

Well, this future feels promising, and in fact I have noticed that in my community we have never assigned roles. I feel that as an administrator I should go through this process to have less work later on?

Without a doubt these limitations are a dream in our music space, it has cost us a lot to have the right people worthy of belonging to the community, I wish this idea had come a few years ago, but for now I can only wait and celebrate the update. I'll keep my eyes open so I don't get left behind when the time comes...

So we can limit who joins a community type 3 aka council or can anyone join it??

I already have a use case in mind.

You can limit ! Basically there is a difference between "subscribing":

image.png

And being a member which is a role that you set for someone:

image.png

Anyone can subscribe, but only mods/admins/owners can set a user as a member.

Nice!
This is exactly what i need to onboard the play-by-post RPG communities from around the web.

Thank you so much for this. Super Exciting!

I think this was needed and good thing we get it now. It's going to make some people's life easier. Let's see how many are going to use it in the immediate future. Long term it's going to be extremely useful though. Thanks guys!

This is a massive and long-awaited, at least for me.
Creating layers within communities is going to expand use-cases in many directions. It leads to various productive measures to compile an effective community and align their goals be it a bulletin board for a service provider or a discussion forum style community.

I hope existing communities have an educated grasp of the different layers before implementing them.

We’ve been working on a UI update for this since I heard about the new feature at Hivefest

Gonna be awesome to onboard all the friend tech-types to Hive using this. We’ve got something super cool planned for a UI to create / manage community access via NFTs

what type of NFT's? only hive-engine NFT's?
or other NFT's that reside on the Hive layer 1??

I am asking as i am in the middle of building out our new NFT's, smart contracts and marketplace.

Can you explain how the visibility of posts and comments works when a community changes from type 3 to another type, and a member loses their membership?

Nothing changes for old posts, New posts are affected by the new rules.

So if it changed to type 2, because the user has no membership, his future posts would be hidden but his future comments wouldn't.

If it changed to a type 1, all his future posts and comments would be visible

So if a community is type 3 (only members can post or comment), and a member that had posts and comments in the communities loses his membership his future posts/comments will be muted but his previous posts/comments will remain visible.

In this case, what happens if someone has already been currently muted in a community and therefore all their old and previous content has been greyed out affecting their visibility under the current rules?

With all these new changes in community Types that you are specifying, will they regain their visibility or will they continue to remain hidden?

Good question ! They will remain hidden. The muted role is more important than everything else.

Oh! I see. Although not exactly the answer I was expecting. LoL

That's interesting, why do you think that ?

Basically the more precise a ruling the more rules it overrides:

global community rules < user role < post mute

That's interesting, why do you think that ?

Well, I was expecting something like starting from scratch. That introducing new rules would revoke the old privileges to correct any previous whimsical wrongdoings previously committed by community owners, admins and moderators. };)

This can actully be a very powerful feature rolling forward. I'm not so sure I love the fact that it's only hive front end and wonder if it can be some how tied into other hive-engine front ends with their own token? If it can be then I can see that as big a huge with for community owners and being able to really build something unique of their community and their community token. However if they can simply go to hive.blog, peakd etc and post to the community via there it would totally negate the benefits.

But if that is the direction then A LOT more people are going to need to be joining and using hive for this to be productive. I don't feel there's enough users yet to even have a need for filtering content but it would be good for later on down the road as Hive grows to 10,000 or 100,000 daily active users.

I am not very familiar with the way those front ends work, but I would assume they don't use hivemind so they can't benefit from it. Although nothing prevents them from building their own hybrid solutions (hive engine tokens + communities front end) like leoFinance.

Good stuff I always have a hard time deciphering the two as I'm more of a end user/investor and not so much on the dev end of things. As always I appreciate your work, feedback and insight.

Easy, Hive-Engine is NOT Hive and uses a separate code base and databases. It could shutdown tomorrow and it has no impact on Hive.

Just remember Hive-Engine is NOT Hive

On the side of the post, the community it supposedly wants to post into is the first tag of the list of tags in the json_metadata and Hivemind is doing the filtering as soon as the frontend requests the data.

So let's say we do a monthly NFT sale as an access token event to interact with anything in that community. That would not work, because people can still move to the author's blog and interact with them directly. That would not be true if the community would repost from the initial author while mirroring the same "mute" list as an account - at least for all commonly used frontends so far.

Am I getting that right?

If a post belongs to a community, comments will be muted according to the communities' rules regardless if you comment on it from their blog or from the community.

This is already true today btw: https://hive.blog/hive-140075/@hive-140075/test-s2fe8p

In this community I set @howo-test2 to the muted role, and then commented on the post from the account's blog, and the post ended up muted. If you want to test by yourself I set you as muted on that community :)

I wonder who here is even old enough to remember when this was first proposed. This idea is older than Hive itself. I'd given up hope it would ever happen...
image.png

Lol you're actually right, it was announced in steemfest krakow by roadscape back then

Hello @howo thank you for the community updates! Great job. Barb 😃👍 !BBH !CTP

You're welcome!

👍😊 sure thing @howo !BBH !CTP

PIZZA!
The Hive.Pizza team manually curated this post.

Join us in Discord!

Thank you for sharing. Good luck to all of us❤️

Muy interesante tu información, eso es una total novedad para mi, yo no sabía nada de eso .

Thank you so much @howo for this information. This will help me grow as a newbie in Hive.

Hola amigo, excelente información y un buen criterio de actualización, tengo una duda entonces los administradores y/ o moduladores tendrían un post de verificación ✅ o una regla para poder designar a un usuario como miembro.

Por entonces cuál será la opción para unirse a publicar por comunidad??

Very brilliant initiative as we seek to onboard a more corporate audience to the Hive blockchain.

Good 👍 one