Just a reminder that the weekly i18n chat will happen in 1 hour from this post at 11:00 UTC. If you haven’t joined us before, we discuss progress on a number of fronts for i18n on WordPress.org. We’ll likely be discussing the forums plugins audit today, in addition to other things, so read through that post ahead of time.
Recent Updates Toggle Comment Threads | Keyboard Shortcuts
The version of bbPress powering the WordPress.org support forums is (despite being near and dear to my heart) out of date to the point of being a bottleneck towards progress on Rosetta. The plan has always been to migrate everything to bbPress 2.x, but the caveat to that otherwise (relatively) easy feat is the custom functionality that’s already built into the bbPress 1.x plugins that modify core behavior in a way that might not easily port over directly.
Below is an audit of those plugins, along with a brief description of what they do and the level of effort I estimate it will take to port that code. Thankfully, about half of these plugins will no longer be necessary. The other half will need to built as WordPress plugins that modify bbPress 2.x behavior.
fwiw, bbPress 2.6 is imminent (has been for a while) though I’m comfortable adding any actions or filters to bbPress core that might prevent an otherwise easy port. Stephen Edgar and myself are both available to help/assist/guide and/or to start porting these ourselves as well.
The plugins below represent 10 years of modifications to the WordPress.org support forums, and also represent an enormous opportunity for any volunteers who might want to help build the next generation of WordPress.org but maybe are not sure where to start.
Let’s use the comments below as the beginning communications towards what will likely be several individual initiatives, all working towards the common goal of bringing our support forums and the related moderation tools up to speed with the rest of bbPress and WordPress.org.
Migrate? LOE File Description Yes Low _author-badges.php Adds badge to plugin and theme author replies for their replies in plugin snd theme-related forums (reviews, plugins and hacks, themes and templates) that pertain to their Yes Low _bb-mail.php Custom email subject from headers for support forums Yes Medium _codify.php Converts [[wiki markup|links]] into <a href=”http://www.example.com/wiki_markup”>links</a>. Yes Low _geriatric-threads.php Add <meta name=”robots” content=”noindex,nofollow” /> to old closed topics Yes Low _gravatar-retina.php copy of bb_get_avatar, but with support for the devicePixelRatio ūüďĪ cookie on .org Yes Low _lowfollow.php View replies by IP address Yes Low _mailing-list.php WordPress Announcements/Development News mailing list form Yes Medium _plugin-reviews-listing.php Plugin forum custom views Yes Medium _plugin-support-listing.php Plugin forum custom views Yes Medium _plugin-svn-tracker-support-mock.php SVN_Tracker_Support_Mock Yes Medium _plugin_stickies.php Sticky topics for plugin forums Yes Low _reg-hack.php This is to block those stupid spam registrations Yes Medium _registration-captcha.php Captcha for registration Yes Low _registration-speed-limit.php max number of attempts per time period // time period user must wait before getting freed Yes Low _reviews.php Miscellaneous modifications related to the reviews forum/feature. Yes Low _security.php This file loosely corresponds to wp-content/mu-plugins/security.php Yes Low _subscribe_to_plugins.php Subscribe to Plugins for wp.org Yes Low _subscribe_to_tags.php Subscribe to Tags for wp.org Yes Low _support-wporg-notifications-allow-superadmin-regex.php WordPress.org Notifications Allow Superadmin Regex Yes Low _support-wporg-notifications.php WordPress.org Notifications Yes Low _tag-codex-links.php Forum codex links Yes Medium _template-mods.php Custom template queries Yes Medium _theme-reviews-listing.php Custom views for theme forums Yes Medium _theme-support-listing.php Custom views for theme forums Yes Medium _version-dropdown.php New topic form WordPress version dropdown field Yes Low _views.php Custom bbPress views No None _bb-quicktags.php Inserts a quicktag toolbar on the post topic form. No None _default-role.php This should only run once per new user, as it’ll then have a capabilities meta for this site. No None _email_login.php Disable email login??? No None _fix-badly-utf8-trimmed-strings.php FIlters topic title and terms via return iconv( ‘utf-8′, ‘utf-8//ignore’, $string ); No None _fix-topics-replied.php fix_topics_replied No None _fix-user-search.php bbPress user search doesn’t deal with empty role arrays well No None _fix_code_clickable.php this replaces the make_clickable function with one that won’t do anything inside <code> blocks No None _forum_row_click.php disable until we can make this not open in a new window. If only you could do <tr href>. Curses, W3C, curses. No None _hack_utf8_slugs.php Sanitize URL’s with dashes (Previous versions of bbPress didn’t try using mb_strtolower(), so all slugs were in original case. This makes the slug in the database and the one which we test again different, which causes 404s.) No None _hidden-forums.php Hides configured forums from general forum listings and prevents the forum’s topics listings. Only directly are its topics accessible. No None _inception-fix.php Because of either bad data or some other bug, the support forums don’t know the date of their first post properly. No Medium _international.php Hack all the i18n w.org login, menu urls, CSS, keymaster roles, admin capabilities and user caps and roles No Low _memcache.php Custom memcache settings No None _never-upgrade.php Never upgrade the bbPress 1.x database No None _new_plugin_post.php Filter post titles and tags for plugin and plugin reveiew topics No None _new_theme_post.php Filter post titles and tags for theme and theme reveiew topics No None _no-duplicate-emails.php DO not allow duplicate email address’ for bbPress users No None _profile-additions.php Custom profile fields and profile sanitization No None _queries.php Query Debug No None _random_seed.php Skip the DB for random_seed transient – just generate an new (not very good) rnd_value on the fly No None _return_helpers.php No None _spamhell.php Spam Hell. Blocks for assorted spammers. Maybe Low _add-replies-argument.php Hangs a replies=# onto every topic link, so by appropriate styling users can see new posts Maybe Low elfakismet.php Adds the ability to stop akismet check after a user has x posts, and to always check for any you don’t trust. Maybe Low _bb-google.php Maybe Low _phishing_honeypot.php Check a couple of specific IP addresses and email Nacin if true Maybe Low _registration-chars.php Block certain types of characters from being in usernames on registration. Maybe BP? _registration-log.php Check user registration log Maybe Low _ssl.php SSL overrides and tweaks Maybe BP? _stats_extra.php stats logger for support forums Maybe High _support-forum-admin-mods.php Related to Bozo Maybe Low _support-forum-autoload.php Autoload support forum Maybe Low _support-forum-mods.php Moderator support for support forums and plugin/theme author moderators Maybe Low _block-spam-searches.php block_spam_searches_parse_query
Hey all, just a brief update on the status of HTTPS for WordCamp.org sites.
We’ve enabled HTTPS on all WordCamp sites and rewrote the URLs, even though we’re not forcing it yet. The majority of the traffic will likely hit HTTPS from now on, and we should catch and fix all (or at least most) mixed content warnings before forcing it. Most of these are probably related to embeds from Flickr, Typekit and other third-party services.
Update: We’re now forcing HTTPS on domains that support it.
As a reminder, we have a weekly i18n chat this coming April 21st, at 11:00 UTC, which is just over 11 hours from now.
Last week, we discussed a number of things, but mostly forums and Rosetta generally. There was no direct outcome last week, except that we will be setting up individual sites for each part of “Rosetta.” That is, the theme directory on de.wordpress.org (for example) will be its own WordPress site, while a local P2 will be its own site.
We did go into depth on the forums a bit. The next steps there are:
The plugins (which are currently private) changed hands to bbPress developers shortly after last week’s¬†chat.
There are a number of internationalization projects going on towards localizing¬†most of our web properties, along with providing localized assets for core users (localized plugins, etc).
I have and am working on providing a translation platform¬†for all plugins (code and readmes), and the related internationalization of the plugins directory and API.
@nacin¬†has done some work on being able to install plugins (and themes?) in the same locale as a WordPress install, when set.
I’ve read that @dd32 has been looking into translating the new themes directory (info in theme headers, from styles.css) and probably API.
@samuelsidler (who is away this week) and I would¬†like to organize a general chat in #meta-i18n¬†sometimes during the week of April 13th, so we can map out everything in front of us, and push on all of them together.
To be discussed:¬†Rosetta, forums, theme directory, plugin directory, themes, plugins, local P2s, GlotPress (soft and install).
Chat date/time suggestions: April 14th, at 2000¬†UTC (same time range as core chat, 1 day before).
Since my last post
After I wrote my post mortem for the Theme Directory launch, the last three weeks were spent fixing bugs and adding in enhancements that were not deemed launch blockers.
On the admin side a custom post status for suspended themes was added, as well as a custom view for themes that have new version pending. Also, there is now a simpler way to approve new versions and set them live from wp-admin. On the front-end the JS and CSS files that power most of the Directory were merged, removing the direct THX dependency that we had (it broke parts of the directory during beta). Development on the Directory will not stop of course, but it will be part of ongoing maintenance and feature development.
At the beginning of the project there were no formulated stat goals. Personally, my goal was not to drop in stats too badly, in a way that would suggest a major flaw in the Directory’s new structure. I’m happy to say that with the exception of the Commercial Themes page, that is the case‚ÄĒwe even saw a lot of nice improvements!
Let’s start with the negative. The Commercial Themes page saw a drop of ~40% in visitors between the old Directory and the new. That number was at 60% right after launch, but it recovered and continues to recover with some adjustments we made to the link placement on the site. We concluded that the image-heavy (instead of text-heavy) design is likely causing people to use the directory and not click on sub-links as frequently as they did with the previous design, and we’re satisfied with the preliminary result of our mitigation.
Since we were about to complete change the markup and technical makeup of the Directory, my biggest concern going into this project was to lose page-rank and experience a drop in overall visitors. Thankfully this is not the case, visitor numbers remain constant, as are the search engine referral numbers. Another KPI that remained constant were theme downloads, which also indicates that there were no bugs on the Themes API and download handler side on WordPress.org. Given the level of optimization of the old Directory, I consider those numbers a success! It’s hard to improve a #1 page rank, but with added semantic markup and more structured data around themes it should definitely be solidified.
The most overwhelming result has been the huge jump in user engagement though. Users stay longer on the site, look at a lot more pages, and are way less likely to leave without any interaction. Comparing the week before the relaunch with this past week, session duration is up 9%. The amount of pages a user looks at is up 34%. And the overall bounce rate went down from ~30% to under 10%. Even on the homepage, where the bounce rate was at around 45%, we can see that drop by 2/3.
Overall this is a nice step in the right direction. I’m looking forward to further improved numbers down the road, and easier to achieve improvements after the move to WordPress.
One of the features we were asked to develop for CampTix (the WordCamp.org ticketing plugin) is the ability to e-mail attendees based on custom segments using the Notify section in Tickets → Tools. This will allow organizers to get in touch with very specific groups of peoples, such as those who opted in for vegetarian lunch, or those who selected women’s XS t-shirt size.
The feature’s been pushed to the notify-segments branch in the Git repo. We would appreciate a few extra eyes on the new feature before we start rolling it out to WordCamp organizers. Any weirdness can be reported in #920-meta.
The update to the¬†WordPress Theme Directory from ten days ago marks the first time since its inception in 2008 that it has seen a major overhaul. The work on it is not done, but I want to take a few minutes and outline the objectives, what we gained from the update, and what still needs some work in the future.
The WordPress.org infrastructure is almost as old as WordPress itself, with lots of interdependencies, running a mix of GlotPress, an old version of bbPress, BuddyPress, and WordPress. Since the¬†Theme Directory¬†was still based on bbPress, one the main goal was obviously to have it use WordPress. It was also in dire need of a design refresh and improvements¬†to its search-ability.
The Directory is now finally running on WordPress!¬†It’s¬†part¬†of the WordPress.org multisite network and reaping all the benefits that come with that. With the move to WordPress and the resulting data format change,¬†the theme downloader was also rewritten, along with the info and update check endpoints of the Themes API, and the script that syncs theme review results. User profiles and theme ratings also saw a small update.
The pages from the left hand navigation¬†were drastically simplified and merged, leaving us only with preamble page to the uploader, the uploader itself, and the page of commercial theme shops.
Commercial Theme Shops
Theme shops used to be a multidimensional array where each change meant a code change that had to be committed. They finally became a Custom Post Type of their own, vastly simplifying¬†their administration. If you look at their page, you’ll also notice that it reuses the regular theme UI, nicely making them blend in with the rest of the Directory.
Needs more work
We wanted to get the new Directory into the hands of users as fast as responsibly possible, but that doesn’t mean that it’s finished or doesn’t need any more work. On the admin side a custom post status for suspended themes will be added, as well as a custom view for themes that have new version pending. Eventually there will probably also be a simpler way to approve new versions and set them live from wp-admin. On the front-end the JS and CSS files that power most of the Directory will be merged, removing the direct THX dependency that we currently have (it already broke parts of the directory during beta), and also removing two file requests on a page load.
The #1 feature request for the Theme Directory is probably multi-author support. With the move, this is going to be infinitely easier to achieve and will also be available shortly.¬†This should also make it possible¬†to change authors on a theme without too much overhead.
Finally, the Directory is meant to also be made available to¬†rosetta sites. The theme and plugin are fully localized and already translated in a good amount of languages, it’s down to figuring out how we can integrate¬†that site of the WordPress.org network with¬†localized subdomains.
I just posted a couple things to the Community team p2 that could benefit from getting feedback from developers in the community:
Late last week saw the launch of the reimplemented Theme Directory, complete with a new theme. This week brings with it another improvement to WordPress.org: a new theme for the Plugin Directory.
Its new appearance should look very familiar; the goal with the theme refresh was to mirror the look and experience of the wp-admin plugin browser.
The site didn’t just get a facelift; the update includes a few new features not previously available in the directory:
- Introduction of a “Favorites” section:
If you are logged in and have favorited plugins, this new section gives you direct access to the list of those plugins. Previously, you could only see a simple listing of them on your profile page.
- Introduction of a “Beta Testing” section:
Previously only available in the wp-admin plugin browser on sites running a development copy of WordPress, this new section lists plugins proposed for inclusion in a future version of WordPress.
- Ability to search for plugins by author:
In the same fashion as in the wp-admin plugin browser, you can now search for plugins by author (by username).
- Listings now display a count of active installs instead of downloads:
Individual plugin pages have just (days ago) seen a switch from displaying the number of downloads to the number of active installs for the plugin. This information is now also shown on all plugin listings, such as search results.
The individual plugin pages themselves were not changed as the wp-admin plugin browser already largely mirrors their UI. Also note that the effort didn’t include a rewrite or significant change in overall functionality other than what was outlined above. The backend reimplementation of the Plugin Directory will be undertaken at a later time.
As always, it you encounter a problem or have a suggestion, please submit them at meta.trac using the Plugin Directory component. Be sure to peruse the existing Plugin Directory tickets to avoid submitting a duplicate.