X-post: Update on Matrix Migration: Pausing the Transition

X-comment from +make.wordpress.org/project: Comment on Update on Matrix Migration: Pausing the Transition

X-post: Embracing Matrix for Enhanced Communication

X-comment from +make.wordpress.org/project: Comment on Embracing Matrix for Enhanced Communication

Create Tours for Make P2s

For GlotPress and thus translate.wordpress.org, Polyglots contributors @spiraltee and @amieiro, with the help of @piermario and @lidialab (thank you!), created a tour that is a bit different than tours that you’d usually encounter. Often, tours pop in your face when you visit a website for the first time. This tour indicates its starting point using a glowing dot. You can just ignore it (for now) if you are not interested.

An animation showing a glowing dot that can be clicked to start a tour. This one cannot be clicked since it's an animation.
^ This glowing dot cannot be clicked since it’s just an animation.

During the tour, that element of the web page will be highlighted like this:

Since the Polyglot contributors got good feedback about this tour and its potential applicability to other areas of Make WordPress, they then collaborated with MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. contributors @psrpinto and me (@akirk) to convert this tour into a dedicated plugin, simply called Tour, and added an easy way to create such tours (similar like you might know the Inspector of browser developer tools).

In order to restart a tour that you already completed (or dismissed), and for better accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility), there is also a Masterbar menu to start the tours that are visible on the current page:

There is also a shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. and an “Available Tours” GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. that allows you to embed the list of tours in a place of your choosing on the website so that there is also an additional path of starting a tour for people who are not logged in (and thus don’t see a Masterbar).

Demos

To demo this, we created two videos, one to show what it’s like to go through a tour, and one to show how to create a tour. Finally, a screenshot to show what updating a tour looks like.

Taking a Tour (Video)

Creating a Tour (Video)

Updating a Tour (Screenshot)

A screenshot of the Edit tour screen that shows individual fields that make up a tour like tour title, step title, text and css selector.
You can update each step separately (title, text and CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. selector) and HTMLHTML HTML is an acronym for Hyper Text Markup Language. It is a markup language that is used in the development of web pages and websites. is available in the description.

Also note that tours are a custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept. with revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision., so you can undo any changes. While creating, testing, and editing a tour, you can keep it as a draft so that it won’t be visible to users who cannot see drafts.

The Tour plugin is not yet in the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party directory but you can download the ZIP file from Github and install it on any WordPress site.

On Make WordPress, we have activated the plugin on the Meta and the Polyglots P2P2 P2 or O2 is the term people use to refer to the Make WordPress blog. It can be found at https://make.wordpress.org/. and we’d be happy to activate it on other Make teams if they want to use it on their own P2 for whatever they feel it could be useful.

Accessibility

I’d like to give a special invitation to the +make.wordpress.org/accessibility/ team to try the tour and let us know which improvements we’d need to make to make it more accessible. We think that an important aspect to start with is that it doesn’t open up automatically and gets in the way of people who were trying to do something different in the first place. The underlying driver.js library had in the past made some strides to make it accessible and per suggestion from @joedolson, we have added alternative ways (such as the Masterbar or Gutenberg block) to start tours.

Try It On this P2

We have created a first tour here on the Meta P2 (see the logo in the blue bar at the top of the page, or start it using the Masterbar). It is just a very quick demo, we’ll probably expand it in future. You can take it to get an idea of how such a tour could work and if you’d like to discuss with your own Make team whether you’d like to try it out as well. Please reach out in the comments!

Matrix chat Summary – July 20, 2023

The meeting was conducted on #meta channel of the Make WordPress Slack and on Matrix in the room #meta:community.wordpress.org in parallel. This was enabled by our new SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/./Matrix bridge (see below).

First, the most important takeaways from today’s meeting:

  • The Matrix server is now live at community.wordpress.org and you can start chatting there! Login works via your WordPress.org account.
  • The Slack bridge is active in all public channels so you can join conversations from either side.
  • For some rooms the history is already imported (for example, the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. room or a number of archived Slack channels), for others we’ll continue to import them over the coming week.

In the meeting itself, we first summarized important points from the previous meetings:

Login to the community.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ Matrix server has been implemented using Single Sign On (SSO) with WordPress.org using OpenID Connect (OIDC). The plugin we created is open source and can also be found in the WordPress.org pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party directory as OpenID Connect Server.

Compared to Slack this means a vastly simplified onboarding process. Instead of waiting for an e-mail arriving at a special e-mail address, you set the server in your Matrix client to community.wordpress.org and click “Login with WordPress.org” (the name of that button might vary by client).

You can use any Matrix client (that supports SSO) in order to adapt the chat experience to your liking. Examples of client include on Desktop: Element, Cinny, Hydrogen, Thunderbird, Mobile: Fluffychat, Element, soon to come: Element X.

