Teknisk set
Styles   | Jeg har for en gang skyld forsøgt at gøre lidt ud af udseendet af min hjemmeside (jeg ved ikke om det siger mest om hjemmesiden eller om mig). Jeg anvender selvfølgelig Cascading StyleSheets, og hver side anvender tre StyleSheets. Det ene (joldk.css) indenholder alle de styles, der bruges rundt omkring på min side mht. billeder, tekst, tabeller osv. Det andet (joldkMenu.css) indeholder de styles, som bliver brugt i menustrukturen. Det sidste (joldk_Colors.css) indeholder de farver, som skifter med årstiderne. Jeg har nemlig lavet det sådan, at farverne på min hjemmeside skifter alt efter årstiden. Det gøres ved at der hver nat automatisk dannes et nyt stylesheet. Farvekoderne er lagret i databasen. De fire farvekombinationer giver min hjemmeside flg. udseende: forår, sommer, efterår og vinter. Jeg har desuden lavet det sådan, at fra de sidste 5 dage i en årstid til de første 5 dage i den næste årstid, skifter farverne løbende fra den ene årstids farver til den næste årstids farver. Det giver nok nogle meget underlige farvekombinationer, men jeg syntes det var en sjov feature at lave. |   |
Klient software arkitektur   | Jeg har en smule klient funktionalitet på min hjemmeside. Det er basalt set tre typer af klientfunktionalitet, jeg benytter mig af, og funktionaliteten er kodet i javascript og følger med siderne i form af tre javascript filer (menubar.js, ExpandCollapse.js og PopIt.js). Menuen på min hjemmeside er lavet som en custom control, der bare skal sættes ind på siden og gives parameteren for hvilken menu den skal vise (JOL, GAMES, POKER, GENIA, PARTY, DVD eller COMMON). JOL, GAMES, POKER, GENIA, PARTY og DVD er alle subdomæner (jol.dk, games.jol.dk, poker.jol.dk osv.). COMMON giver menuen med "Andre Sites". Controllen er i min Component-dll, der er fælles for alle mine subdomæner. Custom controllen danner, på baggrund af data i databasen, al HTMLen til menuen. Funktionaliteten til at få menuen til at folde ind og ud ligger i javascriptet menubar.js. Javascriptet er stort set det, som benyttes på BrainJar. Funktionaliteten omkring ExpandCollapse, der skjuler og viser tekst (ligesom på denne side), er implementeret stort set på samme måde som menuen med en custom control, der med nogle parametre (overskrift og tekst) danner HTMLen. Funktionaliteten med at skjule og vise teksten ligger i javascriptet ExpandCollapse.js. Der findes to afarter af ExpandCollapse - nemlig den hvor jeg kan have en tekst ved siden af også (som det f.eks. ses i mit CV, og den, der anvendes på denne side, hvor der ikke er noget tekst ved siden af. Den sidste funktionalitet (PopIt) er ren javascript. Den åbner et nyt vindue med en bestemt størrelse og med et bestemt indhold. Det betyder at hvis jeg vil lave PopUp-vinduer, skal jeg bare skrive href=javascript:PopIt([parameterliste]). |   |
Server software arkitektur   | På serversiden har jeg anvendt ASP.NET (kodet i VB.NET), der bygger oven på .NET Framework 4.0. Jeg har puttet al fælles funktionalitet og funktionalitet, der bliver genbrugt, ned i en fælles komponent. Den indeholder bl.a. adgang til databasen, en del streng-funktioner samt en række custom web controls, som f.eks. menuen, hitcounteren, ExpandCollapse-funktionaliteten osv. Den centrale komponent bruges af alle subdomænerne samt de serverjob programmer, der køres hver nat. Hvert subdomæne er opbygget med en masterpage, som bruges af næsten alle undersiderne. Masterpagen indeholder alt hvad der er fælles på siderne. |   |
Database arkitektur   | Min databaseserver er en SQL Server 2017. Jeg har en database til hvert subdomæne, som selvfølgelig indeholder data til det enkelte subdomæne. Derudover har jeg en fælles database, der indeholder det, der går på tværs på alle mine subdomæner, som f.eks. data til menustrukturen. Det er gældende for alle mine databaser, at den eneste tilgang til data er gennem stored procedures og user definded functions. |   |
Serverjobs   | Hver nat kører der en del serverjobs på min server. Det er SQL Server Agenten, der står for afviklingen af disse jobs. Det ene job står for at udtrække statistik på antal besøgende. Statistikken beregnes først af en stored procedure. Derefter kaldes et program, der åbner et Excel-regneark. Excel-regnearket er sat til automatisk at hente statistikdata fra databasen og publisere graferne i form af MHT-filer, der er en slags HTML-filer, hvor grafik og tekst bare er pakket sammen i én fil. Statistiksiderne på min hjemmeside henviser så direkte til disse MHT-filer. De øvrige jobs kontrollerer nogle af mine subsites (f.eks. games.jol.dk, poker.jol.dk og genia.jol.dk). De er begge implementeret som EXE-filer, der dog anvender en del stored procedures i databasen. |   |
|