Recap Hallway Hangout: Using Site editor in production for client sites

The topic, as mentioned in the invitation, was about how do agencies and freelancers adjust their workflow and tooling to provide a consistent experience for their clients. The difference between classic themes and 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. themes are considerable. For instance, block themes have settings information stored in various places (database and theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.), and templates and patterns are handled differently. How does it all change workflows regarding version controlversion control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories. and deployment. Is there a common method that could be identified and help other agencies and freelancers in their work with block themes?

This post includes the video, the mentioned resources and GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ issues, the recording transcript (AI), and the chat transcript edited for readability.

The major pain points that hinder wider adoption, raised by the participants

  • The navigation block lacking menu locations and inability to manage multiple environments. In general, there was not a lot of love lost for the navigation block.
  • Difficulty restricting editor access and controlling who can edit certain parts of sites. In the chat a participant shared Nick Diego’s October 2023 workshop was shared.
  • Challenges finding where modifications have been made across various editor and database locations.
  • Limitations with pattern management, such as difficulty getting patterns built in the theme (= site) editor into a theme.
  • Tracking changes made on a live site back into the codebase/version control system.
  • The additional CSSCSS Cascading Style Sheets. field lacks features like color coding and linting.  It was surprising how many participants rely on the Custom CSS feature to tweak sites.
  • Difficulty reworking image and other assets when exporting/importing between environments.
  • Poor UIUI User interface/UXUX User experience of certain editor areas like the additional CSS field and navigation block
  • Issues switching theme designs between clients while also allowing customizations.
  • Need for better tools for plugins to register and customize templates/content. 
  • Difficulty managing multiple environments/staging vs production with templates, and navigation menus.
  • Challenges with pattern overrides and syncing patterns from themes versus patterns built in the database.
  • Need for more granular exports when moving parts of a site between environments. Like being able to only export one template (override the one on disk) instead of always having to export the entire theme
  • Improving workflows for tracking database changes in version control systems.

Lots of positive feedback, too

  • Speakers who had built sites with the full site editor and custom blocks said clients understood it well, and they weren’t having problems, including with multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site and Polylang.
  • It was noted that most clients and agencies, after a couple of weeks of learning, get used to the new editor interfaces and understand the differences between page, post, and site editors.
  • Create Block Theme was praised as a “game changer” that made adopting full site editing and block themes possible for agencies.
  • Updates to Create Block Theme were highlighted as addressing pain points like font management, editor for theme.json and image asset handling.
  • The redesign concepts for the editor UI/UX shown in prototypes received positive feedback for improving upon cramped sidebars and modals.

Resources shared

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 & Tools

WordPressTV: Builder basics: how to curate the editing experience

Discussions, Issues, and PRs on GitHub

Recording Transcript

00:00

topics and so well welcome, everybody to the hallway hangout using site editor in production for client side. It has been so in the post, yeah, I wrote that. That workflow and tooling changes between classic themes and block themes. And because one of the challenges that data is stored in files, design is stored in files, as well as in the database when the user interface, somebody changes something in the user interface. It’s stored in the database. So that makes for an interesting, different way. And yeah, so I would like to go around the room with 20 people, it’s a little hard, but to kind of figure out what are the challenges, or the common issues that agencies on freelancers encounter when they work for clients site? And I just want to kind of, well, who wants to go first? How about in? And it’s next to me? In the, in the gallery view? Okay. Yeah. Yeah.

01:24

Good morning. Oh, for me, it’s Good morning. Hello, everybody. I’ve been actually documenting my journey, as I have just finished designing and developing my first blogblog (versus network, site) theme. And it was a great learning experience. So I have some pain points that I’ve made note of, and some blog posts and sharing on Twitter and stuff like that. But what comes to mind, the most recent stuff that came up to me was wrapping my brain around the difference. Forgive me if it sounds like really lame to some of you, but for me, it was quite a learning experience. So I finally figured out I think the difference between just a simple migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies., where everything’s still in the database, all the customizations that I did with global styling and custom CSS in the additional CSS field, that vs. Two different ways of exporting one with the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. approach and one with the Create block theme. Export. I didn’t realize that there would be three different things that would happen. And now Now I realize that

03:02

I muted because I was taking notes, rudimentary notes, but I didn’t want the clicker. Clicker clicker comes right. So I’m glad you mentioned the thank you, and who else wants to go? wants to go next? I think Colin, you had some strong opinions or questions. And that you because it was one of the topics that you also found really hard to,

03:32

we have a long list, I think the biggest one that we’re facing right now is how to restrict the editor. And where that kind of comes in is that we, we need to be able to control brand standards. And there’s a lot that we’ve done in the past with, with GitGit Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git is easy to learn and has a tiny footprint with lightning fast performance. Most modern plugin and theme development is being done with this version control system. https://git-scm.com/., to where we would actually everything would be version controlled. And I know on the last call, we kind of talked about that. And it sparked some conversations and some threads out there. We’ve been experimenting with some some different tweaks from our side. But I think the the other challenge is, sometimes I just don’t want people in the editor. But they still need to be able to edit and so we’re we’re trying to figure out exactly how to handle that. We’ve been playing around with some stuff we kind of built internally using, like the environment configs in you know, I would there’s this dream someday of maybe like a developer and agency user role in in WordPress, but it would be something to where they would have different privileges than maybe an administrator does because our clients they still want to be an administrator. They need to be able to add plugins need to be able to do change administrative settings, but don’t necessarily need them changing things. So we’re trying to access things like that. And so we’ve built a tool that internally, we’re testing, it’s really rough. But basically, if if we enable this, we the editors only available, or somebody that has a developer role. And it’s a role that we’ve added challenges we ran into is sometimes there’s a block or a pattern that’s in the page editor, that is still technically end up changing something in the site editor. And so there’s some overlap there. But that’s more like sync, pattern sync, things like that. So. But yeah, we just need, we need ways to limit control, because we will have like colleges, universities, healthcare organizations, financial institutions, things like that, we may have 50, or 60 people that are in the backend of the site, because they’ve all got their own divisions. But for the marketing teams, they are terrified of what these these people may change in the site. So

06:23

here, so who wants to go next, the challenges? Before we go into solution, I think I would like to have a list of things that are challenges. So we can,

06:36

I’ve kind of got one today, just something having to say is, I just don’t have, hey, I had, I had them, I designed a footer with an image that was part of the theme. And so put that into a tabular pattern. And then link to it from the pattern template. So it’s like a PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher person. So I could do the, you know, get theme directory, uploaded it, and then the client or partner made changes to the footer. And then I asked to make some changes to the footer. And when I grab everything down, again, it’s all sort of got like, the links to all the it’s not like relative links anymore. It’s all been created, so like hard coded and stuff. And then I have to try and refix it all. To upload it all again. It’s just very cumbersome. And I don’t know if you know, I’m talking about oh, isn’t that a workshop as a? That’s interesting? I didn’t know about that. Okay.

07:35

So, yeah, Lisa, you raised your hand.

07:42

So sometimes, sometimes, it’s just hard to remember where to find the modifications I’ve done. And I know, I know, they’re all available. And after searching either, you know, customizations to, you know, all templates editor database, you know, there’s just so many places that theme dot JSON, that a change could have been made. And I know, sometimes you can do find it through the inspector. But I do find that while it doesn’t stop me from using the page editor, and maybe it will stop my clients from making changes that are unintended. It sometimes takes a little extra time. So that’s it.

08:31

Yeah, that’s definitely something and Fabian is here.

08:36

Yeah, and more, there are a couple of things. And the first one, if I quote, Brian, who’s also on the call here from his article yesterday, I believe one of the criminal offenses, always is that the navigation block doesn’t have a location anymore, and so that it always just stores the idea of the navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site., which means that there is no way to manage multiple environments, kind of a staging development, production environment that is very typical for kind of the agency world or for working on these larger sites. There is no way that you can say like to use to be able to in classic theme, a this is the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. navigation, this is footer, column one versus for column two, and then assign locations, kind of assign navigation menus to locations. Instead, you can still have individual navigation posts, which are now stored in the database. But the actual Navigation block stores the ref attribute kind of distorts the actual idea of the post in the environment. And that means that as soon as you actually go, you kind of you need to go into the header to assign the navigation. And at that point, you’re already creating an override for the header and therefore locked out of future get updates if you change the header template because the template is already kind of stored in the database now, and that that essentially means that If we’re locked out of get updates for the header and the footer all the time, because it already contains a navigation, and kind of that that is one large thing. Another piece is, I think, Nick, you mentioned that the 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/ team also has similar requirements where there can’t be any modifications to content on the live environment instead of needs to be pushed up. And so I think the process of having kind of that system where templates can read from file, but then can get overwritten, is, is cool, but it would be cool to have an additional mode where you can say, hey, don’t allow modification of this particular piece, kind of don’t allow override of this template part kind of have that locked down. So it’s, it is still showing up it is available as the preview and everywhere, but it may not be completely editable. And the final thing that I want, I just wanted to raise is with patterns. So I know, they’re really cool things coming with pattern overrides. And kind of synced patterns are so powerful. And now with the new UI where they’re editable, not inline, but you have to click on the Edit original that is a nice enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature., because it differentiates more between that local and global instance. But something that we’re often running into, kind of, for example, if we think of a query block, create a loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. block, we would want to be able to have the card actually be a pattern that we have in the theme that the client doesn’t necessarily need to edit yet, they can edit all the options of the query block, but they don’t have to edit the actual card. Right now you can already create a card pattern. But ideally, we would want that to be a synced pattern that is prompt coming from the theme. And so it’s not editable in there, just having the ability to have synced patterns that are coming from the theme and not from the database.

12:03

And you created an issue for that for the sync patterns coming from the theme. Right? And yeah, I’ll, I hope I’ll find it before the end. Otherwise, I would put it in the in some of those summary or notes. So Mark, I think you’re next.

12:26

Hi, yes, long time. I’ve spoken to a lot of people here. So it’s nice to see faces for a change. I know this is about saying the experience here, I just want to quickly say that we’ve built about a dozen sites so far with the full site editor, few custom blocks, but also a lot on core. And it’s working very well. The clients are understanding it, we’re battling a bit with an agency because they’re having trouble in understanding the concept as a side editor, and the Block Editor. The big problem that we’ve that we’ve rarely come across as come up a couple of times now is I think a few other people have already said is thinking back changes from the live website back into the code base. Especially now because we’re writing out quite a hectic phase at the moment of trying to close off a multisite project with six websites in it. And it’s getting to the stage now. Because when you copy the content out and from the parts manually back into the theme back into the theme, where if you use a creative block plugin, a lot of stuff that gets hard coded back in some of the stuff gets shifted out of HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. and into PHP patterns, which I think is a good solution. But it also means that a lot of files get moved around, if there’s a lot of stuff that’s been changed. And then if the client then changes something into more than it’s immediately out of date. So that kind of whole process about tracking changes within the Tech because so much is in the Block Editor in the site editor. It is quite a challenge right now. I mean, I’ve we’re kind of getting rounded, but it’s not not really the ideal solution. On a practical sense, editing the content managing the site, absolutely no problems works really well, including multisite. With Polylang. We’ve We’ve pretty much just stuck it in and it works. So pretty much superbly positive feedback so far, but excellent. For me. My job is a little bit trite, a little bit challenging right now. But that’s what I get paid for.

14:13

Well, thank you. Thank you, Mark. Bryan. Yeah, you have put quite some thoughts on it. And you put it also in writing. So maybe you can, yeah.

14:25

