วันพุธที่ 11 มกราคม พ.ศ. 2560

สร้าง Workflow Application ด้วย Joget

Workflow คืออะไร? Workflow คือ การบริหารจัดการลำดับขั้นตอนของการปฏิบัติงานระหว่าง บุคลากร หรือหน่วยงาน โดยกำหนดเป็นกฎเกณฑ์ และใช้เอกสาร หรือคอมพิวเตอร์มาช่วยในการกำกับงาน
ตัวอย่างของ Workflow เช่น Workflow การอนุมัติงานทั่วไป, Workflow งานขาย, Workflow การส่งสินค้าฯลฯ Workflow เหล่านี้สามารถนำไปประยุกต์ได้ในหน่วยงานทุกระดับ ตั้งแต่หน่วยงานขนาดเล็ก ไปจนถึงหน่วยงานขนาดใหญ่


มารู้จัก Workflow Application ที่มีชื่อว่า Joget Workflow กัน
Joget Workflow เป็นซอฟต์แวร์ Open Source ที่ใช้ในการสร้างระบบงาน Workflow ที่อยู่ในรูปแบบ Web Application การสร้าง Application นั้นก็ง่ายมาก เพียงแค่ออกแบบ Workflow สร้าง Form กำหนด Data List และกำหนดรูปแบบการแสดงผล เท่านี้ก็สามารถสร้าง Workflow Application ได้แล้วโดยไม่ต้องมีความรู้ในเรื่องของการเขียนโปรแกรมแต่อย่างใด ซึ่งเป็นการสร้าง Application เพื่อใช้งานในองค์กรได้อย่างง่ายๆ
วิธีติดตั้ง Joget Workflow
เข้าเว็บไซต์ http://www.joget.org/download/ เพื่อดาวน์โหลด Joget Workflow สำหรับ Windows
Run ไฟล์ joget-setup-x.x.x.exe เพื่อติดตั้งโปรแกรม จะได้หน้าต่างคำสั่ง ดังรูป


จากนั้นกด Next หน้าแนะนำโปรแกรม
กด I Agree หน้า License
กด Next หน้า Components
เลือกที่จัดเก็บไฟล์ เลือกเสร็จ กด Install
เมื่อดาวน์โหลดเรียบร้อย กด Finish
ไปโฟลเดอร์ที่เราได้เลือกจัดเก็บไฟล์ไว้ตอนที่ติดตั้งโปรแกรม
ดับเบิ้ลคลิกที่ไอคอน     จะได้หน้าต่างคำสั่ง ดังรูป


รอจนกว่าข้อความ “Server startup in XXXXX ms” (XXXXX คือระยะเวลาที่ดำเนินการ หน่วย มิลลิวินาที)จะปรากฎ และไม่ต้องปิดหน้าต่างคำสั่ง
เข้าใช้งานโปรแกรมได้ที่  http://localhost:8080/jw และ Login เข้าสู่ระบบ
สำหรับ Username และ Password คือ admin


มาเริ่มสร้าง Workflow Application กัน

ตัวอย่างโปรแกรมที่จะทำ คือ โปรแกรมใบลา
สถานการณ์ “พนักงานที่ต้องการลาต้องกรอกใบลาให้กับผู้จัดการอนุมัติ หากผู้จัดการอนุมัติให้ลาได้ก็ทำการแจ้งให้กับผู้ขออนุญาติทราบผ่านทาง E-mail และอัพเดทฐานข้อมูล หากไม่อนุญาติก็แจ้งให้ทราบผ่านทาง E-mail เช่นกัน“
จากสถานการณ์ข้างต้นจะพบว่ามี Participant อยู่ 2 คนด้วยกัน คือ พนักงาน (Applicant) และ ผู้จัดการ (Approver/Manager) อีกส่วนหนึ่งคือ Participant ที่ไม่ใช้คน คือ System ที่จะทำหน้าที่เกี่ยวกับการส่ง E-Mail และอัพเดทฐานข้อมูล

สร้าง Application กำหนดชื่อ
App ID : leaveApp
App Name : Leave Application
กดปุ่ม Design Process เพื่อสร้าง Workflow

Workflow จะมีหน้าตาแบบนี้


ข้อมูล Process Properties กำหนดดังนี้
Name : Leave Process
ID : leave_process
Workflow Variable : status

ข้อมูล Human Participant
Name : Applicant
ID : applicant
Type : Participant
Name : Approver
ID : approver
Type : Participant

ข้อมูล System Participant
Name : System
ID : system
Type : System

ข้อมูล Activity
Name : Apply Leave Form
ID : applyleaveform
Name : Approve Leave Application
ID : approveleaveapplication

ข้อมูล Tool
Name : Notification Rejected
ID : notification_rejected
Name : Update Database
ID : update_database
Name : Notification Approved
ID : notification_approved

ข้อมูล Transition ตรงที่มี variable (เส้นทึบสีฟ้า) กำหนดดังนี้
Type : Condition
Expression : status==”Approved”

ข้อมูล Route แบบ AND (ที่มีเครื่องหมายบวกตรงกลาง) กำหนดดังนี้
Split Type : AND

เมื่อได้ Workflow แล้ว กด Deploy
จากนั้นกำหนดผู้ใช้ให้กับ Application ดูตรง Tab ชื่อ Map Participants to Users



