Codeunit/FormEvent/InstanceCreator
What is it
The instance creator lets you build new TS application instances from a template, that is a MYSQL dump of an existing database.
So you will need
- A template for the context file
- MySQL dump files
- tsbase
- tslive
- tstest
context template
The context template path must be configured in InstanceCreator.contextTemplateFile
<?xml version="1.0" encoding="UTF-8"?> <Context docBase="@DOCBASE@" swallowOutput="true"> <Resource name="jdbc/TempusServaLive" auth="Container" type="javax.sql.DataSource" maxActive="80" maxIdle="30" maxWait="2000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" username="@USERNAME@" password="@PASSWORD@" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/@DBLIVE@?autoReconnect=true" /> <Resource name="jdbc/TempusServaTest" auth="Container" type="javax.sql.DataSource" maxActive="5" maxIdle="3" maxWait="10000" logAbandoned="true" username="@USERNAME@" password="@PASSWORD@" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/@DBTEST@?autoReconnect=true" /> </Context>
The following tags are required
- @DBLIVE@
- @DBTEST@
The following tags are recommended
- @USERNAME@
- @PASSWORD@
The following tags are optional
- @DOCBASE@
- @APPLICATION@
Database template
From the baseline system build dump copies of the databases.
You will need to use strict naming of the files:
- base.sql
- live.sql
- test.sql
Configuration
In the form attatch the following codeunit
dk.tempusserva.solution.creator.InstanceCreator
Now setup
- locations of the templates
- InstanceCreator.sqlTemplateFolder: Folder of base.sql live.sql and test.sql
- InstanceCreator.contextTemplateFile: Position of the context template
- mapped field names
- InstanceCreator.fieldSolutionName
- InstanceCreator.fieldAdminName
- InstanceCreator.fieldAdminEmail
- InstanceCreator.fieldAdminPassword
- status references
- InstanceCreator.StatusCreateNow
- InstanceCreator.StatusCompleted: Must be accessible from StatusCreateNow
- InstanceCreator.StatusFailSetup: Must be accessible from StatusCreateNow
Usage
Using the attuned form will create a new instance.
The requirement is that the intance information is there AND status is in create (as defined per StatusCreateNow)
- instance name
- admin name
- admin email
After an instance is created and status will now be either
- succes (as defined per StatusCompleted)
- error (as defined per StatusFailSetup)
If the operation succeds you instance will be available in a minute or two.