Overview


ภาพรวม


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.

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.

สถาปัตยกรรมนั้นขึ้นอยู่กับ webapp ที่ใช้ร่วมกันเชื่อมต่อกับฐานข้อมูลหรือสคีมาแยกกัน วิธีนี้ช่วยให้สามารถจัดส่งบริการได้อย่างมีประสิทธิภาพมากขึ้นเนื่องจากมีหลายบัญชีที่สามารถโฮสต์บนเซิร์ฟเวอร์แอปเดียว ในเวลาเดียวกันแต่ละบัญชีมีฐานข้อมูลแยกต่างหากและไดเรกทอรีอัปโหลดไฟล์เพื่อรักษาข้อมูลแยก


Installation

การติดตั้ง

Prerequisites

ข้อกำหนดเบื้องต้น

Installation Steps

ขั้นตอนการติดตั้ง

The installation steps are similar to the installation for the standard Joget Enterprise.

ขั้นตอนการติดตั้งคล้ายกับการติดตั้งสำหรับ Joget Enterprise มาตรฐาน

Refer to the Knowledge Base at Installation using the Linux Bundle for more detailed instructions.

อ้างถึงฐานความรู้ที่ Installation using the Linux Bundle สำหรับคำแนะนำเพิ่มเติมโดยละเอียด

Configuration

องค์ประกอบ

DNS Configuration

การกำหนดค่า 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:

บัญชี / ผู้เช่าแต่ละบัญชีจะถูกระบุด้วยชื่อโดเมนดังนั้น DNS จะต้องกำหนดค่าให้ชี้โดเมนที่ต้องการไปที่ Joget เพื่อความสะดวกขอแนะนำให้ใช้เร็กคอร์ด wildcard DNS (http://en.wikipedia.org/wiki/Wildcard_DNS_record) ตัวอย่างเช่น:

*.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.

ในกรณีนี้คำขอไปยังโดเมนย่อยทั้งหมดของ 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.).

สำหรับการทดสอบในพื้นที่คุณสามารถแก้ไขไฟล์โฮสต์ในท้องถิ่นได้ที่ http://en.wikipedia.org/wiki/Hosts_(file) โปรดทราบว่าโดยทั่วไปการกำหนดค่าไฟล์โฮสต์ไม่รองรับสัญลักษณ์แทนดังนั้นจำเป็นต้องเพิ่มรายการแยกต่างหากสำหรับแต่ละโดเมนย่อย (เช่น account1.example.com, account2.example.com เป็นต้น)

Profile Configuration

การกำหนดค่าโปรไฟล์

Each account (tenant) is tied to a datasource profile. More info on profiles can be found at Custom Database Configuration.

In the Community or Enterprise Edition, only 1 profile is selected at a time. In the Cloud Edition, this is enhanced such that all accounts and profiles are enabled concurrently.

Open the file (joget.home)/wflow/app_datasource.properties. Here's an example of the file content:

แต่ละบัญชี (ผู้เช่า) เชื่อมโยงกับโปรไฟล์แหล่งข้อมูล ดูข้อมูลเพิ่มเติมเกี่ยวกับโปรไฟล์ได้ที่ Custom Database Configuration หรือ Enterprise Edition เลือกครั้งละ 1 โปรไฟล์เท่านั้น ใน Cloud Edition สิ่งนี้ได้รับการปรับปรุงเพื่อให้บัญชีและโปรไฟล์ทั้งหมดเปิดใช้งานพร้อมกัน เปิดไฟล์ (joget.home) /wflow/app_datasource.properties นี่คือตัวอย่างของเนื้อหาไฟล์:

account1.example.com=jwc_account1
account2.example.com=jwc_account2
currentProfile=default

Account Provisioning

การจัดทำบัญชี

There are a few approaches to provision (create) an account.

มีสองสามวิธีในการจัดเตรียม (สร้าง) บัญชี

Manual Provisioning

