Temat kontroli wersji pojawia się prędzej czy później w każdej firmie zajmującej się poważnie oprogramowaniem. Dzięki oprogramowaniu do kontroli wersji wiemy co, gdzie i kiedy zostało zmienione. Systemy kontroli wersji potrafią zaoszczędzić wiele godzin przywracania źródeł po jakiejkolwiek katastrofie lub omyłkowym skasowaniu fragmentu kodu. Przydają się także jeśli chcemy rozdzielić projekt na dwie gałęzie, lub połączyć kilka wersji. Możemy używać CVS, SVN lub VSS. Jednak zawsze warto mieć taki system u siebie.

Zapraszamy do dzielenia się swoimi odczuciami i pomysłami na integracje Axapty z systemem wersji. Poniżej przedstawimy pewne idee dotyczące integracji DAX 4.0 z Visual Source Save.

axapta od wersji 4.0 posiada mechanizmy ułatwiające zarządzanie źródłami. Zastanówmy się jak możemy zbudować automatyczny mechanizm pozwalający "wyciągać" źródła z VSS i budować z nich funkcje.


Można oczywiście importować pliki XPO do warstwy w której pracujemy ręcznie. System połączy kod w pliki AOD, które będzie można przenieść do środowiska testowego lub do klienta. Jest to najprostszy sposób ale zarazem wymagający najwięcej naszej pracy. Wszystko robimy ręcznie.
Powstaje pytanie czy można to jakoś oszczędzić sobie pracy i czasu ?

Po pierwsze mamy narzędzia np CombineXPO ( Michaela Fruergaarda Pontoppida). Ten programik automatycznie przegląda katalogi i podkatalogi i kompiluje wszystkie pliki XPO które znajdzie.

Dzięki temu narzędziu możemy zbudować sobie automat który ułatwi nam prace nad projektami.



Pierwszą rzeczą którą będziemy musieli zrobić to synchronizacja wszystkich plików XPO z VSS oraz ich kompilowanie w jeden wielki XPO.
Aby to zrobić można użyć skryptu


ss Get $/% project_name % -GTM –R

Skrypt ten pobiera żródła z VSS prostą komendą get
% project_name % jest to nazwa projektu która pojawia się w VSS. Jeśli to polecenie się wykona możemy użyć "CombineXPOs" , czyli komende :

CombineXPOs.exe % layer % % layer %.xpo


Gdzie % layer % jest nazwą warstwy którą chcemy zbudować. Jest to jednocześnie nazwa katalogu na dysku którym chcemy się zajmować i znajduje się on oczywiście w katalogu roboczym VSS (który synchronizujemy)



Następnie wywołujemy kolejne polecenie które tak na prawdę importuje dane. Polecenie bierze połączony plik XPO przenosi go do katalogu tymczasowego następnie przekazuje do Axapty mniejwięcej w ten sposób:

ax32.exe "% conf_dir %\% conf_file %" -internal=noModalBoxes
-startupcmd=AOTImport_ % combined_xpo %


gdzie % combined_xpo % jest sciężką do pliku XPO (w tempie “C:\tmp\usr.xpo”) % conf_dir % oraz % conf_file % to scieżka do katalogu i nazwa pliku konfiguracyjnego. -internal=noModalBoxes informuje Axapte że nie chcemy oglądać zbyt dużej ilości okienek.

Następnie musimy skompilować i synchronizować naszą nową aplikację.Więc piszemy coś w tym stylu

ax32.exe "% conf_dir %\% conf_file %" -internal=noModalBoxes -startupcmd=compileall

i aby zrobić synchronizację z bazą:

ax32.exe "% conf_dir %\% conf_file %" -internal=noModalBoxes -startupcmd=synchronize



pomysł: axaptabuilder