As another way to access Matrix, we’ve created a GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. that hosts an in-page Matrix client, called Chatrix. It can be added to P2P2 P2 or O2 is the term people use to refer to the Make WordPress blog. It can be found at https://make.wordpress.org/. pages or posts to add a Matrix chat there and when you’re logged in to WordPress.org, joining the chat is a matter of going to that page and proceeding with SSO inside the block (which, the first time, will redirect you to authorize the login). An example of this can be found at https://make.wordpress.org/meta/chat/.

Slack Bridge

We’ve enabled the Slack bridge on all public channels, and we’re gradually importing Slack history to Matrix. For some channels, like #meta, this has already completed.

As part of the history migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies., you’ll be automatically invited to rooms on Matrix when you have joined the channel on the Slack side. You’ll also be autmatically invited to the respective Matrix rooms if you said something on Slack in the channel since we started the bridge earlier this week.

DMs are not part of the bridge, so on Matrix you can DM people but you’ll only get a response if they also use Matrix.

Private channels are not bridged at this point either but it will likely be possible to bridge them. In one of the next meetings we’ll discuss that.

You Can Try It Today

So, please go and start trying to use Matrix today and give us feedback!

The simplest ways to do so are either to go to https://make.wordpress.org/meta/chat/, or to go to Element and enter community.wordpress.org as a server.

We’re planning to do some more wide-scale announcements after this has been running stable for a while. If you have any questions, please ask them in the comments!

#matrix

Matrix chat Summary – June 1, 2023

The meeting was conducted on #meta channel of the Make WordPress Slack and partially on Matrix in the room #meta:community.wordpress.org.

We first recapped a few items around the setup that we’re exploring:

  1. We have a Matrix server for the WordPress project at community.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/.
  2. Instead of having to create a new account at that Matrix server, we’ll want to use SSO (“single-sign on”) and allow you to use your WordPress.org account. This is possible through OpenID Connect (OIDC) and a WordPress pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party that we created, called OpenID Connect Server.
  3. To make joining WordPress meetings easier, we’ve developed another plugin that sports a GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. that hosts an in-page Matrix client, called Chatrix. The idea being, that we can have pages on the Make P2s that are dedicated to a specific room on the Matrix server where the meeting will take place.

So for example, for metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. meetings, there is a Chatrix block installed on https://make.wordpress.org/meta/chat/ which points to the Matrix room where these meetings occur. Unfortunately, at the time of testing, the Chatrix block was broken for people who first started using it. We are working on a bugfix on Github.

Still it is possible to experience the above setup by joining the room via another client (and this is one thing that sets Matrix apart from SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.: you have multiple clients to choose from), for example Element at https://app.element.io/

When you click “Sign In” there, you’ll arrive at a screen where you can change the server to community.wordpress.org. Then you can continue using the Single-Sign On flow: you are redirected to WordPress.org and asked to allow the Matrix server to confirm your WordPress.org username to log in. After this you arrive logged in to the Matrix server where we have already set your display name and profile picture.

Over at the Matrix server, we looked at the second agenda item, a test-migrated Slack channel on the Matrix server:

Mentions and threads show the same way in Matrix as in Slack. For example, here is a screenshot of a Slack conversation migrated to Matrix:

A migrated Slack thread as seen in the Element client

In the next meeting we’ll take a look how a Slack bridge would help make the move from Slack to Matrix easier.

