Open hturner opened 3 months ago
Not going to be at the hackathon, but here are some thinks I know are supported.
Slack bridging can be done on a per channel basis. https://matrix.org/ecosystem/bridges/slack/
Hello! I am a member of the Matrix Governing Board, a Matrix admin for the Ansible community in my day-to-day, and (on the side) one of the admins for the fledgling R space that already exists on Matrix (#rlang:matrix.org). I'd be extremely happy to help out with this and answer any questions you might have!
Brilliant. Thanks @GregSutcliffe 😄 We're getting started by reading your blog post https://emeraldreverie.org/2021/08/04/getting-started-matrix/ and will definitely get back to you with any questions.
Thanks @EllaKaye - here's my take on the questions:
Can we set up a space with rooms that are equivalent to our existing channels?
Absolutely, and in addition we have the the concept of Spaces which act as a form of directory (and can represent hierarchy, such as Working Groups, Meetups, etc)
Can we import our past messages (as a one-off, or perhaps on-going)?
There's no automatic way to do that, but Matrix is scriptable, so you could (in theory) re-post the messages from an archive. It would need to be tested, but for the moment I suspect you'd want to assume "no" until proven otherwise.
For on-going messages, you can set up bridges between Matrix, Slack, and other systems too.
Are these features available?
- Private rooms: Yes
- Direct messages: Yes
- Way to bulk invite people to a new room: Yes in general - depends a little on exactly how you expect that to work
- Default rooms: Again depends a bit on what you want, but something is probably workable
- Room description: Yes
- Pinned messages (in room): It's a thing, but not all clients support it
- Bookmarks to key URLs (in room): The room description supports markdown, so you can put them there. You can also have a variety of widgets loaded in the sidebar (Element client only)
- Ability to share small files: Yes
- Ability to mark up code: Yes
- Welcome message/other way to share joining instructions or documentation for space (e.g. overview of channels, code of conduct): Directlly no but could be done easily with a bot
- Ability to email room: Not that I know of
- Ability to automatically post messages to room using Zapier or similar: Full HTTP REST API, you can do it with CURL or anything else
- Ability to share information via user profile (e.g. position/affiliation, pronouns, country of residence, contact email): Profiles in Matrix are sadly very basic at the moment, but we could look at that
- Ability to require people to view the posting guide/code of conduct before joining: That can be done but it has caveats, might be easier to explain at length :)
Custom emoji: Yes but hilariously the flagship client (Element) doesn't support uploading them
Ability to set reminders (used by admins to remind of admin tasks)
Via bots yes, it's not baked in. We use this for meetings in the Ansible community
Can we encourage use of real name (as we do now) or are people's usernames already fixed?
Usernames are fixed, display names are not. Display names can also be set per room, so you can encourage your own policies in your rooms without users needing to reveal information in other places.
Can we ban people from the space if required due to (significant/repeated) code of conduct violation?
100%. Moderation tooling has some interesting extensions in Matrix, I'd be happy to go into detail.
How might we make it easier for people to transition?
Element is the most popular client and feels a lot like Slack in my opinion. Start with that as a recommendation.
How does bridging between Matrix to Slack work? Is this done on an individual basis?
Complex question, bridging is ... interesting. It;s a killer Matrix feature, IMO, but it can be tricky to get right. For your POC you'd be limited to the Slack bridge that Matrix.org provide, and that works at the room level - but there are alternatives that can work at the user level.
Great - thanks a lot. We're starting to create an "R" space and will try out if we can link to a room.
Last point, you can reach me at @gwmngilfen:matrix.org or hop into #rmeta:matrix.org (https://matrix.to/#/#rmeta:matrix.org) where I'll be super happy to help you out - helping communities in general get into Matrix is part of my role with the Governing Board, plus R has a special place in my heart anyway :)
@ineiti and I have set up a test space. It would be great for a few people to join and test it out.
Click on this link https://app.element.io/#/room/#r-contributors:matrix.org, then on "Join". You will be asked to either sign in to matrix or to create an account.
If you need to create an account, for now we recommend the default of matrix.org. GitHub SSO works well for signing in, but other options are available.
Great work!
One thing to be aware of, Matrix.org suffers the same kind of problem as Mastodon.org etc for other decentralised networks - it's massive. That means it's performance isn't always amazing (no disrespect to the maintainers, they do an amazing job, but the scale is staggering). So while it's a sensible default if you have no other info, if you do have the option of another server (quite a few universities have started providing Matrix services, for example) then consider that.
OK, that's good to know. Is it possible to switch a space to another server?
You can add another address for the space - but it exists on the network, not specifically on one server:
https://www.reddit.com/r/matrixdotorg/comments/13dmbpl/can_you_move_a_space_to_a_different_server/
So it's more about the user accounts and where do you want to have your first user account. Because moving that later is more difficult.
A space (and rooms) can have multiple addresses:
We have now added a bridge between the General, Events, and Random channels in Slack and Matrix, which all seem to be working well :)
Next steps:
@EllaKaye just checking in on this, is there anything I can help with further? I see the bridge to Slack is working from the occasional message, but if there's more I can do I'm here.
In additional, I'm thinking that we (in Matrix) have a gap in our docs about onboarding for new community organisers - as a user the Element client is fairly usable (especially if coming from Slack), but the expectations of what to set up, what structure to think about, moderation options, etc, is not clear. Would you agree? I'd be keen to hear your thoughts as a new "Matrix leader" if you'll pardon the phrase :)
Hi @GregSutcliffe. Thanks so much for following up on this, and your offer of support. It's absolutely still the intention to keep working on developing the R contributors Matrix group. I'm planning to come back to this in the second half of October. 💯% that it would be great to have documentation for onboarding new community organisers and I'd be very happy to chat with you about that sometime.
Perfect, thanks for the update. I'll push that one down my list a bit and check in with you in Nov if I haven't heard anything. Let me see what I can do about that doc work and take that up outside of this ticket :)
Slack was chosen as the platform for R Contributors Slack as it was the clear preference of intermediate/novice contributors - exactly the people we aimed to reach out to.
However, Slack has its downsides, some recognised at the time (e.g. not FOSS, chat history limited to 10,000 messages) and others that have become an issue since (chat history became limited to 90 days, from 26 August 2024 no longer possible to export full chat history for our records). Meanwhile Matrix has emerged as a new option, that some people are familiar with (e.g. adopted by ETH and other universities) and that may feel similar to Slack (similar concepts of channels, threads, emojis).
This task is to set up a test R Contributors space on Matrix.org as described in the documentation. It would be great if someone already familiar with Matrix could be involved, but this is not essential for testing it out.
Things to consider:
Can we set up a space with rooms that are equivalent to our existing channels?
Can we import our past messages (as a one-off, or perhaps on-going)?
Are these features available?
Can we encourage use of real name (as we do now) or are people's usernames already fixed?
Can we ban people from the space if required due to (significant/repeated) code of conduct violation?
How might we make it easier for people to transition?
How does bridging between Matrix to Slack work? Is this done on an individual basis?