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 |
---|
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: |
Backup your Joget v6 files and v6 database.
Thai |
---|
สำรองไฟล์ Joget v6 และฐานข้อมูล v6 ของคุณ |
Make the above changes in startup script and Glowroot folders.
Thai |
---|
ทำการเปลี่ยนแปลงข้างต้นในสคริปต์เริ่มต้นและโฟลเดอร์ Glowroot |
Delete ".\apache-tomcat-8.5.41\work\*" folder.
Thai |
---|
ลบโฟลเดอร์ ". \ apache-tomcat-8.5.41 \ work \ *" |
Delete ".\apache-tomcat-8.5.41\webapps\jw" folder and jw.war file.
Thai |
---|
ลบโฟลเดอร์ ". \ apache-tomcat-8.5.41 \ webapps \ jw" และไฟล์ jw.war |
Copy Joget DX "jw.war" file into ".\apache-tomcat-8.5.41\webapps\".
Thai |
---|
คัดลอกไฟล์ Joget DX "jw.war" ไปยัง ". \ apache-tomcat-8.5.41 \ webapps \" |
Edit ".\wflow\app_datasource-default.properties" to point to your existing v6 database.
Thai |
---|
แก้ไข ". \ wflow \ app_datasource-default.properties" เพื่อชี้ไปยังฐานข้อมูล v6 ที่คุณมีอยู่ |
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".
Thai |
---|
การติดตั้ง Joget ในโฟลเดอร์ใหม่ |
A second quicker solution where Joget DX is a new install folder:
Thai |
---|
วิธีที่สองที่เร็วกว่าที่ Joget DX เป็นโฟลเดอร์การติดตั้งใหม่: |
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 จะสร้างตารางและฟิลด์ใหม่ตามที่ต้องการโดยอัตโนมัติ) |
Install Joget DX in a new folder using the Windows or Linux Installer.
Thai |
---|
ติดตั้ง Joget DX ในโฟลเดอร์ใหม่โดยใช้ Windows หรือ Linux Installer |
Copy over all files from v6 ".\wflow\*" to the same folder in Joget DX.
Thai |
---|
คัดลอกไฟล์ทั้งหมดจาก v6 ". \ wflow \ *" ไปยังโฟลเดอร์เดียวกันใน Joget DX |
Ensure Joget DX can access the v6 database (check the "app_datasource-default.properties" settings).
Thai |
---|
ตรวจสอบให้แน่ใจว่า Joget DX สามารถเข้าถึงฐานข้อมูล v6 (ตรวจสอบการตั้งค่า "app_datasource-default.properties") |
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 บนพอร์ตอื่น |
Edit to set a higher "-Xmx" memory setting in startup script "joget-start.bat or .sh".
Thai |
---|
แก้ไขเพื่อตั้งค่าหน่วยความจำ "-Xmx" ที่สูงขึ้นในสคริปต์เริ่มต้น "joget-start.bat หรือ. sh" |
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/ เพื่อทดลองใช้ |
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 เอกสารที่เกี่ยวข้อง: |
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/; } } |
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 |
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 ตรวจสอบให้แน่ใจว่าได้ตรวจสอบบันทึกของเซิร์ฟเวอร์ด้วยเพราะจะสร้างบันทึกข้อผิดพลาดที่อาจเกิดขึ้นกับปลั๊กอินที่ขาดหายไปหรือเข้ากันไม่ได้หรือปัญหาอื่น ๆ |
Thai |
---|
สำคัญ |
Thai |
---|
เริ่มต้นจาก v6.0.15 จำเป็นต้องมี JAVA 8 เนื่องจากการแก้ไขปัญหาช่องโหว่ของไลบรารีที่ขึ้นต่อกัน |