Rosetta Forum Upgrades In Progress

The following forums have been upgraded to bbPress 2 and redirected to their new locations:

  • pt.forums.wordpress.org to pt.wordpress.org/support
  • id.forums.wordpress.org to id.wordpress.org/support
  • mya.forums.wordpress.org to mya.wordpress.org/support
  • de.forums.wordpress.org to de.wordpress.org/support
  • zh-cn.forums.wordpress.org to cn.wordpress.org/support
  • bs.forums.wordpress.org to bs.wordpress.org/support
  • th.forums.wordpress.org to th.wordpress.org/support
  • ja.forums.wordpress.org to ja.wordpress.org/support
  • ru.forums.wordpress.org to ru.wordpress.org/support
  • ug.forums.wordpress.org to ug.wordpress.org/support
  • bg.forums.wordpress.org to bg.wordpress.org/support
  • sr.forums.wordpress.org to sr.wordpress.org/support
  • tw.forums.wordpress.org to tw.wordpress.org/support
  • hr.forums.wordpress.org to hr.wordpress.org/support
  • he.forums.wordpress.org to he.wordpress.org/support
  • ka.forums.wordpress.org to ka.wordpress.org/support
  • fi.forums.wordpress.org to fi.wordpress.org/support
  • nl.forums.wordpress.org to nl.wordpress.org/support
  • mk.forums.wordpress.org to mk.wordpress.org/support
  • ca.forums.wordpress.org to ca.wordpress.org/support
  • sk.forums.wordpress.org to sk.wordpress.org/support
  • pl.forums.wordpress.org to pl.wordpress.org/support
  • ro.forums.wordpress.org to ro.wordpress.org/support
  • es.forums.wordpress.org to es.wordpress.org/support
  • br.forums.wordpress.org to br.wordpress.org/support

I’ll continue to update this list as I upgrade forums. All existing language-specific forums have been upgraded to bbPress 2.

For larger forums, I will set redirects in place about thirty minutes before the end of a upgrade run to avoid having to backfill posted content. This will be noticeable to users when they are forwarded to the in-progress new forum location.

Moderator roles are being transferred from the old forum to the new one. Ported metadata includes user topic and topic tag subscriptions and favorites, as well as the topic resolution and WordPress version.

See https://meta.trac.wordpress.org/ticket/1544 for known issues and bug reports.

#forums

#i18n

WordPress.org Forums Upgrade

The WordPress.org support forums are currently powered by a very outdated version of bbPress 1.x. Per the 2015 WordPress Community Summit, the forums need to be upgraded to bbPress 2.x so that they can easily be maintained by the community. Part of the delay has been that the forums rely on many custom plugins to make them manageable; some of these plugins have already been ported to bbPress 2.x; the rest will be ported as part of Milestone 2 during the testing period on volunteer upgraded forums.

Scope

  • Upgrade the support forums and international forums from bbPress 1.x to bbPress 2.x.
  • Port any remaining plugins from bbPress 1.x to bbPress 2.x and release them under the GPL.
  • Integrate the support forums with the theme and plugin directories via custom taxonomies.

Below is a general overview of the steps necessary to upgrade all of the forums on WordPress.org to bbPress 2.x from bbPress 1.x. Much of the work will be involve exporting and updating large quantities of information in bbPress 1.x tables to the WordPress-compatible bbPress 2.x schema — in one case, more than ten million rows of topics and replies. For these steps, I will look at the existing bbPress upgrade converter available but may fall back to a clone and rewrite via the command-line, since the new forum tables will not be in use and can be locked for writes. The goal is to perform upgrades with a minimum of downtime by backfilling most of the forum data and then performing an incremental import to bring it up to date with the existing forum.

Proposal

Milestone 0: Due 2016/05/25

Create a forum provisioning plugin to allow quick creation of forum sites in the WordPress.org multisite environment.

Milestone 1: Due 2016/06/03

Migrate three existing bbPress 1.x forums to bbPress 2.x. The migration process will need to scale to eventually handle the support forum (including plugins and themes). During the migration, verify that user capabilities, moderator capabilities, metadata, and encoding are preserved. Create any user metadata filters necessary to avoid overloading the master usermeta table with default values.

  • I’m looking for volunteer bbPress 1.x forums who would like to upgrade to bbPress 2. Qualifications include moderator consensus and having fewer than 10k combined topics and posts. Extended characters sets welcome (and encouraged) as part of this test group. Forums will be available for testing by moderators prior to being turned live, but this will be definitely be a beta test environment.

Milestone 2: Due 2016/07/01

Port remaining plugins to bbPress 2.x while testing performance on upgraded 2.x forums.

Milestone 3: Due 2016/07/15

Migrate remaining international forums to bbPress 2.x.

