Theme previews in the time of blocks

Hello! As you may have seen mentioned 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/., with the help of @dinhtungdu and @dd32 the theme previewer site (wp-themes.com) now shows starter content for the following bundled themes:

I understand there may be some confusion about various aspects of this, notably why does this feel like it came out of nowhere and what’s going to happen next, so as the primary driver of this particular effort I’d like to explain the thought process here and open it up for discussion as to what’s next. The summary is: the development happened very quickly over the past week thanks to some availability, it is only for those three bundled themes right now, it is not going to remain limited forever, and there are items to move forward both in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. and in the realm of theme development.

It has long been my belief, which I think many share, that the theme previewer site in today’s context does a serious disservice to themes. I also believe that between blocks, 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. patterns, and eventually full site editing, it is more important than ever to the broad success of the WordPress project for themes to showcase their ideal states and make it easier for users to achieve the same thing on their sites. Starter content, introduced in 4.7, was a step in this direction, but has languished for quite some time. I published a post on Make/Core to revisit the concept last month, which is also worth reading, but the important part to consider here is:

since we have a new default theme coming, we should consider what kind of starter content can both showcase the theme in a demo and also help new users get started with block patterns and other fun features – a walkthrough, if you will. Based on experience with starting content, we will want to strike a balance between showing users what they can do and adding too many individual pieces of content that have to be tracked down and removed if they don’t want it.

Also for reference, some priorities I originally outlined for starter content back in 2016:

  • Not adding (much) to the theme review tasks.
  • A consistent experience for users as they preview/try out themes.
  • Encouraging authors to best showcase their themes with content that inspires users, not put them off with advertising.
  • Potentially be able to teach a bit about using WordPress through that content (e.g. instructions on editing/managing multi-part homepages).
  • Provide translated/localized content in a sane way, and have a wide enough contributor base that the content is broadly understandable and not (too) culture-specific.

I think if we’re smart about how we choose to implement this, the same content can be used to populate and do some amount of set up for .org previews even in their current state.

Since this is very new and is truthfully a “minimal viable product”, I would like this to remain limited to the bundled themes with starter content for the moment. We need to monitor for its behavior on the live environment, and while this works for the teams behind those particular bundled themes, we need your feedback about your themes to make this both broadly useful and most effectively serve its purpose for users. For instance, using starter content is a part of running this as an MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia effort, but starter content and demo content may not ideally be the same thing.

Some points of discussion I’d like to seed are:

  • What have your experiences with starter content been like, both as users and as theme developers?
  • What has the impact been of starter content on theme reviews?
  • Are starter content and demo content necessarily the same thing for all or even any themes?
  • What other content makes sense for the theme previewer site to be displayed for all themes in addition to theme-specific starter content? (See this Meta Trac ticket for more discussion.)
  • Does it make sense to document a set of best practices surrounding starter content?
+make.wordpress.org/core/

Feedback requested: Resolution process for issues found in live themes

Thank you to everyone who participated in the discussion a few months ago about how this team should address issues that are discovered with themes that are live in the directory!

It’s great when people are willing to share their thoughts about the ideal or preferred way to resolve problems, because it helps the team understand what theme authors expect and prefer — which helps reviewers design a process that is less surprising for theme authors.

The purpose of this post is to gather feedback on a proposal for how this team should address issues found in themes that are already live in the directory.

All feedback is welcome, but in particular, it would be helpful to know:

  1. Are there any parts of this process that might be unclear or confusing?
  2. Does the process seem too strict, too permissive, or just about right?
  3. Should anything be added to this process (keeping in mind that all reviewers are volunteers who have limited time available)?
  4. Does this process fail to address any significant issues or steps needed for resolution?

Resolving low- to moderate-impact issues

Some examples of low-impact or moderate-impact issues are:

  • Screenshot issues
  • Overuse of content creation in 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.
  • 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 functionality type features
  • Demo content import
  • Failing to meet expectations/guidelines which were added more than 6 months ago
  • Recommending plugins without reason or good integration in the theme

Resolution process: 

When a theme reviewer notices that a live theme does not match the theme guidelines, a theme author should expect the following steps:

  1. The theme author will be emailed with an explanation of the issue(s) and a request to resolve them. The email will include a deadline for the requested changes, which will allow the author at least 7 days to submit changes, and a link to a page with information about the resolution process. 
  2. If the changes are submitted before the deadline, then
    1. they will be reviewed and approved, or 
    2. the author will be informed of additional changes that must be made. 
  3. If changes that resolve the issue are not submitted on time, then the theme may be “delisted” until the issues are resolved. 
  4. Once the theme is delisted, if the theme author does not submit changes that resolve the problem within 3 months, the theme will be suspended until the changes have been resolved. 

Resolving high-impact issues 

Some examples of high-impact issues are:

  • License issues
  • Security issues
  • User tracking-related issues
  • User Consent Issues 
  • Advertising, promoting or otherwise endorsing any real products and/or services on the front (except the theme credit link)
  • PHPPHP PHP (recursive acronym for PHP: Hypertext Preprocessor) is a widely-used open source general-purpose scripting language that is especially suited for web development and can be embedded into HTML. http://php.net/manual/en/intro-whatis.php. Fatal Errors* (If a theme is found to throw fatal errors on activation, it is not compatible with modern (PHP 7+) or they are not compatible with the most recent versions of WP.)

Resolution process: 

