Plugin Directory Chat Agenda

Agenda for this week’s meeting on September 1, 2016 at 00:00 UTC:

We’ll be meeting in #meta on Slack. If you have anything to propose to add to the agenda, please leave a comment below.

See you in the chat!


Plugin Directory Chat Agenda

Agenda for this week’s meeting on August 25, 2016 at 00:00 UTC:

  • Status update for Milestone 7, due next week.
  • Review remaining feedback items from Open Beta.
  • Open Floor.

We’ll be meeting in #meta on Slack.

If you have anything to propose to add to the agenda, please leave a comment below.

See you in the chat!


Plugin Directory Chat Agenda

Agenda for this week’s meeting on August 18, 2016 at 00:00 UTC:

We’ll be meeting in #meta on Slack.

If you have anything to propose to add to the agenda, please leave a comment below.

See you in the chat!


Plugin Directory Chat Agenda

Agenda for this week’s meeting on August 11, 2016 at 00:00 UTC:

  • Status update for Milestone 6, due next week.
  • Review remaining feedback items from Open Beta.
  • Open Floor.

We’ll be meeting in #meta on Slack.

If you have anything to propose to add to the agenda, please leave a comment below.

See you in the chat!


Plugin Directory Chat Agenda

Agenda for this week’s meeting on August 4, 2016 at 00:00 UTC:

We’ll be meeting in #meta on Slack.

If you have anything to propose to add to the agenda, please leave a comment below.

See you in the chat!

Forum Upgrade Update

Hello again! It is time for a progress update on the forum upgrade project.

Meta has had volunteers working on converting various forum-related plugins for the past year or so, and we’re now at the point where those plugins are being committed. When doing conversions, I’ve tried to concentrate on the spirit of the code, rather than having an exact match. We can’t adhere strictly to the filters and actions that were previously available in bbPress 1, as these do not always map well to a bbPress 2 code path. Additionally, in some cases bbPress 2 has a better hook available, so we can avoid needing to code conditionals into the new plugins by choosing a more precise hook.

I’m currently working through and committing the backlog of converted plugins. These are being updated to use common code structures and the ‘wporg’ text domain for translations. Generally speaking, simple filtering plugins are being committed as classes, while more complex plugins that require an admin or user interface use namespaces. All of these plugins are open source (GPL2+), and can be used in other bbPress installations. All are also easily testable with a local installation of bbPress 2 or the meta environment.

Some plugins which are integral to all of the forums are:

  • Topic Resolution — this allows topics to be set to ‘unresolved’, ‘resolved’, and ‘not a support question’ (formerly known as Support Forums)
  • Version Dropdown — this allows the user to set the WordPress version relevant to a given topic
  • Subscribe to Tags — this allows the user to subscribe to a given tag and will play an important part in the support forum for plugins and themes
  • User Moderation — this sets a user’s posts to be automatically moderated

Because all of the above plugins actually create and store data, rather than just filtering it, it is important that they be ported prior to forum upgrade. I’d rather spend the time to get all the moving pieces in place rather than convert a forum and then discover later on that I’ve left something important behind, like tag subscriptions. It is far easier to run the complete conversion once rather than trying to backfill unported data from the old tables, especially when it involves user metadata.

Props go to everyone who has contributed code to the plugin overhauls, including @nullbyte, @justingreerbbl, @Clorith, @coffee2code, @Kenshino, @SergeyBiryukov, and @netweb.

URL redirects
I’ve written a bbPress 1 plugin to handle requests to the original forum location; this will allow me to incrementally convert * to * without needing to constantly update the nginx rewrite rules. Once all the forums have been converted, then the nginx rewrite rules can be updated once and plugin removed.

Conversion script
In my first pass, I took care of most of the topic meta and user options that were plugin related, but missed the tag subscriptions and user favorites. I’ve had to go back and code some parts of the conversion script to handle this data, as well as dealing with iterating over the usermeta table.

I’ll be committing the required plugins all week so that I can start running the conversion script. Plugin testing is welcome; please ping in Slack on #meta if you have any questions or suggestions regarding the ported plugins.


Meta Team in 2015

Just a week into 2016, it’s time to take a look at what the meta team did in 2015. As a reminder, here’s a version of this post from last year.

