User:Jdforrester (WMF)

Jump to: navigation, search
James Forrester
Product Manager, VisualEditor team, Wikimedia Foundation
James Forrester

About me

I've been a Wikipedia editor since 2002 on the English Wikipedia and a few other Wikimedia projects (see my personal account). In May 2012 I joined the Wikimedia Foundation as the "Product Manager" for the VisualEditor team.

My work

My job is to help make sure the VisualEditor team understands what the community wants and needs, is focussed on the things that matter, and is engaging with and understood by the community.
Disclaimer: I work for or provide services to the Wikimedia Foundation, and this is the account I try to use for edits or statements I make in that role. However, the Foundation does not vet all my activity, so edits, statements, or other contributions made by this account may not reflect the views of the Foundation.

Contact me

  • E-mail:
  • IRC: "James_F" on freenode
  • Skype: jdforrester
  • GTalk IM:

Current projects[edit | edit source]

VisualEditor[edit | edit source]

You can now make templates automatically set a field to today's date or other "autofill" computed values (bugs 51428 and 52029). The keyboard shortcuts for items in the toolbar's menus now show on the right hand side to make them easier to find (bug 71855). Clicking edit is now slightly more responsive, starting the loading animation as soon as you click and updating the browser address, rather than after half a second or so (bug 65453). The link editor now shows an open button for auto-numbered external link nodes, just like for link annotations (bug 71904).

We found a very disruptive bug that meant that, in Firefox, cut and sometimes paste did not work; this was deployed as quickly as possible to all users (bug 72164). A bug caused by a wider improvement in the Parsoid service meant that adding or editing formulæ worked but didn't show them whilst editing; we fixed this and deployed it immediately too (bug 71829).

We fixed an issue caused last week which threw errors if you tried to make a media item with no caption which was the only content in the page a link or have a language annotation (bugs 72258 and 72259). We also fixed a problem that meant autofilled template values weren't actually being saved, blocking announcement of the new feature (bug 71157). The improvement a fortnight ago to check links in templates and mark them as 'red' if they weren't pages in the wiki accidentally also looked at external links; we fixed this (bug 72251). Of the four different ways to launch the link editor for a link node, two were instead opening the other link editor (for a link annotation), which didn't quite work; we fixed it so all four use the right one (bug 72150).

Selections which start in a link (or other annotation which provides a contextual tool) now again only show the tool if the selection is fully covered by the annotation, and not regardless (bug 72152). Adding category sort keys, which had broken, now works again (bug 72168). The "make full size" button in the media dialog stopped enabling the "Apply Changes" button, which we fixed (bug 72155). The language editor started appearing in the wrong location, which we fixed (bug 72273). An issue which meant newly-inserted citations would show up with an empty line above and below it in the reference list was fixed before release (bug 72006), as was an issue making inspectors show an unneeded scrollbar in Chrome (bug 72338).

The placement of the category pop-ups was moved to a different overlay to make them display better in RTL. We fixed two old technical debt issues, removing uses of the push.apply method and using instead a safer function depending on context (bug 66206) and replacing use of jQuery's $.proxy with native .bind() (bug 62762). A change in the OOjs UI library which broke certain dialog layouts was corrected before release (bug 72278). Like slugs last week, we now use staging for inserting HTML comments and special characters, which makes the inspectors for each show up much more clearly and reliably. We fixed an issue that meant that pasting in Firefox would cause the page to scroll when the cursor is at the end of the paragraph. A MediaWiki-specific hack in how the mobile context works was moved from core into VisualEditor-MediaWiki. As part of the work to support table editing, VisualEditor tools now need to identify on what kind of selection objects they can operate.

The OOjs UI library had a few improvements. The global event handling was simplified when using window managers that aren't isolating their dialogs in <iframe>s, and window managers now will wait for their windows to be fully open before closing (bug 69918). Comboboxes now work correctly in the MediaWiki theme (bug 71889), and a new progress bar widget is available. Toolbar menus now support only showing a few items initially with options to expand the menu later (bug 70568). Most notably, an early version of a parallel, PHP language port of the library landed, which will allow pages to be created server-side and later as a progressive enhancement made rich with "innervation" on the client-side with JavaScript support. The PHP port will be made available inside MediaWiki soon using Composer, as part of the front-end standardisation efforts.

You can monitor the live results of the automated browser tests (triggered every twelve hours) on the server. A complete list of individual code commits is available in the 1.25/wmf5 changelog, and all Bugzilla tickets closed in this period are on Bugzilla's list.

Editing[edit | edit source]

In October, the Editing team worked on the front-end standardisation project, now one of Wikimedia Engineering's Q2 priorities, as well as the work on VisualEditor, both of which are reported separately. The team welcomed Marielle Volz as a new team member, who will focus on improving citations support. The team created the wikitext concept of <indicator>s, a way to show icons which tell the user something about the page in MediaWiki. These features are now supported in the Vector, Monobook, Cologne Blue and Modern skins, and will replace the need for the local CSS hacks that some wikis have used to approximate this feature. The TemplateData extension now wraps its contents in a <noinclude> tag unless editing a sub-page, and the help link's target can now be set to a page other than the one on MediaWiki. The last vestiges of the CiteThisPage extension were removed from the Cite extension, as part of a complex manoeuvre to simplify the naming of the system; it now has its own home. The team's more significant work, on front-end standardisation, is now reported under that project.

Parsoid[edit | edit source]

  • 2014-10-monthly:
    October has seen a lot of maintenance type work in Parsoid land. We updated our logging infrastructure to send our event logs to LogStash which makes it far simpler to identify any production errors. We also started a round of code cleanup and improving readability / maintainability to moving to Promises API which eliminates the callback mess common with nodejs code. We also were involved in debugging some Varnish-related issues that was causing excess timeouts than needed -- now fixed, it improved the efficiency of queued Parsoid parsing jobs. End of October, we also initiated an upgrade of the Parsoid production cluster from node 0.8 to node 0.10.

In non-maintenance work, we continue to fix bugs and compatibility issues with the current default rendering. We've also been working to find entirely CSS-based solutions to citation customizations. This CSS-based approach will simplify customizability, and also free clients from having to worry about mediawiki site messages. This is still work in progress as we are find gaps and fix them.

ResourceLoader (maintenance-only)[edit | edit source]