Milestone 4: Due 2016/07/22

Create theme/plugin taxonomy handling for the support forum.

Milestone 5: Due 2016/08/05

Migrate sample data for support/plugins/themes forum. Test and iterate on plugin and theme integration.

Milestone 6: Due 2016/08/19

Migrate support forums.

Stretch Goal

There are many open Trac tickets for the forums that have been waiting on the upgrade to bbPress 2.x.

I’ll be available on Slack in the #meta channel. Progress on each milestone will be documented in Trac and in an accompanying P2 post. If you have any questions or concerns, just reach out here in the comments or in #meta on Slack.

#forums, #i18n

Weekly i18n Chat Notes – November 17, 2015

Howdy again! We’ve actually been meeting the last couple of weeks but someone (aka: me) has been bad about posting meeting notes. If you’re interested in helping with internationalization efforts on WordPress.org, join us on Tuesdays at 12:00 UTC (note the time change for DST).

Here’s a few things that happened in the i18n world over the last couple of weeks:

  • Translate: A bunch of things have happened!
    • @obenland swooped in with some updates to the project overview for plugins. Here’s an example. But I’ll save you a click: all four sub-projects are now represented on the page in a layout similar to the stats page. We hope to expand that page with other features in the future.
    • Speaking of stats, @dd32 updated the Waiting column on the stats page to list waiting strings from all projects. Numbers grew substantially for many locales.
    • Every time a plugin gets imported into translate.wordpress.org, the status is now displayed in the #meta-language-packs channel on Slack. Plugins that are already in translate.wordpress.org get re-imported every time there’s a commit in their SVN repository. In the future, initial plugin imports will also be shown in this channel.
    • The above item was the last major step to enabling at-will plugin imports into translate.wordpress.org. @ocean90 has fixed a various bugs in the scripts and will be testing the feature (secretly) soon, to see if it will scale. Once he’s comfortable, it’ll roll out to a broader audience and eventually get announced to all plugin authors.
    • One of the ways we can ensure it will scale is by setting up a job system and running all of our jobs through that. @dd32 has worked up some initial code for that, which we’re waiting on systems to deploy.
    • But that’s not all! A filter UI is now available for larger groups of projects (like plugins and themes). You can see it for themes here.
    • Additionally, Dion fixed the issue where themes with \r\n in there strings were appearing incorrectly.
  • Forums: More forum plugins are being ported! @nullbyte has signed up for a few plugins and the table has been updated.

Finally, at today’s chat we talked about #1388, #1044, and #1162, as well as related GlotPress tickets #100 and #494. Specifically, what is the best way to alert translators and translation editors of projects that strings are ready and available to translate?

