-
Configuration files
The configuration files used by Deployment server and client are divided into to different sets of configuration used.
The side that are deploying to the server
As a developer you sits on the code that you want to deploy to the server. These configuration files can be found in C:\ProgramData\DataEase\DG3V4\mydeployments
appdir string Path to the root directory of the application if it is a DG3 app, if not it can be blank as it will be ignored appparttochange string Tell DG3 what to change on deploy. Default or no value mean Both. Support the following values:
'App only' : Means do not touch the database on the server. This will update the application but no changes in any DataEase files.
'Database only': Means only to do the DataEase database part of the application.
'Both' : Means do both the app part and the database part. This is the default.apptype string The kind of application to deploy. This can be DG3 or deserver. If not set we assume that it is a DG3 app as that is the original type of deployment. deploymentserver string Full url to the root of deployment server. Ex. http://127.0.0.1:81 for one at local host deployonremoteserver bool Should be True for deploying to remote as we will de support local soon. dkey string The server secret we need to use to do server commands dname string Name of the deployed app on the deployment server reponame string Name of the local DataEase App to be deployed repopath string Path to the local DataEase app, can be . if it is in the default DG3 path. If not a DG3 App make sure to set it properly. repopw string Password for local DataEase app repoun string User name to use on local DataEase app version float
the version number of this file in case we need to change it for newer version List of all setting that will be used on client side (the side that deploy the application)
Example of developers config.
The server side of the deployed application
The server holds control on its application by looking for definitions in C:\ProgramData\DataEase\DEDS\TheDeployed. The name used for the apps on the server are the same as the filename except .conf. So a file will be named MyApp.conf and then recognized as MyApp by deplymentserver.
appasservice bool/None appindebug bool/None dappdir string Root directory of DG3 application dapptype string The type of app that is deployed on the server. Should be DG3 or deserver. dbappexcludefiles list A list of relative files that are being excluded from the file list of the repo. This list is local and not used by any other apps. dbappexcludepaths list A list of relative paths that are being excluded from the handling of repo files. This list is local and not used by any other apps. dprismfailcommand string/None Command to run if prism GPF in DG3 app dpartof string Tell what application this app is dependent on and that will generate this apps definitions. When you are part of another application, you list what you own (and by that will update or replace) instead of updating all but your exclude lists. down list What application this is the owner of dreponame string Name ot the repository used on the server side. drepopath string Path to the DataEase application used on server side drepopw string/None Password for DataEase application used on server side drepoun string/None Username for DataEase application used on server side dserverdef string The ini portion that is used for the server definition. Default is server by that reading settings in rdrrXaaa.ini from [server] dserverextraparams string Any additional parameters that needs to be added to the and of the startup bat file for server. Add extra space in front when used. dserverkey string DS connection key to be used on this app only dservertable string The table used for web server definition on a server. Default table name is WebServer and will be used it nothing is set. dserverversion string The installed servers version to use. Used to create the server app scripts and start the server part of the program. Ex. 9 dstaticfiles string Where the static files are merged from. This is a relative path in the repo. If blank, the repopath is used. dstaticappfiles string Where shared files are merged from. This comes from the servers static folder if blank. fcgiport number This is the ip port used to communicate with the services. And this is also used to check if a server is new as this is set as the service is updated the first time. owneroffiles list This is a list of the files that others apps in the tree should put in their exclude files lists. If you application is a partof application, these are the files that are updated and compared. ownerofforms list This is a list of the forms this deployment definition owns. It is used by a general update to exclude frm files from the update by looking up the filenames when other owns the forms. Who owns what is determined by looking at the 'down' and 'dpartof' list and reverse the forms owned by the others. The form is then added to the update list as [formname,ownername,'Nothing'], and then the frm file is added to the upload exclude list. For all forms not added to this list you will get a [fromname,'Development','Replace'] if you are the owner of the application (ie. do have own list but no partof in your config). If you are a partof a other application, there are the only forms you will update. ownerofpaths list A list of directories that others should put in their exclude paths list. If you application is a partof application, these are the directories that are updated and compared. owneroftables list This is a list of the tables with special handling by this definition. It consist of a list of list where the inner list have ['tablename','ownername','todo']. The todo will hold 'Replace' or 'Nothing' where 'Nothing' means ignore this table all together. No definition update or copy action done. The 'Replace' mean replace tdf, data and frm and patch Application Objects and RDRRxAAA.RDR. Owner name is usually 'Development' or 'Independent' but can also be the name of the owning deployment def. 'Development' means the current defs owner and 'Independent' means stay away as the instance is unique for the deployed application. If you are a partof a other application, these are the only tables you will update. The list will then have a extra setting for Diff for updating the TDF in addition to Replace and Nothing. version float the version number of this file in case we need to change it for newer version webappextraconfigfor string the type of server we have stored extra configuration for Ex. iis webappindebug bool/None webappprotocol string webapprunconfig string Tell how the webserver config for this app should be run. Can be:
"Never" - will not be run after the app is created
"Manual" - only when you deside to run it in web config
"Add" - only add new stuff
"Always" - every time a change is done to the app. This is the default.webappsslintermediatkey string/None webappsslprivatekey string/None webappsslserverkey string/None webserver string Name of the server configured (binding on iis) Ex. www.example.com List of all settings that will be used on server side (that is the side that are deployed to)
The server side global settings
The server side settings is divided into two files, masterpath.conf and deploy.conf in C:\ProgramData\DEDS
The masterpath.conf contain one line that holds the root path to DG3 applications deployed to the server. At the current time using IIS as the default server, this should be
C:\inetpub\DeployedDG3Apps4\.
The other file is used for the global settings and last used values, so we can calculate the next to use.
datapath string The root path for new application of deserver apptype deploymentsiteredirect array Array of array of 4 strings that list what redirects from to are set up globally on this server downloadpath string The path the zip files are stored when a webappbackup is done downloadurl string The start of the url before the filename a back can be downloaded from. Ex. https://download.2imply.com/backups/ iisapi string The key used to manage local iis installation lastusedfcgiport int This number + 1 is the port used for webapps behind the iis site in a reverse proxy. serverkey string The key a remote deployment engine needs to use to be able to execute server commands usesiteredirect bool Tell if global redirect are used on this server version float The current version number of the file. Used for migrating if we do not backward compatible changes. webservertype string The type of server this deployment server is managing. Usually iis. List of all settings that is used in this file
Example of server side config file
settings = { 'version' : 0.1, 'drepopw' : None, 'fcgiport' : 3033, 'webappindebug' : None, 'drepoun' : None, 'appindebug' : None, 'appasservice' : False, 'dappdir' : u'C:\\inetpub\\DeployedDG3Apps4\\MyApp\\', 'dreponame' : u'MyDataEaseApp', 'webappprotocol' : u'', 'webserver' : u'example.dataease.com', 'deployonremoteserver' : True, 'drepopath' : u'C:\\inetpub\\DeployedDG3Apps4\\MyApp\\Data\\', 'fcgiserver' : u'127.0.0.1', 'dname' : u'DG3 Books', }
Example of a server side config file. To note is fcgiport is used to check if its new as that is added when the first generation of web config is done. Next deplyonremoteserver is used to check if we have a local deployment so that has to be set to true on both server side and on client.