Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


English
Upgrading From An Existing Joget v5 or v6 Folders
Thai

การอัพเกรดจากโฟลเดอร์ Joget v5 หรือ v6 ที่มีอยู่

The following are the changes you need to run Joget DX if you are upgrading from Joget v6 folders:

Thai

ต่อไปนี้คือการเปลี่ยนแปลงที่คุณต้องใช้เพื่อเรียกใช้ Joget DX หากคุณกำลังอัพเกรดจากโฟลเดอร์ Joget v6:

  • Joget DX uses Glowroot for Java APM, so you need to add a new argument in the startup script, example below:

    Thai

    Joget DX ใช้ Glowroot สำหรับ Java APM ดังนั้นคุณต้องเพิ่มอาร์กิวเมนต์ใหม่ในสคริปต์เริ่มต้นตัวอย่างด้านล่าง:

Code Block
set JAVA_OPTS=-Xmx768M -Dwflow.home=./wflow/ -javaagent:./wflow/aspectjweaver-1.8.5.jar -javaagent:./wflow/glowroot/glowroot.jar
  • Install Joget DX in a temporary folder and copy the whole content of folder "\wflow\glowroot\*" to your new Joget "\wflow\" folder.

    Thai

    ติดตั้ง Joget DX ในโฟลเดอร์ชั่วคราวและคัดลอกเนื้อหาทั้งหมดของโฟลเดอร์ "\ wflow \ glowroot \ *" ไปยังโฟลเดอร์ Joget "\ wflow \" ใหม่ของคุณ

  • Do also note the higher default maximum memory allocation pool for the JVM in "-Xmx768M". Joget DX requires more heap space and if your server has the additional RAM, do allocate more "-Xmx" memory for better performance.

    Thai

    อย่าจดบันทึกพูลการจัดสรรหน่วยความจำสูงสุดเริ่มต้นที่สูงกว่าสำหรับ JVM ใน "-Xmx768M" Joget DX ต้องการพื้นที่มากขึ้นและหากเซิร์ฟเวอร์ของคุณมี RAM เพิ่มเติมให้จัดสรรหน่วยความจำ "-Xmx" เพิ่มเติมเพื่อประสิทธิภาพที่ดีขึ้น

  • Default Joget DX installation is running on "jre11.0.2". However Joget DX can still run on Java 8.

    Thai

    การติดตั้ง Joget DX เริ่มต้นทำงานบน "jre11.0.2" อย่างไรก็ตาม Joget DX ยังคงสามารถทำงานบน Java 8 ได้

The upgrade steps are as follows if you are upgrading to Joget DX in v5 or v6 folders:

Thai

ขั้นตอนการอัพเกรดมีดังนี้ถ้าคุณกำลังอัพเกรดเป็น Joget DX ในโฟลเดอร์ v5 หรือ v6:

  1. Backup your Joget v6 files and v6 database.

    Thai

    สำรองไฟล์ Joget v6 และฐานข้อมูล v6 ของคุณ

  2. Make the above changes in startup script and Glowroot folders.

    Thai

    ทำการเปลี่ยนแปลงข้างต้นในสคริปต์เริ่มต้นและโฟลเดอร์ Glowroot

  3. Delete ".\apache-tomcat-8.5.41\work\*" folder.

    Thai

    ลบโฟลเดอร์ ". \ apache-tomcat-8.5.41 \ work \ *"

  4. Delete ".\apache-tomcat-8.5.41\webapps\jw" folder and jw.war file.

    Thai

    ลบโฟลเดอร์ ". \ apache-tomcat-8.5.41 \ webapps \ jw" และไฟล์ jw.war

  5. Copy Joget DX "jw.war" file into ".\apache-tomcat-8.5.41\webapps\".

    Thai

    คัดลอกไฟล์ Joget DX "jw.war" ไปยัง ". \ apache-tomcat-8.5.41 \ webapps \"

  6. Edit ".\wflow\app_datasource-default.properties" to point to your existing v6 database.

    Thai

    แก้ไข ". \ wflow \ app_datasource-default.properties" เพื่อชี้ไปยังฐานข้อมูล v6 ที่คุณมีอยู่

  7. Start Joget Apache Tomcat and monitor the joget.log.

    Thai

    เริ่ม Joget Apache Tomcat และตรวจสอบ joget.log

