Setup and Startup
Overview¶
This section explains the setup and startup procedures for the "Development Tools".
Setup/Startup Procedure¶
- Copy the software module to any directory on your PC.
- Access the support website and download and unzip the Enterprise Edition License Pack from the Support ID Management table.
- Overwrite the Implem.License.dll in the destination folder with the Implem.License.dll in the forNetCore folder of the Enterprise Edition License Pack.
- Edit the Settings.json in the destination folder to specify the destination database and the path to the source code on your local PC.
- 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
}
]
}