Joget DX 8 Stable Released
The stable release for Joget DX 8 is now available, with a focus on UX and Governance.
Table of Contents | ||||
---|---|---|---|---|
|
Thai |
---|
ภาพรวม |
Joget Cloud Edition is an enhanced version of Joget Enterprise that supports multi-tenancy, allowing for multiple accounts (tenants) to be hosted on one webapp. Each account appears to be a separate installation.
Thai |
---|
Joget Cloud Edition เป็นรุ่นปรับปรุงของ Joget Enterprise ที่รองรับหลายผู้เช่าทำให้สามารถโฮสต์หลายบัญชี (ผู้เช่า) บนเว็บแอปเดียว แต่ละบัญชีดูเหมือนจะเป็นการติดตั้งแยกต่างหาก |
The architecture is based on a shared webapp connecting to separate databases or schemas. This allows for more cost-effective delivery of services, since many accounts can be hosted on a single app server. At the same time, each account has its own separate database and file upload directory to preserve data isolation.
Thai |
---|
สถาปัตยกรรมนั้นขึ้นอยู่กับ webapp ที่ใช้ร่วมกันเชื่อมต่อกับฐานข้อมูลหรือสคีมาแยกกัน วิธีนี้ช่วยให้สามารถจัดส่งบริการได้อย่างมีประสิทธิภาพมากขึ้นเนื่องจากมีหลายบัญชีที่สามารถโฮสต์บนเซิร์ฟเวอร์แอปเดียว ในเวลาเดียวกันแต่ละบัญชีมีฐานข้อมูลแยกต่างหากและไดเรกทอรีอัปโหลดไฟล์เพื่อรักษาข้อมูลแยก |
Thai |
---|
การติดตั้ง |
Thai |
---|
ข้อกำหนดเบื้องต้น |
Thai |
---|
ขั้นตอนการติดตั้ง |
The installation steps are similar to the installation for the standard Joget Enterprise.
Thai |
---|
ขั้นตอนการติดตั้งคล้ายกับการติดตั้งสำหรับ Joget Enterprise มาตรฐาน |
Refer to the Knowledge Base at Installation using the Linux Bundle for more detailed instructions.
Thai |
---|
อ้างถึงฐานความรู้ที่ Installation using the Linux Bundle สำหรับคำแนะนำเพิ่มเติมโดยละเอียด |
Thai |
---|
องค์ประกอบ |
Thai |
---|
การกำหนดค่า DNS |
Each account / tenant is identified by a domain name, so the DNS needs to be configured to point desired domains to Joget. For convenience, it is recommended to use a wildcard DNS record (http://en.wikipedia.org/wiki/Wildcard_DNS_record). For example:
Thai |
---|
บัญชี / ผู้เช่าแต่ละบัญชีจะถูกระบุด้วยชื่อโดเมนดังนั้น DNS จะต้องกำหนดค่าให้ชี้โดเมนที่ต้องการไปที่ Joget เพื่อความสะดวกขอแนะนำให้ใช้เร็กคอร์ด wildcard DNS (http://en.wikipedia.org/wiki/Wildcard_DNS_record) ตัวอย่างเช่น: |
Code Block |
---|
*.example.com |
In this case, requests to all subdomains of example.com (e.g. account1.example.com, account2.example.com, account3.example.com) are directed to Joget.
Thai |
---|
ในกรณีนี้คำขอไปยังโดเมนย่อยทั้งหมดของ example.com (เช่น account1.example.com, account2.example.com, account3.example.com) จะถูกนำไปยัง Joget |
For local testing purposes, it is possible to just modify the local hosts file http://en.wikipedia.org/wiki/Hosts_(file) . Please note that typically, hosts file configuration does not support wildcards so it will be necessary to add separate entries for each subdomain (e.g., account1.example.com, account2.example.com, etc.).
Thai |
---|
สำหรับการทดสอบในพื้นที่คุณสามารถแก้ไขไฟล์โฮสต์ในท้องถิ่นได้ที่ http://en.wikipedia.org/wiki/Hosts_(file) โปรดทราบว่าโดยทั่วไปการกำหนดค่าไฟล์โฮสต์ไม่รองรับสัญลักษณ์แทนดังนั้นจำเป็นต้องเพิ่มรายการแยกต่างหากสำหรับแต่ละโดเมนย่อย (เช่น account1.example.com, account2.example.com เป็นต้น) |
Thai |
---|
การกำหนดค่าโปรไฟล์ |
Each account (tenant) is tied to a datasource profile. More info on profiles can be found at Custom Database Configuration.
...
Open the file (joget.home)/wflow/app_datasource.properties. Here's an example of the file content:
Thai |
---|
แต่ละบัญชี (ผู้เช่า) เชื่อมโยงกับโปรไฟล์แหล่งข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรไฟล์ได้ที่ Custom Database Configuration หรือ Enterprise Edition เลือกครั้งละ 1 โปรไฟล์เท่านั้น ใน Cloud Edition สิ่งนี้ได้รับการปรับปรุงเพื่อให้บัญชีและโปรไฟล์ทั้งหมดเปิดใช้งานพร้อมกัน เปิดไฟล์ (joget.home) /wflow/app_datasource.properties นี่คือตัวอย่างของเนื้อหาไฟล์: |
Code Block |
---|
account1.example.com=jwc_account1 account2.example.com=jwc_account2 currentProfile=default |
The key to the left of the equal sign is the domain name, while the value to the right is the profile.
Thai |
---|
key ทางด้านซ้ายของเครื่องหมายเท่ากับคือชื่อโดเมนในขณะที่ค่าทางด้านขวาคือโปรไฟล์ |
Each profile has a corresponding file app_datasource-(profile).properties which contains the database settings.
Thai |
---|
แต่ละโปรไฟล์มีไฟล์ app_datasource- (profile) .properties ที่เกี่ยวข้องซึ่งมีการตั้งค่าฐานข้อมูล |
When a request is received, any matching domain name will use the associated profile.
Thai |
---|
เมื่อได้รับคำขอชื่อโดเมนที่ตรงกันจะใช้โปรไฟล์ที่เกี่ยวข้อง |
currentProfile is a special key to indicate the default profile to use if there are no matching domains.
Thai |
---|
currentProfile เป็นคีย์พิเศษเพื่อระบุโปรไฟล์เริ่มต้นที่จะใช้หากไม่มีโดเมนที่ตรงกัน |
In terms of file uploads and system generated files, each profile stores its files in the subdirectory (joget.home)/wflow/app_profiles/(profile).
Thai |
---|
ในแง่ของการอัปโหลดไฟล์และไฟล์ที่สร้างโดยระบบแต่ละโปรไฟล์จะจัดเก็บไฟล์ไว้ในไดเรกทอรีย่อย (joget.home)/wflow/app_profiles/(profile) |
Thai |
---|
การจัดทำบัญชี |
There are a few approaches to provision (create) an account.
Thai |
---|
มีสองสามวิธีในการจัดเตรียม (สร้าง) บัญชี |
Thai |
---|
การจัดเตรียมด้วยตนเอง |
As described in the previous Accounts Configuration section, each account is essentially a datasource profile. So an account can be manually created as follows:
Thai |
---|
As described in the previous Accounts Configuration section, each account is essentially a datasource profile. So an account can be manually created as follows: |
Create a new Joget database using the script provided in (joget.home)/data/jwdb-cloud.sql, or any other custom scripts.
Thai |
---|
สร้างฐานข้อมูล Joget ใหม่โดยใช้สคริปต์ที่ให้ไว้ใน (joget.home) /data/jwdb-cloud.sql หรือสคริปต์ที่กำหนดเองอื่น ๆ |
Create a new profile file (joget.home)/wflow/app_datasource-(profile).properties by copying from app_datasource-default.properties and changing the values accordingly.
Thai |
---|
สร้างไฟล์โปรไฟล์ใหม่ (joget.home) / wflow / app_datasource- (profile) .properties โดยคัดลอกจาก app_datasource-default.properties และเปลี่ยนค่าตามลำดับ |
Add an entry into (joget.home)/wflow/app_datasource.properties. The entry would be (domain name)=(profile).
Thai |
---|
เพิ่มรายการลงใน (joget.home) /wflow/app_datasource.properties รายการจะเป็น (ชื่อโดเมน) = (โปรไฟล์) |
The profile is active immediately, and no restart is necessary.
Thai |
---|
โปรไฟล์ใช้งานได้ทันทีและไม่จำเป็นต้องรีสตาร์ท |
Thai |
---|
การเตรียมสคริปต์ |
There is also an Ant build file and script available that simplifies account creation.
Thai |
---|
นอกจากนี้ยังมีไฟล์และสคริปต์ Ant build ที่ช่วยให้การสร้างบัญชีง่ายขึ้น |
Execute the file (joget.home)/cloud-provision-account.sh.
Thai |
---|
ดำเนินการไฟล์ (joget.home) /cloud-provision-account.sh |
When prompted for Account Profile Name, enter the required account name (e.g., demo).
Thai |
---|
เมื่อได้รับพร้อมท์สำหรับชื่อโปรไฟล์บัญชีให้ป้อนชื่อบัญชีที่ต้องการ (เช่นการสาธิต) |
The next prompt is for the Main Domain Name. Enter the main domain (e.g., example.com).
Thai |
---|
พรอมต์ถัดไปสำหรับชื่อโดเมนหลัก ป้อนโดเมนหลัก (เช่น example.com) |
Subsequent inputs will have default values that you can just enter and accept, or change before submitting.
Thai |
---|
อินพุตที่ตามมาจะมีค่าเริ่มต้นที่คุณสามารถป้อนและยอมรับหรือเปลี่ยนแปลงก่อนที่จะส่ง |
Upon submission of all the inputs, the script will create the database and perform the necessary configuration for the account. The inputs are as follows:
Thai |
---|
เมื่อส่งอินพุตทั้งหมดสคริปต์จะสร้างฐานข้อมูลและดำเนินการกำหนดค่าที่จำเป็นสำหรับบัญชี อินพุตมีดังนี้: |
Account Profile Name | Desired account name (e.g., demo)
| ||
Main Domain | Main domain (e.g., example.com)
| ||
Account Domain Name | Account domain (e.g., demo.example.com)
| ||
Account Database Name | Database name for the account (e.g., jwc_demo)
| ||
Account Database User | Database user for the account (e.g., jwc_demo)
| ||
Account Database Password | Database password for the account (e.g., jwc_demo)
| ||
Home Directory | Joget home directory; defaults to current directory
| ||
wflow Directory | Joget configuration directory; defaults to ./wflow
| ||
MySQL host name | Database server host name
| ||
MySQL port | Database port
| ||
MySQL username | Database admin user (with permission to create database)
| ||
MySQL password | Database admin password
|
Thai |
---|
แอป Cloud Admin |
For convenience, a simple Joget app is provided to automate the account request approval and provisioning process.
Thai |
---|
เพื่อความสะดวกเรามีแอพ Joget ที่เรียบง่ายเพื่อให้การอนุมัติคำขอบัญชีและกระบวนการจัดเตรียมโดยอัตโนมัติ |
Import the app in (joget.home)/lib/APP_cloud-xxxx.zip into Joget.
Thai |
---|
นำเข้าแอปใน (joget.home) /lib/APP_cloud-xxxx.zip ไปที่ Joget |
Go to Properties & Export and set the “domain” to the appropriate value for the main domain (e.g., example.com).
Thai |
---|
ไปที่คุณสมบัติ & ส่งออกแล้วตั้งค่า“ โดเมน” เป็นค่าที่เหมาะสมสำหรับโดเมนหลัก (เช่น example.com) |
Publish the app.
Thai |
---|
เผยแพร่แอพ |
Access the app at http://localhost:8080/jw/web/userview/cloud/admin/.
Thai |
---|
เข้าถึงแอปได้ที่ http://localhost:8080/jw/web/userview/cloud/admin/ |
Login to view the Account List.
Thai |
---|
เข้าสู่ระบบเพื่อดูรายการบัญชี |
Select New Account from the drop-down menu to request for a new account.
Thai |
---|
เลือกบัญชีใหม่จากเมนูแบบเลื่อนลงเพื่อขอบัญชีใหม่ |
When a request is submitted, it needs to be approved. Approve the request; a BeanShell tool will be executed to provision the account.
Thai |
---|
เมื่อส่งคำขอจะต้องได้รับการอนุมัติ อนุมัติคำขอ เครื่องมือ BeanShell จะถูกดำเนินการเพื่อจัดเตรียมบัญชี |
Verify that the account is created at the requested domain (e.g., demo.example.com).
Thai |
---|
ตรวจสอบว่าบัญชีถูกสร้างที่โดเมนที่ร้องขอ (เช่น demo.example.com) |
Modify the app where necessary:
Thai |
---|
แก้ไขแอปที่จำเป็น: |
In a production environment, it is recommended for security purposes that this app be installed on a specific profile instead of the default profile.
Thai |
---|
ในสภาพแวดล้อมการผลิตขอแนะนำให้ใช้เพื่อความปลอดภัยที่ติดตั้งแอปนี้ในโปรไฟล์ที่ระบุแทนโปรไฟล์เริ่มต้น |
Thai |
---|
การลบบัญชี |
Thai |
---|
กำจัดด้วยตนเอง |
To disable an account, perform the following:
Thai |
---|
หากต้องการปิดใช้งานบัญชีให้ทำดังต่อไปนี้: |
Remove the profile entry from (joget.home)/wflow/app_datasource.properties. This effectively disables the account.
Thai |
---|
ลบรายการโปรไฟล์ออกจาก (joget.home) /wflow/app_datasource.properties ซึ่งจะเป็นการปิดใช้งานบัญชีอย่างมีประสิทธิภาพ |
To fully delete the account:
Thai |
---|
หากต้องการลบบัญชีทั้งหมด: |
Remove the profile entry from (joget.home)/wflow/app_datasource.properties.
Thai |
---|
ลบรายการโปรไฟล์ออกจาก (joget.home) /wflow/app_datasource.properties |
Delete the profile properties file (joget.home)/wflow/app_datasource-(profile).properties.
Thai |
---|
ลบไฟล์คุณสมบัติโปรไฟล์ (joget.home) / wflow / app_datasource- (profile) .properties |
Delete the associated account database.
Thai |
---|
ลบฐานข้อมูลบัญชีที่เกี่ยวข้อง |
Delete the associated account profile directory (joget.home)/wflow/app_profiles/(profile).
Thai |
---|
ลบไดเรกทอรีโปรไฟล์บัญชีที่เกี่ยวข้อง (joget.home)/wflow/app_profiles/(profile) |
If the Cloud Admin App is used, delete the record from the db table app_fd_cloud_account.
Thai |
---|
หากใช้แอป Cloud Admin ให้ลบระเบียนออกจากตาราง db app_fd_cloud_account |
Thai |
---|
ซ่อมบำรุง |
Thai |
---|
เข้าสู่ระบบ |
As with a standard Joget installation on Apache Tomcat, the log file is at (joget.home)/apache-tomcat-xxxx/logs/catalina.out.
Thai |
---|
เช่นเดียวกับการติดตั้ง Joget มาตรฐานบน Apache Tomcat ล็อกไฟล์คือ (joget.home) /apache-tomcat-xxxx/logs/catalina.out |
Thai |
---|
อัพเดท |
Updates to WAR files are done as per standard Joget installation.
Thai |
---|
การอัพเดตไฟล์ WAR เสร็จสิ้นตามการติดตั้ง Joget มาตรฐาน |
Thai |
---|
การสำรองข้อมูล |
Backups should be done for all MySQL databases as well as configuration and data files in (joget.home)/wflow.
Thai |
---|
การสำรองข้อมูลควรทำสำหรับฐานข้อมูล MySQL ทั้งหมดรวมถึงการกำหนดค่าและไฟล์ข้อมูลใน (joget.home) / wflow |