กด Add/Edit Mapping

กำหนดผู้ใช้ในส่วน Applicant เป็น
Type : Performer
Value : Activity Definition Id :runProcess



กด Add/Edit Mapping

กำหนดผู้ใช้ในส่วน Approver เป็น
Type : Group
Value : Managers


เมื่อกำหนดผู้ใช้ได้แล้ว สร้าง Form ต่อ ให้คลิกที่ Tab ชื่อ Map Activities to Form



Activity แรกคือ Apply Leave Form กดปุ่ม Add/Edit Form
จากนั้นจะมีหน้าต่างให้เลือกฟอร์ม ให้กด Create New Form จะสร้างฟอร์มหน้าตาอย่างนี้


กำหนดค่าดังนี้
Form Name : Leave Application
Form ID : leaveForm
Table : leaves

กำหนดค่า Section ดังนี้
Label : Leave Application Form

ส่วน Field ต่างๆ กำหนดดังนี้
Label : Name
Type : Text Field
Validation : Mandatory
, Label : Start Date
Type : Date Picker
Validation : Mandatory
, Label : End Date
Type : Date Picker
Validation : Mandatory
, Label : Reason
Type : Text Area

เมื่อได้ฟอร์มแล้วกด Save หากต้องการดูว่าหน้าตาออกมาเป็นยังไงกดปุ่ม Preview

จากนั้นกลับไปที่หน้า Map Activities to Form อีกครั้ง ในส่วน Approve Leave Application
กด Add/Edit Form จะสร้างฟอร์มหน้าตาอย่างนี้


กำหนดค่าดังนี้
Form Name : Approve Leave Application
Form ID : approveleaveapplication
Table : leaves

กำหนดค่า Section ดังนี้
Label : Approve Leave Application
เพิ่ม Sub Form เข้ามาและกำหนดค่าดังนี้
Label : (ลบชื่อ Label ออก)
Form ID : Leave Application
Readonly : (กด checkbox กำหนดให้อ่านได้อย่างเดียว)
ขั้นตอนนี้จะได้หน้าตาของแบบฟอร์ม Leave Application โผล่ออกมา จากนั้นจะเพิ่ม Radio Button เพื่อกำหนดเป็น Approved และ Rejected กำหนดค่าดังนี้
Label : Approval
Type : Radio
ID : approval
Options :
  • ค่าแรก
    • Value : Approved
    • Label : Approved
  • ค่าที่สอง
    • Value : Rejected
    • Label : Rejected
Validation : Mandatory
Workflow Variables : status

แต่ถ้าหากว่า Approver/Manager ไม่อนุมัติให้ลา คลิกที่ปุ่ม Rejected แล้วแบบฟอร์มจะแสดงกล่อง Text Area ให้กรอกหมายเหตุเพิ่มเติม วิธีการทำมีดังนี้
ให้เพิ่ม Section มาอีก 1 อันกำหนดค่าดังนี้
Label : Rejected
Visibility :
Field ID to control this Section : approval
Field value to display this Section : Rejected
จากนั้นเพิ่ม Text Area เข้าไปกำหนดค่าดังนี้
Label : Remark
Type : Text Area
ID : remark
ทีนี้ Save และ Preview ดูว่า กดปุ่ม Rejected แล้วมี Section ส่วน Remark ขึ้นมามั้ย

กลับมาที่หน้า Leave App เพื่อสร้าง Userview เพื่อให้ผู้ใช้เข้าใช้งาน App หน้านี้
กดปุ่ม Create New Userview หน้าตาของ Userview ที่จะสร้างเป็นแบบนี้


จากนั้นกำหนดค่าดังนี้
Name : Leave Application Portal
ID : leavePortal

โปรแกรมจะเปิดหน้า Userview Designer ขึ้นมา ให้สร้าง Category ชื่อ Main จากนั้นเพิ่ม Menu ลงไปดังนี้
Label : Home
Element : HTML Page
Content : Welcome to Leave Application Portal
, Label : Inbox
Element : Inbox
Assignments to Display : Assignment for A Process Only
Process : Leave Process
UI :
  • Show Number of Rows In Menu : (check เพื่อแสดงจำนวนข้อมูลใน Inbox)
, Label : New Leave
Element : Run Process
Assignments to Display : Assignment for A Process Only
Process : Leave Process
Run process without confirmation screen? : (check – เพื่อไม่ต้องถามคำถามก่อน Run Process)
Show in popup dialog? : (เอาออก – เพื่อให้แสดงผลในหน้าเดียวไม่ต้องเปิดหน้าแสดงผลแบบ Dialog)

จากนั้น Save สั่ง Publish Application แล้ว Launch App จะได้หน้าตา Application แบบนี้


จากนั้นลองใส่ข้อมูล Login ด้วย User



Login ด้วย Manager จะพบข้อความเข้าดังนี้


ถ้าเลือก Rejected แบบฟอร์มจะให้กรอกเหตุผลของการไม่อนุมัติดังภาพ



จะเห็นได้ว่า Joget นั้นใช้งานได้ง่ายมาก ไม่ว่าองค์กรเล็กหรือใหญ่ก็สามารถใช้งานได้

ไม่มีความคิดเห็น:

แสดงความคิดเห็น