Hoi tweakers,
Bij ons bedrijf hebben we een asp.net site die als application service draait. Dwz dat alle klanten technisch gezien dezelfde app gebruiken, maar wel allemaal een eigen 'stukje' met eigen gegevens.
Als er een nieuwe klant bij komt, maken we een nieuwe 'organisatie' (=entiteit in systeem) en wat admin accounts aan op het systeem. Vanaf dat punt kunnen de klanten zelf user accounts aanmaken, en dmv het systeem te gebruiken het systeem zelf inrichten.
Nu het volgende:
Er gaan ook trainingen gegeven worden die gebruik maken van het/een live-systeem van deze asp. Het is voor de trainers makkelijk(er) als ze aan het begin een vooringerichte systeem hebben. Dus wat al wat meer (best veel meer) gegevens ingevoerd dan een nieuwe kale trainings-organisatie. Aan het begin van een nieuwe training willen ze hun 'trainings-organisatie' resetten zodat er weer een clean vooringericht systeem is.
De asp.net applicatie heeft op dit moment redelijk wat code en 127 db (ms-sql) tabellen. Aan het systeem worden nog met grote regelmaat nieuwe functionaliteiten toegevoegd. De 'wensen' van wat er in een trainings-standaard-organisatie moet zitten gaat dus ook meeveranderen.
HOE kan ik het gemakkelijkst en robuustst maken dat er met 1 klik op de knop een vooringerichte organisatie in het systeem komt, danwel een bestaande organisatie teruggezet ?
Waar ik zelf op kon komen:
Een extra website inrichten speciaal voor trainingen. Een extra database. En dan steeds als de organisatie ingericht moet worden een db-backup terug zetten.
-voor: lekker snel te realiseren
-tegen: 2 asp sites, niet zo handig bij te houden. Het is nl net de bedoeling om 1 site te houden}:O
-tegen: als er meerdere trainingen tegelijk gegeven gaan worden zit je klem
SQLscript maken
een lowlevel insert/delete script dat direct records in de database wijzigt.
-tegen: ingewikkeld omdat het niet 'nieuwe' tabellen zijn die je leeg mag gooien.
-tegen: lastig onderhoudbaar
XML import/export maken
Er komt een functie om een dump van het systeem te schrijven naar een te definieren xml-format. En een tweede functie om dat weer in te lezen.
voor: er kan gebruik worden gemaakt van bestaande app-logica (code)
voor: minder kans om businessrules te violaten
tegen: veel werk om te maken en bij te houden
System Restore
Windows heeft zo'n knopje dat je een zogenaamd 'save-point' kan doen.
voor: handig om wijzigingen ongedaan te maken
tegen: geen idee hoe ik het zou moeten maken
wie o wie weet hier wat op
alvast bedankt voor de moeite van het lezen.
Bij ons bedrijf hebben we een asp.net site die als application service draait. Dwz dat alle klanten technisch gezien dezelfde app gebruiken, maar wel allemaal een eigen 'stukje' met eigen gegevens.
Als er een nieuwe klant bij komt, maken we een nieuwe 'organisatie' (=entiteit in systeem) en wat admin accounts aan op het systeem. Vanaf dat punt kunnen de klanten zelf user accounts aanmaken, en dmv het systeem te gebruiken het systeem zelf inrichten.
Nu het volgende:
Er gaan ook trainingen gegeven worden die gebruik maken van het/een live-systeem van deze asp. Het is voor de trainers makkelijk(er) als ze aan het begin een vooringerichte systeem hebben. Dus wat al wat meer (best veel meer) gegevens ingevoerd dan een nieuwe kale trainings-organisatie. Aan het begin van een nieuwe training willen ze hun 'trainings-organisatie' resetten zodat er weer een clean vooringericht systeem is.
De asp.net applicatie heeft op dit moment redelijk wat code en 127 db (ms-sql) tabellen. Aan het systeem worden nog met grote regelmaat nieuwe functionaliteiten toegevoegd. De 'wensen' van wat er in een trainings-standaard-organisatie moet zitten gaat dus ook meeveranderen.
HOE kan ik het gemakkelijkst en robuustst maken dat er met 1 klik op de knop een vooringerichte organisatie in het systeem komt, danwel een bestaande organisatie teruggezet ?
Waar ik zelf op kon komen:
Een extra website inrichten speciaal voor trainingen. Een extra database. En dan steeds als de organisatie ingericht moet worden een db-backup terug zetten.
-voor: lekker snel te realiseren
-tegen: 2 asp sites, niet zo handig bij te houden. Het is nl net de bedoeling om 1 site te houden}:O
-tegen: als er meerdere trainingen tegelijk gegeven gaan worden zit je klem
SQLscript maken
een lowlevel insert/delete script dat direct records in de database wijzigt.
-tegen: ingewikkeld omdat het niet 'nieuwe' tabellen zijn die je leeg mag gooien.
-tegen: lastig onderhoudbaar
XML import/export maken
Er komt een functie om een dump van het systeem te schrijven naar een te definieren xml-format. En een tweede functie om dat weer in te lezen.
voor: er kan gebruik worden gemaakt van bestaande app-logica (code)
voor: minder kans om businessrules te violaten
tegen: veel werk om te maken en bij te houden
System Restore
Windows heeft zo'n knopje dat je een zogenaamd 'save-point' kan doen.
voor: handig om wijzigingen ongedaan te maken
tegen: geen idee hoe ik het zou moeten maken
wie o wie weet hier wat op
alvast bedankt voor de moeite van het lezen.