Theme Directory changes

The WordPress.org theme directory will now be accepting direct SVN access for theme updates. This means there’s two changes we need made on the systems side.

Everything else will remain the same for now, we’ll continue to accept ZIP uploads and apply the same theme checks on import. Initial theme submissions will continue to be ZIP-upload only, only updates will be available through 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/..

Dynamic SVN Auth file

The SVN auth file will need updated, similar to plugins:

  • Create a copy of update-wp-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-auth.sh & setup the cron task for it.
  • SVN Auth file is available at https://wordpress.org/themes/wp-json/themes/v1/svn-auth
  • Use Authorization: BEARER $THEME_SVN_AUTH_BEARER_TOKEN as defined in secrets.php

The file is currently minimal and only outputting a few lines, but will be ~25k lines when it’s opened to theme authors.
This can be tested by editing wp-content/plugins/theme-directory/rest-api/class-internal.php to either bypass auth temporarily or to output all authorship rules.

pre-commit ruleset for SVN commits

In order to prevent having to rebuild a bunch of things that are reliant upon themes.svn, we’d like to add some pre-commit rules to force commits to be in a specified format, rather than mostly free-form as plugins.svn is.

Rules:

  • Are always in a /Theme-Slug/1.2.3/ folder
  • Is a newer version than currently live
  • Does not alter existing versions (treat them as tags)
  • The /1.2.3/ folder matches the style.css Version:1.2.3 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. value

I’ve put together some rules that work in my testing, but I’m unsure if there’s a different way you’d like to implement it. These were tested against my own SVN server mimicking svn.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/ configuration.

#prio1, #svn, #themes

Grant default theme commit to @ianbelanger

I need to get theme commit access for @ianbelanger to manage work on the default themes. Our most recent two theme committers have had to step back and they worked with him directly to do some training/hand off. I will make sure to share the following documentation with him as well:

  • https://make.wordpress.org/community/handbook/wordcamp-organizer/first-steps/web-presence/computer-security-best-practices/
  • https://make.wordpress.org/core/handbook/best-practices/when-you-become-a-committer/
  • Not a post, but the welcome/onboarding chat as has been passed down to me by @desrosj @mikeschroder and @aaroncampbell.

This is a #prio2, but would be great to get sorted for work on WP5.2.3 and WP5.3.

#commit #themes

Seeing some problems with the theme prev…

Seeing some problems with the theme previews on /extend. Seems that there’s some kind of server-side caching of files going on and updates aren’t showing in the previewer properly. Not sure when it started.

Example: Minimal Georgia is at version 1.3.

http://wp-themes.com/wp-content/themes/minimal-georgia/style.css shows version 1.2.

http://wp-themes.com/wp-content/themes/minimal-georgia/style.css?foo shows version 1.3.

Is there some good way to invalidate the cache, given that we can’t really modify the themes themselves to add versioning information to the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org? I suppose you could put in some kind of 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 to use output caching to look for *.css and such, but that seems haphazard and weird.

I’m really not sure that the wp-themes.com domain should be doing that kind of server-side caching anyway.

#cache, #extend, #themes, #wp-themes-com