การจัดเตรียมด้วยตนเอง

As described in the previous Accounts Configuration section, each account is essentially a datasource profile. So an account can be manually created as follows:

As described in the previous Accounts Configuration section, each account is essentially a datasource profile. So an account can be manually created as follows:

  1. Create a new Joget database using the script provided in (joget.home)/data/jwdb-cloud.sql, or any other custom scripts.

    สร้างฐานข้อมูล Joget ใหม่โดยใช้สคริปต์ที่ให้ไว้ใน (joget.home) /data/jwdb-cloud.sql หรือสคริปต์ที่กำหนดเองอื่น ๆ

  2. Create a new profile file (joget.home)/wflow/app_datasource-(profile).properties by copying from app_datasource-default.properties and changing the values accordingly.

    สร้างไฟล์โปรไฟล์ใหม่ (joget.home) / wflow / app_datasource- (profile) .properties โดยคัดลอกจาก app_datasource-default.properties และเปลี่ยนค่าตามลำดับ

  3. Add an entry into (joget.home)/wflow/app_datasource.properties. The entry would be (domain name)=(profile).

    เพิ่มรายการลงใน (joget.home) /wflow/app_datasource.properties รายการจะเป็น (ชื่อโดเมน) = (โปรไฟล์)

  4. The profile is active immediately, and no restart is necessary.

    โปรไฟล์ใช้งานได้ทันทีและไม่จำเป็นต้องรีสตาร์ท

Scripted Provisioning

การเตรียมสคริปต์

There is also an Ant build file and script available that simplifies account creation.

นอกจากนี้ยังมีไฟล์และสคริปต์ Ant build ที่ช่วยให้การสร้างบัญชีง่ายขึ้น

  1. Execute the file (joget.home)/cloud-provision-account.sh.

    ดำเนินการไฟล์ (joget.home) /cloud-provision-account.sh

  2. When prompted for Account Profile Name, enter the required account name (e.g., demo).

    เมื่อได้รับพร้อมท์สำหรับชื่อโปรไฟล์บัญชีให้ป้อนชื่อบัญชีที่ต้องการ (เช่นการสาธิต)

  3. The next prompt is for the Main Domain Name.  Enter the main domain (e.g., example.com).

    พรอมต์ถัดไปสำหรับชื่อโดเมนหลัก ป้อนโดเมนหลัก (เช่น example.com)

  4. Subsequent inputs will have default values that you can just enter and accept, or change before submitting. 

    อินพุตที่ตามมาจะมีค่าเริ่มต้นที่คุณสามารถป้อนและยอมรับหรือเปลี่ยนแปลงก่อนที่จะส่ง

  5. 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:

    เมื่อส่งอินพุตทั้งหมดสคริปต์จะสร้างฐานข้อมูลและดำเนินการกำหนดค่าที่จำเป็นสำหรับบัญชี อินพุตมีดังนี้:

Account Profile Name

Desired account name (e.g., demo) 

ชื่อบัญชีที่ต้องการ (เช่นการสาธิต)

Main Domain

Main domain (e.g., example.com) 

โดเมนหลัก (เช่น example.com)

Account Domain Name

Account domain (e.g., demo.example.com) 

โดเมนบัญชี (เช่น demo.example.com)

Account Database Name

Database name for the account (e.g., jwc_demo) 

ชื่อฐานข้อมูลสำหรับบัญชี (เช่น jwc_demo)

Account Database User

Database user for the account (e.g., jwc_demo) 

ผู้ใช้ฐานข้อมูลสำหรับบัญชี (เช่น jwc_demo)

Account Database Password

Database password for the account (e.g., jwc_demo) 

รหัสผ่านฐานข้อมูลสำหรับบัญชี (เช่น jwc_demo)

Home Directory

Joget home directory; defaults to current directory 

โฮมไดเร็กตอรี่ Joget; ค่าเริ่มต้นเป็นไดเรกทอรีปัจจุบัน

