From bf8a8297417f15eb6ba7c3904b366c6a1d9188f7 Mon Sep 17 00:00:00 2001 From: Glenn Goossens <48956933+glgoose@users.noreply.github.com> Date: Mon, 31 Aug 2026 13:40:47 +0200 Subject: [PATCH] Noem peoplesoft-excel-download, en documenteer het dev-spoor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit De tabel krijgt de PeopleSoft-rij. Daarnaast een sectie Ontwikkelen: wat er in Tampermonkey hoort te staan is óf een dev-stub die naar de repo-file wijst, óf een kopie via de raw-URL, nooit een met de hand geplakte kopie. De grootte in het dashboard verraadt in welk spoor een rij zit. De naamgeving staat er ook bij, want het dashboard sorteert op naam en zo staan de scripts van dezelfde toepassing bij elkaar. Co-Authored-By: Claude Opus 5 --- README.md | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 56 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 4eb6be6..9ec9340 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ # ua-userscripts -| toepassing | wat het doet | | -| ------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | -| **BIPP** | budgetcode kiezen en zien in het winkelmandje | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js) | -| **BIPP** | zoekveld in dropdowns met veel opties | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js) | -| **iExpense** | alle onkostenrapporten in één doorzoekbare tabel | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js) | +| toepassing | wat het doet | | +| -------------- | ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| **BIPP** | budgetcode kiezen en zien in het winkelmandje | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/bipp-budgetcode/bipp-budgetcode.user.js) | +| **BIPP** | zoekveld in dropdowns met veel opties | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/select-search/select-search.user.js) | +| **iExpense** | alle onkostenrapporten in één doorzoekbare tabel | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/iexpense-search/iexpense-search.user.js) | +| **PeopleSoft** | werkende knop "Downloaden naar Excel" | [installeren](https://raw.githubusercontent.com/glgoose/ua-userscripts/main/scripts/peoplesoft-excel-download/peoplesoft-excel-download.user.js) | ## Installatie-instructies @@ -33,6 +34,56 @@ evenmin: die doe je per toestel opnieuw. `chrome://extensions` of `edge://extensions` en zet **Developer mode** (Ontwikkelaarsmodus) aan. +## Ontwikkelen + +De file in `scripts/` is de bron van waarheid voor de code. Wat in Tampermonkey staat is dus +óf een loader die naar die file wijst, óf een kopie die van de raw-URL komt. Nooit een met de +hand geplakte kopie, want dan zijn er twee waarheden die stil uit elkaar lopen. + +| spoor | wat er in Tampermonkey staat | grootte | `@version` | +| ----------- | --------------------------------------- | ----------------- | ----------- | +| **dev** | stub met `@require file:///...` | een paar honderd byte | `1.0.0-dev` | +| **gebruik** | volledige kopie via de raw-URL | de echte grootte | `1.0.0` | + +De grootte in het dashboard zegt dus in welk spoor een rij zit. + +### Een dev-stub maken + +```sh +bin/dev-stub bipp-budgetcode +``` + +De stub gaat meteen naar het klembord. In Tampermonkey neem je het potlood van de bestaande +rij, dan Cmd+A, Cmd+V, Cmd+S. Via de `+`-tab krijg je een tweede rij in plaats van een +bijgewerkte, want Tampermonkey herkent een script aan `@namespace` plus `@name`. + +`bin/dev-stub --list` toont de scriptmappen, `--no-copy` slaat het klembord over. + +Twee dingen die aan die stub vasthangen: + +- **De metadata komt uit de stub, niet uit de required file.** `@match`, `@grant` en `@run-at` + moeten er dus in staan; het `==UserScript==`-blok van de file zelf wordt genegeerd. `dev-stub` + neemt die velden over uit het echte script, zodat de twee niet uit elkaar lopen. +- **`@downloadURL` en `@updateURL` horen er niet in.** Met die velden overschrijft Tampermonkey + je stub bij de eerste update-check met de volledige raw-versie. `dev-stub` laat ze weg. + +Lokale bestanden lezen mag Tampermonkey alleen als **Allow access to file URLs** aanstaat, bij +`chrome://extensions` onder Details. + +### Naamgeving + +`: `, met de toepassing zoals je ze zelf noemt (`BIPP`, `iExpense`, +`PeopleSoft`), daarna de dubbele punt en een kleine-letter naamwoordgroep zonder punt. Het +dashboard sorteert op naam, dus zo staan de scripts van dezelfde toepassing bij elkaar. + +- Geen `[DEV]` in de naam. Dat groepeert op ontwikkelstatus in plaats van op toepassing, en de + Version-kolom zegt met `-dev` al hetzelfde. +- Geen technische slug in de naam. Die staat in het repo-pad en in `@homepageURL`. +- Draait een script op meerdere sites, dan `Algemeen: ...`. +- Mapnaam en bestandsnaam in kebab-case, zelfde volgorde: `-`. + +Hoog `@version` op bij elke wijziging, anders krijgt niemand de update binnen. + ## Licentie [GPL-3.0-or-later](LICENSE). Gebruiken en aanpassen mag vrij. Verspreid je een