Theme upload survey results & next steps

As most of you should know by now, for the last six weeks we’ve had a survey running on the themes upload page to get feedback on how theme authors would like to upload updates to their themes in the future.

The primary purpose of the survey was to determine what the preferred method of uploading themes would be, as the ZIP upload is often touted as a pain point in the entire process.

Thank you to the 256 people who submitted feedback. I’m going to summarise the results here for transparency and the next steps 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. team are going to take.

As can be seen below, the preferred method is to continue with ZIP Uploads, followed by 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/./GitHubGitHub GitHub is a website that offers online implementation of git repositories that can 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/ integration, Direct SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. access, and finally “anything other than ZIP, SVN, and GIT”.

Reading the free-form feedback, there’s a two main things that caught my attention:

  1. Not everyone uses GitHub (or even a VCS), and didn’t want to see that be the only option.
  2. Some who preferred GitHub, suggested that SVN was the second best option.

It’s clear that for some authors ZIP uploads are preferable, There are no plans to remove this. But it’s also clear that many others wish to use a version-control system of some form to automate releasing updates – to remove the need to create a ZIP and upload it manually.

Next Steps

Here’s the suggested immediate plans forward:

  1. Enable theme updates to be submitted via SVN. #5899-meta
  2. Remove TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets for theme updates.
  3. Create/Encourage the creation of a GitHub action, to automate releasing from GitHub to 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/.

I’ll create Trac tickets to track these once everyone has had a chance to review this post, and given me a chance to clarify any points.

Enabling access to SVN

Enabling access is straight forward, but processing updates from SVN is not as easy. We’ve determined that the simplest way to make this happen is to require some very specific rules be followed:

  1. Updates must be stored in a `/THEME/VERSION/` structure similar to the existing use.
  2. Once an update is committed, it cannot be changed or altered in any way – even just to fix a typo.
  3. Versions must be in a standardised format, and must be higher than an existing version.

Themes.svn would be used as a “deployment destination” rather than as the primary location of development for a theme. One commit per version. No Trunk folder. etc.

Remove Trac tickets for updates

By disabling the trac ticket creation for updates to existing live themes, we can reduce the noise in Trac and focus it on being Theme Reviews, while at the same time simplifying the process for importing from SVN.

Git/GitHub integration

The WordPress.org PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party directory doesn’t have any Git/GitHub integration, but there is a 3rd-party supported action which allows for Plugin authors to have GitHub tags/releases be pushed to the WordPress.org plugins SVN repository automatically. Git-svn is also used by some here to keep everything within their own Git repository.

By enabling SVN access for themes, we’re opening the possibility of a similar action to be created, and leaving the door open for a future iteration where GitHub is built directly into the Plugin & Theme directories.

Thoughts? Concerns?

#5899-meta

Themes Team Meeting Agenda for September 14, 2021

Channel: #themereview | Time: Tuesday, September 14 2021, 15:00 UTC

The themes team conducts a meeting on the second and fourth Tuesday of the month.
The meeting takes place in the #themereview channel on WordPress 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 you need an account to participate.

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.

Meeting agenda

  1. Weekly updates
  2. 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

Check regular weekly updates here.

Also check,


Open floor

We will discuss everything related to themes. Attendees can ask or share themes-related things.

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

#agenda, #themes-team

Gutenberg + Themes: Week of September 6, 2021

Hello! This is the 64th weekly roundup of theme-related discussions, fixes, and developments 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/.

As always, please weigh in on the tickets below — your feedback is crucial and appreciated. And please comment with any issues I missed. 🙂

Active Issues / Discussions & PRs

  • Themes: Broken editor style in some themes (Twenty Twenty and Twenty Nineteen) #34479
  • Themes: Please don’t hardcode essential theme specific things. #34613  
  • Themes: Add duotone 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. styles support #34667
  • GS: Theme.json: Remove custom prefixes from properties that did not land in 5.8 #34485
  • GS: Fix for link color in containers #34689
  • GS: Clean theme data when switching themes 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. #34540 
  • GS: Navigation: Support gap via theme.json #34525 
  • GS: Social Icons: Support gap via theme.json #34526
  • GS:  Buttons: Support gap via theme.json #34527
  • Design Tools: Show “none” as an alignment option and use contextual text to clarify settings. #34597
  • Design Tools: Responsive blocks & intrinsic web design #34641 
  • Design Tools:  Border Controls: Add placeholders and base styles #34465
  • FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks. themes: Have theme.json handle minimum widths of blocks #34573 
  • FSE: Add basic support for child themes #34354

Merged/Fixed/Announced

  • Themes: Allow disabling text and background color via theme.json #34420
  • Themes: Add default editor styles applied to themes without theme.json and without editor styles #34439
  • Themes: Allow themes with theme.json to opt-out 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. gap styles #34491
  • FSE: Limit FSE admin notices to the Themes screen #34353
  • GS: Remove colors classes from the packages that are already provided by global styles #34510
  • GS: Font Appearance Control: Fix error in global styles for Site Title in TT1-Blocks #34520
  • GS: Cache global stylesheet keyed by theme #34704

General Resources

Thank you @danieldudzic for compiling this week’s summary! 

#gutenberg-themes-roundup

X-post: FSE Program Exploration: Help with the future of Block Theme Switching

X-comment from +make.wordpress.org/test: Comment on FSE Program Exploration: Help with the future of Block Theme Switching

Gutenberg + Themes: Week of August 30, 2021

Hello! This is the 63rd weekly roundup of theme-related discussions, fixes, and developments 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/.

As always, please weigh in on the tickets below — your feedback is crucial and appreciated. 

Active Issues / Discussions & PRs

  • Themes: 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. v2 #34349
  • Themes: 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. Gap: Add configuration for horizontal and vertical block gaps #34347
  • Themes: Disable the wide width control if the theme does not provide a layout.wideWidth value #34507
  • Themes: Allow disabling text and background color via theme.json #34414
  • Themes: Track changes in the size of the global stylesheet #34329
  • Themes: Allow filtering the alignment options of blocks via theme.json #34317
  • Themes: Allow themes with theme.json to opt-out of block gap styles #34491
  • Themes: Add default editor styles applied to themes without theme.json and without editor styles #34439
  • Themes: Add basic support for child themes #34354
  • Themes: 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./widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. block #33952
  • Themes: Make it possible to define duotone settings in theme.json #34073
  • FSEFSE Short for Full Site Editing, a project for the Gutenberg plugin and the editor where a full page layout is created using only blocks.: Site editor template mosaic view #33770
  • GS: Remove custom prefixes from properties that did not land in 5.8 #34485
  • GS: merge block CSSCSS CSS is an acronym for cascading style sheets. This is what controls the design or look and feel of a site. with theme.json styles #34180
  • GS: 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. to allow blocks to access global styles. #34178
  • Blocks: Post Navigation Link: Add typography settings #34381
  • Typography Tools: Tracking #34345

Merged/Fixed/Announced

  • Themes: Make global styles available to all themes #34334

General Resources:

#gutenberg-themes-roundup