De volgende aanpassingen werden doorgevoerd, hoofdzakelijk aan de
externe struktuur van de expanders (niet de source code als dusdanig):
- de
naam van de applicatie komt niet meer voor in de verschillende descriptor files
(dit vormde een probleem bij het herbruiken van gemeenschappelijke cd's, dd's, fd's, td's, ...)
- de
root folder van de locatie waar de code gegenereerd wordt, is verwijderd als eerste lijn in de verschillende descriptor files
(dit was voordien ook vervelend indien je bv. dd's porteerde van een Linux naar een Windows platform)
- de SVN root folder bevat nu
5 duidelijke onderverdelingen: expanders (de source code van de NS expanders), extensions (de customisaties op de gegenereerde code), externals (bv. DOJO javascript, encryption jars), descriptors (application & component descriptors en expansie meta scripts om applicaties te bouwen) en expansions (de locatie waar de gegenereerde code terecht komt)
(voordien was dit verwarrend, 'expand' leek een EJB component te zijn en de descriptors zaten ergens diep weg in een subfolder van 'expand\etc\test')
- elke applicatie bevat nu een '
set_exp_env_vars' script, waar de variabelen die de expansie sturen, kunnen geconfigureerd worden; o.a. keuze technologie stack, keuze v/d locatie van expanders, extensions, descriptors, expansions, ...
(m.a.w. de sturing kan nu per applicatie en is niet meer afhankelijk van 'system wide' environment variables)
- De
expansie scripts werden
ontkoppeld in een stuk 'zuivere expansie' en een stuk 'publishing in de applicatie'. Daardoor is het nu mogelijk een voorheen geexpandeerde component te 'publiceren' in een applicatie, zodat niet telkens opnieuw alle dd's van een bepaalde component dienen geherexpandeerd te worden (dit kan een aanzienlijke tijdswinst betekenen tijdens de ontwikkeling)
De vorige versie van de NS expanders source code, de 'alpha' SVN repository, blijft beschikbaar op de volgende URL: https://catcher01.democritus.net/svn/src-alpha/ .
Aangezien de struktuur grondig gewijzigd werd, staat de nieuwe 'refactored' source code op een afzonderlijke 'beta' SVN repository: https://catcher01.democritus.net/svn/src-beta/ .
Er volgt nog een tweede fase in de refactoring; deze is dan hoofdzakelijk gericht op de
interne struktuur van de expanders, t.t.z. met het oog op de evolueerbaarheid van de expander source code zelf.