- 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.
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.
- 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.
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.
- Get started on intermediate goals.
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
Integrate in the form data specified in the page
Use data stored in a protected script to autocomplete
The finished products (templates, gadgets) will be documented in their own pages, with links included here for completeness.