Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Set up test R Contributors space on Matrix.org #53

Open
9 of 16 tasks
hturner opened this issue Aug 22, 2024 · 15 comments
Open
9 of 16 tasks

Set up test R Contributors space on Matrix.org #53

hturner opened this issue Aug 22, 2024 · 15 comments
Labels
Misc Issues that cannot be classified otherwise RSECon24

Comments

@hturner
Copy link
Member

hturner commented Aug 22, 2024

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:

  1. Can we set up a space with rooms that are equivalent to our existing channels?

  2. Can we import our past messages (as a one-off, or perhaps on-going)?

  3. Are these features available?

    • Private rooms
    • Direct messages
    • Way to bulk invite people to a new room
    • Default rooms
    • Room description
    • Pinned messages (in room)
    • Bookmarks to key URLs (in room)
    • Ability to share small files
    • Ability to mark up code
    • Welcome message/other way to share joining instructions or documentation for space (e.g. overview of channels, code of conduct)
    • Ability to email room
    • Ability to automatically post messages to room using Zapier or similar
    • Ability to share information via user profile (e.g. position/affiliation, pronouns, country of residence, contact email)
    • Ability to require people to view the posting guide/code of conduct before joining.
    • Custom emoji
    • Ability to set reminders (used by admins to remind of admin tasks)
  4. Can we encourage use of real name (as we do now) or are people's usernames already fixed?

  5. Can we ban people from the space if required due to (significant/repeated) code of conduct violation?

  6. How might we make it easier for people to transition?

  7. How does bridging between Matrix to Slack work? Is this done on an individual basis?

@hturner hturner added Misc Issues that cannot be classified otherwise RSECon24 labels Aug 22, 2024
@Fraetor
Copy link

Fraetor commented Sep 5, 2024

Not going to be at the hackathon, but here are some thinks I know are supported.

  • Private rooms
  • Direct messages
  • Room description
  • Ability to share small files
  • Ability to mark up code
  • Ability to automatically post messages to room using Zapier or similar
  • Custom emoji

Slack bridging can be done on a per channel basis. https://matrix.org/ecosystem/bridges/slack/

@GregSutcliffe
Copy link

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!

@EllaKaye
Copy link

EllaKaye commented Sep 5, 2024

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.

@GregSutcliffe
Copy link

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.

@ineiti
Copy link

ineiti commented Sep 5, 2024

Great - thanks a lot. We're starting to create an "R" space and will try out if we can link to a room.

@GregSutcliffe
Copy link

GregSutcliffe commented Sep 5, 2024

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 :)

@EllaKaye
Copy link

EllaKaye commented Sep 5, 2024

@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.

@GregSutcliffe
Copy link

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.

@EllaKaye
Copy link

EllaKaye commented Sep 5, 2024

OK, that's good to know. Is it possible to switch a space to another server?

@ineiti
Copy link

ineiti commented Sep 5, 2024

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.

@ineiti
Copy link

ineiti commented Sep 5, 2024

A space (and rooms) can have multiple addresses:

Screenshot 2024-09-05 at 12 42 58

@EllaKaye
Copy link

EllaKaye commented Sep 5, 2024

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:

  • Decide on whether the space should be public or private
  • Decide on whether the rooms within should be public, private or accessible to those in the space
  • Add the remaining channels from Slack into Matrix and set up bridges
  • Invite people to join
  • Gather feedback on whether a (gradual) transition from Slack to Matrix is something we want to do (supported by bridge in the meantime)
  • Decide whether/how to integrate the r-contributors space with the existing (but unaffiliated) rlang space run by @GregSutcliffe

@GregSutcliffe
Copy link

@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 :)

@EllaKaye
Copy link

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.

@GregSutcliffe
Copy link

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 :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Misc Issues that cannot be classified otherwise RSECon24
Projects
None yet
Development

No branches or pull requests

5 participants