2.0: Implement Gadget Manager
OpenPublic

bzimport added a subscriber: Unknown Object (MLST).
bzimport set Reference to bz29398.
Krinkle created this task.Via LegacyJun 14 2011, 5:06 PM
Paladox set Security to None.Via WebApr 26 2015, 3:37 PM
Paladox added a subscriber: Paladox.

Hi has this been implanted or still be waiting to be implanted.

He7d3r changed the title from "Implement Gadget Manager (tracking)" to "2.0: Implement Gadget Manager (tracking)".Via WebApr 26 2015, 6:37 PM
He7d3r edited the task description. (Show Details)
Aklapper lowered the priority of this task from "High" to "Normal".Via WebApr 26 2015, 9:53 PM
Aklapper added a subscriber: Aklapper.
Ricordisamoa added a subscriber: Ricordisamoa.Via WebJul 23 2015, 5:48 PM
onei added a subscriber: onei.Via WebJul 28 2015, 7:18 AM

@Krinkle I'm confused as to how is this bug meant to be resolved? If it's purely for tracking, it should be closed as all the blocking tasks have been closed (unless I'm misinterpreting the nature of tracking bugs). However, the feature is still missing, and this task has no description of what needs implementing beyond what it should be called.

Legoktm changed the title from "2.0: Implement Gadget Manager (tracking)" to "2.0: Implement Gadget Manager".Via WebAug 2 2015, 6:45 AM
Legoktm removed a project: Tracking.
Legoktm added a subscriber: Legoktm.Via WebAug 2 2015, 6:48 AM

@Krinkle I'm confused as to how is this bug meant to be resolved? If it's purely for tracking, it should be closed as all the blocking tasks have been closed (unless I'm misinterpreting the nature of tracking bugs). However, the feature is still missing, and this task has no description of what needs implementing beyond what it should be called.

It used to be a tracking bug, but now we can just make it a generic "implement gadget manager" task. The code is mostly written and lives in the RL2 branch and now needs to be ported to the master branch.

kaldari added a subscriber: kaldari.Via WebOct 8 2015, 1:41 AM

@Krinkle: Could you explain what a "Gadget Manager" is in the bug description? Is this a front-end UI or a back-end feature for ResourceLoader?

MGChecker added a subscriber: MGChecker.Via WebOct 30 2015, 10:29 AM
Krinkle added a comment.Via WebOct 30 2015, 7:57 PM

Specified at https://www.mediawiki.org/wiki/ResourceLoader/Version_2_Design_Specification#Gadget_Manager

The gadget manager is the user interface, to be hosted on Special:Gadgets, that effectively replaces MediaWiki:Gadgets-definition. From there gadget definitions can be created, modified and deleted.

In Gadgets 2.0, the definitions are stored in a separate content model in the revision store. However they're not meant to be modified directly, there is a GUI for it.

Luke081515 added a subscriber: Luke081515.Via WebOct 31 2015, 4:46 PM
DannyH added a project: Community-Tech.Via WebNov 5 2015, 6:23 PM
DannyH moved this task to Analysis on the Community-Tech workboard.
gerritbot added a subscriber: gerritbot.Via ConduitNov 5 2015, 6:24 PM

Change 247869 had a related patch set uploaded (by Kaldari):
[WIP] Add Gadget manager, overhaul Special:Gadgets

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

gerritbot added a project: Patch-For-Review.Via ConduitNov 5 2015, 6:24 PM
DannyH moved this task to Sprint planning/estimation on the Community-Tech workboard.Via WebNov 5 2015, 6:28 PM
DannyH added a subscriber: DannyH.EditedVia WebNov 5 2015, 10:33 PM

For Community Tech: the task is to remove code from Legoktm's WIP patch related to cross-wiki/global gadgets, and update to current standards.

DannyH set Story Points to 13.Via WebNov 6 2015, 7:19 PM
DannyH moved this task to Backlog on the Community-Tech workboard.
kaldari added a comment.Via WebNov 7 2015, 12:16 AM

@Krinkle, @Legoktm: The documentation at https://www.mediawiki.org/wiki/ResourceLoader/Version_2_Design_Specification#Gadget_Manager leaves me with several unanswered questions:

  • What is Special:Gadgets/<id> for? What information or interfaces are shown there?
  • What is the actual process for editing a gadget definition (starting from the Gadget Manager (Special:Gadgets))?
  • Can you edit or delete a gadget from the corresponding Gadget_definition page, or do you have to do it through the Gadget Manager?
  • If you delete a gadget from the Gadget Manager, what happens? Does that just disable it? Does it delete the corresponding CSS and JS pages? Does it delete the Gadget_definition page?
  • When you create a gadget, is it immediately available in the preferences?
  • Is there a separate "enable/disable" function?
  • What aspects of Gadgets 2.0 will be included in the first iteration? What features will be added later?

I guess what I'm lacking is a very general bird's eye view of how Gadgets 2.0 is supposed to work. Mock-ups of Special:Gadgets, Special:Gadgets/<id>, and the interface for editing gadgets would help a lot, but I understand if you don't have time to do that. At the least, a description of what the new Special:Gadgets page is supposed to contain would be helpful, as I only have a very vague idea at this point.

Krinkle added a comment.Via WebNov 7 2015, 12:31 AM

@Krinkle, @Legoktm: The documentation at https://www.mediawiki.org/wiki/ResourceLoader/Version_2_Design_Specification#Gadget_Manager leaves me with several unanswered questions:

  • What is Special:Gadgets/<id> for? What information or interfaces are shown there?

The same as Special:Gadgets overview, but a permalink to the details of just one gadget definition. This is also from which definitions can be exported or deleted, e.g. Special:Gadgets/:id/export.

  • What is the actual process for editing a gadget definition (starting from the Gadget Manager (Special:Gadgets))?

View Special:Gadgets. This outputs a table-like interface with one row for each gadget. Click "Modify gadget" in the row you want to modify. Without javascript, this points to action=edit of the gadgets definition page. With javascript (and user right), this opens a dialog for a visualised editing interface to modify each of the properties where most fields are autocompleted (e.g. skin names, message keys, script/style page names).

  • Can you edit or delete a gadget from the corresponding Gadget_definition page, or do you have to do it through the Gadget Manager?

The Gadget manager points to action=delete of the gadgets definition page.

  • If you delete a gadget from the Gadget Manager, what happens? Does that just disable it? Does it delete the corresponding CSS and JS pages? Does it delete the Gadget_definition page?

It deletes the gadget definition page only. Wiki pages for script, style and interface messages (in Gadget and MediaWIki namespace respectively) are retained and may be deleted separately if desired (and not used elsewhere).

  • When you create a gadget, is it immediately available in the preferences?

Yes.

  • Is there a separate "enable/disable" function?

No.

  • What aspects of Gadgets 2.0 will be included in the first iteration? What features will be added later?

The proof of concept RL2 branch implemented all features kind of. In the recent clean up work by @Legoktm and yourself the "Global gadgets" aspect was removed pending outcome of T71445. I don't expect this to be added later. Rather it will receive its own solution, likely based around Git and a friendly deployment model.

I guess what I'm lacking is a very general bird's eye view of how Gadgets 2.0 is supposed to work. Mock-ups of Special:Gadgets, Special:Gadgets/<id>, and the interface for editing gadgets would help a lot, but I understand if you don't have time to do that. At the least, a description of what the new Special:Gadgets page is supposed to contain would be helpful, as I only have a very vague idea at this point.

The code in the RL2 branch should work fine to get a general sense. I've checked it out just now, ran update.php and viewed Special:Gadgets. Here's what it looks like:



DannyH edited projects, added Community-Tech-Sprint; removed Community-Tech.Via WebNov 10 2015, 6:08 PM
kaldari added a comment.Via WebNov 12 2015, 7:05 PM

@Krinkle, @Legoktm: Thanks. I've started creating some documentation at https://www.mediawiki.org/wiki/Gadgets_2.0. BTW, I've been trying to get the Gadget Manager interface running locally, but haven't had any luck. I've checked out 247869, switched wgGadgetsRepoClass to GadgetDefinitionNamespaceRepo and changed the SpecialGadgets registration to SpecialGadgets2.php. I currently get fatal errors about getDefinitionTitle() being undefined. Is there a particular patchset that I can checkout that will let me load the Gadget Manager and try it out? Do I also need to checkout any pending changesets in core?

Legoktm added a comment.Via WebNov 12 2015, 7:08 PM

Try the "RL2" branch in the Gadgets repository.

kaldari added a comment.Via WebNov 12 2015, 8:30 PM

Thanks. That works.

Catrope removed a subscriber: Catrope.Via WebNov 13 2015, 8:36 PM
NiharikaKohli added a subscriber: NiharikaKohli.Via WebNov 16 2015, 2:03 PM
kaldari added a comment.Via WebNov 16 2015, 6:43 PM

Added some documentation on getting the dev code running in case anyone else wants to as well:
https://www.mediawiki.org/wiki/Gadgets_2.0#Temporary_method_until_Gadgets_2.0_code_is_merged

NiharikaKohli claimed this task.Via WebNov 18 2015, 7:55 AM
NiharikaKohli moved this task to In Development on the Community-Tech-Sprint workboard.
DannyH added a project: Gadgets-2.0.Via WebNov 19 2015, 7:10 PM
Krenair removed a project: Gadgets-2.0.Via Bulk EditNov 19 2015, 7:39 PM
Krenair added a project: Gadgets-2.0.Via WebNov 19 2015, 11:01 PM
kaldari claimed this task.Via WebNov 24 2015, 6:10 PM
kaldari moved this task to Needs Review/Feedback on the Community-Tech-Sprint workboard.Via WebDec 30 2015, 7:50 PM
kaldari added a comment.Via WebMon, Jan 11, 7:26 PM

This is done, but waiting for feedback from @Legoktm.

kaldari moved this task to In Development on the Community-Tech-Sprint workboard.Via WebThu, Jan 21, 12:46 AM
DannyH moved this task to Needs Review/Feedback on the Community-Tech-Sprint workboard.Via WebMon, Feb 1, 6:06 PM

Add Comment