Page MenuHomePhabricator

Convert WikiLove from jQuery UI to OOUI
Closed, DeclinedPublic

Description

I noticed recently someone suggesting to convert an TMH from jQuery UI to OOUI (T89496).

I think it would be easier and safer to first attempt to do that with WikiLove, which is also deployed to MANY pages. And should be easy to convert.

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
gerritbot subscribed.

Change 191325 had a related patch set uploaded (by Ricordisamoa):
[WIP] convert to OOjs UI

https://gerrit.wikimedia.org/r/191325

Patch-For-Review

EBernhardson subscribed.

@Mattflaschen, @Ricordisamoa, given the Gerrit patch, can we remove this from Possible-tech-projects for Outreachy/GSoC? Please do clarify in case I misunderstood.
Thank you!

Ricordisamoa updated the task description. (Show Details)
In T89815#1053301, @NiharikaKohli wrote:

@Mattflaschen, @Ricordisamoa, given the Gerrit patch, can we remove this from Possible-tech-projects for Outreachy/GSoC? Please do clarify in case I misunderstood.
Thank you!

Done.

I'm tired of running after all those classes/styles.
Just find someone else.

Any Outreachy/GSoC candidate may build freely upon my little patch.

Change 191325 abandoned by Ricordisamoa:
[WIP] convert to OOjs UI

Reason:
T89815#1341392

https://gerrit.wikimedia.org/r/191325

This is a message posted to all tasks under "Backlog" at Possible-Tech-Projects. Outreachy-Round-11 is around the corner. If you want to propose this task as a featured project idea, we need a clear plan with community support, and two mentors willing to support it.

This is a message sent to all Possible-Tech-Projects. The new round of Wikimedia Individual Engagement Grants is open until 29 Sep. For the first time, technical projects are within scope, thanks to the feedback received at Wikimania 2015, before, and after (T105414). If someone is interested in obtaining funds to push this task, this might be a good way.

Is the work huge enough for an Outreachy/GSoC slot, or should it go along with couple more from https://phabricator.wikimedia.org/T100270 ?

I would lean towards adding at least one more, with the additional one(s) being small-medium. T104298: Convert CentralAuth special pages to use OOUI would be a good one to add, I think.

IMPORTANT: This is a message posted to all tasks under "Need Discussion" at Possible-Tech-Projects. Wikimedia has been accepted as a mentor organization for GSoC '16. If you want to propose this task as a featured project idea, we need a clear plan with community support, and two mentors willing to support it.

If this is still not done, can we have this as one of the microtasks for current GSoC, Outreachy, RGSoC internship round?

@Sumit the task is too small for GSoC, but suitable for smaller programs.

I'd like to mentor this task for Google-Code-in-2017 but it'll need to be broken down. I am thinking of splitting it up the following way:

  1. Get familiar with OOUI, make a form and dialog on an independent project (not in the extension).
  2. Fix each form one-by-one:
    • Barnstar
    • Food/drink
    • Kittens
    • Goats
    • Make your own
  3. Fix the dialog
  4. Other fixes

It'll be best if each of these tasks get done by the same student, but I guess it should be possible for it to be a collective effort too. We'll merge the patches only when the entire thing is converted to OOUI so that we don't have a half-OOUI/half-jQuery interface.

@Aklapper, thoughts?

Interested in learning how to do this and potentially helping mentor this. @Prtksxna

Interested in learning how to do this and potentially helping mentor this. @Prtksxna

Hey @MtDu, I'm happy to get help mentoring :) Have you had a chance to work with OOUI?

@Prtksxna The question is, if this task is doable for a GCI student, which means, that it shouldn't take longer than 2-3 hours for an experienced developer and 2-3 days for a beginner (I don't expect this task to be a beginner task, right?)?

If anyone knowledgeable enough could use T89815#3743426 to edit the task description to break this down into clear, separate steps which fit into GCI task size (see T89815#3760352 ) that would be awesome. We have three more weeks of Google-Code-in-2017.

@Florian @Aklapper Now when I think of it, breaking it down, and having different students to work on different panels of the dialog is going to be tricky. I might have let my wish to get this resolved overshadow the practicality of doing this in Google-Code-in-2017. Sorry

That's fine, too! Not all tasks can be done in the GCI contest, that's ok and even not the goal :) Participating in Google Code-in needs to be fun for the student _and_ for the mentor(s), if this can't be achieved with this task, then it's better to resolve it outside of the contest :) Thanks however for proposing the task and taking the time to look into it, how this could be done during GCI :) If you've other tasks that may fit better into the contest frame, feel free to mentor or propose these! :)

@Prtksxna It looks like this task is a bit too small for GSoC'18 / Outreachy'16 but would you be interested in mentoring this along with another similar feature that needs to be converted to OOJs UI (as Matt points out in T89815#1754684)?

@Prtksxna It looks like this task is a bit too small for GSoC'18 / Outreachy'16 but would you be interested in mentoring this along with another similar feature that needs to be converted to OOUI (as Matt points out in T89815#1754684)?

Yep, that makes sense. We could do this along with T111159: Convert MultimediaViewer to use OOUI instead of MW UI buttons and icons and T104419: Convert Special:MassMessage to use OOUI. I was talking to @matmarex and he'd willing to co-mentor. I am not sure if this work would be fun though.

@Prtksxna thank you for willing to mentor this project! Could you in the next few days or so update the task description to include in it the following sections: project description, skills required, getting started, mentors, micro tasks, etc. For example https://phabricator.wikimedia.org/T111416. I would then include this project on the MW GSoC page. More here on roles, responsibilities of a mentor before, during and after the program: https://www.mediawiki.org/wiki/Google_Summer_of_Code/Mentors :) cc @matmarex

Volker_E renamed this task from Convert WikiLove from jQuery UI to OOjs UI to Convert WikiLove from jQuery UI to OOUI.Mar 30 2018, 5:42 PM
Volker_E updated the task description. (Show Details)

Removing Possible-Tech-Projects as we are planning on killing this tag soon! Too small to meet the criteria of Outreach-Programs-Projects

Is this task still open ? Can I work on patches for this task ?

@Soda yes, this task is still open and you can work on it if you want.

The extension wiki love is described here https://www.mediawiki.org/wiki/Extension:WikiLove
And OOUI is provided in any installation of MediaWiki and is described here https://www.mediawiki.org/wiki/OOUI

@TheDJ Cool :) Can I make multiple patches where I fix parts of the extension for each patch. Doing everything in one go would be a bit overwhelming for me. I'll start with the forms, followed by the panel portion and then the dialog box itself.

@Soda yes, this is absolutely fine, although i'm not sure if that is gonna be much easier that way, due to different loading methodologies of the UI components. But give it a try.

You might also want to keep https://www.mediawiki.org/wiki/ResourceLoader/Developing_with_ResourceLoader handy as a resource, which describes our asset loading system.

Since we're moving from OOUI to Vue, it seems likely that OOUI will be deprecated before jQueryUI is. At some point we may want to convert WikiLove to Vue, but converting it to OOUI seems like it would be counter-productive at the moment.

Since we're moving from OOUI to Vue, it seems likely that OOUI will be deprecated before jQueryUI is. At some point we may want to convert WikiLove to Vue, but converting it to OOUI seems like it would be counter-productive at the moment.

A new task to explore the feasibility of migrating Wikilove to Vue.js and Codex (the new Vue-based component library) is available here: T323311: [Proposed Epic] Migrate Wikilove front-end to Codex.