There are a number of things we can do here, but for now the best course of action is adding a list of contributors/PTEs to the plugin overview (that’s #1388 for those following along). Adding this is a good first step towards future solutions.

While that’s being developed, it’s worth considering the best UX for notifying/contacting translators. The propose GlotPress method is notifications and a notification center, however our use case might be different than the norm – or perhaps we should work with the GlotPress developers on the ideal solution if our use case is normal.

Lots to think about and discuss with the polyglots team and propose to plugin/theme authors.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #translations

Weekly i18n Chat Notes – September 22, 2015

Earlier today a handful of us gathered to talk about life, the universe, and things that may or may not relate to the meta team and i18n. Here’s a bit of what we talked about:

  • Plugins: Last week imported our first set of plugins into translate.wordpress.org! Hurrah! Huzzah! 🎤⬇️ And because we were feeling good about it, we also sent out emails to the second batch of plugin authors (~200 plugins). That import will start today or tomorrow and we’ll send out emails for the next import soon.
  • Translate: The stats page got some love with the addition of the Waiting column (see #1202) and some improvements to the design (see #1238).
  • Theme Directory: @obenland started work on the Translations section by adding a link to translate any theme to the page. Check out the Twenty Sixteen theme page for an example.
  • WordCamp: Set things up so the WordCamp theme can be translated (see #1076), pending deployment by the WordCamp team.
  • Forums: There was a mention that the Italian forums are not working. @ocean90 will investigate. Additionally, we’ve had a couple of requests for new forums. We think it’s okay to add new ones for testing purposes. For example, an RTL forum would be appropriate.

For the next week, we’re planning to work on the following:

  • Import and language pack status of plugins sent to a Slack channel.
  • Sorting / Filter UI finished up (or whatever we call it).
  • Streamline the process of adding per-project translation editors (see #1237 which requires #1240).
  • Work on updated design for project pages in Translate.
  • Possibly: More Theme Directory translation section additions.
  • Possibly: Rosetta headers fixed up (see #1201).
  • Possibly: Job system started.

See y’all next Tuesday at 11:00 UTC!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #theme-directory, #translations, #wordcamp-org

Weekly i18n Chat Notes – September 15, 2015

We met today, like normal, at 11:00 UTC and discussed the following things:

  • Translate: Warnings on translate.wordpress.org are now being sent to #polyglots-warnings for more transparency and to catch bad actors. (The channel name may change to #polyglots-notices to cover other usages.) Additionally, the “Waiting” tab now shows the full project name instead of just the sub-project name; e.g., “Plugins – Akismet – Development (trunk)” instead of “Development (trunk)” which was less descriptive.
  • Plugins: Last week, emails went out to the first batch of plugins. We are ready to begin the import into translate.wordpress.org.
  • Forums: @clorith has taken on a plugin! We love new contributors. 🙂

There was no update last week (on this blog) but we also improved the design of the stats page.

Over the next week, we intend to do the following:

  • Plugin import, starting today.
  • Import and language pack status of plugins sent to a Slack channel.
  • Emails for next plugin import batch will go out.
  • Sorting / Filter UI finished up (or whatever we call it).
  • Possibly: Rosetta headers fixed up.
  • Possibly: Jobs system started.

See y’all next week!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #translations

Weekly i18n Chat Notes – September 1, 2015

Howdy! We have our weekly i18n chat tomorrow at 11:00 UTC. Please join us.

Last week, we discussed the following things:

  • Translate: A stats dashboard has been created. We’ll track the most important projects on this dashboard. We still need to add a couple of features for admins. A bit of time was spent on ways to improve the dashboard and, if you attend tomorrow, you’ll discover that a number of changes were made.
  • Meta Environment: Not a normal topic for us, but a pull request exists that adds translate.wordpress.org to the meta environment so developing for it will be easier.

What’s up for the next week’s worth of work? Maybe some of the things mentioned here.

At the end of the chat we mentioned that we’re on track to start importing plugins in ~2 weeks. Since I’m posting this about a week late, that means next week we plan to begin the plugin import.

#i18n, #l10n, #meeting-notes, #plugins, #stats, #wordpress-meta-environment

Weekly i18n Chat Notes – August 25, 2015

As a reminder, we have a chat tomorrow at 11:00 UTC. The update below is from last week’s chat

It’s been a while since we last met! I think WordPress 4.3 somewhat distracted us. 🙂 Here’s what’s happened in the last three weeks:

  • Forums: Progress has been made on porting bbPress 1.x plugins! So far, @jmdodd has migrated two plugins to bbPress 2.x. If you’re interested in helping out, be sure to put your name in the “Migrate?” column of the table. (Need access? Just ping me.)
  • Translate: A “Waiting” tab now exists and both it and the themes tab is now sorted by the order previously discussed. Filters are still coming (pending design), but we’re well on our way. Additionally, themes are now in sync with the directory and fully caught up. That means if a theme is approved in the directory, it is automatically imported into translate.wordpress.org.

And upcoming:

  • Sort orders (and filters) in translate.wordpress.org.
  • Properly log warnings in translate.wordpress.org to a Slack channel so we can keep an eye on them.
  • Fixes to \r in translations.
  • Rosetta header changes.
  • An i18n dashboard to keep track of major products.
  • Automation of Rosetta deploys (pending logging mentioned above).
  • Job / queue system for imports and language pack generation (with systems).

About a month ago, I made a list of next steps before importing plugins to translate.wordpress.org and we’ve done them all, but run into a few other things needed (as listed above). That said, I think we’re very close to the point where we can import plugins. Of the items above, only the job system is necessary, due to the number of commits plugins receive. More to come on make/plugins.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Translation Project Sorting / Filtering

As a follow up for my earlier post on translation project sorting and compiling the comments/thoughts therein, I think we should start with the following things, in order by priority for implementing them.

  1. Waiting Tab: It’s clear that translation editors need a tab just for waiting strings. This tab should be default for translation editors unless there are no waiting strings, in which case WordPress should be the default tab. If a user is only a translation editor for one project, it will show here. If a user is a translation editor for many projects, all will show here using the default priority sorting (see #2). If a user is not a translation editor for any project, they should not have a waiting tab.
  2. Default Priority: With every tab, we need to establish a default priority, however the themes and plugins tabs will need it most. I propose the following default priority: Favorites, strings remaining (“0” goes to the bottom, “1” to the top), and by popularity. That means that your favorites will display at the top of the list, unless they have been fully translated. Further, if 10 plugins have two untranslated strings, all 10 will appear at the top of the plugins tab, in order by popularity, but below your favorites. Once a project is completely translated, it moves to the very bottom of the list, regardless of favorite status.
  3. Filters: Within each tab, we need to ability to filter by the following things:
    1. Favorites
    2. Popularity within the directory
    3. Strings remaining (toggle between most/least; perhaps a “completed” option as well)
    4. Percentage complete (toggle between highest/lowest; perhaps a “completed” option)
    5. Waiting strings present in project
    6. Fuzzy/warning strings present in project
  4. Future Filters: In the future, we should consider the following filters:
    1. Waiting age, especially on “Waiting” tab (aka, projects with strings that have been waiting for two weeks will appear before projects with strings that have been waiting two days)
    2. Release date for themes/plugins (aka, most recently updated first)
    3. Hide/show fully translated projects

How does that sound to everyone?

P.S. I’m out for next Tuesday’s weekly chat, but feel free to meet without me!

#i18n, #translations

Weekly i18n Chat Notes – July 28, 2015

A few more things were discussed at this week’s meta i18n chat:

  • Translate Themes: Just a couple of things:
    • All active themes were imported! But syncing hasn’t been enabled yet so a few newer themes (since the start of the import) are not yet imported. They will be soon, don’t worry. 🙂
    • Language packs were enabled for themes! If a theme does not ship with translations and is fully translated into a language (in translate.wordpress.org), a language pack will be generated and automatically downloaded. Woohoo! Language pack generation is automatic. When a theme is fully translated (100%) in a language, a language pack will be generated. Some history from @ocean90:
      • 2010 – First language packs for importers
      • 2011 – Core ticket #18200 filed
      • 2013 – Ticket #18200 closed as fixed (WordPress 3.7)
      • 2014 – Language packs enabled for core (WordPress 4.0)
      • 2015 – Language packs for third-party plugins and themes (WordPress 4.3+)
  • Translate Project Prioritization: I’m working up a detailed list of what we should do and when, based on the post from last week (and comments). Design-wise, we’re going to stick with what exists in the theme directory and modify as necessary.
  • Translate Import Queuing: There’s a lot of projects that will be added and syncing. We’re going to work up a queueing system in case things get overwhelmed. This is needed before we start importing plugins.
  • Rosetta Header: We need to “fix” the Rosetta header with the static, known sections, allowing Editors to add on at the end of it. Since we don’t have a showcase except on the homepage, my proposal is to set the following menu items: Home, Themes, Plugins, Forums (if they exist), Blog. Editors will be able to add additional menu items.
    • (Note here that we should really add the Download button to the Rosetta headers as well.)

Over the next week, we’re going to continue to improve themes on translate.wordpress.org, including language pack work and synchronization. If there’s time, we’ll also start adding filters / prioritization to projects.

#i18n, #l10n, #meeting-notes, #rosetta, #translations

Weekly i18n Chat Notes – July 21, 2015

At our weekly chat today, we talked about a few things:

  • Forums: The Italian forums were launched! It’s a bit rough around the edges, so there’s a bunch of work still left to do. If anyone is interested in contributing to our bbPress theme just let us know. The more help we can get, the faster we can get the forum theme in shape to launch it to other locales. (Big props to @ocean90 and @medariox!)
  • Translate: Tons of things going on and upcoming here.
    • Themes are being imported. Currently ~1100 out of a total of ~1900 themes. The rest should be imported by next week’s meeting.
    • As part of the import, we’re noticing that quite a few themes have a textdomain that is different than the theme’s slug. Language packs will not support that. Instead, we’ll contact theme authors and work with the theme review team to ensure this won’t happen again. (Also, @Otto42 is adding modifying theme-check so that it checks for this issue.) Some stats on that were shared in Slack, but note that they’re for all themes, not just active themes. The actual numbers will be different.
    • Meanwhile, we need to start considering how to sort and prioritize themes and plugins. This post has some ideas and the comments section is open for more. We should have a list to start on by next week’s meeting. There are some backend changes that @dd32 needs to work up first.
    • One method of prioritizing is favorites. @dd32 is working up changes to the theme directory (and elsewhere) so themes can be favorited. ❤️ We can use theme and plugin favorites to prioritize projects (per-user) on translate.wordpress.org.
    • @ocean90 is also testing plugin imports with a few select plugins to ensure the import script works well.
    • Additionally, the language pack script currently exists for plugins and will be modified for themes (thanks @ocean90!).

Most of our focus right now is on language packs and theme/plugin translations. Summarized, here’s the next steps:

  • Finish theme import
  • Enable theme directory syncing (every new/updated theme gets imported)
  • Implement some prioritization (including a side project: adding favorites to themes)
  • Modify the theme directory to support translated theme names/descriptions
  • Enable language packs for themes
  • Start importing top n plugins
  • Enable language packs for top n plugins

Of course, some of these will happen in parallel with others and there are numerous parts to each line item, but we’re making great progress. By next week, we’ll probably be able to cross off an item or two. 👏

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes