Talk:Community Tech/Global gadgets

Latest comment: 7 years ago by DannyH (WMF) in topic Creating a sane future proof tool

Creating a sane future proof tool

edit

The notion of simple using a single repository to store global gadgets and have these automatically usable everywhere is noble. Still things that should be considered blockers for making this tool future proof and sane:

The rationale for these suggestions is fairly simple. While local gadgets have fairly free editing, many of them cause problems such as :

While local issues can be quickly and easily fixed, having a global gadget makes these problems much much worse. As the code will hit all wikis that import it, and it may not be clear where the errors are coming from.

Some suggestions:

  • Consider the feasibility of storing the code transparently on a proper code repository, e.g. phabricator, and transparently allowing editing through the wiki. Alternatively, store and edit the code in the wiki, synchronize to a phabricator repository, and run periodic basic tests using code testing infrastructure.
  • Separate admin rights and gadget editing rights. Most admins / stewards / bureaucrats are not qualified to edit the code, and there should be some clear vetting process before someone becomes a gadget developer. This should not be optional, exposing XSS and security issues to one wiki is bad enough, exposing this globally would be very irresponsible. (Maybe Codeacademy could issue unique badges for this. )
  • Wikis import a specific revision of the code and must deliberately choose to upgrade to newer version (this eliminates issues with breaking changes).
  • Clear approval process for code to go live, e.g. maybe after a different developer approves it, instead immediately.

197.218.80.145 13:08, 15 January 2017 (UTC)Reply

Thank you for the suggestions and ideas. Do you have a username or a Phabricator ID? It would be nice to be able to talk some more about this. -- DannyH (WMF) (talk) 21:18, 18 January 2017 (UTC)Reply
Return to "Community Tech/Global gadgets" page.