Changes

Jump to navigation Jump to search
Created page with "== Status == Currently all {{P|3}}-{{Q|96}} have a popup that appears with text "Do a GDPR SAR to this controller!". This is not flexible enough, as: * it is dependent on {{Q|..."
== Status ==
Currently all {{P|3}}-{{Q|96}} have a popup that appears with text "Do a GDPR SAR to this controller!". This is not flexible enough, as:
* it is dependent on {{Q|449}} and we can't add more logic for {{Q|2720}} or {{Q|412}};
* the text is generated by a template that is not very modular, preventing us from adding well secondary logic;
* the popup generates a mailto link, but it should really generate a form.

For more information on how this is achieved, see [[Architecture of SAR service]].

== Goal ==
Instead of a one-link popup with `mw.notify`, aim for introducing a form just below the name of a company (where [[User:Podehaye/mwhtml.js]] introduces material). This form will lead to several buttons, generated according to user characteristics (where they live, for instance). The form should rely on autocompletion client-side based on data stored in LocalStorage.

=== Intermediate goals ===
* Replace the popup to instead introduce content in the DOM where [[User:Podehaye/mwhtml.js]] does.
* Replace the mailto link by a basic form asking to enter first name, last name.
* Improve the (auto generated) form to ask also for the data specified in the page through {{P|122}}.
* Rely on data stored somewhere in protected user script space to autocomplete.
* Rely on LocalStorage.

There have been some initial efforts at using LocalStorage, detailed in [[Development of SAR service]]. However, this relied on some initial fairly nasty code. I think the code behind [[MediaWiki:Gadget-QuickPresets.js]] is much more neatly structured and helpful for the non-LocalStorage parts.

== Instructions ==
The goal of the work is not only to achieve the objectives, but also to catalyze a community of developers helping towards those goals. Therefore documentation is crucial.

== Tasks ==
* Read through [[User:Podehaye/mwhtml.js]], [[MediaWiki:Gadget-QuickPresets.js]], [[Architecture of SAR service]], [[Development of SAR service]] (and scripts documented therein) to see all the different ways already used to implement at the interface of Javascript, SPARQL and Wikibase. This *needs* to happen on the wiki, ideally in the MediaWiki namespace. Link heavily to Wikidata/Wikipedia/WikiMedia Foundation properties wherever possible. There should be two layers to this doc: the different ways one can use (atomic techniques), and how these ways are bundled to create specific solutions (e.g. described at [[MediaWiki:Gadget-QuickPresets/doc]]). Currently the doc mixes both layers often, which reduces modularity.
* Get started on intermediate goals.

Navigation menu