Kort gezegd: wat is de beste / meest efficiënte strategie m.b.t. het updaten van een webapplicatie?
De situatie is als volgt; wij hebben een webapplicatie ontwikkeld welke gebruikt wordt voor meerdere projecten (+/- 5 per jaar). Binnen deze webapplicatie kunnen onze klanten bepaalde producten kiezen, hiervoor krijgen ze 2 maanden de tijd waarna hun login gesloten wordt. Binnen een project krijgen niet alle klanten te gelijk een login, dus een project kan best een jaar duren.
De projecten maken allemaal gebruik van dezelfde database, dit omdat de producten die de klanten kunnen kiezen project overschrijdend zijn. Hiervoor is dan ook 1 beheer gedeelte waarin je de producten, klanten, project etc allemaal kan beheren.
Nu is het een web applicatie die groeit, we voeren soms kleine wijzigingen door welke zonder problemen in de lopende projecten gewijzigd kunnen worden. Maar in de planning staan ook grotere wijzigingen, deze brengen nieuwe functionaliteit met zicht mee voor de klant of hierdoor worden bestaande weergaven (schermen) aangepast. Deze grotere update kunnen of willen we soms niet doorvoeren in de lopende projecten.
Wat is nou de beste manier om dit in te richten? Nu draait de applicatie op 1 domein, er draait nu 1 project in (pilot welke 3 maanden geleden gestart is) en de eerste grote update wordt tussen project 1 en 2 doorgevoerd. Nu is die ruimte er, maar vanaf maart volgend jaar gaan we naar de 5 projecten per jaar toe welke de applicatie gaan gebruiken en is die ruimte er niet meer.
Voor het onderhoud aan de code wil je eigenlijk de frontend maar op 1 plek neerzetten en niet voor ieder project een apart "site / subdomein" oprichten. Echter is het doorvoeren van wijzigingen dan niet haalbaar. De backend en de database zijn flexibel genoeg om over de verschillende versie heen te werken verwacht ik.
Ik heb een aantal opties bedacht en benieuwd naar jullie mening / ervaring:
- per project een subdomein voor de frontend
- per (grote) versie de classes, stylesheets en views in een aparte map. Dan via het beheer aangeven in welke versie het project valt en via die manier in de code schakelen naar de juiste map.
- ieder project mee updaten, dus data migreren en bestaande gekozen producten indien nodig converteren naar de nieuwe situatie
- iets anders???
De situatie is als volgt; wij hebben een webapplicatie ontwikkeld welke gebruikt wordt voor meerdere projecten (+/- 5 per jaar). Binnen deze webapplicatie kunnen onze klanten bepaalde producten kiezen, hiervoor krijgen ze 2 maanden de tijd waarna hun login gesloten wordt. Binnen een project krijgen niet alle klanten te gelijk een login, dus een project kan best een jaar duren.
De projecten maken allemaal gebruik van dezelfde database, dit omdat de producten die de klanten kunnen kiezen project overschrijdend zijn. Hiervoor is dan ook 1 beheer gedeelte waarin je de producten, klanten, project etc allemaal kan beheren.
Nu is het een web applicatie die groeit, we voeren soms kleine wijzigingen door welke zonder problemen in de lopende projecten gewijzigd kunnen worden. Maar in de planning staan ook grotere wijzigingen, deze brengen nieuwe functionaliteit met zicht mee voor de klant of hierdoor worden bestaande weergaven (schermen) aangepast. Deze grotere update kunnen of willen we soms niet doorvoeren in de lopende projecten.
Wat is nou de beste manier om dit in te richten? Nu draait de applicatie op 1 domein, er draait nu 1 project in (pilot welke 3 maanden geleden gestart is) en de eerste grote update wordt tussen project 1 en 2 doorgevoerd. Nu is die ruimte er, maar vanaf maart volgend jaar gaan we naar de 5 projecten per jaar toe welke de applicatie gaan gebruiken en is die ruimte er niet meer.
Voor het onderhoud aan de code wil je eigenlijk de frontend maar op 1 plek neerzetten en niet voor ieder project een apart "site / subdomein" oprichten. Echter is het doorvoeren van wijzigingen dan niet haalbaar. De backend en de database zijn flexibel genoeg om over de verschillende versie heen te werken verwacht ik.
Ik heb een aantal opties bedacht en benieuwd naar jullie mening / ervaring:
- per project een subdomein voor de frontend
- per (grote) versie de classes, stylesheets en views in een aparte map. Dan via het beheer aangeven in welke versie het project valt en via die manier in de code schakelen naar de juiste map.
- ieder project mee updaten, dus data migreren en bestaande gekozen producten indien nodig converteren naar de nieuwe situatie
- iets anders???