Sure, I could give you a long list of trac tickets, but instead here’s a general overview of the bigger things we accomplished:

  • Theme Directory: Launched an all-new theme directory, completely open source and powered by WordPress instead of bbPress 1.x. Lists are now sorted by active installs instead of downloads and you can “favorite” your favorite themes.
  • Plugin Directory: Crossed 1 billion cumulative downloads. Redesigned the plugin directory. Lists are now sorted by active installs instead of downloads.
  • Translate: Launched the ability to translate themes and plugins directly on, language packs for said themes and plugins, added a stats overview, and refreshed the GlotPress interface to improve usability.
  • Rosetta: Introduced internationalized theme and plugin directories for all locales, automated Rosetta deploys, and fixed a number of issues throughout the sites. On the forums side, we launched two new internationalized forums, powered by bbPress 2.x.
  • Version 1 of the JSON API was added to, which involved customizing it so only whitelisted data was exposed. Additionally, WordCamp Payments, WordCamp Site Cloner, and WordCamp Remote CSS were launched, to say nothing of the dozens of contributions reviewed and committed. Part of WordCamp Central received a refresh as well.
  • Trac: Mentions were added throughout all of the trac instances so you can @-mention someone. Additionally, the entire design was refreshed, among other improvements.
  • Meta Environment: A number of sites were added to the WordPress Meta Environment including:,,,, and
  • Open Source: The changes in this list were mostly open source as the meta team is committed to open sourcing as much of as possible. In 2015, we also open sourced the Showcase theme and reviewed/committed numerous patches from contributors (see below).
  • Feature Plugins: Added the ability to sync feature plugins on GitHub with the plugin directory.
  • Slack: Worked on further integrations including /announce for team leads and better warning/error reporting for Translate and Meta services.
  • Devhub: Added user contributed notes to the developer reference, migrated hundreds of examples from the Codex, and added Used By and Uses section to show direct relationships.
  • Profiles: A number of teams received badges for the first time, including the core, polyglots, and training teams. Favorites was expanded to include themes and updated with plugin icons and new ratings data.
  • Centralized Logins: We started the process of centralizing logins on, which will lead to other improvements.

There’s a ton more that we did throughout the year. You can keep up with changes using the meta trac timeline.


The following 79 people‡ received 149 props over the course of 2015 to the meta repository and its related project: @adrian2k7, @akirk, @amylaneio, @ankit-k-gupta, @atimmer, @bandonrandon, @bansod_deven, @boonebgorges, @bordoni, @bowlhat, @brashrebel, @chaselivingston, @clorith, @coffee2code, @colorful-tones, @dd32, @deconf, @djpaul, @drewapicture, @dzver@empireoflight, @erikguimaraes, @folletto, @francescolaffi, @garyj, @helen, @hideokamoto, @hugobaeta, @iandunn, @isaackeyet, @jasonm4563, @jeffgolenski, @jeherve, @jeremyfelt, @joefletcher, @johnbillion, @johnjamesjacoby, @johnnypea, @kovshenin, @kraftbj, @liljimmi, @markoheijnen, @matheusfd @mcguive7, @mdawaffe, @melchoyce, @mercime, @mj12982, @morganestes, @nacin, @nao, @nataliemac, @nathanshubert, @nbachiyski, @netweb, @nickmomrik, @nvwd, @obenland, @obrienlab, @ocean90, @otto42, @pauldewouters, @pento, @pixolin, @rachelbaker, @ramiy, @rclilly, @ryelle, @sa3idho, @samuelsidler, @sergeybiryukov, @siobhan, @stephdau, @tfrommen, @tyxla, @valeriosouza, @yoavf, @zodiac1978, and @_dorsvenabili.

A HUGE thank you to all of the contributors above. I’d especially like to call out @sergeybiryukov and @ramiy, who both made large contributions (21 and 15 props, respectively) to the meta team last year.

As a basis for comparison, here’s a table of our stats in 2014 versus 2015.

2014 2015
Contributors 45 79
Props 113 149
Committers 14 18
Commits 875 1163

(The table above only includes props, committers, and commits for the meta repository, not related projects.)

‡ Note that this total includes contributors to the Meta Environment, Camptix, and Tagregator repositories.


Meta Team in 2014

We’re a few weeks into 2015, but I wanted to take a moment to look back at the meta team in 2014.

