A source code repository can be manually configured to start without using a Windows service. This enables the repository to be hosted on a Unix server for example. This configuration mode requires the shared installation mode or multi-environment mode ("user" mode detection requires a Windows service on the local machine).
You need to start by creating the source tree view and exporting the initial data into it (either using the source import and export tool or by copying the data from a Git or SVN source control manager) and connecting the required source control manager.
Alternatively, you can create an empty repository then export data from a client machine using the "syncsetup <ENVIRONMENT> -export" command, then manually add the sources generated by the export to the source version manager if required.
In normal mode, the object sources are located in the "src" sub-directory of the repository installation. In multi-environment mode, the source directory associated with an environment is <ENVIRONMENT_NAME>\<ENVIRONMENT_SCHEMA> (the schema is SYSADEL for a default configuration).
For Git, the following options are suggested:
- the ".adelia" directory should not be versioned (add to .gitignore)
- Git must be configured to not alter carriage returns in the files (git config --global core.autocrlf false). This could interfere with the file signature calculations and make it impossible to compare repository and Adelia environment versions.
For SVN, you need to fulfil the following prerequisites:
- on the Windows platform, you need to have the JavaHL interface DLLs in the JVM path. They can be found in the "svnapi.javahl.win32" or "svnapi.javahl.win64" directory (depending on whether 32-bit or 64-bit JVM) of an Adelia installation.
- on a Unix platform, the SVN command line tool needs to be installed and configured.
Once the export tree view has been initialised, you need to create the ".adelia" sub-directory and the "application.properties" configuration file of the synchronization application (see attached template).
As an example, the TEST environment is shared in the /data/adelia/repositories/TEST directory, the service listens on port 9999.
# service connection port - To be opened on the firewall server.port=9999 spring.datasource.url=jdbc:postgresql://databaseserver:5432/TEST spring.datasource.username=postgres spring.datasource.password=password # (case-sensitive) database schema: SYSADEL by default; it must be modified within the scope of a database with multiple schemas spring.datasource.hikari.schema=SYSADEL adelia.language=fr adelia.ebcdic_characters=$£à adelia.keep_row_metadata=true # synchronization directory to be configured adelia.sync_folder=/data/adelia/repositories/TEST
In multi-environment mode, the application.properties file does not contain database connection information.
# service connection port - To be opened on the firewall server.port=9999 adelia.language=fr adelia.ebcdic_characters=$£à adelia.keep_row_metadata=true # database manager used (Oracle = 1, DB2 = 2, SQL Server = 4, MySQL = 16, PostgreSQL = 32) adelia.dbms=32 # synchronization directory to be configured adelia.sync_folder=/data/adelia/repositories/TEST_SHARED
In multi-environment mode, connection data are specified in the "datasource.ini" file. Note that the service automatically detects changes to this file and dynamically loads/unloads connections when necessary.
[Databases] ; ; This section lists the authorized databases and the server on which they are installed. ; This is to avoid confusion between two databases with the same name but from different servers. ; ; The base and the server names (without DNS suffix) must be in uppercase. ; BDCADEL=ADELIASERVER ADELIA=ADELIASERVER [SYSADEL/BDCADEL] ; ; Each Adelia environment (SCHEMA/BASE) has its own section governing connection parameters. The ; specification of the schema in the section name is mandatory, even if it is the default SYSADEL schema. ; ; The file can be modified "on demand" without restarting the service, to add or remove an environment or change a password. ; Declarations must be consistent between the "Databases" section and the environment sections. ; url=jdbc:postgresql://ADELIASERVER:5432/BDCADEL username=postgres password=mwdes(xxxxxx) [SCHEMA1/ADELIA] url=jdbc:postgresql://ADELIASERVER:5432/ADELIA username=postgres password=mwdes(xxxxxx) [SCHEMA2/ADELIA] url=jdbc:postgresql://ADELIASERVER:5432/ADELIA username=postgres password=mwdes(xxxxxx)
You also need to provide a "loader.properties" file referencing the jars of the jdbc driver used, for example:
loader.path=/path/to/drivers/postgresql-42.2.5.jar
The "adelsyncserver.jar" file must be present on the server, Java must be installed and configured (jdk8 at least, jdk11 recommended).
To start the service, go to the ".adelia" directory and run the Java command:
# cd /data/adelia/repositories/TEST/.adelia # java -Dfile.encoding=UTF-8 -jar /path/to/adelsyncserver.jar
NB: when using jdk8, the following additional parameters are recommended for the Java command: -Xms128m -Xmx384m -XX:+UseG1GC