Versions Compared

Key

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

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 สำหรับขั้นตอนรายละเอียดเพิ่มเติม

...

  1. Datasource: Using custom datasource or Joget default datasource

    Thai

    แหล่งข้อมูล: การใช้แหล่งข้อมูลที่กำหนดเองหรือแหล่งข้อมูลเริ่มต้นของ Joget

  2. Custom JDBC Driver: The JDBC driver for custom datasource

    Thai

    Custom JDBC Driver: ไดรเวอร์ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง

  3. Custom JDBC URL: The JDBC connection URL for custom datasource

    Thai

    Custom JDBC URL: URL การเชื่อมต่อ JDBC สำหรับแหล่งข้อมูลที่กำหนดเอง

  4. Custom JDBC Username: The username for custom datasource

    Thai

    ชื่อผู้ใช้ JDBC แบบกำหนดเอง: ชื่อผู้ใช้สำหรับแหล่งข้อมูลที่กำหนดเอง

  5. Custom JDBC Password: The password for custom datasource

    Thai

    Custom JDBC Password: รหัสผ่านสำหรับแหล่งข้อมูลที่กำหนดเอง

  6. SQL Query: The query to populate options. 

    Thai

    SQL Query: แบบสอบถามเพื่อเติมตัวเลือก

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

ตัวอย่าง:

  1. SELECT id, name from app_fd_sample where group = ?

  2. 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
languagebash
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
languagebash
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 ให้ตรวจสอบอีกครั้งว่ามีการอัปโหลดและเปิดใช้งานปลั๊กอินอย่างถูกต้อง


Image RemovedImage Added

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 ในแบบฟอร์มเพื่อทดสอบ มาสร้างแบบทดสอบของเรากันดังนี้


Image RemovedImage Added

Then, configure our select box and JDBC binder.

Thai

จากนั้นกำหนดค่ากล่องเลือกของเราและ JDBC binder

Image Removed



Image RemovedImage Added

In the query, we will use the following query to get the user list based on group id.

...

Code Block
languagesql
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;


Image RemovedImage Added

Configure the dependency to "group". Then, test the result.

Thai

กำหนดค่าการพึ่งพา "กลุ่ม" จากนั้นทดสอบผลลัพธ์


Image RemovedImage AddedImage Removed

Image Added

The user select box options changed based on the selected values of group select box.

...

Thai

อย่าลืมยกเลิกการเลือก "ใช้ AJAX สำหรับตัวเลือกการเรียงซ้อน?" ตัวเลือกเพื่อให้ไม่ใช้ AJAX


Image RemovedImage Added

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/