From 037ffe54785bccc90eeb15e5b6fa49f508e5230e Mon Sep 17 00:00:00 2001 From: deva Date: Wed, 21 May 2008 13:39:51 +0000 Subject: Notes about includes and stuff --- server/NOTES | 45 +++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 41 insertions(+), 4 deletions(-) (limited to 'server') 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 # -- cgit v1.2.3