...
Upgrading From An Existing Joget v5 or v6 Folders
Thai |
---|
การอัพเกรดจากโฟลเดอร์ Joget v5 หรือ v6 ที่มีอยู่ |
English |
---|
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 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 เป็นโฟลเดอร์การติดตั้งใหม่: |
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/ เพื่อทดลองใช้ |
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 was to change the process id to use UUID for data security. Using UUID makes the URL unguessableis 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 With the old processId 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 the 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 when 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 ReferencesDocumentation:
Thai |
---|
แอพที่มี BeanShell หรือ SQL เป็นศูนย์ในการโทร JDBC ไม่ควรมีปัญหาในการทำงานบน Joget DX อย่างไรก็ตามโปรดทดสอบแอปที่เก่ากว่าอย่างละเอียดถี่ถ้วนถ้าคุณย้ายไปที่ Joget DX เอกสารที่เกี่ยวข้อง: |
- General Settings > System Administration Settings > Run Process Primary Key option.
- Hash Variable > Workflow Process Hash Variable
...
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: |
- http://nginx.org/en/docs/http/websocket.html
- https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-configure-nginx-for-websockets/
- https://stackoverflow.com/questions/12102110/nginx-to-reverse-proxy-websockets-and-enable-ssl-wss
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 cursory thorough test on the Joget apps that you have created based on older versions. A quick 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 also 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 เนื่องจากการแก้ไขปัญหาช่องโหว่ของไลบรารีที่ขึ้นต่อกัน |