Skip to content

Setup and Startup

Overview

This section explains the setup and startup procedures for the "Development Tools".

Setup/Startup Procedure

  1. Copy the software module to any directory on your PC.
  2. Access the support website and download and unzip the Enterprise Edition License Pack from the Support ID Management table.
  3. Overwrite the Implem.License.dll in the destination folder with the Implem.License.dll in the forNetCore folder of the Enterprise Edition License Pack.
  4. Edit the Settings.json in the destination folder to specify the destination database and the path to the source code on your local PC.
  5. Run the Implem.PleasanterManagementStudio.exe in the destination folder to launch the software.

Settings.json Settings

Edit the settings to suit your environment. After editing, restart Implem.PleasanterManagementStudio. An explanation of each element is provided below. The included Settings.json is a sample.

Root Element

No Element Content
1 Environments Defines the destination database environment (Environment element).

Environment Element

No Element Content
1 Name Specify a unique identifier.
2 TenantId Specify 1.
3 UserId Specify the user ID used to write to the database.
4 Title Specify the name of the environment.
5 Dbms Specify SQL Server or PostgreSQL.
6 ConnectionString Specify the connection string used to connect to the Pleasanter database with dbowner privileges. Specify a server name (hostname or IP address) accessible from the device using this tool. Specify the DB, UID, and PWD settings for the Pleasanter database you want to connect to. By default, the DB is Implem.Pleasanter and the UID is Implem.Pleasanter_Owner. Refer to Rds.json and set other keywords appropriately to match the database you are connecting to.
7 TimeZone Specify UTC if using a UTC environment such as Azure SQL Database.
8 DestinationName Specify the Name of the destination environment when using the site settings migration function.
9 DisableConvert Specify true to migrate SiteSettings as is without converting site IDs or user IDs.
10 TargetSites Defines the TargetSite element, which contains the source site information when using the site settings migration function.
11 BasePath Specifies the starting directory path when using the source code upload function.
12 Codes Specify the Code element, which contains the source code path and destination site information when using the source code upload function.
13 Extensions Specifies the Extension element, which contains the source code path and extension configuration information when using the source code upload function.
14 UserSqls Specifies the path to the UserSQL file containing your desired SQL.

TargetSite Element

No Element Content
1 SourceId Specifies the destination site ID.
2 DestinationId Specifies the destination site ID. If omitted, a new site ID will be created. The destination site ID will then be automatically identified based on the information in the _Converted table created in the destination.
3 Subtree Setting this to true will migrate all subfolders and tables.

Code Element

No Element Content
1 SiteId Specifies the site ID to upload the code to.
2 Id Specifies the code ID. If it already exists in the manage table, it will be overwritten; if it does not exist, it will be added.
3 Title Specifies the title of the code.
4 Type Specifies the code type (Scripts / ServerScripts / Styles).
5 Path Specifies the path to the code as a path under BasePath.

Extension Element

No Element Content
1 ExtensionId Specifies the ExtensionId from the Extensions table. If it already exists, it will be overwritten; if it does not exist, it will be added.
2 ExtensionName Specifies the ExtensionName from the Extensions table.
3 ExtensionType Specifies the code type (Script / ServerScript / Sql / Style).
4 Path Specifies the path to the code as a path under BasePath.

UsersSQL Element

No Element Content
1 Path Specifies the path to the UserSQL file as a path under BasePath.
2 Description Describes the SQL description.

Settings.json Sample

This example shows the development server IP address "192.168.1.10" and the production server IP address "192.168.1.20."