Yeah, I did outline some of the stuff on a blog post recently. So you can see that all of these were all pretty good. So I’ll bring up one that I don’t think has been mentioned that specifically about patterns, which is pattern pattern management. So if you build patterns using the site editor, you can’t really get them into a theme very easily. If you build patterns in the theme, you then can edit them in the site editor, at least as far as I’m understanding. So a solution, for example, is pattern manager which is a great plugin but it doesn’t it’s just a it’s officially a It’s not getting updates. And so I’ve, I’ve kind of forked it to try to get it to work. But then I keep breaking other things. And they use TypeScript, which makes me struggle even more with it. There is an issue, I’ll put it in the chat for create block theme to handle patterns, like just, you know, just basically, I’ll like apart from seems patterns apart from pattern overrides all that stuff. It’s literally just can I build out a bunch of patterns and get them in my theme in a reasonable amount of time. And so I think that even just that first step would be super helpful. So that’s the issue that I posted there. And then I pre basically second, all the other stuff about tempo changes, global changes, global, the lack of navigation, menu locations, things like that. But yeah, that that’s I’ll add patterns in there.

16:02

I never get this right. I’m sorry. So we have a few. Yes, I hate that too, or have the same problem in the chat. The sync patterns we talked about, not we talked about, but we mentioned it. And then the block theme issue that Brian have seen. So we have two people who work on the grid block theme on the call, and I’m glad to hear. So it’s Jason, Chris and Sarah Norris. And you are just working on a new update? Do you want to share a little bit what what the updates are going to be or now that could take some of the pain that we just heard out of the process?

16:58

I’m happy to talk about it at length forever.

17:01

Yeah, you got 10 minutes.

17:06

So so we’re trying to get a release of create block theme. Out wrapped up as close to the release of WordPress 6.5 as we can, one of the biggest reasons is because font management kind of migrated from Crate block theme and into core by way of 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/. And so we’re attempting to make sure that that experience works natively. And you can use that in combination with great block theme to manage your fonts. So that the fonts aren’t handled by the plugin, the fonts are managed by core. And then you use create block theme to make sure all of those assets are gathered, and put into your theme when you export it or when you save it. So that’s one of the biggest pain points, that was kind of the biggest reason for the release of this time. And then some of the other things that you guys have mentioned, definitely on our radar, or in development. So the image assets kind of getting lost and stuff, we’ve cleaned up how things work there so that when you you know, when you use image assets, there’s there’s stuck in your theme folder where they’re supposed to be consistently. And then one of the other things that nobody has mentioned, but it was it was important for us at Automattic. For the way we have all of our themes are localized all the patterns and all the templates and stuff. And so that’s something that we have integrated into create block theme. Again, more kind of consistently, it’s something that anyway, strings that are in your templates and stuff are now converted to PHP stuck into patterns. And that is, you know how those things can get localized. My understanding is that down the pipeline, there are other plans for how to localize blocks and the content they’re in. But until that happens, we need other tools to do that. So So those are kind of the big things that we’re shooting for in this release. Once we’re kind of over that hump, though, the big thing for me is patterns, patterns, patterns, like management of patterns, being able to use patterns across right now. There’s there’s even in the work that we’ve been doing. What’s great blockchain I’ll do an overview real quick. Just to be able to use patterns as you guys mentioned as a pain point to say I want to be able to work on a pattern and use it throughout a theme user throughout contents. And it doesn’t, doesn’t jive well. And I don’t know exactly what that’s going to mean it for create block theme for Gutenberg for any of that as far as that goes. But it’s an important aspect of theme development. And for that reason, I think that create block theme is the right place to get that started. So that we can kind of work through the possibilities, and allow that to grow into whatever wherever that goes. Like we said, the minute or font management started really with great blockchain before it got into core. And so what we do here with great block team helps all of us early, and then eventually helps everybody. So that’s a quick 20,000 foot view of of the changes a create block theme, though. So you’ve got a link. But it’s really just I like to think of it as like development mode. Like you, you open a browser window, and you can open development mode, gray block theme, to me is is a place where we can add a development mode for for themers for theme development of using WordPress, so that you can use the native side editor tools to build your theme. And then export that. As zips. As you know, with whatever your development workflow is, I don’t export zips, I don’t use those, the development workflow that I have is get. So I want all of my stuff saved, where my thieves themes are and be able to work through that. And so want to make sure that that work workflow works, but also exporting zips. One thing I wanted to mention with this next release, we’re actually planning to probably eliminate the WP adminadmin (and super admin) interface. Most of you’re probably most familiar with that. But we’ve been migrating all of the capabilities of a black theme into the site editor itself. So that’s where all future, everything’s gonna go. So there might be like some, some some documentation or maybe some wizards and like, Intro workflow in WP admin, but it’s just a whole lot easier to develop directly in the site editor, we’ve, you know, right at the source. So that’s where it kind of everything’s gonna grow. From there. So.

22:28

Well, thank you so much, Jason. Any questions for Jason now that some of you already use the Create blockchain quite a bit. Mark mentioned it. And Brian mentioned it and n as well say anything that you would like to ask all kind of have a feature requests? I hear See, Colin, maybe that’s not the question that you wanted to talk about. But B, go ahead.

22:59

No, it’s absolutely on the credit clock thing. It was a game changer for us. Like without that, it was really tough for us to be able to actually adopt, being able to use Full Site Editing and unblock themes as an agency. So thank you all for the work that you’ve put into that feature requestfeature request A feature request should generally begin the process in the ideas forum, on a mailing list, as a plugin, or brought to the attention of the core team, such as through scope meetings held for each major release. Unsolicited tickets of this variety are typically, therefore, discouraged. in less this is already there. And I just haven’t seen it, but because our development workflow is shifting a lot to where sometimes we’re actually finding ourselves building in the browser in a staging environmentStaging Environment A staging environment is a non-production copy of your site. This is a private place to build the site -- design, copy, and code -- until your client approves it for production or live. Sometimes used in addition to, or as a Development Environment. where we used to be, you know, building in a local environment and things like that. There’s, with our workflow, we virtually control everything. And what we’re running into is an issue to where we actually have to maybe go enable or disable functionality inside the theme dot JSON. And then, you know, commit that, push it to staging, then be able to continue our workflow. It’d be awesome if there was just a away with create block theme or something like that, where there was like a theme dot JSON editor, to where we could just modify whatever those features are that we need, turn it on. It’s

24:16

actually our stretch goal for this release. We’ve already started development of a JSON editor. I can’t promise that it will be in the next release. I can promise it it is in Development Act development. That was actually my morning. That’s what I’ve been working on it. Big part of Sony.

24:33

I think I’m done.

24:38

Yeah, that’s awesome. Thank you. Just wanted to note from the chat, that granular a more granular export would be also quite feasible for like, be able to only export a template from the overrides or something like that. So we have more hands Justin, then Alex, and then do a little case study. Yep. Okay.

25:03

Yeah, just just because we have both Brian and the team, the Create block theme team here. I’d like to invite Brian to take the work that he mentioned, forking template meant our the fighter manager. Go ahead and like, bring it into the ticketticket Created for both bug reports and feature development on the bug tracker.. And just share and see if we can, can collaborate there. I’m sure the team will welcome that.

25:34

Yeah, I think one big difference is pattern manager, they basically load like a fake Block Editor with a fake 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., and, and do all this extra work. So it’s, it’s like, the basically, it’s like two completely separate approaches, one through the site editor, one through like a MeetupMeetup All local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area. kind of post type that they auto generate every time they kind of load all your patterns from your team. But I think it’s worth looking at those two things, because I think it’s two different approaches. But there might be some crossover.

26:00

Yeah, at least Yeah, at least have the conversation going there. So you know, for comparison.

26:10

Yeah. Alex?

26:17

Hey, thank you for hosting this. So I have very slowly started again, into using the full site editor, I have a crowdfunding plugin that we’re building a blog theme for that leverages the site editor, and, you know, it’s it, it’s definitely been a difficult ramp up for me. So I appreciate the work that that’s been done. And it’s improved a lot. So So I want to make sure to say that, um, I think it so there, there’s a pair of questions I have, and I guess, they’re they’re both kind of philosophical, and maybe for the room at large. But I, you know, it is building sites through the editor and stuff. Obviously, not a lot is not as much as done through version control, as it used to be like, you can still do patterns through version control to some degree. So part one of my question is, you know, how are people approaching that to ensure that they don’t lose their stuff, or their, you know, their templates, and, you know, I use, I do use a page builder to kind of manage builds, we, my team uses bricks right now. But you know, like, I’m trying to, you know, stay nimble to keep up with the advances of the site editor, the Block Editor and such. And then the other part of it is to is like, as I guess, as it as far as the make team goes, or whatnot, whenever I think about the site editor and the Block Editor, I kind of think about them as separate things. But I realized that all the work is pretty much shared. So you know, I don’t know if that’s a valid question or not, but it I’d be curious to know, like, what what the thought is, you know, are these kind of the same thing? Are they kind of separately develops pieces? Or is it a little bit of both?

28:24

Any buddy has an answer for that question.

28:29

Last question.

28:32

Say that again, Alex, what’s the question?

28:34

So that Okay, the second part of the question is, is the Block Editor and the site editor? Like, are those considered one in the same? Are they two separate projects? In that’s just a bit of curiosity that I have?

28:54

They are merged. They they’re heading. Singularity. We’re headed, we’re heading to the singularity. The Block Editor was built first, you know, in the launch of everything and

29:05

post. That’s right. Yeah. Yeah, you’re right, you’re.

29:13

So right now, actually, 6.5 is the first release where there’s a lot of divergence happening where a lot of the features that were initially kind of developed in the side editor are being brought over to the post editor and kind of the way that you can think of it. The entire Gutenberg system is built in these individual packages. There is one Edit Site package, there’s one edit post package, and there is one or editor package. And a lot of the features can have inish originally only that edit kind of the Block Editor of the post editor. That was the first piece and then a lot of the new discoveries and the new explorations happened in the site editor. And now both of those are converging a lot of functionality into that main just editor package. And so you’ll see in 6.5, for example, the ability to preview the template while you’re editing the post, but all of the template things are completely locked down, and stuff like that. Those are all things that are coming from the site editor into the post editor, and where the code bases getting more unified again. No, no, no, that makes that makes sense. Because I was kind of thought of them as two different things. And when I talked to colleagues about it, it’s like, well, no, they’re, they’re the same. And it philosophically they both felt very different to me, but so thank you for, for explaining that. And then I think just for the room, like just kind of, you know, managing stuff, that managing layouts that are kind of held in the database, like, you know, what are some additional precautions that you won’t take or, you know, specific approaches that you take to kind of building in in the browser as much as we are now.

30:57

I have one side tangent that I wanted to mention here, while we have 30 people in the room is that there is a PR that thinking about metal boxes differently, too, because the post editor is still even if a metal box is there, because a plugin as a custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. or for any other reasons, the post editor is not loaded in an iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. And some of the features that needs to be that comes from the editor and the post editor to come together. It needs to be loaded in an iframe. So there is the idea that all 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. boxes could be in a separate modal that needs to be activated by the user. But then the post editor can be loaded in the iframe that has a lot of advantages. One is definitely styling, but it’s also consistent behavior and all that. So the if somebody wants to look for that PR, there is we need a lot of people testing that, to see what would if something breaks when that modal meta box kind of screen is introduced, before it’s introduced, so to speak. So I will ask everybody to kind of go there. And think about that in their projects as well. I’m gonna go look for that. PR. And next already in the chat. It’s in the chat. You’re also good. Thank you so much. So next up is and she has waited patiently through line tangent.

32:48