Tip To save time in the initial DX testing, you can delay the copying of the "./wflow/app_formuploads" folder (may have too many files) and "./wflow/app_plugins" folder (to first test Joget DX with zero custom plugin) until after everything is running smoothly.

Thai

เคล็ดลับ: เพื่อประหยัดเวลาในการทดสอบ DX เริ่มต้นคุณสามารถหน่วงเวลาการคัดลอกโฟลเดอร์ "./wflow/app_formuploads" (อาจมีไฟล์มากเกินไป) และโฟลเดอร์ "./wflow/app_plugins" (เพื่อทดสอบ Joget DX อันดับแรกด้วยศูนย์ ปลั๊กอินที่กำหนดเอง) จนกระทั่งหลังจากทุกอย่างทำงานได้อย่างราบรื่น


Tip For Joget installations before v7.0.12, you are recommended to increase the cacheMaxSize to "100000" in ".\apache-tomcat-8.x.xx\conf\context.xml" to avoid the following warning: "WARNING [localhost-startStop-1] org.apache.catalina.webresources.Cache.getResource Unable to add the resource at [/WEB-INF/classes/templates/userview/login.ftl] to the cache for web application [/jw] because there was insufficient free space available after evicting expired cache entries - consider increasing the maximum size of the cache".


Installing Joget In A New Folder

Thai

การติดตั้ง Joget ในโฟลเดอร์ใหม่

A second quicker solution where Joget DX is a new install folder:

Thai

วิธีที่สองที่เร็วกว่าที่ Joget DX เป็นโฟลเดอร์การติดตั้งใหม่:

  1. Backup your Joget v6 database or clone it for Joget DX use (Joget DX will automatically create the new tables and fields it needs).

    Thai

    สำรองฐานข้อมูล Joget v6 ของคุณหรือโคลนเพื่อใช้ Joget DX (Joget DX จะสร้างตารางและฟิลด์ใหม่ตามที่ต้องการโดยอัตโนมัติ)

  2. Install Joget DX in a new folder using the Windows or Linux Installer.

    Thai

    ติดตั้ง Joget DX ในโฟลเดอร์ใหม่โดยใช้ Windows หรือ Linux Installer

  3. Copy over all files from v6 ".\wflow\*" to the same folder in Joget DX.

    Thai

    คัดลอกไฟล์ทั้งหมดจาก v6 ". \ wflow \ *" ไปยังโฟลเดอร์เดียวกันใน Joget DX

  4. Ensure Joget DX can access the v6 database (check the "app_datasource-default.properties" settings).

    Thai

    ตรวจสอบให้แน่ใจว่า Joget DX สามารถเข้าถึงฐานข้อมูล v6 (ตรวจสอบการตั้งค่า "app_datasource-default.properties")

  5. Edit the "./apache-tomcat-8.5.41/conf/server.xml" if you wish to run Joget DX on a different port.

    Thai

    แก้ไข "./apache-tomcat-8.5.41/conf/server.xml" หากคุณต้องการรัน Joget DX บนพอร์ตอื่น

  6. Edit to set a higher "-Xmx" memory setting in startup script "joget-start.bat or .sh".

    Thai

    แก้ไขเพื่อตั้งค่าหน่วยความจำ "-Xmx" ที่สูงขึ้นในสคริปต์เริ่มต้น "joget-start.bat หรือ. sh"

  7. Start Joget Apache Tomcat and monitor the joget.log.

    Thai

    เริ่ม Joget Apache Tomcat และตรวจสอบ joget.log

Lastly, you can download and install new plugins specially for Joget DX from https://archives.joget.org/addons/ to try out.

Thai

สุดท้ายคุณสามารถดาวน์โหลดและติดตั้งปลั๊กอินใหม่เป็นพิเศษสำหรับ Joget DX จาก https://archives.joget.org/addons/ เพื่อทดลองใช้

Important Note About Joget DX New Process Record ID Using UUID

Thai

หมายเหตุสำคัญเกี่ยวกับ Joget DX ID กระบวนการใหม่โดยใช้ UUID

