Difference between revisions of "Codeunit/FormEvent/InstanceCreator"

From TempusServa wiki
Jump to navigation Jump to search
old>Admin
old>Admin
Line 53: Line 53:
We recommend dumping the files using mysqldump
We recommend dumping the files using mysqldump


   mysqldump -uroot -pPASSWORD demobase > /mnt/sda/template/base.sql
   mysqldump --skip-add-locks -uroot -pPASSWORD demobase > /mnt/sda/template/base.sql
   mysqldump -uroot -pPASSWORD demolive > /mnt/sda/template/live.sql
   mysqldump --skip-add-locks -uroot -pPASSWORD demolive > /mnt/sda/template/live.sql
   mysqldump -uroot -pPASSWORD demotest > /mnt/sda/template/test.sql
   mysqldump --skip-add-locks -uroot -pPASSWORD demotest > /mnt/sda/template/test.sql


After dumping the files you can clean out unwanted dato in an editor
After dumping the files you can clean out unwanted dato in an editor

Revision as of 17:36, 22 September 2018

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

  • Template for the context file
  • Shared TempusServa.war 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

We recommend dumping the files using mysqldump

  mysqldump --skip-add-locks -uroot -pPASSWORD demobase > /mnt/sda/template/base.sql
  mysqldump --skip-add-locks -uroot -pPASSWORD demolive > /mnt/sda/template/live.sql
  mysqldump --skip-add-locks -uroot -pPASSWORD demotest > /mnt/sda/template/test.sql

After dumping the files you can clean out unwanted dato in an editor

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.