Okay, I think I want to circle back a little bit to the design part of this experience for me, because I’m a designer, these features and functionality. They’re great. But I think a lot of my pain points coming into the block. Theme experience for the first time was the UI. We all know the navigation is it’s it’s embarrassing. I mean, I don’t know why there’s so little attention being paid to it. It’s just, it’s it’s really bad. And then, personally, the additional CSS field is it’s, it’s, I can’t breathe when I use it, I hate it. I absolutely hate it. So I’ve got this work around that I use so that I can then integrate with Git and the repo and and that brings us again, back to the whole idea of version control. So anyway, that’s something I wanted to bring up today, because I think sometimes we get very wrapped up in this feature and that feature in the code and that it uh, and for me, what holds things back sometimes is just the experience itself and how horrible everything looks.

34:28

Harsh words, Brian, thanks for listening. Well, thanks. And but I get this additional CSS is if you don’t have a code edit, color coded editor that kind of led to see Yeah, it’s really hard, but there is relief coming for that part. I saw. I’ve seen the PR, and I know that quite a few people are working on it at the navigation. I think that has been a progress working progress for two years now. But yeah, I hear you, Brian,

34:59

would it be would it’d be out of the realm of possibility to have some sort of integration with the additional CSS field with a, like Visual Studio code or some actual editor, I don’t know what goes behind that. But some sort of integration. I

35:22

kind of feel like if you’re actually integrating with, like an editor on your computer, this probably gonna be more into like, what we might call plugin territory. Not something that I don’t know if I don’t know, core has surprised me before with features. But I doubt we bring that sort of integration, but I could see us just improving the UI around like what you have in the back end. And the side editor, I think that’s where the focus would have to be. I actually haven’t really used that I just use CSS files on my theme. So I do need to play around with that and see how challenging, challenging it is. I don’t I’m not sure.

36:14

It’s a little hidden. That’s one thing, and it’s just plain text. There is no color coding. There’s nothing in there. There’s also no linting. Yeah, that it would help you with the, with corrections of things. Yeah. Brian, Europe.

36:33

Yeah, I actually wanted to build on that conversation and the previous one about metal boxes. And I just wanted to point out, I was going to bring up an issue with the metal box, pull request. And then I saw that Phoebe and had, of course, already commented on it last week, saying exactly what I wanted to say, which is that if you click on the link, I don’t know if I can share. But if you click on the link to go to the the idea of meta boxes, for example. And you scroll all the way down to the bottom of the PR there is this design concept that is really about like rethinking how you think about the Block Editor. And right now the metal boxes, they want to have like another button on the right hand side of the screen with another you know panel or a modal that takes over the screen. And it’s sort of just not the best experience. But if you go all the way down, as Fabian points out, there’s this really great redesign where the left hand side of of the site after that black bar will kind of like expand out, and more functional settings and things like that can really be handled there things like custom fields, things like if you’re a WooCommerce product, all your product details, all that sort of stuff. And then there’s the site itself. And it’s this kind of like three tiered thing. And I really think that if this is the path that they go, and you know, at least generally, getting things out of that little right hand sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., like the additional CSS and all these sorts of things, where you know, at the end of the day, it’s it’s nice that it’s in this tiny little window, and you can see your content, but sometimes you just want to make something big. And even the font library has this issue where it’s like, it doesn’t fit in this little sidebar, so then they just stick a modal in front of you. And it’s not the best experience. But the new stuff coming there I think is really handy. And I think it’s I think a lot of people will if you know, I think it’s a while out, but I think it’ll hopefully solve a lot of these UI issues by giving a sort of breathable area for things that is not your content and getting the stuff out of these two little narrow sidebars. So I would say click on that PR and scroll all the way down to see an example screenshots or watch the video in the outreach channel, where Saxon goes, like really in depth into what some of these ideas could be.

38:36

Yeah, yes, thank you for bringing that up. There’s this video I shared in any outreach, it’s 18 minutes, but it’s very kind of it walks through the prototype on figma. And how the admin design kind of is evolving. And it’s a really, really interesting video. So but it’s also not, for now, yeah, it’s kind of a little ways out. Because as long as it’s in figma, there was not a whole lot of development there. But you can see it in the in Gutenberg 18.0, you see this three pane window already with the template when you do a list view and layout there. So that’s at least a precursor. Mark.

39:25

What I was gonna say quickly is that I was just in Jessica’s, I think she uses the additional CSS field. And I know pretty much every hobby developer, shall we say that knows a little bit of CSS immediately uses our field they never use. They never use their own CSS files, for obvious reasons. It’s just easier to copy it into the field. I’m not entirely sure if I’m mistaken that the original version in the customizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. actually did have linting and highlighting in the same way that code pen does. So that’s I think library scripts which can be used if it’s not already in planning. The other thing about the general idea of now skating around and doing stuff, I think we’re kind of in a little. We’re very focused on this stuff. And so we see all of the little details. But if you actually presented to a client and somebody that is open to learning new stuff and show them, this is how you do it and explain the difference between the page editor, post editor, the site editor, the styles editor, most of them get it most of understand it, as long as they’re not coming from a page builder, from another from another CMS, or from historic WordPress, where you had to build everything with PHP, it’s kind of it needs a little bit of open an open mind, for people to go, right, I’m gonna learn them learn something new. It’s a huge system. There’s lots of complexity to it. And the experience that I have with just completely technically illiterate users, and also agencies that we work in partnership with design agencies, most of them I would say, after a couple of weeks, they kind of get used to it. So it’s not as bad as all of the negative feedback would suggest. Apart from the navigation block, but we all know that so I don’t need to say anything about that.

40:59

Yeah, I think the hardest thing in life is to unlearn things that you have with with great effort learned in the first place. So yeah, it’s it’s when you switch programming languages for developers, or if you switch from one place to, to building something to a different place with a different UI and different metaphors. Yeah, we are in 15 minutes. What are the other topics that we might have? Wanted to talk about? That we haven’t touched it? Was there anything else that so there was a lot of chat, chat, things, I didn’t pay that much attention. But I think it’s

41:55

one thing that I wanted to bring up that I think is an interesting thing, where it may make, it may even make sense to kind of set a line on one vision higher up in project leadership. And that is, I feel like for the last two or so years, a major focus of the project has been how, how easy it is to switch from one theme to another kind of how how to make it super easy with block themes, to make them to allow you to switch between different block themes. And that actually led to things like the menu location getting removed from the navigation block, because it is easier to switch between one block theme and another block theme, if it isn’t just a random, unique string that somebody can give for the menu location, but instead just have a standardized way of doing it. And there, there are quite a few of those. Kind of the fact that in that kind of when you have a custom font sizes, or custom spacing sizes, if you have less than five of them, then it shows t shirt sizes. And the actual letters in the t shirt sizes are just pre picked from from core. And there is no way to customize any of those pieces. And I feel like we’re often struggling between how can we make How can we build these features so that they’re super changeable, kind of optimizing so that you can super easily switch between themes. But then also these environments where that is just never going to happen. These are purpose built custom built themes. And I think that divide that those two completely opposite worlds are creating is at the root of a lot of the issues that a lot of the people in this room I often hear talking about. And I’m wondering whether kind of either project wise, we’ve just made the decision that our main focus is democratizing publishing, and therefore everything should just be super easy to switch all the time. So we just have to work around it or there’s a middle ground that kind of helps helps make it easier on both sides.

44:15

Some interesting aspects now I think if we had more tools to switch off things that what Colin mentioned before that needs to be not everybody wants to have their brand design be ruined by deadlines. Yeah. If we had a little bit more additional features like that would be really helpful but in one place, not put it in theme JSON here and put it in, in a PHP function. It’s called there. I think that will be also quite helpful in that Yeah. Kathy she raised her hand for a while.

44:59

I never know if the audio works. So I don’t know if you can hear me like, oh, that’s like the first time literally ever that has worked. Okay, so this might be a little bit tangential. So I hope you’ll indulge me but I’m a, I’m a plugin helper and not, you know, building sites necessarily yet. And I guess I just kind of want to ask or raise the issue of like, what’s coming down the pipe for making it maybe easier for plugins to start registering? site editor, templates. Because not all content. I mean, the the theme ultimately can have an can provide ways to display content. But you know, not every theme will have compatibility for your plugin and plugins have lots of content that we need to provide. And we’re going to need to provide ways for people to customize that. So I just kind of wanted to raise that issue of like, what’s happening there? And again, I’m sorry, it’s a little bit tangential to this conversation. But

45:59

it’s a very good question that come up. Nick, do you have a thought about that?

46:08

too, but I do, like WooCommerce does. But I think that they’re it’s very convoluted to do it.

46:15

It’s extremely convoluted. Yeah.

46:18

So I think it’s interesting, because something I haven’t explored, but probably should. But so technically, it’s possible. But it’s not something as simple as register template partners or something.

46:31

Yeah, that’s, that’s about what I have found in the past week of kind of like poking around in this and sort of why I wanted to be on this call and raise that question, because it’s like their plugins

46:45

would patterns sit that that kind of content needs? I mean, I know they’re clearly very different than templates, but

46:58

not necessarily. Oh, yet.

46:59

Like patents? Yeah, yeah. So yeah, we’re just talking about wanting to create, like a template from the plugin. Like, if you have a Custom Post Type, maybe you want to? I’m working on a little something for the developer blog. Hopefully, that might address some use cases, not all. So hopefully, I say I’m working on I will be working on it soon. Hopefully, we’ll have like a solution for some use cases. Yes, it’s a little convoluted. And you do have to really dig into what’s actually happening with templates under the hood. But we’ll see. Feel free to pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me on 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/.. And we can kind of chat through some of your issues there. I’m happy to at least see if I have a solution. Cool, thank you.

48:10

Any other thoughts? And about that topic? So I know, we raised it about version control. And then we didn’t really dig into that. So what is was somebody had a workflow that goes from create block theme, to get and, and then deployment. And then when there was something changed? On the client side, it goes back to export things, or what’s the Eucalan? Who mentioned that?

48:45

Yeah, so that’s kind of our workflow. Right now. We’re actually working on a tool to better surface things that have changed. You know, I think that’s one of the challenges right now, especially on a large site. From a database standpoint, you know, we are, we’re able to go in and see, you know, what the different 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. are, there are post types that are associated with all the different, you know, customizations, and things. And then you can see revision history and stuff. So what we’re trying to do is find a visual way to surface that. So that as a developer, if we log into the site, we can see, oh, look, we’ve got stuff that’s actually not committed. So we’re not tracking this or we’re not seeing that change. There’s places that we can go within the editor to where you can actually see, you know, like, it’s slightly inconsistent right now, but it’s, you know, you can see like, hey, this has been modified or you can, you know, hit the clear customizations or, or things like that, but what we’re doing is we’re trying to surface those, so that we’re not just having to do a blanket, you know, log onto the site. It’s been a week. We’re going to jump in there. Let’s just do an export from Create block theme because I know we’re not supposed to use create block theme in production. But we do. And it’s a, you know, we, we take that in and kind of work from there. So that’s kind of been our workflow. Our previous workflow was always content was on production code started local into depth into staging, so code went up, content came down. And we’re really trying to figure out how to get as close to that as possible. The we use tower internally for for control, or version control GUI, they’ve got an incredible feature to where you can actually select individual lines in a file that you want to commit. And so that’s been really, really helpful for us, because we may do a, you know, an export or an overwrite of the theme with create block theme in our local environment. You know, my theme, that JSON, because one of the challenges we run into is a client will go into the site editor, then they go to the Style Editor, and then they start changing things in the blocks over there. And so we’ll all that gets written to a theme dot JSON. So we may have something that’s I think, dot JSON that we’ve tried to modify. And when we deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. it, we overwrite that so we have to be careful about or I’m sorry, we don’t overwrite it, we deploy it, but nothing changes. And so then that’s where we would find out. So what we were doing is pulling that down, and then we would grab the individual pieces. So instead of just saying, you know, the updates that theme that JSON, we want to know, okay, this specific block defaults were updated, and then we can commit that piece. So that’s been that’s been incredibly helpful.