Over the course of 2014, we worked on a number of projects:

  • Trac improvements: A number of improvements to both trac and make/core landed, which make following tickets much easier.
  • Devhub: Working with the docs team, we launched
  • WordPress Meta Environment: Making it easy to contribute to the meta team was a priority and the WordPress Meta Environment shipped with just that in mind.
  • Open Source: A number of sites were open sourced over the year, including the Rosetta theme, plugins and theme, and more. (You can find all of our open sourced code here.) Additionally, and launched open source from the start.
  • Lots of iteration on current features, many improvements around automation, and the WordCamp Payments plugin launched.
  • SSL: now forces SSL across all of our sites.
  • Profiles: Profiles got a design refresh, including badges for contributing to Make teams, and we’re now automatically pulling in more activity from Trac, posts and comments, speakers and organizers, and theme and plugin repositories.
  • Slack: Setup Slack and wrote many custom plugins and integrations with

Lots of other tickets were fixed over the course of the year and work on a new theme directory began (open source from the start!).

As always, if you’re interested in getting involved with the meta team, find us on Slack in #meta or dive right into the meta trac, filing or fixing issues.

Open Sourcing Meta Plugins

TL;DR: I’m proposing that some of the new plugins we write for live in the official plugin repo, rather than the Meta repo.

I’m working on #meta187 and part of it is a modification to P2 to allow assigning a category to a new post. I created a plugin for it, and initially I was just planning on putting it in the Meta SVN repo, but since this is generic functionality — rather than something specific to — I started thinking about where the best place for it to live would be.

One of our goals it to open-source as much of as possible, and putting the plugin in the Meta repo would achieve that, but probably not in the most effective way. 99% of WP users and plugin developers aren’t aware that the Meta repo exists, so the code isn’t very visible. And if they wanted to get updates, they’d have to set it up as an svn:external, rather than just using the regular plugin update system.

So for the most part, the only people who would benefit from using it outside, or contribute back to it, would be other developers on the Meta team.

So instead, I’m thinking we should put it — and other plugins like it, in the future — into the regular plugin repository. That would give it much more exposure and would make it easy for others to use the plugin. The extra exposure would lead to more feedback from users and more contributions from developers.

We could add the wordpressdotorg user as a contributor to the plugin, to ensure the Meta team still has commit access to it if the original developer isn’t available.

What does everyone think about that?

#meta, #open-source, #plugin-directory

Welcome to Meta (with a feature!)

During the WordPress Community Summit pre-planning sessions, it became obvious that there’s not a lot of good communication about what we do, plan, and code for the website itself. So, after a bit of chatter, Make-Meta was born. This is where we plan on talking about changes to the site, as well soliciting feedback for feature ideas. Consider it a community site; we don’t always know what the best way to make the website work is, so feedback is not just welcome, but encouraged.

In order to kick things off properly, I figured I’d announce a new feature: Reviews!

After a lot of discussion, it became clear that a “plugin review” concept was very much desired by the community in general. So we implemented reviews, but didn’t bother to limit it to just plugins. So now, plugins and themes can have reviews.

In order to keep things straight, reviews are tied to ratings. In order to rate a plugin, you must write a review as well. All the old ratings are still there and won’t be going away (we use those, after all), but if you want to change your rating in the future, well, explain it. Tell your side of the story. What’s broken? What works? What’s the best and the worst of the code? How can the plugin or theme author improve it?

Communication is important, and “support” is only half of the equation. Feedback is critical, and hopefully, the new Reviews system will go a long way to improving communication between the many millions of users of code we host on and the many thousands of contributors who write the themes and plugins that we all use every day. And all reviews go into our forums and can be commented on by everybody, just in case somebody needs some extra help.

(Note to Plugin/Theme authors: You can subscribe to your reviews alone via RSS feed, but the email subscription is cross-tied to the support-forum email subscriptions. If you’re subscribed to those, you will get review emails as well.)

There won’t be a lot of reviews at first, but hey, that’s where you come in! Just to get everybody started, I went ahead and wrote a couple of reviews to kick things off. So if you want to see it in action immediately, you can see them here:

These are accessible for any plugin or theme through the “Reviews” tab. Alternately, try to rate a plugin or theme and you’ll be sent to the review form as well.

Note that this is “iteration 1” of the feature. I expect to make many visual and stylistic changes over the next couple of weeks, and perhaps add a few new features. If you have a great idea for a feature or enhancement, feel free to comment and let me know. (Don’t bother me with the visual-only stuff yet, I know the CSS needs some love. Also, reviews don’t really display all that well on profiles yet; I know, working on it.)

BTW, the majority of the code to power the reviews came from our own Scott Reilly, who is, frankly, a genius. Give him mega props. 🙂

#make, #meta, #plugin, #reviews