Page MenuHomePhabricator

Choose a recommended IDE for MediaWiki and maintain a plugin for it
Open, LowestPublic

Description

Good IDE integration convenient for everyone but especially helpful to new contributors who are not experienced coders - they have to learn a thousand new things from code review / distributed version control workflows to security back practices, and if we can avoid adding "learn how to tweak your IDE configuration" to that pile, we can make the learning curve significantly smoother.

A well-integrated IDE would

  • ensure that the right coding conventions are followed
  • do some of the CI checks in a much more user-friendly way (banana, autoloading etc.)
  • provide docs / typing / code completion / clickthrough navigation for systems which IDEs cannot figure out by default (e.g. hooks, global variables, extension-provided services, ResourceLoader modules)
  • maybe show docs/help from mediawiki.org
  • maybe warn when some MediaWiki best practices are not used (e.g. extension with PHP endpoint)

This does not mean that MediaWiki would be optimized to work with one IDE to the detriment of others, but it's nice to have a default.

PHPStorm integration already seems to have some momentum behind it, but which IDE we focus on is secondary to agreeing to focus on a single one.

Event Timeline

@Reedy and @Yurik are the people who have worked on this in the past, if memory serves.

This proposal is selected for the developer wishlist voting round and will be added to a MediaWiki page very soon. To the subscribers, or proposer of this task: please help modify the task description: add a brief summary (10-12 lines) summarizing the problem that this proposal raises, topics discussed in the comments, and a proposed solution (if there is any yet). Remember to add a header with a title "Description," to your content. Please do so before February 5th, 12:00 pm UTC.

This does not mean that MediaWiki would be optimized to work with one IDE to the detriment of others,

I hope also not to the detriment of not using with an IDE at all.

In case a recommended IDE is chosen, it must be completely FOSS!

In case a recommended IDE is chosen, it must be completely FOSS!

Must? Should? Ideally?

The reason people stop using Eclipse etc because it's painful. I started using PhpStorm because it worked well.

There's also no point maintaining a plugin if few/no one uses it

In case a recommended IDE is chosen, it must be completely FOSS!

Must? Should? Ideally?

Ideally, per the Wikimedia Foundation Guiding Principles.

And the foundation itself is the worst at doing this. See also Google Apps, all the macbooks etc etc etc

Topics regarding WMF's Guiding Principles can be discussed on the corresponding talk page. Let's please try to keep this on-topic. Thanks :)

In case a recommended IDE is chosen, it must be completely FOSS!

Must? Should? Ideally?

"MUST" as in RFC 2119. Please do not take this lightly. In case no suitable free IDE is found, you can keep maintaining unofficial plugins for proprietary IDEs.

Topics regarding WMF's Guiding Principles can be discussed on the corresponding talk page. Let's please try to keep this on-topic. Thanks :)

Not off-topic for sure. It is a key requirement for the fulfillment of the task.

As much as I love FOSS, we shouldn't be left to our own devices if we choose not to use Emacs to contribute to MediaWiki code. I disagree with @Ricordisamoa's position. I believe a key requirement for fulfillment of this task is to pick one of the most popular IDE's available. The idea is to have the greatest impact.

Aklapper triaged this task as Lowest priority.Jul 13 2021, 6:56 AM