51:56

I imagine. I imagine Lisa would really love that was Lisa, who said that it’s hard to figure out where actually something changed? And yeah, so it’s been really helpful. Yeah. So are you working on this to make it also available at some point or yes,

52:18

yeah, that’s our that’s our goal for surfacing right now with with get tower, the commit workflow, that is something that you can absolutely do right now. We’ve kind of gotten into a workflow that if we know somebody else is managing the site, where it you know, before it was always ego, and you’re going to work on something we’d use, like WP migrate, pull down the database, get the latest and greatest in maybe media files if we need them. Now, we kind of do the same thing. But then the next step is overwrite theme with the Create block theme plugin, and then open up get and kind of see what’s, uh, let’s change changed.

53:02

Looks want. Yeah. Well, go ahead.

53:07

The one thing I’ll say that has kind of been a caution for us on that is that if you when you do the Create block theme, and then overwrite the thing, if you just discard those changes, because you’re like, oh, I don’t need that. Well, it did actually remove those changes from the from theme. So you got to be careful with that.

53:32

Could you say that again, I want to make sure I hear that fully.

53:37

So

53:38

in JSON, you may be able to correct me if I’m incorrect, or like from wrong on this. But it’s like, when you use the overwrite theme, it actually it goes and grabs all of the settings that have been saved in the database, and then it pulls them down into your themes. Well, it’s no longer in the database. So if in a Git workflow, you’re then to just say discard changes, because you didn’t actually need that stuff. Well, now you’re in a new system that doesn’t match production anymore, and so you need to pull down again.

54:13

Okay, so we are two minutes left. I think we’re, I think we all can talk about it another two more hours or something like that. It was really insightful to have you all here and talk about these things. Especially for the kind of free okay, we’re all to kind of put it all together in one in one transcript of a session like this, too, and that’s what we’re going to do. We’re gonna share the recording and we’re gonna see the transcript and some of the tools and links that were in the chat will also be published. It’s probably take until after Easter, but that’s What I wish you is a wonderful weekend. Thank you so much for your time here and have a wonderful weekend and Easter. And I hope we do this again in in the in a few months, and kind of see what’s the status and what has changed. I’m also looking through the GitHub repo and see if we can match up some of the requirements with PRs that are already the people are working on. And I probably need to ask Fabian if he has some. Some of them he probably wrote some of them. So be well, and thank you so much for all your time, and until the next time, and I see you in the outreach channel. Take care bye


Chat Transcript

17:04:22 From justintadlock : Is Jason going to play us a song?
17:04:45 From Sarah Norris : Reacted to “Is Jason going to pl…” with 🎸
17:04:54 From Jeff Chandler : Reacted to “Is Jason going to pl…” with 🎸
17:04:56 From Jason Crist : Doing something with my hands keeps me focused. 😛
17:05:23 From justintadlock : Today’s topic: https://make.wordpress.org/core/2024/03/19/hallway-hangout-using-site-editor-in-production-for-client-sites/
17:06:02 From justintadlock : Reacted to “Doing something with…” with 👍
17:07:47 From Jeff Chandler : Oohh, Restricting the editor is a hot topic.
17:08:10 From Lisa Snyder, @silverhoopedge : restricting like “block locking” or something else?
17:08:29 From Lisa Snyder, @silverhoopedge : pattern locking?
17:09:06 From Kristin Aus : Reacted to “Oohh, Restricting th…” with 👍🏻
17:09:08 From justintadlock : Replying to “restricting like “bl…”

