summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/NOTES45
1 files changed, 41 insertions, 4 deletions
diff --git a/server/NOTES b/server/NOTES
index 69fc5ef..01fefd6 100644
--- a/server/NOTES
+++ b/server/NOTES
@@ -2,14 +2,40 @@
################
# XML struktur #
################
-Templates skal indeholde strukturer, men ingen makroer.
-En template indeholder en course (forløb), som refererer til makroer,
-vha. navn.
+Templates skal indeholde strukturer, men ingen makroer. En template
+indeholder et course (forløb), som refererer til makroer, vha. navn.
+I makroreferencerne står dependencies og optional/required.
+
Makronerne findes seperat i egne filer, så de kan genbruges i flere
-forløb uden duplikering.
+forløb uden duplikering. Makroerne indeholder queries og maps til de
+widgets de indeholder.
+
Specielle include makroer skal stilles til rådighed for makroerne som
betsår af klumper af widgets som kan indsættes i en makro. Disse skal
ligeledes lagres i seperate filer.
+Include makroerne skal være self contained, dvs. de skal selv
+indeholde de queries og maps de skal bruge.
+
+Kan include makroerne undværes hvis man blot lader includes inkludere
+andre makroer?
+
+Hvad er den egentlige forskel på en includemacro og en macro?
+
+Hvis include blot er en anden makro, hvor det eventuelle ydre vindue
+ignoreres, kan deciderede include makroer helt undværes.
+
+Makroer kan skrives med det formål at de skal inkluderes, hvormed
+deres ydre vindue helt undlades. For at det skla kunne lade sig gøre
+skal det ydre vindue ikke være påkrævet i specifikationen
+
+Hvordan skal klienten reagere hvis den modtager en makro uden ydre
+vindue?
+En løsning kan være blot at bruge den yderste widget som vindue.
+En anden løsning kan være at ignorere makroen (Der er alligevel
+forksel hvad der accepteres på serverens xml og klientens xml).
+
+Et tag includeable kan overvejes, så det kun er makroer der er
+designede til det som kan inkluderes.
#############################
# Pracro database interface #
@@ -17,6 +43,17 @@ ligeledes lagres i seperate filer.
Databasen skal dybest set kunne 2 ting: skrive commits og genindlæse
gamle værdier til preudfyldning af makroer.
+Database modulet skal kunne oprettes uden at det connectes, og
+disconnectes explicit, med henblik på genbrug af connection, for at
+spare tid i udførslen af en request.
+
+Skal database objektet lave en connection pr. transaktion? Eller skal
+der laves et system med en connection pool?
+Det afhænger naturligvis af om det er hurtigt nok med en connection
+pr. transaktion.
+
+Alle opslag skal laves initielt, og så skal queries efterfølgende
+laves 'lokalt', i et result set (std::map eller lign.).
###################
# Svar fra server #