{
    "Environments": [
        {
            "Name": "Development",
            "TenantId": 1,
            "UserId": 1,
            "Title": "Development environment",
            "Dbms": "SQLServer",
            "ConnectionString": "Server=192.168.1.10;Database=Implem.Pleasanter;UID=Implem.Pleasanter_Owner;PWD=SetAdminsPWD;Connection Timeout=30;",
            "TimeZone": null,
            "DestinationName": "Production",
            "DisableConvert": false,
            "TargetSites": [
                {
                    "SourceId": 1
                },
                {
                    "SourceId": 2
                },
                {
                    "SourceId": 3
                },
                {
                    "SourceId": 4
                }
            ],
            "BasePath": "C:\\Implem\\PleasanterExtensions\\Implem.PleasanterManagementStudio",
            "Codes": [
                {
                    "SiteId": 2,
                    "Id": 1,
                    "Title": "Sample Script 1",
                    "Type": "Scripts",
                    "Path": "Samples\\Codes\\Scripts\\Script1.js"
                },
                {
                    "SiteId": 2,
                    "Id": 2,
                    "Title": "Sample Script 2",
                    "Type": "Scripts",
                    "Path": "Samples\\Codes\\Scripts\\Script2.js"
                },
                {
                    "SiteId": 2,
                    "Id": 1,
                    "Title": "Sample Server Script 1",
                    "Type": "ServerScripts",
                    "Path": "Samples\\Codes\\ServerScripts\\ServerScript1.js"
                },
                {
                    "SiteId": 2,
                    "Id": 2,
                    "Title": "Sample Server Script 2",
                    "Type": "ServerScripts",
                    "Path": "Samples\\Codes\\ServerScripts\\ServerScript2.js"
                },
                {
                    "SiteId": 2,
                    "Id": 1,
                    "Title": "Sample Style 1",
                    "Type": "Styles",
                    "Path": "Samples\\Codes\\Styles\\Style1.css"
                },
                {
                    "SiteId": 2,
                    "Id": 2,
                    "Title": "Sample Style 2",
                    "Type": "Styles",
                    "Path": "Samples\\Codes\\Styles\\Style2.css"
                }
            ],
            "Extensions": [
                {
                    "ExtensionId": 1,
                    "ExtensionName": "Sample Extension Script 1",
                    "ExtensionType": "Script",
                    "Path": "Samples\\Extensions\\Scripts\\Script1.json.js"
                },
                {
                    "ExtensionId": 2,
                    "ExtensionName": "Sample Extension Script 2",
                    "ExtensionType": "Script",
                    "Path": "Samples\\Extensions\\Scripts\\Script2.json.js"
                },
                {
                    "ExtensionId": 3,
                    "ExtensionName": "Sample Extension Server Script 1",
                    "ExtensionType": "ServerScript",
                    "Path": "Samples\\Extensions\\ServerScripts\\ServerScript1.json.js"
                },
                {
                    "ExtensionId": 4,
                    "ExtensionName": "Sample Extension Server Script 2",
                    "ExtensionType": "ServerScript",
                    "Path": "Samples\\Extensions\\ServerScripts\\ServerScript2.json.js"
                },
                {
                    "ExtensionId": 5,
                    "ExtensionName": "Sample Extension SQL1",
                    "ExtensionType": "Sql",
                    "Path": "Samples\\Extensions\\Sqls\\Sql1.json.sql"
                },
                {
                    "ExtensionId": 6,
                    "ExtensionName": "Sample Extension SQL2",
                    "ExtensionType": "Sql",
                    "Path": "Samples\\Extensions\\Sqls\\Sql2.json.sql"
                },
                {
                    "ExtensionId": 7,
                    "ExtensionName": "Sample Extension Style 1",
                    "ExtensionType": "Style",
                    "Path": "Samples\\Extensions\\Styles\\Style1.json.css"
                },
                {
                    "ExtensionId": 8,
                    "ExtensionName": "Sample Extension Style 2",
                    "ExtensionType": "Style",
                    "Path": "Samples\\Extensions\\Styles\\Style2.json.css"
                }
            ],
            "UserSqls": [
                {
                    "Path": "Samples\\UserSqls\\OutgoingMails.sql"
                },
                {
                    "Path": "Samples\\UserSqls\\SysLogs.sql"
                }
            ]
        },
        {
            "Name": "Production",
            "TenantId": 1,
            "UserId": 1,
            "Title": "Production Environment",
            "Dbms": "PostgreSQL",
            "ConnectionString": "Server=192.168.1.20;Database=Implem.Pleasanter;UID=Implem.Pleasanter_Owner;PWD=SetAdminsPWD;",
            "TimeZone": null
        }
    ]
}