As already mentioned in the agenda post, @psrpinto and I (@akirk) will be at WCEU (including Contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://2017.us.wordcamp.org/contributor-day/ https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/.) where we’d love to discuss Matrix, so if you’re there and see us, please talk us up!

#matrix

Agenda: Biweekly Matrix Chat – Thu, June 1, 2023 (10AM UTC)

This meeting will be held at Thursday, June 1, 2023 10AM UTC in the #meta slackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel in the Making WordPress Slack.

These are the topics that we would like to discuss:

  1. Join us exploring the community.wordpress.org Matrix server. We’ll walk you through how to join and test.
  2. Look at a test-migrated Slack channel on the Matrix server.
  3. Explore a test-setup of the Slack bridge together.
  4. Discuss the next steps.

If you have topics you would like to add to the agenda, please share them in the comments below.

The next meeting will be on Thursday, June 15, 2023 10AM UTC Thursday, June 29, 2023 10AM UTC. Also, @psrpinto and myself (@akirk) will attend WCEU and are happy to chat about Matrix there.

#matrix

Matrix chat Summary, April 6, 2023

@akirk led the chat #meta channel of the Make WordPress Slack.

We didn’t have a set agenda this time, so we followed up on some discussion points of the last chat. Below I am mostly quoting myself from the chat. No further questions were asked.

MigrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. of Messages from SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. to Matrix

A big part of the last discussion was around message migration and how to deal with public and private messages. We’ve done some more research on migrating public messages and are currently evaluating whether the Slack Matrix migration tool could work for us. It operates on Slack export files and requires a fresh Synapse server.

We haven’t yet been able to confirm whether it actually can import the messages and hope to be able to share more on the next meeting.

For migrating private messages in DMs or private groups we’ve concluded that we won’t want to attempt their migration but will look into providing tools for achieving that.

Here we’ve found that browser extensions exist which allow you to download your own Slack direct messages inside your browser as a text file. Possibly it’ll be our recommendation to use those tools to export the messages for yourself.

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

Another topic that was mentioned was around accessibility concerns of Matrix clients. Regarding this I would like to share this article by Marco Zehe who is an accessibility engineer and evangelist at Mozilla who have switched to Matrix in 2020

How to use Element and Matrix with a screen reader

@psrpinto remarked on this:

In the post they mention a matrix room dedicated to accessibility on Element: #element-accessibility:matrix.org.

I also find this quote encouraging:

Big thanks also go out to the members of the Matrix and Element teams who were super responsive to accessibility concerns

Next Meeting

The next meeting will be on Thursday, April 20, 2023 at 10:00 AM UTC.

#matrix

A Meta subproject for evaluating Matrix

We are a small team of contributors to the WordPress and Matrix projects who would like to propose to form a community project to explore bringing the Matrix open sourceOpen Source Open Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. federated chat system to the WordPress community as a possible replacement to SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. (for Making WordPress).

What is Matrix? According to Matrix themselves, “it is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its ApacheApache Apache is the most widely used web server software. Developed and maintained by Apache Software Foundation. Apache is an Open Source software available for free.-licensed reference implementations. Maintained by the non-profit Matrix.org Foundation, we aim to create an open platform which is as independent, vibrant and evolving as the Web itself… but for communication.”

At WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. Europe 2022 in Porto, we talked to a lot of community members, asking them about how they liked Slack and what they’d think about using Matrix as an open source alternative to Slack.

While we heard from a lot of people that they liked Slack, a number of items were mentioned that made us think Matrix could be a great fit for the WordPress community:

1. The Slack onboarding experience is hard

A significant amount of time at WordCamp contributor days is spent on helping people getting onboarded to Slack. You need to receive an invitation e-mail to a special, personal e-mail address and then select the correct Slack workspace to join, following these lengthy instructions.

We’ve explored the possibilities for creating a seamless login experience for Matrix, and we’ve already successfully implemented a Single-Sign On flow where OpenID Connect is used with WordPress as an authentication provider. Thus, to start chatting, you’d only need to authorize WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ to pass your username on to the Matrix server by the click of a button, and you’re in.

Joining the Making WordPress Polyglots room could look like this

2. The Slack Client isn’t well suited for some Local Communities

We’ve heard that some local communities prefer to communicate via instant messaging such as WhatsApp or Telegram over using Slack. While this might overlap with the previous item, where getting added to a Telegram group is much easier than signing up for the WordPress Slack workspace, we’ve also heard how this form of messaging and its integration with their mobile phone is preferred.

One of the benefits of Matrix is it supports free choice of clients, one of them being a client that is very similar to Telegram, called FluffyChat. There are also particularly lightweight clients (called Hydrogen), a full featured client called Element (previously known as Riot), a client that is more like Discord called Cinny, CLICLI Command Line Interface. Terminal (Bash) in Mac, Command Prompt in Windows, or WP-CLI for WordPress. clients, and many more.

Additionally, we’ve done some work to make it possible to integrate a Matrix chat into a Gutenberg block. This means that you can use any WordPress post or page to start chatting when it has that blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. embedded. This could even be set to a particular room, so that users can be asked to join a specific room or Make team by giving them a link to a particular WordPress(.org) page. This could make taking part in Make WordPress teams much easier and possibly encourage more contributions. 

3. An Open Source Project should use an Open Source Chat System?

Many people were excited about the Matrix project and how it being open source seemed like a much better fit for the WordPress open source project. It was mentioned to us that an open source product might have a tougher onboarding experience, so we were happy to see how our research of using SSO and a Matrix client inside a GutenbergGutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ block encouraged us to think that it actually might be more accessible.

Would Matrix be a good fit for Making WordPress?

Since our efforts so far have been sponsored by Automattic and didn’t revolve around a particular community, we’d like to start a metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. sub-team that would hold bi-weekly chats and figure out a plan how we could assess whether Matrix would be a viable option for the community.

In particular, we’d like to contribute our projects Chatrix and OpenID Connect Server to the WordPress project. Additionally, work with people of the community interested in Matrix to see which Slack integrations would need to be ported and how that could be done. As well as understand through testing with other WordPress teams how good or bad the experience is, either on its own, or comparing it to Slack.

Thus we’d like to invite everyone who would like to take part in this to speak up in the comments so that we can find a day and time in the week where we could hold our meetings to get this started.

Looking forward to hearing from you!

@ashfame, @psrpinto and @akirk

#matrix