Wikidata:Avoiding breaking gadgets when developing UI
Jump to navigation
Jump to search
Context[edit]
While working on different parts of the interface of Wikidata, the development team breaks gadgets here and there. This is unfortunate but not always avoidable.
Right now, we are doing it too often because we do not give any guarantees about the points gadgets can hook into in the interface. We’d like to get the input of gadget authors to better understand which points are most important to keep more stable compared to others. We can not keep everything stable because we do need to move Wikidata forward, but we can give some more guarantees and backwards compatibility in the future than we are doing right now.
We already have a policy for other parts of our code and would like to move towards something similar for the UI code.
Questions[edit]
What are the most important areas/functions for you that so far break too often? Which gadgets are affected?[edit]
- time outs on wdq/sparql-query
- DuplicateReferences is the most important gadget to me, (I more or less becomes inactive when it breaks). I have to give you credit here, it was long time since it broke last time! -- Innocent bystander (talk) 12:34, 10 December 2016 (UTC)
- Yes, this gadget is the one which breaks the most out of the ones I use. :( - Nikki (talk) 17:24, 11 December 2016 (UTC)
- It doesn't quite count as "too often" since it's been constantly broken for over a year, but phab:T115794 is still a problem for me. There needs to be a way for scripts which want to modify the statements section to find out whether the page has finished modifying it. - Nikki (talk) 17:24, 11 December 2016 (UTC)
- The HTML structure of statements widgets, affecting primary sources. Tpt (talk) 15:49, 15 December 2016 (UTC)
Which functions/helpers would be useful for you? What are specific use cases for them?[edit]
- easy filter in sparql for items with blank label or description
- This is specifically about gadgets. Can you clarify how it relates? --Lydia Pintscher (WMDE) (talk) 10:35, 10 December 2016 (UTC)
- Make the units clickable, to easily follow the links and check if correct items are used. -- Innocent bystander (talk) 11:40, 10 December 2016 (UTC)
- A gadget modifying Special:Contributions so that it compresses it like the Watchlist often does, with only my (or whoevers) latest edit in each page is visible. Today, I edit maybe 20 times in each item when I reach it, and Special:Contributions then lists all edits, which often does not interest me. -- Innocent bystander (talk) 04:59, 12 December 2016 (UTC)
- This is already possible by enabling "Only show edits that are latest revisions". Matěj Suchánek (talk) 13:46, 12 December 2016 (UTC)
- @Matěj Suchánek: Where, I cannot find that setting anywhere? -- Innocent bystander (talk) 16:42, 12 December 2016 (UTC)
- On the top of the page, under "Tag filter:". Matěj Suchánek (talk) 17:10, 12 December 2016 (UTC)
- @Matěj Suchánek: Where, I cannot find that setting anywhere? -- Innocent bystander (talk) 16:42, 12 December 2016 (UTC)
- This is already possible by enabling "Only show edits that are latest revisions". Matěj Suchánek (talk) 13:46, 12 December 2016 (UTC)
- A stable API to add statement widgets to entity pages with the ability to customize the action buttons (edit/delete...). It would allow to implement primary sources without having to clone the complete statement UI. It should be also able to customize buttons on references. Tpt (talk) 15:49, 15 December 2016 (UTC)
- A stable API to add reference widgets to editing statement. Tpt (talk) 13:02, 24 May 2017 (UTC)
Other input[edit]
- The merge gadget is probably the one I use most. So .. please don't break it. But I'm not a gadget editor, so I suppose you are not interested in my feedback. BTW, to notify all gadget editors, it might be easier to contact them directly. Phabricator should have some reports on what breaks occasionally.
--- Jura 11:01, 10 December 2016 (UTC) - Perhaps there may be some documentation (with versioning) of the Wikidata UI (e.g., the DOM structure) and of the external data access from Wikidata. I myself am a developer of the COOL-WD user script. Fadirra (talk) 14:00, 10 December 2016 (UTC)