*If a theme is found to have PHP errors, it will immediately be suspended until the author uploads fixes. (This is to prevent the theme previewer error logs being cluttered and to prevent new users running into the issue.)

When a theme reviewer notices a high-impact issue in a live theme, a theme author should expect the following steps:

  1. The theme author will be emailed with an explanation of the issue(s) and a request to resolve them. The email will also include:
    1. A deadline for the requested changes, which will allow the author at least 3 days to submit changes. 
    2. An explanation of what will happen if the changes are not submitted in time, or if the changes don’t solve the issue(s).
  2. If the changes are submitted before the deadline, then
    1. they will be reviewed and approved, or 
    2. the author will be informed of additional changes that must be made. 
  3. If changes that resolve the issue are not submitted on time, then the theme will be “delisted” or suspended until the issues are resolved. 
  4. Once the theme is delisted, if the theme author does not submit changes that resolve the problem within 3 months, the theme will be suspended until the changes have been resolved. 

Repeated Issues

In the case of a theme author who demonstrates a pattern of failing to meet theme directory expectations when updating themes  — for example, by breaking a certain guideline repeatedly after correcting it in the past, or by breaking different guidelines repeatedly in a period of 3-12 months, then all of the author’s themes may be suspended from the directory, permanently. The author may appeal this decision with the Executive Director (Josepha Haden Chomphosy) or Project Lead (Matt Mullenweg). 


Exceptions

Sometimes special cases will be discovered, which can’t be resolved by the processes described above. Those should be rare, but might include the following situations: 

  • A theme passed the initial review and was added to the directory but should not have been added because it is a clone, or for other foundational reasons. In this case, the theme will be suspended immediately and the author will be warned that another attempt to submit a cloned theme to the directory will result in a lifetime ban. 

Delisting as mentioned in the post, relies on the delisting option being implemented.


The feedback period will be open until December 7th, to allow the team representatives time to summarize it for the December 8 biweekly meeting.
At that time, the team will adjust the proposed process as seems necessary, and then publish the process in the handbook.

Thanks for your time, and for sharing your themes on 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/!

#feedback, #themes-team

Block-based Themes Meeting Agenda: November 18

Below is the agenda for this week’s Block-based Themes meeting.

Time: Wednesday, November 18, 2020, 16:00 UTC
Channel: #themereview

Agenda

  • 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.-based theme updates 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/
  • Check in & discussion about the Block-based Twenty Twenty-One Theme
  • Open Floor / Q&A

Please comment if you have any other topics you’d like to see discussed!

+make.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//coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.#agenda #meeting

Themes Team Meeting Agenda for November 10

The themes team conducts a meeting on the second and fourth Tuesday of the month.

Along with the fixed agendas, we have an open floor at the end where you can ask or share anything related to themes.

We encourage all members and anyone interested to attend.

Channel: #themereview | Time: Tuesday, November 10th 2020, 15:00 UTC

Meeting Agenda

  1. Weekly Updates
  2. Updating 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) requirements for links
  3. Removing the requirement of specific CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. classes
  4. Organizing documentation and tutorials for Full Site Editing themes
  5. Open floor

Weekly Updates

Current statistics can be found on: https://themes.trac.wordpress.org/ 

Themes TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. ticket graph: https://themes.trac.wordpress.org/ticketgraph

Updating accessibility requirements for links

When the team started applying accessibility requirements on all themes in 2019, the intention was to introduce new requirements every few months. This was not followed up for a couple of reasons, but it has always been the intention to continue to improve the accessibility of the themes.

We would like to propose that the following requirement is applied to all themes in the directory:

Links within content must be underlined.
When links appear within a larger body of 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.-level content, they must be clearly distinguishable from surrounding content.

Links in navigation-like contexts (e.g. menus, lists of upcoming posts in widgets, grouped post 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) do not need to be specifically distinguished from surrounding content.

The underline is the only accepted method of indicating links within content. Bold, italicized, or color-differentiated text is ambiguous and will not pass.

https://make.wordpress.org/themes/handbook/review/accessibility/required/#content-links

Removing the requirement of specific CSS classes

This proposal is about removing the requirement for the following CSS classes:

.sticky
.bypostauthor
.alignleft
.alignright
.aligncenter
.wp-caption
.wp-caption-text
.gallery-caption

It is up to the theme author if they want to support legacy content, how they choose to implement post- and block alignments, and how they choose to implement sticky posts within the current requirements.

Organizing documentation and Tutorials for Full Site Editing themes

During last weeks block based theme meeting, there was a discussion about writing tutorials for full site editing themes.

Writing tutorials that will be kept up to date is going to be challenging, but that aside, this documentation needs to be placed somewhere.

Do we want to create a separate handbook for Full Site Editing themes? Or is it better to include it in the existing Theme Developer Handbook, or in the Block editors tutorial section?


Please comment in the comment box below if you have anything to bring up during the open floor.

#agenda, #meeting, #themes-team

Block-based Themes Meeting Agenda: November 4

Below is the agenda for this week’s Block-based Themes meeting.

Time: Wednesday, November 4, 2020, 16:00 UTC
Channel: #themereview

Agenda

  • 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.-based theme updates 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/
  • Check in & discussion about the Block-based Twenty Twenty-One Theme
  • Open Floor / Q&A

Please comment if you have any other topics you’d like to see discussed!

+make.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//coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.#agenda #meeting