One of the top requested features for Joget DX is the enhancement of process form data security, by allowing the record ID to use UUID instead of reusing the process ID. Using UUID for process record ID makes the URL difficult to guess, thus protecting unauthorized access to the process records in a Form. 

With the old record ID of "[seq#]_appid_process1" which is the same format as the process ID, it was easy for users to access other process records by just incrementing the process seq number in the browser URL and viewing records not belonging to them.

Thai

หนึ่งในคุณสมบัติที่ได้รับการร้องขอสูงสุดสำหรับ Joget DX คือการเปลี่ยน id กระบวนการเพื่อใช้ UUID เพื่อความปลอดภัยของข้อมูล การใช้ UUID ทำให้ URL ไม่สามารถคาดเดาได้ดังนั้นจึงป้องกันการเข้าถึงบันทึกกระบวนการในแบบฟอร์มโดยไม่ได้รับอนุญาต ด้วย processId เก่าของ "[seq #] _ appid_process1" มันเป็นเรื่องง่ายสำหรับผู้ใช้ในการเข้าถึงบันทึกกระบวนการอื่น ๆ โดยเพียงแค่เพิ่มหมายเลขกระบวนการ seq ใน URL เบราว์เซอร์และดูบันทึกไม่ได้เป็นของพวกเขา


You can revert Joget DX to use sequential process id numbering via the new option in "General Settings > Run Process Primary Key".

Here is a process id related checklist if you are migrating apps from v5 or v6 to Joget DX:

Thai

คุณสามารถเปลี่ยน Joget DX กลับมาเพื่อใช้การกำหนดหมายเลขกระบวนการต่อเนื่องผ่านตัวเลือกใหม่ใน "General Settings> เรียกใช้คีย์หลักของกระบวนการ"

นี่คือรายการตรวจสอบที่เกี่ยวข้องกับรหัสกระบวนการหากคุณกำลังย้ายแอพจาก v5 หรือ v6 ไปยัง Joget DX:

  • In Beanshell, have two separate variables to store the @processId@ and @recordId@ at the top of your code:

    Thai

    ใน Beanshell ให้มีตัวแปรสองตัวแยกกันเพื่อเก็บ @ processId @ และ @ recordId @ ที่ด้านบนของรหัสของคุณ:


    • RecordId contains the UUID primary key (id). This is used when you have to query or update the process database table using SQL syntax.

      Thai

      RecordId มีคีย์หลัก UUID (id) สิ่งนี้ใช้เมื่อคุณต้องสืบค้นหรืออัพเดทตารางฐานข้อมูลกระบวนการโดยใช้ไวยากรณ์ SQL

    • ProcessId is used when you are using Joget methods to manipulate the process data.

      Thai

      ProcessId ใช้เมื่อคุณใช้วิธีการ Joget เพื่อจัดการข้อมูลกระบวนการ

    • See an example app using RecordId in BeanShell code at "Multiple Approval App For Joget

      Thai

      ดูตัวอย่างแอปที่ใช้ RecordId ในรหัส BeanShell ที่ "แอปอนุมัติหลายรายการสำหรับ Joget

      DX":https://dev.joget.org/community/display/DX7/Demonstration+Multiple+Approval+App+For+Joget+DX .

  • Similarly, if you use process Database Update Tool where SQL is included, ensure you replace any "where id = '#assignment.processId#' " with "where id = '#process.recordId#' ".

    Thai

    ในทำนองเดียวกันถ้าคุณใช้เครื่องมืออัพเดตฐานข้อมูลที่มี SQL อยู่ให้ตรวจสอบให้แน่ใจว่าคุณได้แทนที่ "where id = '# assignment.processId #'" ด้วย "where id = '# process.recordId #'"

  • If your forms (that are used in processes) has subform or Ajax subform with references to the parent form id stored in a hidden field, ensure you initialize the hidden field with the "#process.recordId#" hash and not the "#process.processId#".

    Thai

    หากฟอร์มของคุณ (ที่ใช้ในกระบวนการ) มีฟอร์มย่อยหรือฟอร์มย่อย Ajax ที่มีการอ้างอิงถึง id ฟอร์มหลักที่เก็บไว้ในเขตข้อมูลที่ซ่อนอยู่ให้แน่ใจว่าคุณเริ่มต้นเขตข้อมูลที่ซ่อนอยู่ด้วยแฮช "# process.recordId #" และไม่ใช่ "#process .processId #"

