Difference between revisions of "MediaWiki:Stenli"
m (Podehaye moved page Stenli to MediaWiki:Stenli) |
(Small formatting changes) |
||
(One intermediate revision by the same user not shown) | |||
Line 11: | Line 11: | ||
=== Intermediate goals === | === 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. | 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. | ||
Line 25: | Line 25: | ||
* 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 (but we can easily start here and then cannibalize). 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. | * 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 (but we can easily start here and then cannibalize). 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. | * Get started on intermediate goals. | ||
+ | |||
+ | == Process documentation == | ||
+ | |||
+ | The development process for each task will be documented, to be used as a blueprint / todo list for future implementations. | ||
+ | |||
+ | ===== Replace pop-up with DOM modification ===== | ||
+ | |||
+ | ===== Replace mailto link with a form ===== | ||
+ | |||
+ | ===== Integrate in the form data specified in the page ===== | ||
+ | |||
+ | ===== Use data stored in a protected script to autocomplete ===== | ||
+ | |||
+ | ===== Use LocalStorage ===== | ||
+ | |||
+ | == Product documentation == | ||
+ | |||
+ | The finished products (templates, gadgets) will be documented in their own pages, with links included here for completeness. |
Latest revision as of 10:19, 12 January 2020
Status
Currently all instance of (P3)-data controller (Q96) have a popup that appears with text "Do a GDPR SAR to this controller!". This is not flexible enough, as:
- it is dependent on General Data Protection Regulation (Q449) and we can't add more logic for California Consumer Privacy Act (Q2720) or Privacy Shield arrangement (Q412);
- 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 requires (P122).
- 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 (but we can easily start here and then cannibalize). 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.
Process documentation
The development process for each task will be documented, to be used as a blueprint / todo list for future implementations.
Replace pop-up with DOM modification
Replace mailto link with a form
Integrate in the form data specified in the page
Use data stored in a protected script to autocomplete
Use LocalStorage
Product documentation
The finished products (templates, gadgets) will be documented in their own pages, with links included here for completeness.