It’s one possibility, but there are many ways you might want to restrict. Locking, theme.json, some filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same., etc.
17:09:34 From Lisa Snyder, @silverhoopedge : Reacted to “It’s one possibility…” with 👍
17:09:47 From Brian Coords : “templateLock”:”contentOnly” is another similar tool here
17:10:02 From Lisa Snyder, @silverhoopedge : Reacted to “”templateLock”:”cont…” with 👍
17:10:08 From Kathy : A locked down version of the editor came up today on Twitter. I think there’s a discussion happening here: https://github.com/WordPress/gutenberg/issues/60021
17:10:27 From Jennifer Kelly : Cullen that sounds awesome!
17:11:18 From Jeff Chandler : Nick Diego covered this topic in 2022 in a Workshop, but it may be worth revisiting https://twitter.com/nickmdiego/status/1590690057144348674
17:12:49 From Brian Coords : I forgot how to raise my hand 🤚
17:12:57 From alex vasquez : Same haha
17:13:27 From justintadlock : It’s under “Reactions” in the bottom toolbar
17:13:30 From Belinda : Its the same problem with synced patterns
17:13:55 From Brian Coords : (Agreed – I forked this plugin to work with classic menu locations: https://wordpress.org/plugins/classic-menu-block/)
17:13:56 From Belinda : If you have a synced pattern in a template you have different ones on local/dev/prod
17:15:27 From Belinda : Why can’t we used synced patterns in the block editor?
17:15:43 From Fabian Todt : Reacted to “(Agreed – I forked t…” with 👍
17:16:48 From Fabian Kägy : This is the issue for Synced Theme patterns: https://github.com/WordPress/gutenberg/issues/59272
17:16:53 From justintadlock : Reacted to “This is the issue fo…” with 💯
17:17:08 From Cullen @ Matchbox : Reacted to “This is the issue fo…” with 💯
17:19:03 From Brian Coords : https://github.com/WordPress/create-block-theme/issues/287
17:22:20 From Cullen @ Matchbox : Two other issues we encounter often:

  • We’re often unable to find posts in large menus that include multiple post types.
  • It’s difficult to surface what changes were made in a production environment so that we can then bring them back into the git repo. (We’re working on a plugin for this)
    17:23:33 From Jeff Chandler : What’s “Create Block Theme” anyone have a link that explains it?
    17:23:55 From justintadlock : Replying to “What’s “Create Block…”

https://wordpress.org/plugins/create-block-theme/
17:23:56 From Sarah Norris : https://wordpress.org/plugins/create-block-theme/
17:24:03 From Jeff Chandler : Reacted to “https://wordpress.or…” with 👍
17:24:05 From Sarah Norris : https://github.com/WordPress/create-block-theme
17:24:07 From Jeff Chandler : Reacted to “https://wordpress.or…” with 👍
17:24:07 From Birgit Pauli-Haack : https://wordpress.org/plugins/create-block-theme/
17:24:21 From Birgit Pauli-Haack : Sarah beat me to it 🙂
17:24:41 From Sarah Norris : Reacted to “Sarah beat me to it …” with 😁
17:25:00 From Jeff Chandler : Thank you for all the links 🙂
17:25:19 From justintadlock : Reacted to “Thank you for all th…” with 😂
17:25:34 From Fabian Todt : Reacted to “Thank you for all th…” with 😂
17:25:45 From Jeff Chandler : wow, already has more than 10K active installs
17:26:59 From Fabian Kägy : It would be cool to have more granular export options in the site editor.

Like being able to only export one template (override the one on disk) instead of always having to export the entire theme
17:27:11 From Hans-Gerd Gerhards : Reacted to “It would be cool to …” with 👍
17:27:14 From Jason Crist : Reacted to “It would be cool to …” with ❤️
17:27:32 From Brian Coords : Granular export options, save to the filesystem directly on save, WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ command to export
17:27:33 From Mike McAlister : I’d love to see Create Block Theme have a dedicated space on .org. And if it’s going to be prominent going forward, we should look at rebranding it to something more user friendly and communicate its value better.
17:27:40 From Brian Coords : Reacted to “I’d love to see Crea…” with 👍
17:28:01 From Jeff Chandler : Replying to “I’d love to see Crea…”

This is the first time I’ve seen or heard about Create Block Theme 😛
17:28:13 From Mark Howells-Mead : Yes please! 😄
17:28:31 From Mike McAlister : Replying to “I’d love to see Crea…”

My point exactly. Let’s turn this from a niche themer tool to something more widely known and promoted.
17:28:32 From Mark Howells-Mead : Awesome indeed!
17:28:55 From Vicente Canales : First draft of a JSON editor for CBT 🙂 https://github.com/WordPress/create-block-theme/pull/520
17:28:55 From Belinda : +1 for granular export
17:29:18 From Sarah Norris : Reacted to “First draft of a JSO…” with ❤️
17:30:06 From Kristin Aus : Reacted to “+1 for granular expo…” with 👍🏻
17:30:39 From Cullen @ Matchbox : Reacted to “It would be cool to …” with 👍
17:30:43 From Kristin Aus : Reacted to “My point exactly. Le…” with 👍🏻
17:30:49 From Mike McAlister : When creating Pattern Manager, we had to do some really fancy footwork to do some of the more advanced pattern management. That’s why we ended up with the dedicated editor instance, etc.
17:31:17 From Birgit Pauli-Haack : Reacted to “I’d love to see Crea…” with 👍
17:31:38 From justintadlock : Reacted to “When creating Patter…” with 👍
17:32:00 From Hans-Gerd Gerhards : Reacted to “When creating Patter…” with 👍
17:32:13 From Brian Coords : Replying to “I’d love to see Crea…”

It’s mentioned inside the docs, but that’s about it https://developer.wordpress.org/themes/getting-started/quick-start-guide/#using-the-create-block-theme-plugin
17:32:37 From Cullen @ Matchbox : Reacted to “First draft of a JSO…” with ❤️
17:32:54 From Mark Szymanski : Great question Alex
17:33:16 From Jeff Chandler : Reacted to “Great question Alex ” with 👋
17:33:20 From Mike McAlister : Block editor, site editor, and admin UI, all coming together slowly as one experience.
17:33:39 From Nick Diego : Reacted to “Block editor, site e…” with ➕
17:34:47 From Jeff Chandler : Replying to “Block editor, site e…”

Make it come sooner 🙂
17:35:40 From Fabian Kägy : The meta box ticket: https://github.com/WordPress/gutenberg/pull/59242
17:35:48 From Jeff Chandler : I think Brian shared something about the metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. stuff a few weeks ago
17:35:48 From alex vasquez : Reacted to “The meta box ticket:…” with 👍
17:35:57 From Brian Coords : Reacted to “The meta box ticket:…” with 👍
17:35:58 From justintadlock : Reacted to “The meta box ticket:…” with 👍
17:36:02 From Cullen @ Matchbox : Reacted to “The meta box ticket:…” with 👍
17:37:13 From Mike McAlister : RE Alex’s question, I build in the editor, but try to keep as much as possible in a git workflow. You can use tools like Create Block Theme and Pattern Manager to write to disk. There is still a lot of work to do on a cohesive workflow there.
17:37:33 From Fabian Kägy : @alex vasquez regarding your question:

It depends a bit on the client. But for a lot of sites I think of the site editor as a development tool. Clients are not administrators and so they don’t typically interface with the site editor.
17:38:10 From alex vasquez : +1 for what Ann is saying. Thank you for saying it, Ann.
17:38:11 From Fabian Kägy : Replying to “@alex vasquez regard…”

And yeah using it as a development tool and always exporting things back into git
17:39:14 From Cullen @ Matchbox : Replying to “The meta box ticket:…”

Does going to Three dots > Preferences > Panels and disabling the panels bypass the iframe issue or is it persistent even with those panels disabled through preferences?
17:40:03 From Fabian Kägy : Replying to “The meta box ticket:…”

Sadly even when panels are not visible they still block the iframed editor
17:40:31 From Kathy : Wait… where the heck even IS the custom CSS area?
17:40:33 From Cullen @ Matchbox : Reacted to “Sadly even when pane…” with 👍
17:40:48 From Mark Howells-Mead : In the styles editor, behind the three dots.
17:40:52 From Jessica Lyschik : I use the Additional CSS frequently for all these things that we can‘t change via design tools or the theme.json.
17:41:03 From Anne Katzeff (she/her) : Me too, Jessica.
17:41:08 From Fabian Kägy : @Brian Coords we are the same person 🥸
17:41:12 From Wes Davis : Chiming in to say that Navigation is one of the biggest pain points for me too — it feels like a step backwards to have to tell clients that used to be able to easily manage their own header menu links with the “classic” menus, that with their fancy new block editor, they now have to ask us to make updates to header/footer menus for them.
17:41:12 From Jason Crist : https://marketplace.visualstudio.com/items?itemName=chrisrhymes.gutenburg-comment-highlight
17:41:19 From Amy Dalrymple : Replying to “@alex vasquez regard…”

I have dipped into this for my team – I have folks creating layouts and setting up pages in both production and staging environments. I didn’t see an easy way to keep environments synced. Not everyone one my team is a developer and don’t have access to Git. I abandoned any conversion to Site Editor for us pretty quick, unfortunately.
17:41:38 From Fabian Kägy : Replying to “The meta box ticket:…”

https://github.com/WordPress/gutenberg/issues/52724
17:41:45 From Belinda : Reacted to “Chiming in to say th…” with 👍
17:41:50 From Wes Davis : Replying to “Chiming in to say th…”

With their fancy new block editor SITE, they now have to ask us to make updates
17:41:57 From Hans-Gerd Gerhards : Reacted to “Chiming in to say th…” with 👍
17:41:58 From Fabian Kägy : Replying to “The meta box ticket:…”

Ia raised that last June 😂 I think there could be room for improvement there
17:42:18 From Cullen @ Matchbox : Replying to “The meta box ticket:…”

I love this UI concept.
17:42:28 From Jessica Lyschik : It would be nice if the Additional CSS would be directly linked from the global styles panel instead of being hidden in another menu
17:42:40 From Hans-Gerd Gerhards : Reacted to “It would be nice if …” with 👍
17:42:50 From Chris Reynolds ⚡️ : Reacted to “It would be nice if …” with 💯
17:42:54 From Mike McAlister : Saxon is doing some really excellent work on the design side of things.
17:43:00 From Brian Coords : Reacted to “Saxon is doing some …” with 👍
17:43:22 From alex vasquez : Replying to “@alex vasquez regard…”

I have a specific way that I like to work when building layouts and the site editor kinda flies in the face of that. I don’t want to pick on the site editor too much. But the amount of clicking around drives me kind of nuts. It would be nice to have a better interaction with global class management and assignment to blocks as part of the site editing experience (but not the block editing experience).
17:43:32 From Brian Coords : Reacted to “It would be nice if …” with 💯
17:43:44 From alex vasquez : Replying to “@alex vasquez regard…”

And thank you, for sharing this Fabian. I appreciate. =)
17:43:45 From Jeff Chandler : It’s awesome to see all of you sharing experiences and ideas and working towards improving things for everyone. As a user, I appreciate all of the work and time you all invest into WordPress.
17:43:51 From Jessica Lyschik : It did in limited ways
17:43:56 From Anne Katzeff (she/her) : What about styles.css for custom styles, esp. for a child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/.. It’s not enabled out of the box. And I can’t figure out how to enable it.
17:44:00 From Cullen @ Matchbox : Reacted to “It’s awesome to see …” with ❤️
17:44:00 From Sarah Norris : Reacted to “It’s awesome to see …” with ❤️
17:44:05 From Jessica Lyschik : Reacted to “It’s awesome to see …” with ❤️
17:44:06 From alex vasquez : Reacted to “What about styles.cs…” with 👍
17:44:10 From Brian Coords : Reacted to “@Brian Coords we ar…” with 😂
17:44:12 From alex vasquez : Reacted to “What about styles.cs…” with 👏
17:44:14 From alex vasquez : Removed a 👍 reaction from “What about styles.cs…”
17:44:30 From alex vasquez : Reacted to “Chiming in to say th…” with 👍
17:44:46 From alex vasquez : Replying to “The meta box ticket:…”

This is great!
17:45:08 From Anne Katzeff (she/her) : Reacted to “+1 for what Ann is s…” with ☮️
17:45:21 From justintadlock : Replying to “What about styles.cs…”

Depends on the parent theme. Explained here: https://developer.wordpress.org/themes/advanced-topics/child-themes/#loading-style-css
17:45:55 From Anne Katzeff (she/her) : Replying to “What about styles.cs…”

2024 is the parent theme
17:46:10 From Belinda : Using the site editor is quite slow when navigating between screens
17:46:35 From alex vasquez : Reacted to “Using the site edito…” with 👍
17:46:40 From Jessica Lyschik : But it‘s actually not 😅 Just by different names for the color palette
17:46:50 From Hans-Gerd Gerhards : Reacted to “Using the site edito…” with 👍
17:46:52 From Kathy : Reacted to “In the styles edit…” with 👍🏻
17:46:54 From Mike McAlister : Settling on some standard naming conventions for font sizes, spacing, etc. would really help the visual swap between themes.
17:47:01 From justintadlock : Replying to “What about styles.cs…”

For TT4, you can use the first method outlined there.
17:47:16 From Jessica Lyschik : Reacted to “Settling on some sta…” with 💯
17:47:17 From Anne Katzeff (she/her) : Replying to “What about styles.cs…”

Thank you Justin, what a relief to know!
17:47:24 From Belinda : Reacted to “But it‘s actually no…” with 💯
17:47:43 From Cullen @ Matchbox : Reacted to “But it‘s actually no…” with 💯
17:47:51 From Brian Coords : Reacted to “But it‘s actually no…” with 💯
17:48:01 From justintadlock : Reacted to “Thank you Justin, wh…” with 👍
17:48:10 From Anne Katzeff (she/her) : Reacted to “Settling on some sta…” with 👍
17:48:11 From Belinda : Reacted to “Settling on some sta…” with 👍
17:48:18 From Cullen @ Matchbox : Replying to “But it‘s actually no…”

We’ve been trying to identify naming conventions for this.
17:48:22 From Brian Coords : (Aurooba and I get deep into this whole “composability” issue without standardized tokens in our upcoming podcast about the Font Library 😂)
17:48:27 From Jeff Chandler : Ask Justin about standardizing things in WordPress https://wptavern.com/standardizing-theme-hook-names lol
17:48:39 From Mark Howells-Mead : Replying to “Settling on some sta…”

I agree with this; recommendations instead of constraints though. Even listing them as a suggestion in the docs would help.
17:48:39 From Fabian Todt : Reacted to “(Aurooba and I get d…” with 👍
17:48:40 From Sarah Norris : Reacted to “(Aurooba and I get d…” with 👀
17:48:47 From Jessica Lyschik : Replying to “But it‘s actually no…”
It has been a long discussion at TT4 development…
17:49:04 From justintadlock : Replying to “Ask Justin about sta…”

Not even touching standardizing names of things anymore. That ship has sailed.
17:49:16 From Jeff Chandler : Replying to “Ask Justin about sta…”

😅
17:50:26 From Cullen @ Matchbox : Replying to “But it‘s actually no…”

This may be a good GitHub discussion for us to start where we can share our naming conventions.
17:50:39 From Sarah Norris : Reacted to “This may be a good G…” with 👍
17:50:46 From Cullen @ Matchbox : Replying to “But it‘s actually no…”

I’ll try to start that later today.
17:50:46 From Mike McAlister : A not-so-great-but-maybe-temporary solution could be using patterns for the layout.
17:51:13 From Mike McAlister : Replying to “A not-so-great-but-m…”

Ultimately depends on how the end user is going to use them.
17:51:40 From Cullen @ Matchbox : Reacted to “Not even touching st…” with 😂
17:51:49 From Fabian Kägy : This here is the related issue on GitHub: https://github.com/WordPress/gutenberg/issues/58417
17:52:01 From alex vasquez : Reacted to “This here is the rel…” with 👍
17:52:12 From Jeff Chandler : Hi awesome Kathy!
17:52:17 From Mike McAlister : Ultimately these are the kinds of hiccups we really need to figure out if we want to keep driving adoption.
17:52:26 From Kristin Aus : Reacted to “(Aurooba and I get d…” with 👍
17:52:54 From justintadlock : Replying to “This here is the rel…”

Thanks, I was looking for that ticket.
17:52:57 From justintadlock : Reacted to “This here is the rel…” with 👍
17:53:19 From Fabian Todt : FYI I think this is how Woo does it, and yes’t is a lot of code 😅
https://github.com/woocommerce/woocommerce/blob/trunk/plugins/woocommerce/src/Blocks/BlockTemplatesController.php
17:53:34 From alex vasquez : Thank you for hosting this Justin and Birgit. I have have to jump out. I appreciate this type of meeting with this audience.
17:53:44 From justintadlock : Reacted to “Thank you for hostin…” with 👋
17:53:46 From Birgit Pauli-Haack : Reacted to “Thank you for hostin…” with 👋
17:54:29 From Anne Katzeff (she/her) : Reacted to “Thank you for hostin…” with 👋
17:56:39 From Hans-Gerd Gerhards : Thank you, it was very interesting. Unfortunately, I have to say goodbye
17:57:11 From Brian Coords : Cullen – is there a method where you could use a parent theme w/ version control and a child theme on the site with just local overrides to separate things out a bit?
17:58:08 From Wes Davis : Local (by Flywheel/WP Engine) does a great job of providing a UI that shows which files have changed between the local and live/production version of the site and letting you select which you want to push or pull when doing a sync.
17:58:25 From Mark Howells-Mead : Thanks all!
17:58:42 From Jennifer Kelly : thanks everybody!
17:58:43 From Brian Coords : Looking forward to these updates to Create Block Theme
17:58:48 From Kristin Aus : Thanks!
17:58:49 From Cullen @ Matchbox : Replying to “Cullen – is there a …”

This is a cool idea. I’d love to explore this more.
17:59:00 From Belinda : Reacted to “Looking forward to t…” with 💯
17:59:02 From Anne Katzeff (she/her) : Very insightful gathering. Thank you everyone!
17:59:05 From Fabian Todt : Reacted to “Looking forward to t…” with 💯
17:59:07 From Fabian Todt : Thanks for Hosting!
17:59:08 From Cullen @ Matchbox : Thank you everyone!
17:59:08 From Sarah Norris : Thanks all!!
17:59:14 From Nick Diego : 👋
17:59:19 From Tracy Rhodes : Great session, thanks to all!
17:59:32 From Cullen @ Matchbox : Replying to “Cullen – is there a …”

Are you doing this at all right now?
17:59:38 From Béryl : Thank you so much! ✨
17:59:39 From Brian Coords : Replying to “Cullen – is there a …”

Nope just thought of it
17:59:45 From Cullen @ Matchbox : Reacted to “Nope just thought of…” with 👍
17:59:46 From Belinda : Thank you 🙂

Props to @greenshady for his review

Providing more clarity in the Gutenberg GitHub Repo

For a while now, the 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/ GithubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ repo has had a few high level labels (Overview, Tracking, Iteration) that have gotten a bit convoluted over time. Sometimes the issue is no longer relevant, is incorrectly labeled, has been updated so many times that the comments don’t follow what’s there, or double labeled. This has led to reported concerns and confusion around what work is truly active, what areas are being explored, and more. To begin to clean this up, a few things were done over the last week or so to make these labels more reliable, more consistent, and easier to follow:

  • Updating the descriptions of these labels to be concise, more descriptive, and show how they are tied to each other.
  • Changing Epic to Iteration for clarity as Epic holds different connotations for folks and is harder to grasp.
  • Triaging older issues and closing out when necessary aka the work is no longer relevant or has been completed.
  • Ensuring the labels that remain are accurate, either by not labeling the work as one of the above labels or adding/removing labels.
  • Pinging the folks who opened different issue when needed to ask for updates to ensure what’s there aligns.
  • Opening any needed overview issues related to phase 3 (this is in progress by @priethor). 

How can I use or interact with these labels? 

For context, here’s a sense of how each label should work and how you might want to use them or follow them:

  • Overview issues contain more context/strategy and narrative, often including multiple tracking issues to accomplish an area of work and existing across numerous releases. Here’s an example from phase 2.
  • Tracking issues are more tactical, broken down into individual tasks and areas of work, and exist across a few releases. It should ideally be part of a breakdown from an Overview issue. Here’s an example for layout support.
  • Iteration issues are to define iterations of a project in smaller deliverable packages, including when possible the minimum requirements to ship the iteration as a whole in a WordPress release. Expect these issues to be regularly updated and curated. They reflect more active work and often is pulled out of a list of items in a tracking issue unless the scope is small and it can pull work directly from an Overview. Here’s an example with overrides in synced patterns for 6.6.

This means if you don’t have a ton of time to pay attention to the releases or overarching work, you can use these labels to narrow your focus and stay up to date at the level you’d like. 

Label description updates

This is just a quick rundown of what’s changed, description wise, to tighten up the approach. 

Before:

  • Epic: A large body of work shaping an iteration that can be broken down into a number of smaller issues.
  • Tracking: For issues used to track large changes across the codebase
  • Overview: Offers a comprehensive breakdown of a specific area of work to act as a guidepost

After:

  • Iteration: Scoped iteration of an effort from a tracking issue or overview issue ideally for a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope..
  • Tracking: Tactical breakdown of efforts across the codebase and/or tied to Overview issues.
  • Overview: Comprehensive, high level view of an area of focus often with multiple tracking issues.

Let’s keep iterating

This system isn’t perfect but, just like with WordPress itself, it’s an iteration and you can expect more to come. This will be focused on for the WordPress 6.6 cycle on the CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor side and likely iterated upon once more after going through a full cycle with a more tightened workflow. If done well, very little extra work should be created for contributors and those who want to contribute or follow along the efforts can do so with greater ease. Ultimately, communication around what’s gone into a release happens already and this just seeks to formalize where it happens with clearly high level labels and norms within them. 

Thank you to @richtabor and @priethor for reviewing this post. 

#core-editor, #gutenberg

Summary, Dev Chat, March 27, 2024

Start of the meeting in 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/., facilitated by @joemcgill.

Announcements

WordPress 6.5 was scheduled for release on March 26, 2024, however, the release has now been rescheduled for April 2, 2024. Thanks to everyone involved in the related discussions around delaying the release by one week. You can read more in this post.

Forthcoming Releases

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.5

There was a lot of activity in the #core channel today with everyone coordinating efforts around 6.5. There is a good summary of the conversations from @desrosj on Slack here.

Please continue to test the 6.5 release. See this list of key features to test, which was published alongside WP 6.5 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3.

Next 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/ release: 18.1

Gutenberg 18.0 was released on March 27 and included these issues. The next Gutenberg release will be 18.1, scheduled for release on April 10.

Discussion

We discussed the upcoming 6.5 RC4 scheduled for March 28, and we seem to be in really good shape. The following contributors are lined up to help:

We revisited plans for the 6.6 release squad. @priethor has a drafted post ready to publish with further details, however we have delayed the call for volunteers whilst decisions were still being made around 6.5. Now that we are in a good place for 6.5, @priethor suggested that we consider posting the call for volunteers after the 6.5 RC4 release party. Please leave a comment with your thoughts.

@jorbin shared that we’re still looking for a Gutenberg maintainer to help out with the 6.5 maintenance releases, but otherwise, we have all the pieces we need. The current release squad members are always welcome to help (but also understand that they may need a break). @jorbin also confirmed that the date for 6.5.1 is still being decided, but will avoid upcoming holidays where possible.

Please leave a comment if you’re interested in being part of the 6.5 maintenance releases. There are more details in the handbook about what’s involved in being part of a release squad.

Highlighted posts

The full list of posts from the last week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. can be read on the agenda at this link.

Open floor

During the open floor, Shariar Mahmud Prince requested help with an issue with the meta box docs, and @marybaum helped open a docs issue.

@joemcgill mentioned that the past several weeks have been intentionally focused on any discussion around WordPress 6.5, but we will soon have the bandwidth to discuss other topics and it would be great for those topics to be proposed by the attendees. Discussion topics can always be proposed in the comments of the agendas themselves, but @joemcgill and @mikachan would like to start to get a bit of a backlog of ideas to prioritize. We can do a call for topics posts, but would be happy to take any suggestions you have in the meantime.

@jorbin raised the following potential topics:

  • How can we get PHP8 support completed and out of “compatible with exceptions”
  • Aligning the coding standards for Core and Gutenberg so that both can use the same tooling

Tony Gravagno asked about improving the marketing around each WordPress release, especially about the release teams, and how people contribute to this huge effort in multiple cycles per year. @desrosj mentioned that there is a related ticket here, and @marybaum suggested that this fits well with the Marketing team’s new direction.

Props to @joemcgill for reviewing.

#6-5, #dev-chat, #summary

What’s new in Gutenberg 18.0? (27 March)

“What’s new in 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/…” posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, here’s an overview of different ways to keep up with Gutenberg and the Editor project (formerly called Full Site Editing).


Graphic w/ text: What's new in Gutenberg 18.0

Gutenberg 18.0 has been released and is available for download!

The 180th Gutenberg 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 release comprises a total of 206 closed PRs by 59 contributors and with a record-setting 17 first-time contributors. You’ll find in the release the result of additional Data View work, improvements for featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. and and media+ text 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. . The changelog also lists a ton of bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. fixes, performance improvements and about 35 PRs of Documentation updates. 

Table of Contents

Sitewide Color and Typography presets

In addition to Style Variations, the Site view screen is now populated with the controls to set side-wide color and typography choices. This will streamline designers’ workflows.  (59594)

Users can use the Media + Text block in their templates as it now supports the featured image. The design possibilities now opened up beyond a column-bases layout also for single post or page templates. Drop shadow controls expand the design tools of the creating developer and site owner alike. (51491) (59616)

Data Views with improved filters and updated Template index page

The data views screens, which are also prototypes for the future adminadmin (and super admin) list pages, received quite a few intriguing updates. The Templates index page is now very flexible. In addition to the table view, users can now also enable a grid layout with preview cards or a list view that allows for full preview in a three-page window. The list view is available for templates, pages, and template parts. Another enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. is the ability to select multiple criteria for filters. (59610)  (59858) (59792)

Other Notable Highlights

The Grid layout experiments are the next step to consistent responsiveness of posts, pages, and templates.
They are evolving quite a bit. If you haven’t opened them up you might want to start doing so now. This release includes a couple of updates. Blocks can now be grouped as a grid via the transform feature. With Column Start and Row Start controls in the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme., the Drag and Drop of blocks around the grid is now possible. (59483) (59853)

Changelog

Full changelog available

Enhancements

  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Data: Update method generating plural names. (59881)
  • Expand main content area to viewport when zoomed out. (59512)
  • Update ‘sidebar card’ appearance. (59997)

Data Views

  • Add: Command click to select item on table view. (59563)
  • DataViews: Add AND logic operators to filters. (59953)
  • DataViews: Add default getValue for fields. (59810)
  • DataViews: Implement multiple selection for filters. (59610)
  • DataViews: Make list layout stable. (59858)
  • Pages data view: Update quick-actions. (59551)
  • Reduce visual prominence of primary actions in table data views, and consolidate primary + secondary actions in ellipsis menu. (59128)

Site Editor

  • Patterns: Add a title to the categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. delete flow and increase line height. (59645)
  • Standardize block tools toggle button size to 32px. (59625)
  • Update index page for templates. (59792)
  • [Site Editor]: Move featured image at the top of the inspector controls. (59783)

Block Library

  • Add featured image to Media & Text block. (51491)
  • Social Icons: Update Medium icon. (57073)
  • Table Block: Fixed width table cells on by default. (49672)
  • Update Reddit social icon to latest brand guidelines. (59438)

Components

  • Add typing for date and time typing for TextControl. (59666)
  • Add: Support for menu group to the Dropdown. (59723)
  • Update the line height for components. (60028)

Design Tools

  • Add Box Shadow support for featured image. (59616)
  • Background block supports: Move block support defaults to gutenberg_render_background_support and revert gutenberg_get_background_support_styles. (59889)

Layout

  • Add Column Start and Row Start controls to Grid children. (59483)
  • Allow blocks to be grouped as a Grid. (59853)

Global Styles

  • Remove preset headers. (59504)
  • Try color and typography presets in Site View. (59594)

Block APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways.

  • Display settings ‘label’ defined by the ‘register_setting’ method. (59243)

Rich Text

  • RichText: Add non-breaking space shortcut on Windows. (43150)

New APIs

  • Support the PluginDocumentSettingPanel slot in the site editor. (59985)
  • Add pre 6.5 compat for viewStyles. (59322)

Bug Fixes

Block Library

  • Add filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for duotone to account for gutenberg_restore_image_outer_container in classic themes. (59764)
  • Add richText identifier to blocks. (59056)
  • Close navigation link ui on escape. (59838)
  • Code block: Preserve newlines. (59627)
  • Do not focus new navigation block menu until loading is finished. (59801)
  • File: Add center alignment editor class for classic themes. (59975)
  • Fix create menu after menu switch. (59630)
  • Fix image layout shift from placeholder to selected placeholder. (59857)
  • Fix overlay issue when empty featured image is used in Cover Block. (59855)
  • Media & Text: Remove the duplicate Media width control. (59776)
  • Prevent default on primary+k to prevent command center from opening on navigation link. (59845)
  • Quote: Show as active when deeply nested child block is selected. (59662)
  • RichText: Document the identifier prop. (60036)
  • Social icons: Only render label container when there’s a label. (60060)
  • Template Parts: Fix typo in translatable string. (59816)
  • Ensure consistent return type in WP_Navigation_Block_Renderer::Get_markup_for_inner_block(). (59820)
  • Return early from saving 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. data for the navigation without a $post->ID. (59875)
  • Fix root ID calculation when check if block can be transformed. (60167)
  • Featured Image: Fix overlay rendering in the editor. (60187)
  • Fix self closing navigation overlay. (60130)
  • Navigation: Avoid content loss when only specific entity fields are edited. (60071)

Font Library

  • Avoid auto-removing font families without font faces. (59910)
  • Ensure that errors reported from uploading font files are not duplicated. (59564)
  • Fix JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. errors when activating or deactivating system fonts. (59935)
  • Fix typo in upload text. (59655)
  • Polish Google Fonts consent box. (59631)
  • Refactors the upload handler in order to check if files being uploaded are valid font files. (59648)
  • Reset notices when navigating away from the collection. (59981)
  • Activate the fonts coming from the backend and not the data from the frontend. (60093)
  • Install fonts in sequence to work around race condition. (60180)

Interactivity API

  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. fixes from Core. (59903)
  • Fix interactivity api end-to-end tests. (59836)
  • Interactivity: Ensure stores are initialized on client. (59842)
  • Interactivity: Restore scope when yielded promise rejects. (59708)
  • Prevent non-object state from being added. (59886)
  • Re-introduce data_wp_context() with _deprecated_function() call. (59834)

Site Editor

  • Don’t display welcome guide in hybrid theme. (55865)
  • Editor: Fix loading templates using a top level pattern block that includes a template part. (59900)
  • Fix opening of save panel when using the save shortcut. (59647)
  • Fix selected featured image when opening media library. (59769)
  • Make the delete navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. confirm dialogs consistent. (59825)
  • Restore the back button when navigating to the template from the home page. (59639)

Block Editor

  • Fix allow mouse users to edit link text when Link UIUI User interface is active. (59635)
  • Fix crash when unmounting an editor iframeiframe iFrame is an acronym for an inline frame. An iFrame is used inside a webpage to load another HTML document and render it. This HTML document may also contain JavaScript and/or CSS which is loaded at the time when iframe tag is parsed by the user’s browser.. (59992)
  • Handle when attributes param passed into hasStickyOrFixedPositionValue is nullish. (59800)
  • List view: Fix stuck moving animation on Enter. (59644)
  • Shadow support enable skip serialization for dynamic blocks. (59887)
  • FlatTermSelector: Invalidate optimistic update if term creation fails. (59945)

Global Styles

  • Fix retrieval of referenced preset values in editor. (59811)
  • Global Syles: Apply fallback background color to typography elements. (59347)
  • Presets: Show the default empty variation as well as the other presets. (59717)
  • Remove filter for same number of settings. (59590)
  • Site editor: Find font families for typography presets crashes editor. (59806)
  • Force root min-height of 100% for backgrounds. (59809)
  • Featured Image: Fix block support selectors after shadow support addition. (60184)
  • Fix list of base theme fonts when a theme variation is applied.. (59959)

Patterns

  • Add pattern title in create modal in post editor. (59550)
  • Implement pattern overrides behind IS_GUTENBERG_PLUGIN flag. (59702)
  • Pattern Explorer: Pass ‘rootClientId’ to the pattern list. (60014)
  • Pattern Shuffling: Don’t assume that patterns have categories. (60070)

Data Views

  • Ensure the ‘select all’ checkbox appears on hover. (59799)
  • Fix: Regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5.: Default templates and template parts views do not work. (59794)
  • Ignore cmd-click when row not selectable. (59697)
  • [DataViews]: Fix item actions. (59748)

Components

  • DateTimePicker: Change day button size back from 32px to 28px. (59990)
  • Fix unwanted ToggleGroupControl backdrop vertical animation. (59642)
  • PaletteEdit: Fix order numbers. (52212)

Layout

  • Experiments: Fix label typo: “Grid interactivity”. (59796)
  • Show inherit toggle in the absence of settings.layout object. (59580)
  • Use correct layout type to display controls. (59979)

List View

  • Block Bindings: Remove Block Bindings icon from List View, fixes and CSSCSS Cascading Style Sheets. updates. (59477)
  • Heading Block: Show default block name in list view when content is empty. (59827)
  • Blocks: getBlockLabel: Use RichTextData.toPlainText if available. (58524)

Data Layer

  • Fix getEntityRecordsTotalPages when per_page is not provided. (59983)

Icons

  • Fix return icon viewbox. (59669)

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)

  • Add tooltip to several Back buttons. (59760)
  • Make save panel a dialog with proper labels, fix site editor focus loss after save. (59622)
  • Fix labeling of the navigation links in the list view. (59370)

Documentation

  • Block JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. schema: Add layout.allowCustomContentAndWideSize field. (59736)
  • Components: Fix headline hierarchy in README. (59726)
  • Components: Hide private READMEs from handbook. (60003)
  • Dataviews: Improve story. (59773)
  • Docs/fix typo in metadata reference guide. (59577)
  • Docs/fix typos and clarify wording in blocks supports guide. (59721)
  • Docs/fix typos in block context. (59575)
  • Docs/fix typos in block registration guide. (59720)
  • Docs/fix typos in block supports. (59919)
  • Docs/fix typos in edit and save reference guide. (59576)
  • Docs: Flex – Fix headline hierarchy. (59686)
  • Docs: List all minor versions on Versions in WordPress page. (58003)
  • Docs: Remove alert callout on block selectors page. (60020)
  • Docs: Update Interactivity API package readme. (59763)
  • Fix broken links in Interactivity API documentation. (59715)
  • Fix sample code on InputControl documentation. (59517)
  • Fix typo in platform-docs. (60042)
  • Fix: Invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. links to getting started with JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/.. (59927)
  • Fixes pseudo code doc block to use real PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher. (60012)
  • HeadingLevelDropdown: Fix JSDoc and documentation. (59727)
  • Improve Gutenberg platform documentation homepage. (59749)
  • InputControl: Make onChange observable in Storybook. (60055)
  • Interactivity API Docs: Clarify that getElement()’s ref can be null. (59868)
  • Platform Docs: Fix JSX error. (59967)
  • Plugin short description less than 150 characters. (59661)
  • RadioControl: Update deprecated suggestion in readme. (60002)
  • Replace screenshots of Radio Control. (60024)
  • Replace “sidebar” with “panel” in README.md. (59664)
  • Update GitHubGitHub GitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ edit URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in docusaurus.config.js. (59969)
  • Update ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org/. documentation links for forms. (59657)
  • Update api-reference – data-bind–hidden is an incorrrect attribute – should be data-wp-bind–hidden. (59955)
  • Update block supports documentation for WordPress 6.5. (59862)
  • Update dependency-extraction-webpack-plugin documentation. (59973)
  • docs: Fix syntax in block filters example. (59636)
  • theme.json schema: Add settings.color.caption definition. (60017)

Code Quality

  • Add $schema to tsconfig files. (59861)
  • Added @global to PHP documentation Comments. (59725)
  • Consolidate template actions components. (59586)
  • Core Data: Clarify comments for entities’ plural methods. (59946)
  • Fix Code Standards for RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 2 release. (59774)
  • Fix typo in Dataviews and Font Collection packages. (59656)
  • Fix: Typo correction tff to ttf. (59665)
  • Global styles utils: Remove unused vars. (59805)
  • Refactor zoom-out iframe scale. (59618)
  • Refine include/exclude patterns in phpcs.xml.dist. (59712)
  • Typography Presets: Use && rather to avoid a messy nested conditional. (59920)
  • synchronizeBlocksWithTemplate: Extract common functions. (59682)

Block Editor

  • Block tree reducer: Avoid nested update for insertUsage. (59681)
  • Block tree reducer: Avoid repetitive Map.get. (59672)
  • BlockSettingsDropdown: No need to cast ‘clientIds’ to an array. (59940)
  • BlockSettingsMenuControls: Remove ‘__unstableDisplayLocation’ prop. (59942)
  • Don’t memoize callbacks in ‘BlockSettingsDropdown’. (59397)
  • Link dialog: Remove CSS hack. (59746)
  • Pattern Explorer: Remove leftover source filter state handlers. (60019)
  • Fix code formatting in Nav block view file. (60162)

Components

  • Button : Deprecate isSmall prop. (59734)
  • Button: Keep deprecated props in type definitions. (59913)
  • Replace isSmall prop with size in NavigationMenuSelector. (59667)
  • Replace isSmall prop #53560. (59302)
  • TextareaControl: Remove extra closing curly brace in inputStyleNeutral. (59744)
  • Update Snapshots for line height. (60041)

Block Library

  • Add explanatory comment to Nav Link block fix for Command Center. (59864)
  • Enforce @SInCE tags in block-library/src//.php files. (59700)
  • Refactor Enter keypress on Nav Link. (59848)
  • Update Nav block permissions variable naming accuracy. (59882)

Global Styles

  • Fetch the variations inside the component. (59588)
  • Theme JSON: Remove unused vars in layout class. (59938)
  • Use the preivew iframe to preview typography for consistency. (59587)
  • Background block supports: Move size defaults to hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. and block.json. (60008)

Plugin

  • Remove unnecessary ‘IS_GUTENBERG_PLUGIN’ check in ‘load.php’. (59873)
  • Update PHP Sync Issue generation script to ignore PRs with given labels. (59549)

Data Views

  • Update: Dataviews do not use strings on isCustom props passed down. (59609)
  • [Data Views]: Remove separator in item actions. (59822)

Data Layer

  • Data: Deprecate the getIsResolving selector. (59679)

Tools

Build Tooling

  • Add inline comment denoting version for Ruby setup. (59640)
  • Build: Dedupe packages. (57800)
  • GitHub Actions: Fix PHP file change detection logic. (59653)
  • Improve likelihood of Cherry Picking script including all PRs. (59871)
  • Interactive template: Use wp_interactivity_data_wp_context function. (59995)
  • Test: Dynamically detect and set max-workers. (59904)
  • Update docusaurus to the latest version. (59866)

Testing

  • Remove @kevin940726 and @Mamaduka from end-to-end test codeowners. (60067)
  • Upgrade Playwright to v1.42. (59339)
  • Use viewScriptModule block.json field for interactivity end-to-end tests. (59705)
  • end-to-end theme switch: Match incoming theme slug, then optional folder. (59851)

First time contributors

The following PRs were merged by first time contributors:

Contributors

The following contributors merged PRs in this release:

@aaronrobertshaw @afercia @afragen @ajlende @alexstine @andrewfleming @anton-vlasenko @artemiomorales @bacoords @c4rl0sbr4v0 @carolinan @chrisbellboy @colinduwe @creativecoder @DAreRodz @dcalhoun @draganescu @ellatrix @enejb @enodekciw @flexseth @fluiddot @gaambo @georgestephanis @geriux @getdave @huzaifaalmesbah @inc2734 @J0n-92 @jaclync @jameskoster @jasmussen @Jayanth-Parthsarathy @jeryj @jorgefilipecosta @jsnajdr @kevin940726 @krokodok @luislard @Mamaduka @matiasbenedetto @mattsherman @mcsf @megane9988 @michalczaplinski @mirka @mujuonly @mzahir @ndiego @noisysocks @ntsekouras @oandregal @pbking @ramonjd @rcoll @SahilThakur02 @Sam-Xronn @scruffian @shail-mehta @SiobhyB @sirreal @Soean @Strangehill @sunil25393 @swissspidy @t-hamano @talldan @tellthemachines @TeresaGobble @tjcafferkey @tomepajk @tyxla @vcanales @youknowriad

Props to @greenshady for review, @annezazu for highlights selection ,and @joen for the visuals in this post.

Agenda, Dev Chat, Wednesday March 27, 2024

The next WordPress Developers Chat will take place on  Wednesday March 27, 2024 at 20:00 UTC in the core channel on Make WordPress Slack.

The live meeting will focus on the discussion for updates on 6.5, and have an open floor section.

Additional items will be referred to in the various curated agenda sections, as below. If you have ticketticket Created for both bug reports and feature development on the bug tracker. requests for help, please do continue to post details in the comments section at the end of this agenda.

Announcements

WordPress 6.5 was scheduled for release on March 26, 2024, however, the release has now been rescheduled for April 2, 2024. Thanks to everyone involved in the related discussions around delaying the release by one week.

Forthcoming releases

Next major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope.: 6.5

Updates from the release squad can be shared in the Dev Chat.

Please continue to test the 6.5 release. See this list of key features to test, which was published alongside WP 6.5 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 3.

Next 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/ release: 18.0

Gutenberg 18.0 is scheduled for release on March 27 and will include these issues.

Discussions

This week the discussion will focus on any priority topics that need to be raised before the launch of WordPress 6.5.

Proposed topics

  • Are there any priority topics needed for discussion for WordPress 6.5 release preparations?
  • Follow-up for the release squad for 6.6

Feel free to suggest additional topics related to this release in the comments.

Highlighted posts

CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor Updates

Props to @annezazu for putting together these updates.

Tickets for assistance

Tickets for 6.5 will be prioritized.
Please include detail of tickets / PR and the links into comments, and if you intend to be available during the meeting if there are any questions or will be async.

Open floor

Items for this can be shared in the comments.

Props to @joemcgill for reviewing.

#agenda, #dev-chat

Hallway Hangout: Data Liberation Discussion and Brainstorm

Data Liberation is a major focus for the WordPress Project in 2024 – furthering the mission of Democratizing Publishing by making it easier for people to get their content in and out of WordPress.

This is an exciting area of work, but also very broad. It is important to make sure the initiatives that make up this work are best suited to be impactful and meet the needs of real users. 

Come and join an open discussion on this area of work – and help shape the future of data liberation in WordPress.

In this informal chat we may touch on:

  • Challenges of migrating from third-party platforms to WordPress
  • The good, bad, and ugly of exporting WordPress content
  • The potential of interoperability between 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. libraries and page builders
  • What work will make data liberation, and who should work on it

Join us on Zoom at Wednesday, April 3, 2024, at 7pm. Add this event to your Calendar.

If you’d like to do some reading in advance I can recommend checking out:

Performance Chat Summary: 26 March 2024

Meeting agenda here and the full chat log is available beginning here on Slack.

Announcements

  • Welcome to our new members of #core-performance
  • WordPress 6.5 delayed (see blog post):
    • RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 4 will be March 28
    • Release April 2
  • Performance Team have launched two new plugins
    • Optimization Detective 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
    • Embed Optimizer plugin
  • Reminder on timezone difference for this week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024

Priority Items

Structure:

  • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
    • Current release
    • Future release
  • Performance Lab plugin (and other performance plugins)
  • Active priority projects
    • INP research opportunities
    • Improve template loading

WordPress Performance Trac Tickets

  • For WordPress 6.5:
    • @flixos90 Nothing concrete, though since part of the reason for the release delay is changes to the Font APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways., we should probably keep an eye on that it doesn’t regress performance. As far as I understand the scope of the changes, it shouldn’t… but still worth staying on top of
  • For Future Releases:
    • We already have 14 open items in the 6.6 milestone
    • @flixos90 update on #42441 (enhancing autoload API and disable autoload for large options) – The PR has two approvals and looks excellent to me, so I’ve marked the ticketticket Created for both bug reports and feature development on the bug tracker. for commit
      • Going to wait for a few more days to see if any additional feedback comes in, but generally plan to commit this next week so that we can get a lot of testing during the 6.6 release cycle

Performance Lab Plugin (and other Performance Plugins)

Active Priority Projects

    Improve template loading

    INP research opportunities

    • @adamsilverstein As promised, I have collected the results of my INP research and am sharing now in this summary doc (along with a linked spreadsheet with all the data). If you want access to the colab and queries, please request it directly in the colab.
      • The summary doc Analysis section highlights some notable data for both coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and plugins/themes (with action items) that will be worth investigating further. Since there is a ton to absorb there, I think its best to leave comments/questions on the doc itself so we can discuss async, and maybe we can discuss further at a subsequent meeting.

    Open Floor

    • @pbearne one ticket from the old tickets https://core.trac.wordpress.org/ticket/29717 might worth looking at
    • @joemcgill We’ve traditionally done a post following a major releasemajor release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope. which gives an overview of the performance characteristics of that release. I was planning to draft one for 6.5 once we can take a final set of benchmarks, but I’m assuming that we’re going to end with similar metrics to what we’ve been seeing in the last several RCs, since we’ve not had any new improvements or regressions. I’ll also include details about the editor improvements, but that doesn’t effect any of the CWV metrics we’ve been focusing on. I’d appreciate any thoughts folks have about how to communicate the performance of 6.5 clearly, while accurately reflecting that our benchmarks do NOT show an improvement over the previous release.
    • REMINDER: This meeting will switch to 15:00 UTC from April 2 (next week) onwards

    Our next chat will be held on Tuesday, April 2, 2024 at 15:00 UTC in the #core-performance channel in Slack.

    #core-performance, #performance, #performance-chat, #summary

    WordPress 6.5 release delayed 1 week

    Based on community feedback on the Unblocking WP6.5 – Font Library and Synced Pattern Overrides and Font Library follow up posts, there has been a change to the WordPress 6.5 release schedule and a final change to the Font Library. 

    The release of WordPress 6.5 will be delayed one week and is now scheduled for release on Tuesday, April 2nd, 2024.

    The delay is to accommodate the following:

    • The directory for font storage will be changed to wp-content/uploads/fonts.
    • The Editor team will work on including fixes for a select few high impact bugs that have been identified with the Font Library feature in the upcoming 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/ 18.0.0 release. This ensures they will receive some testing before being considered for merge into trunk prior to WordPress 6.5 RC4.
    • An unplanned WordPress 6.5 RC4 is now scheduled for release on 28 March 2024 at 16:00 UTC with the updated font storage location and any other related bugs deemed critical to the release. This will be a normal release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)., with the announcement being published on the 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/ News blogblog (versus network, site) for extra reach.
    • The 1 week delay allows for ample time for testing, acknowledging that Thursday-Monday is a major holiday for parts of the globe.

    Why the change?

    This approach ensures that the greatest number of sites possible can benefit from the new Font Library feature without the need to install or configure anything.

    While attempting to implement the originally suggested compromise, the sentiment from the trusted contributors involved was that a solution could not be shipped with a level of confidence that meets the standards that core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. hold themselves to in the remaining time before the originally scheduled release.

    After evaluating the potential options and discussing the proposed solution, the most risk averse option was determined to be storing fonts in the wp-content/uploads/fonts directory.

    Shipping a feature that requires additional configuration or technical knowledge isn’t in line with the guiding philosophies that have helped the project mature into the successful project that exists today. Part of the original post was a call to return back to those project philosophies, and something this change attempts to adhere to.

    The Dry run post will be updated to reflect the schedule for the new release date of 2 April.

    Post release

    Following the 6.5 release, these items detailed in the original post should still be explored:

    • A roadmap will be published outlining where the project components are headed in relation to establishing new first-class concepts outside of previously established paradigms within the software (like breaking down themes into fonts, patterns, templates, etc.). Why was this such an important and impactful decision? What is the goal we are trying to accomplish? And how might it present itself again in the future?
    • A means to move the canonical location of the fonts directory. Should the wp-content directory become writable for a site, a safe path forward should be offered for its owners.
    • Explore whether additional checks should be added to Site Health.

    Props to @desrosj, @davidbaumwald,@hellofromtonya, @chanthaboune, @peterwilsoncc, @priethor, @jorbin, @annezazu, @akshayar, & @courane01 for pre-publish review.

    #6-5, #core, #release-process

    Performance Chat Agenda: 26 March 2024

    Here is the agenda for this week’s performance team meeting scheduled for Mar 26, 2024 at 16:00 UTC.

    • Announcements
      • Welcome to our new members of #core-performance
      • WordPress 6.5 delayed:
        • RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). 4 will be March 28
        • Release April 2
      • Performance Team have launched the new Optimization Detective plugin
      • Reminder on timezone difference for this week, this chat will remain at 16:00 UTC and then shift to 15:00 UTC from April 2, 2024
    • Priority items
      • WordPress performance TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. tickets
        • Current release
        • Future release
      • Performance Lab 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 (and other performance plugins)
      • Active priority projects
        • INP research opportunities
        • Improve template loading
        • Plugin checker
    • Open floor

    If you have any topics you’d like to add to this agenda, please add them in the comments below.


    This meeting happens in the #core-performance channel. To join the meeting, you’ll need an account on the Make WordPress Slack.

    #agenda, #meeting, #performance, #performance-chat

    WordPress 6.5 Release Day Process

    UPDATE: Following Font Library-related discussion the release party has been rescheduled to April 2nd, 2024.

    Preparation for the WordPress 6.5 release is underway.

    This post shares the release process, including the timeline and how you can help.

    Release Timeline Overview


    Dry Run

    The Dry Run is a key event as a final walk-through for the final release. As noted above, this is scheduled on April 1, 2024 in the #core Slack channel.

    What happens usually during the dry run?

    • Bug reports are reviewed to determine if any are critical to warrant another RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). (release candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).).
    • Checks and any necessary updates are made in the src/wp-adminadmin (and super admin)/includes/update-core.php file.
    • Pre-release scripts are run to ensure test suites, coding standards, and other automated checks pass.

    If the results are acceptable, the release will go into a 24-hour code freeze period.

    24-Hour Code Freeze 

    After the dry run and before the release party starts, a mandatory 24-hour code freeze goes into effect.

    What does this mean? No source code for 6.5.0 (i.e., in the 6.5 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".) can be changed during these 24 hours.

    What happens if a critical bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. is reported during this period? The release squad will meet with committers and maintainers to determine if the issue is a blockerblocker A bug which is so severe that it blocks a release..

    • If yes, another RC release happens, and the release process restarts (meaning the dry run is repeated, and then the 24-hour code freeze clock restarts).
    • If not, then the bug is targeted for 6.5.1.

    The Release Party 📅

    The WordPress 6.5 Release Party will start on Tuesday, April 2, 2024 at 17:00 UTC in the  #core Slack channel.

    The release party walks through the steps in the Major Version Release process for anyone who wants to follow along.

    Please note releasing a major version requires more time than releasing a betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. or release candidate. There are more steps in the process. If any last-minute issues need addressing, more time will be needed.

    How You Can Help

    A key part of the release process is checking that the ZIP packages work on all the available server configurations. If you have some of the less commonly used servers available for testing (IIS, in particular), that would be super helpful. Servers running older versions of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. will also need testing.

    You can start this early by running the WordPress 6.5 RC3 packages, which are built using the same method as the final packages.

    During the release party, options will be provided on how to help test the release package.

    Tips on What to Test

    In particular, testing the following types of installs and updates would be much appreciated:

    • Does a new WordPress install work correctly? This includes running through the manual install process, as well as WP-CLIWP-CLI WP-CLI is the Command Line Interface for WordPress, used to do administrative and development tasks in a programmatic way. The project page is http://wp-cli.org/ https://make.wordpress.org/cli/ or one-click installers.
    • Test upgrading from 4.0.38, 4.9.22, 5.8.6, 5.9.5, 6.0.3, 6.2.2, 6.3.0, 6.4.0, 6.4.1, 6.4.2 and 6.5 RC3, as well as any other versions possible.
    • Remove the wp-config.php file and test a fresh install.
    • Test single site and multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site/networknetwork (versus site, blog) (both subdirectory and subdomain) installations.
    • Does it upgrade correctly? Are the files listed in $_old_files removed when you upgrade?
    • Does multisite upgrade properly?

    Testing the following user flows on both desktop and mobile would be great to validate each function as expected:

    • Publish a post, including a variety of different blocks.
    • Comment on the post.
    • Install a new 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/theme, or upgrade an existing one.
    • Change the site language.
    • If you’re a plugin developer, or if there are complex plugins you depend upon, test that they’re working correctly.

    For a more in-depth list of what features to test, make sure to check the Help Test WordPress 6.5 post.


    Thanks to @davidbaumwald, @priethor for the peer review.

    #6-5, #core, #release-process