The apps that has zero BeanShell or SQL in JDBC calls should have no issues running on Joget DX. Nevertheless, please thoroughly test all older apps if you are migrating them to Joget DX.

Related Documentation:

Thai

แอพที่มี BeanShell หรือ SQL เป็นศูนย์ในการโทร JDBC ไม่ควรมีปัญหาในการทำงานบน Joget DX อย่างไรก็ตามโปรดทดสอบแอปที่เก่ากว่าอย่างละเอียดถี่ถ้วนถ้าคุณย้ายไปที่ Joget DX

เอกสารที่เกี่ยวข้อง:

Configuring Nginx To Proxy WebSocket

Thai

การกำหนดค่า Nginx To Proxy WebSocket

WebSocket is used by Joget DX for App Console Logs menu.

Refer to the following links to configure your Nginx to proxy WebSocket:

Thai

WebSocket ใช้งานโดย Joget DX สำหรับเมนู Log Console Apps

อ้างถึงลิงก์ต่อไปนี้เพื่อกำหนดค่า Nginx ของคุณเป็นพร็อกซี WebSocket:

Here is a simple sample configuration:

Thai

นี่คือการกำหนดค่าตัวอย่างง่าย ๆ :

Code Block
server {
  listen 80;
  listen [::]:80;

  server_name myjoget.com;

location /jw/web/applog/ {
    proxy_pass http://localhost:8080/jw/web/applog/;
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
}
  location / {
    proxy_set_header Host $http_host;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-Server $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://localhost:8080/;
  }
}

Configuring Apache To Proxy WebSocket

Thai

การกำหนดค่า Apache To Proxy WebSocket

Apache config would be as follows:

Thai

Apache config จะเป็นดังนี้:



Code Block
<Proxy balancer://wscluster>
BalancerMember ws://tomcat1:8181 route=node01
BalancerMember ws://tomcat2:8282 route=node02
Order deny,allow
Allow from all
</Proxy>

ProxyPass /jw/web/applog balancer://wscluster/jw/web/applog stickysession=JSESSIONID|jsessionid
ProxyPassReverse /jw/web/applog balancer://wscluster/jw/web/applog

Perform Thorough App Testing

Thai

ดำเนินการทดสอบแอพอย่างละเอียด

We highly recommend that you spend some time to perform a thorough test on the Joget apps that you have created based on Joget v5 or v6. An app test can quickly determine if your app is fully compatible with Joget DX. Be sure to check the server log too as it would generate error logs on possible missing/incompatible plugins or other issues.

Thai

เราขอแนะนำให้คุณใช้เวลาในการทดสอบอย่างละเอียดเกี่ยวกับแอพ Joget ที่คุณสร้างขึ้นตาม Joget v5 หรือ v6 การทดสอบแอปสามารถระบุได้อย่างรวดเร็วว่าแอปของคุณเข้ากันได้กับ Joget DX ตรวจสอบให้แน่ใจว่าได้ตรวจสอบบันทึกของเซิร์ฟเวอร์ด้วยเพราะจะสร้างบันทึกข้อผิดพลาดที่อาจเกิดขึ้นกับปลั๊กอินที่ขาดหายไปหรือเข้ากันไม่ได้หรือปัญหาอื่น ๆ

Important

Thai

สำคัญ

  • Useful read and reference: Optimizing Joget Platform
  • Apache Tomcat user needs full Read Write access to the whole ".\apache-tomcat.x.x.x\" and ".\wflow" directories on Linux/Ubuntu OS.
  • Starting from v6.0.15, JAVA 8 is required due to fixes for vulnerability issues of a dependent library.


Thai

เริ่มต้นจาก v6.0.15 จำเป็นต้องมี JAVA 8 เนื่องจากการแก้ไขปัญหาช่องโหว่ของไลบรารีที่ขึ้นต่อกัน