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 |
---|
In this tutorial, we will be following the guideline for developing a plugin to develop our JDBC Options Binder plugin. Please also refer to the very first tutorial How to develop a Bean Shell Hash Variable for more details steps. |
Thai |
---|
ในบทช่วยสอนนี้เราจะทำตามแนวทางในการพัฒนาปลั๊กอินเพื่อพัฒนาปลั๊กอิน JDBC Options Binder ของเรา โปรดอ้างอิงถึง How to develop a Bean Shell Hash Variable สำหรับขั้นตอนรายละเอียดเพิ่มเติม |
...
Datasource: Using custom datasource or Joget default datasource
Thai |
---|
แหล่งข้อมูล: การใช้แหล่งข้อมูลที่กำหนดเองหรือแหล่งข้อมูลเริ่มต้นของ Joget |
Custom JDBC Driver: The JDBC driver for custom datasource
Thai |
---|
Custom JDBC Driver: ไดรเวอร์ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง |
Custom JDBC URL: The JDBC connection URL for custom datasource
Thai |
---|
Custom JDBC URL: URL การเชื่อมต่อ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง |
Custom JDBC Username: The username for custom datasource
Thai |
---|
ชื่อผู้ใช้ JDBC แบบกำหนดเอง: ชื่อผู้ใช้สำหรับแหล่งข้อมูลที่กำหนดเอง |
Custom JDBC Password: The password for custom datasource
Thai |
---|
Custom JDBC Password: รหัสผ่านสำหรับแหล่งข้อมูลที่กำหนดเอง |
SQL Query: The query to populate options.
Thai |
---|
SQL Query: แบบสอบถามเพื่อเติมตัวเลือก |
Use Ajax: A checkbox to decide whether or not it is using AJAX to load options. (For AJAX Cascading Drop-Down List)
Thai |
---|
ใช้ Ajax: ช่องทำเครื่องหมายเพื่อตัดสินใจว่าจะใช้ AJAX เพื่อโหลดตัวเลือกหรือไม่ (สำหรับ AJAX Cascading Drop-Down List) |
The query should also support a syntax to inject dependency values when using AJAX.
Thai |
---|
แบบสอบถามควรสนับสนุนไวยากรณ์เพื่อฉีดค่าอ้างอิงเมื่อใช้ AJAX |
Example:
Thai |
---|
ตัวอย่าง: |
SELECT id, name from app_fd_sample where group = ?
SELECT id, name from app_fd_sample where group in (?)
...
The following tutorial is prepared with a Macbook Pro and Joget Source Code version 58.0.0-Snapshot. Please refer to the the Guideline for developing a plugin article for other platform commands.
...
Thai |
---|
เราจำเป็นต้องให้ซอร์สโค้ด Joget Workflow ของเราพร้อมและสร้างโดยปฏิบัติตาม this guideline บทช่วยสอนต่อไปนี้จัดทำขึ้นด้วย Macbook Pro และ Joget Source Code เวอร์ชั่น 58.0.0 โปรดอ้างอิง -Snapshot โปรดอ้างอิง Guideline for developing a plugin สำหรับคำสั่งแพลตฟอร์มอื่น ๆ สมมติว่าไดเรกทอรีโฟลเดอร์ของเรามีดังนี้ |
Code Block |
---|
- Home
- joget
- plugins
- jw-community
-5.0.0 |
The "plugins" directory is the folder we will create and store all our plugins and the "jw-community" directory is where the Joget Workflow Source code is stored.
...
Code Block | ||
---|---|---|
| ||
cd joget/plugins/ ~/joget/jw-community/5.0.0/wflow-plugin-archetype/create-plugin.sh org.joget.tutorial jdbc_options_binder 58.0.0-Snapshot |
Then, the shell script will ask us to key in a version number for the plugin and request for a confirmation before generating the maven project.
...
Code Block | ||
---|---|---|
| ||
Define value for property 'version': 1.0-SNAPSHOT: : 58.0.0-Snapshot [INFO] Using property: package = org.joget.tutorial Confirm properties configuration: groupId: org.joget.tutorial artifactId: jdbc_options_binder version: 5.0.0 package: org.joget.tutorial Y: : y |
...
Then, we have to create a UI for admin user to provide inputs for our plugin. In getPropertyOptions method, we have already specify that our Plugin Properties Options definition file is located at "/properties/jdbcOptionsBinder.json". Let us create a directory "resources/properties" under "jdbc_options_binder/src/main" directory. After creating the directory, create a file named "jdbcOptionsBinder.json" in the "properties" folder.
...
Thai |
---|
จากนั้นเราต้องสร้าง UI สำหรับผู้ใช้ผู้ดูแลระบบเพื่อให้อินพุตสำหรับปลั๊กอินของเรา ในวิธีการ getPropertyOptions เราได้ระบุไว้แล้วว่าไฟล์ข้อกำหนด Plugin Properties Options ของเราตั้งอยู่ที่ "/properties/jdbcOptionsBinder.json" ให้เราสร้างไดเรกทอรี "resources / properties" ภายใต้ไดเร็กทอรี "jdbc_options_binder / src / main" หลังจากสร้างไดเร็กทอรีให้สร้างไฟล์ชื่อ "jdbcOptionsBinder.json" ในโฟลเดอร์ "properties" ในไฟล์ตัวเลือกคำจำกัดความของคุณสมบัติเราจะต้องระบุตัวเลือกดังต่อไปนี้ โปรดทราบว่าเราจะใช้ไวยากรณ์ "@@ message.key @@" เพื่อรองรับ i18n ในตัวเลือกคุณสมบัติของเรา |
...
Thai |
---|
ให้สร้างปลั๊กอินของเรา เมื่อกระบวนการสร้างเสร็จสิ้นเราจะพบว่าไฟล์ "jdbc_options_binder-5.0.0.jar" ถูกสร้างขึ้นภายใต้ไดเรกทอรี "jdbc_options_binder / target" จากนั้นให้เราอัปโหลด jar ปลั๊กอินไปที่ Manage Plugins หลังจากอัปโหลดไฟล์ jar ให้ตรวจสอบอีกครั้งว่ามีการอัปโหลดและเปิดใช้งานปลั๊กอินอย่างถูกต้อง |
Then, let us create an AJAX Cascading Drop-Down List in a form to test it. Let's create our test form as follows.
Thai |
---|
จากนั้นให้เราสร้าง AJAX Cascading Drop-Down List ในแบบฟอร์มเพื่อทดสอบ มาสร้างแบบทดสอบของเรากันดังนี้ |
Then, configure our select box and JDBC binder.
Thai |
---|
จากนั้นกำหนดค่ากล่องเลือกของเราและ JDBC binder |
In the query, we will use the following query to get the user list based on group id.
...
Code Block | ||
---|---|---|
| ||
select distinct username, firstName, groupId from dir_user u join dir_user_group g on u.username=g.userId where groupId in (?) group by username; |
Configure the dependency to "group". Then, test the result.
Thai |
---|
กำหนดค่าการพึ่งพา "กลุ่ม" จากนั้นทดสอบผลลัพธ์ |
The user select box options changed based on the selected values of group select box.
...
Thai |
---|
อย่าลืมยกเลิกการเลือก "ใช้ AJAX สำหรับตัวเลือกการเรียงซ้อน?" ตัวเลือกเพื่อให้ไม่ใช้ AJAX |
Yes, it works as well. Then, we can test the custom configuration and the test connection button.
...
You can download the source code from jdbc_options_binder_src.zip.
To download the ready-to-use plugin jar, please find it in http://marketplace.joget.org/.
Thai |
---|
คุณสามารถดาวน์โหลดซอร์สโค้ดจาก jdbc_options_binder_src.zipหากต้องการดาวน์โหลด jar ปลั๊กอินที่พร้อมใช้งานโปรดค้นหาได้ที่ http://marketplace.joget.org/ |