Ik zie nu duidelijk waarom de Intervisie-login beter werkte dan de huidige Padelplanner-versie.
De huidige Code.gs v2.4.0 / 537 regels bevat wél een auth-basis: registratiecode, wachtwoordlogin, mailcode-login, wachtwoordreset, salted SHA-256 en sessies staan erin. Code gs Padelplanner 05102026 1… Code gs Padelplanner 05102026 1…
Maar de Intervisie-versie is op een aantal belangrijke punten completer.
De Intervisie-versie heeft een echte OTP-tabel in de Sheet:
OTP = otpId, email, codeHash, purpose, expiresAt, used, createdAt, target, channel
en daarnaast een aparte AUTH-tabel voor sessies. Code gs Intervisies 05102026 10…
De huidige Padelplanner bewaart de mailcode daarentegen alleen tijdelijk in CacheService. Code gs Padelplanner 05102026 1… Dat werkt in principe, maar je kunt de code niet terugvinden/controleren in de Sheet en het is minder goed te diagnosticeren.
Belangrijker: de Intervisie-versie heeft expliciete maildiagnostiek zoals WEBMAIL, MAILCODE, MAILTEST, MAILCODETEST, systemHealth() en autorisatie van MailApp. Daarmee kun je afzonderlijk bewijzen dat Google daadwerkelijk mails kan versturen. Code gs Intervisies 05102026 10… Code gs Intervisies 05102026 10… Code gs Intervisies 05102026 10…
Ook is de registratieflow completer: startRegistration() bepaalt e-mail/SMS, requestRegistrationCode() controleert of het account al bestaat en sendOtp_() verstuurt eerst de mail en slaat pas daarna de gehashte OTP op. Code gs Intervisies 05102026 10… Code gs Intervisies 05102026 10… Code gs Intervisies 05102026 10…
En de wachtwoorden zijn daar eveneens met een unieke salt + SHA-256 opgeslagen. Code gs Intervisies 05102026 10…
De Padelplanner v2.4.0 gebruikt nog:
getDb_() → APK_SMART_DB_ID → eventueel SpreadsheetApp.create('APK SMART 123 Data')
Dus hij kan nog steeds een andere verborgen database maken/gebruiken in plaats van jouw vaste Padelplanner-Sheet. Code gs Padelplanner 05102026 1…
Dat moeten we juist niet meer doen. Alles moet naar jouw vaste spreadsheet-ID.
Daarom zou ik nu niet simpelweg wat regels toevoegen. Ik zou de bewezen auth-engine uit de 1196-regels Intervisie-versie overzetten naar de huidige PadelOS, terwijl ik alle bestaande agenda/APK/Google Calendar-code behoud.
De nieuwe log123 moet dan één venster krijgen met:
Inloggen | Registreren | Mailcode | Wachtwoord vergeten/wijzigen
en daarachter één consistente flow: USERS + OTP + AUTH in dezelfde Padelplanner-Sheet → MailApp → gehashte 6-cijferige code → salted SHA-256 wachtwoord → sessietoken.
Ook voeg ik de Intervisie-diagnostiek toe, zodat we vanuit Apps Script bijvoorbeeld MAILTEST() en MAILCODETEST() kunnen uitvoeren. Dan weten we meteen of een probleem in MailApp, Code.gs of index.html zit.
Voor het daadwerkelijk verschijnen van het login/mailcode-venster heb ik daarnaast de actuele index.html nodig: de twee uploads die je nu stuurde zijn beide Code.gs-versies. De backend kan een mailcode versturen, maar Code.gs kan op zichzelf niet zorgen dat het juiste loginvenster in de browser verschijnt.
Stuur daarom ook je huidige index.html mee. Dan maak ik de nieuwe set als één geheel, zonder goede functies te verwijderen: Code.gs + index.html, met bovenaan weer datum, tijd, versie, NEW/VERVANGEN en regelaantal.
Eigenlijk willen we in het systeem in de bovenbalk die zwart is en GABELER CoachingVragen stellen
Luisteren & reflecteren
Bewustwording
Persoonlijke groei
GODOGOOD Online ToolsAPK scans
Werkmappen
Dashboards
Rapportage & delen
PadelOS TrainingenAgenda
Lessen & spelers
Belasting
Planning & uitvoering
PadelStudie 1231 Zien
2 Begrijpen
3 Doen
Kennis naar praktijk
IntervisiesErvaring → feedback
Inzicht → patronen
SMART → actie
Nieuwe koers bevat, natuurlijk de links maken naar de sites,
zoals https://sites.google.com/view/intervisies voor Intervisies.
https://sites.google.com/view/gabeler voor GABELER Coaching,
GODOGOOD Online natuurlijk de site: https://sites.google.com/view/godogood
maar voeg onder Tools toe : https://sites.google.com/view/godogood-eu/ ,
PadelOS natuurlijk https://sites.google.com/view/padelos/ ,
Padelstudie is natuurlijk https://sites.google.com/view/padelstudie
en voor de 123 willen we : https://docs.google.com/spreadsheets/d/e/2PACX-1vQZbnxK19uTsIm9HfNkzTeCy_BdsSoPhn4yTN7sCc4S9DM87ALA0JgPdAhTfzKtSJNf28soAJPTeK4d/pubhtml
Voeg ook nog het logo toe: ⌘ en zet daaronder de link: https://sites.google.com/view/stichting/godogood
Ja. De zwarte bovenbalk kan zo een echte ecosysteem-navigatie worden in plaats van alleen informatieve tekst. Ik zou de volledige zwarte kaart klikbaar maken per onderdeel én de afzonderlijke onderdelen zoals Tools en 123 hun eigen link geven.
De structuur wordt:
⌘ GODOGOOD → Stichting GODOGOOD
GABELER Coaching → GABELER Coaching
GODOGOOD Online → GODOGOOD, met Tools → GODOGOOD.eu Tools
PadelOS Trainingen → PadelOS
PadelStudie → PadelStudie, met 123 → PadelStudie 123
Intervisies → Intervisies
Visueel zou ik ⌘ helemaal links toevoegen als compact logo/home-teken. Daaronder klein GODOGOOD. Daarna de vijf zwarte navigatievakken. Bij hover/touch licht het betreffende vlak subtiel op en verschijnt ↗, zodat direct duidelijk is dat het een externe link is.
De tekst blijft tegelijkertijd de methodiek uitleggen:
GABELER Coaching
Vragen stellen
Luisteren & reflecteren
Bewustwording
Persoonlijke groei
GODOGOOD Online Tools
APK scans
Werkmappen
Dashboards
Rapportage & delen
PadelOS Trainingen
Agenda
Lessen & spelers
Belasting
Planning & uitvoering
PadelStudie 123
1 Zien
2 Begrijpen
3 Doen
Kennis naar praktijk
Intervisies
Ervaring → feedback
Inzicht → patronen
SMART → actie
Nieuwe koers
Op mobiel zou ik deze balk niet vijf kolommen breed proberen te houden. Daar maken we er één horizontaal swipebare zwarte navigatiebalk van: ⌘ | GABELER | GODOGOOD | PadelOS | Studie 123 | Intervisies. Zo kost hij nauwelijks verticale ruimte.
Daarmee wordt de bovenbalk eigenlijk de permanente toegang tot het hele ecosysteem, terwijl PadelOS Agenda de werkruimte eronder blijft.
gc
Nagedacht gedurende 11s
Zeker — met gc bedoel je de volledige actuele Code.gs, niet een verkorte versie. De huidige complete backend staat hier:
Code.gs
Deze versie bevat de Google Agenda-koppeling, USERS/EVENTS/APK/INTERVISION/PATTERNS/SMART, Google-events lezen/schrijven/verwijderen en de APK-SMART-cyclus.
De uitbreidingen die je daarna hebt gevraagd — adminrechten voor stijn.gabeler@gmail.com, agenda's afzonderlijk aan/uit zetten, 7 dagen/weekend, lessenreeksen, SERIES, kleuren/emoji's, herstel/prullenbak, import/export en de ecosysteemlinks in de zwarte balk — moeten nu in de volgende volledige GC worden samengevoegd. Ik beschouw die als de nieuwe eisen; ik ga daarbij de bestaande werkende functies niet verwijderen.
Je hebt gelijk: de balk zag er al uit als navigatie, maar in de actuele index.html waren het gewoon <div>-blokken. Er stonden dus geen echte links achter. Daarom kon klikken niets doen.
Ik heb de Index nu daadwerkelijk aangepast.
De balk staat nu buiten de afzonderlijke Agenda/APK/Intervisie-schermen en blijft daardoor bovenaan beschikbaar wanneer je tussen de views wisselt.
De koppelingen zijn nu:
⌘ GODOGOOD → Stichting GODOGOOD
GABELER Coaching → GABELER Coaching
GODOGOOD Online → GODOGOOD, plus aparte Tools ↗ → GODOGOOD.eu Tools
PadelOS Trainingen → PadelOS
PadelStudie → PadelStudie, plus aparte 123 ↗ → PadelStudie 123
Intervisies → Intervisies
De grote vakken openen in een nieuw tabblad, zodat je PadelOS Agenda zelf open blijft.
Op desktop krijg je nu:
⌘ | GABELER | GODOGOOD | PadelOS | PadelStudie | Intervisies
Op mobiel wordt dezelfde balk horizontaal swipebaar in plaats van zes te kleine vakken onder elkaar te proppen.
Ook heb ik hover/focus toegevoegd: wanneer je over een onderdeel gaat, licht het op en verschijnt ↗.
Voor deze wijziging hoefde Code.gs niet aangepast te worden: dit is bewust gewone HTML-navigatie. Daardoor werken de links ook onafhankelijk van Google Calendar of de Sheet-backend.
Let op bij Apps Script: vervang de bestaande index.html door deze versie en maak daarna een nieuwe deployment/versie of werk je bestaande web-app deployment bij. Anders blijf je in Google Sites de oude gedeployde HTML zien.