Closed havremunken closed 5 years ago
Litt usikker på hvordan håndtere dette utenom forumet - der har man jo brukernavnet på enhver side, så aldri noe problem å vite hvem man er.
Hva når en bruker går inn på en nyhetsside - da har vi ikke noen lett måte å se at jeg er OrionPax på. Er det noe problem? Jeg vet ikke hvorfor jeg skulle trenge brukernavnet mitt der, men hvis det skulle bli nødvendig, må vi tenke på det. Skal vi flytte PageContext til å eies av background script, og huske hvilken bruker vi sist var logget inn som? Reagere på login og logout og oppdatere seg når man er innom forumsider som sier noe om navn eller at man ikke er logget inn?
Lager sannsynligvis problemer ut av ingenting her. Går for den enkle implementasjonen foreløpig.
Lukker dette issuet nå som PageContext finnes og fungerer. Det er ikke så mye av verdi på den ennå, men tanken er å utvide med annet som extmods kan ha bruk for etterhvert som vi kommer over noe som er "generelt" nok. Og brukernavn + hva slags side man er på i enum-form har jo bittelitt verdi, da.
Jeg tenker å lage en liten modul som blir sendt til hver ExtensionModule som et parameter til execute. Denne kan inneholde små "nice to have"-ting så vi slipper duplication of effort i flere plugins.
Som eksempel: pageContext kan ha en property som heter username. Hvis bruker ikke er logget inn på RBKweb-forumet står denne til undefined, ellers er den satt til brukernavnet. Vil vel nødvendigvis kun dukke opp på forumsider, men er vel også der man ev. kunne trenge den (typisk hvis vi skal lagre noe til eller hente noe fra sidecar-tjeneste).
En annen ting den kan ha er en enum (PageType eller noe sånt) som sier noe om hva slags side vi er på - trådliste, postliste, forumliste, nyhetsliste, nyhet, ny PM osv. Med en egen "motor" som parser URLer fra RBKweb og gjør de om til enums vil vi da igjen kunne gjøre det lettere å lage utvidelser - og hver trenger ikke å hoste opp et sett med RegExp'er som sier noe om hvor de vil kjøre, de lister kun de relevante enum'ene.
Dette objektet kan gjerne vokse etter behov, det viktigste er at det inneholder ting som vi kan trenge flere steder, så vi slipper å duplisere så veldig mye.