wflow Directory

Joget configuration directory; defaults to ./wflow

ไดเร็กทอรีการกำหนดค่า Joget; ค่าเริ่มต้นเป็น. / กระแส

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

รหัสผ่านผู้ดูแลฐานข้อมูล

Cloud Admin App

แอป Cloud Admin

For convenience, a simple Joget app is provided to automate the account request approval and provisioning process.

เพื่อความสะดวกเรามีแอพ Joget ที่เรียบง่ายเพื่อให้การอนุมัติคำขอบัญชีและกระบวนการจัดเตรียมโดยอัตโนมัติ

  1. Import the app in (joget.home)/lib/APP_cloud-xxxx.zip into Joget.

    นำเข้าแอปใน (joget.home) /lib/APP_cloud-xxxx.zip ไปที่ Joget

  2. Go to Properties & Export and set the “domain” to the appropriate value for the main domain (e.g., example.com).

    ไปที่คุณสมบัติ & ส่งออกแล้วตั้งค่า“ โดเมน” เป็นค่าที่เหมาะสมสำหรับโดเมนหลัก (เช่น example.com)

  3. Publish the app.

    เผยแพร่แอพ

  4. Access the app at http://localhost:8080/jw/web/userview/cloud/admin/.

    เข้าถึงแอปได้ที่ http://localhost:8080/jw/web/userview/cloud/admin/

  5. Login to view the Account List.

    เข้าสู่ระบบเพื่อดูรายการบัญชี


  6. Select New Account from the drop-down menu to request for a new account.

    เลือกบัญชีใหม่จากเมนูแบบเลื่อนลงเพื่อขอบัญชีใหม่


  7. When a request is submitted, it needs to be approved. Approve the request; a BeanShell tool will be executed to provision the account.

    เมื่อส่งคำขอจะต้องได้รับการอนุมัติ อนุมัติคำขอ เครื่องมือ BeanShell จะถูกดำเนินการเพื่อจัดเตรียมบัญชี

  8. Verify that the account is created at the requested domain (e.g., demo.example.com).

    ตรวจสอบว่าบัญชีถูกสร้างที่โดเมนที่ร้องขอ (เช่น demo.example.com)

  9. Modify the app where necessary:

    แก้ไขแอปที่จำเป็น:

In a production environment, it is recommended for security purposes that this app be installed on a specific profile instead of the default profile.

ในสภาพแวดล้อมการผลิตขอแนะนำให้ใช้เพื่อความปลอดภัยที่ติดตั้งแอปนี้ในโปรไฟล์ที่ระบุแทนโปรไฟล์เริ่มต้น

Account Removal

การลบบัญชี

Manual Removal

กำจัดด้วยตนเอง

To disable an account, perform the following:

หากต้องการปิดใช้งานบัญชีให้ทำดังต่อไปนี้:

To fully delete the account:

หากต้องการลบบัญชีทั้งหมด:

Maintenance

ซ่อมบำรุง

Logging

เข้าสู่ระบบ

As with a standard Joget installation on Apache Tomcat, the log file is at (joget.home)/apache-tomcat-xxxx/logs/catalina.out.

เช่นเดียวกับการติดตั้ง Joget มาตรฐานบน Apache Tomcat ล็อกไฟล์คือ (joget.home) /apache-tomcat-xxxx/logs/catalina.out

Updates

อัพเดท

Updates to WAR files are done as per standard Joget installation.

การอัพเดตไฟล์ WAR เสร็จสิ้นตามการติดตั้ง Joget มาตรฐาน

Backup

การสำรองข้อมูล

Backups should be done for all MySQL databases as well as configuration and data files in (joget.home)/wflow.

การสำรองข้อมูลควรทำสำหรับฐานข้อมูล MySQL ทั้งหมดรวมถึงการกำหนดค่าและไฟล์ข้อมูลใน (joget.home) / wflow