Project package contents
VSoft archITekt saves the definition of the built application as a file named {Package name}.arch.zip
- The project package can be generated from within archITekt Studio. It is used both for initializing a new environment (by pointing to it during the environment creation operation) and for the operation of updating the definition of an existing environment - see Exporting a package.
- The operation of loading the configuration package is performed from the VSoft archITekt Launcher or installation scripts.
Project package structure
The project package is distributed as a zip archive with the following structure:
{package name}.arch.zip
- \Files - (here placed can be files to be overwritten in appropriate folders of the final application).
- \SQL - (here you can place user SQL scripts to run on the end application's databases)
- \VS - (here placed may be version server archives to be updated in the end application)
- \version.json - (this file stores information on which version of archITekt the project package was created).
Due to the open nature of the project package, an advanced user can use it to extend the configuration of the final application as described below.
Adding custom files to the final application
If you want to change the application configuration or upload your own extensions to the application, you should place them in the Files directory.
When placing files there, remember that the Files directory maps to the main directory in the runtime of the installed application.
Therefore, for example, wanting to add a file with an extension to the Workflow - that is, which should be in the directory:
{application runtime directory}\App\Workflow.Host
it should be placed in the directory
{package name}.arch.zip\FilesApp\Workflow.Host
- When adding your own configuration files, you should familiarize yourself with how the application configuration mechanism works, as described in the Technical configuration of the application section.
- You should also ensure that they are in a format supported by the configuration merge tool. How the tool works and the format of files accepted by the tool is described in the Configuration merge mechanism chapter.
Adding custom SQL scripts to the final application
In order to run your own specific SQL scripts on the databases of the deployed application version, you need to add them to the SQL directory.
- Scripts that update the database structure and the contents of the system dictionaries are automatically stored in this directory each time a package is generated.
- Updating the database is done with the DatabaseUpgrader tool, a description of how it works can be found in the DatabaseUpgrader tool chapter.
- The naming convention of the script directories must also be followed.
The scripts must be placed in the directories:
{Package name}.arch.zip
\SQL
\{base name: DATA, CONFIG, VIP, SCHEDULER, VERSION_SERVER}
\{database engine name: SQLServer, PostgreSQL}
\{directory name}
\script files with names accepted by the tool (e.g. 001_my_script.sql).
In the above format:
- Database name specifies on which of the application's databases the script is to be executed. Most often it will be a DATA value specifying the application's operational database.
- When updating the environment, only scripts from the directory corresponding to the database engine will be run.
- The directory name should have the format
[archITekt version]@[locsl version number][any text], where:
- [local version number] - is the name in the format “YYMMDD.HHmm” that is, for example, “241122.1233”; scripts will be executed in alphabetical order. The use of a name in this form.
- [any text] - optional, any text describing what is in the directory, not including $ and @ characters.
Example directory with scripts:
* directories one and three were added by the user.
* directory two (ending in “$auto_gen”) was generated automatically during package export and then imported with the package to the given environment.
When updating the environment (or creating a new environment), the user's script directories are combined with archITekt script directories, and then executed in alphabetical order.
Note that the "natural" sorting applies, i.e. the sorting that is present in Windows Explorer - for a detailed description in what order database scripts are executed, see DatabaseUpgrader tool.
Modify version server archives for importing
The VS subdirectory of the project package contains one or more zip archives containing the application configuration.
- By default, a file named
vs.zipis created by archITekt in this directory, containing the configuration of the environment (the contents of the version server) from which the project package is generated. - An advanced user can modify the contents of this directory by adding new files with version server archives to import or by modifying the contents of existing archives in this directory.
When adding more *.zip files containing the configuration from the version server to be imported, it is important to remember that during the import operation each archive is imported separately, and the retrieval of archives for import is done in alphabetical order. This is important when archives containing the same files are placed in the directory. In such a case, the definitions from the archive with the later name will overwrite the definitions imported from the archive with the earlier name.