K2 Process Instance Removal Tool

ภาษาไทย => https://medium.com/k2-dev-th/k2-process-instance-removal-tool-cafaae886151

English => https://medium.com/k2-dev-en/k2-process-instance-removal-tool-6bf5e84189d

Advertisements

ฝาก VLOG : K2 Fine Day ไว้ในอ้อมใจ

สวัสดีครับ ชาว K2

หลังจากผ่านไปแล้ว 3 Episode คิดว่าน่าจะเข้าที่เข้าทางแล้วและมีได้ครบ 12 EP แน่ๆ ในปีนี้ เลยมาป่าวประกาศเชิญชวนฮะ

ถ้าไม่มีเวลาอ่าน มานั่งดู นั่งฟัง กันครับ

ฝากเข้าไปกด ติดตาม กันด้วยนะครับผม 🙂

VLOG สบายๆ สไตล์พี่น้อง VLOG ที่สามแล้วไปกันต่อ รอติดตามกันด้วยนะคร้าบบบบบบ

K2 FineDay ทุกวันศุกร์แรกของเดือน เราจะมาเล่าเรื่องราวต่างๆ รอบๆ K2 ให้ฟังกันแบบ ง่ายๆ สบายๆ ตอนหน้าจะเกี่ยวกับเรื่องอะไร ติดตามชมกันด้วยนะครับ

——————————————————————————–
K2 Thailand Facebook : https://www.facebook.com/groups/k2thai/
K2 Ranger Blog : https://k2ranger.wordpress.com
K2 Technical Rock Line Group : https://line.me/R/ti/g/vJgPSjMU-S

การเพิ่ม Tab ที่เชื่อมโยงไปยัง SaaS (เช่น Smartform) บน MS Team #1

สวัสดีครับเพื่อนๆ บล็อกนี้จะพิเศษกว่าบล็อกอื่นๆเล็กน้อย คือผมไปเจอบทความที่น่าสนใจจะเพื่อนร่วมงาน ฝั่งยุโรป เลยขออนุญาต มาแปลเป็นภาษาไทย ให้ได้อ่านกันง่ายๆครับ

บทความนี้จะเกี่ยวกับการ customize Microsoft Team ให้แสดง Smartform ของ K2 ได้ครับสำหรับใครที่ยังไม่รู้จักกับ MS Team (ไว้ว่างๆ จะมาเล่าให้ฟัง) แต่เอาเป็นว่าอ่านไปเล่นๆ ก่อน

Translated with permission from  https://www.dragan-panjkov.com/adding-third-party-saas-as-a-tab-in-microsoft-teams

Tab บน MS Team เป็นช่องทางที่ดีมากๆ สำหรับการเชื่อมโยงกับเว็บภายนอก เพื่อให้เกิดการใช้งานและเข้าถึงข้อมูลเนื้อหาต่างๆ ได้ง่ายสำหรับผู้ใช้ทั่วไป ในบทความนี้จะผมจะแสดงให้เห็นถึงขั้นตอนการเชื่อมโยง SaaS ใดๆ เข้ามาไว้ใน Tab ใน Microsoft Team และทำให้กลายเป็นแอพที่ใช้งานผ่าน MS Team

To create a Tab for Microsoft Teams, we need to do the following:
ในการจะสร้าง Tab สำหรับ MS Teams ต้องทำตามขั้นตอนต่อไปนี้

  1. เราต้องตัดสินใจก่อนว่า Tab ที่เราจะเพิ่มเข้าไปนั้นจะเป็นแบบ Static หรือว่าแบบที่ Configure ได้ โดย แบบ Static จะใช้สำหรับ Personal Scope ส่วน Tab แบบที่ Configure ได้ จะสามารถใช้กับ Channel ใด หรือมากกว่าได้ หรือ อาจจะใช้กับ Group Chat ก็ได้เช่นกัน
  2. เข้าไปปรับแก้ หน้าเพจ ที่เป็น SaaS ให้รองรับการเป็น Content Page บน MS Teams ได้
  3. สำหรับ configurable tabs นั้นเราจต้องสร้างเพจสำหรับ configuration ด้วย แต่ถ้าเป็น Static Tab ก็ข้ามข้อนี้ไปได้เลย
  4. สร้าง app manifest ด้วย Teams App Studio.
  5. ใช้งาน app ที่สร้างขึ้นมาใหม่บน MS Teams

Static Tabs กับ Configurable Tabs

ความแต่ต่างทางเทคนิคหลักๆ ระหว่าง Static Tab กับ Configurable Tab ก็คือ URL ของ Content page สำหรับ Static Tab จะเป็นการระบุฝั่งไปตรงๆ ใน app manifest ซึ่งต่างจาก Configurable Tab ตรงที่เราไม่จำเป็นต้องฝั่ง Content page ลงไปที่ app manifest,  แต่จะใช้การบอกให้ manifest ชี้ไปยัง Configuration page ที่เราสามารถระบุ content page ที่ต้องการให้ใช้บน Tab ได้อีกทีหนึ่ง

สำหรับเพื่อนๆ ที่ต้องการทราบรายละเอียดเกี่ยวกับ Tabs สามารถตามไปอ่านได้ที่: https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/tabs/tabs-overview

Configure page มาใส่ไว้ใน Tab

จาก ข้อที่สองก่อนที่จะนำ content page ของเราไปใส่ใน tab เราก็ต้องตระเตรียมให้เพจของเราพร้อมเสียก่อนโดยการ เพิ่ม reference ของ Microsoft Teams JavaScript client SDK ในหน้าเพจของเราโดยสร้าง script tag ตามตัวอย่างด้วย

msteam-tab01

และที่สำคัญ configuration pages จะต้อง handle configuration ของ tab โดย (อ่านรายเอียดเพ่ิมเติม):

  • เรียกใช้งาน
    microsoftTeams.settings.setSettings

    เพื่อที่จะ configure content page และค่าอื่นๆสำหรับ tab

  • และเรียกใช้งาน
    microsoftTeams.settings.setValidityState(true);

    เพื่อจะให้แสดงปุ่มบันทึกค่าบนหน้าต่างที่แสดงขึ้นเมื่อ หน้าสำหรับ configure ถูกโหลดขึ้นมแสดงเป็นหน้าต่างอีกหน้าต่างหนึ่ง

นอกจากนี้ ทั้ง Content page และ configuration page นั่นต้องอนุญาติให้ใช้งานผ่าน iframe ได้ สำหรับรายละเอียดอื่นๆ สามารถตามอ่านได้ที่ : https://docs.microsoft.com/en-us/microsoftteams/platform/concepts/tabs/tabs-requirements

App Studio

ถึงแม้เราเราจะสามารถสร้าง app manifest บน MS Team ได้ แต่การใช้ การสร้างด้วย App Studio เป็นทางเลือกที่ดีกว่า (อ่านเพิ่มเติมได้ที่: create manifest using App Studio). App Studio ในขั้นตอนนี้จะช่วยในการ ตรวจสอบ (validations) และ ช่วยเพิ่ม setting ที่จำเป็นให้อย่างอัตโนมัติ เช่น เมื่อเราเพิ่ม URL ใน configuration page, App Studio ก็จะไปเพิ่ม domain ของเพจนั้น ใน validDomains ให้อัตโนมัติ

เราสามารถ ติดตั้ง App Studio บน MS Teams จาก Teams Store ดังภาพ:

image

และเมื่อติดตั้งเรียบร้อยแล้ว เราจะสามารถเรียกใช้ App Studio จาก MS Teams ได้:

image

เริ่มใช้งาน Apps บน MS Teams

เมื่อเราสร้าง app เสร็จเรียบร้อยแล้วเราก็สามารถนำมาใช้งาน MS Team ได้ โดยวิธีที่ง่ายที่สุดคือการ upload ผ่าน link “upload a custom app” ดังภาพ

image

นอกจากนี้เราต้องเปิดการใช้งาน sideloading สำหรับ Teams apps ในส่วนของ Office 365 administration. ขั้นตอนการเปิดการใช้งานสามารถอ่านได้ที่: https://docs.microsoft.com/en-us/microsoftteams/admin-settings

ในบทความต่อไปผมจะแสดงให้เห็นวิธีการนำ SaaS อย่างเช่น K2 Smartform มาเป็นตัวอย่างในการใช้งานร่วมกับ MS Team โดย SmartForms นั้นเป็นส่วนหนึ่งของ K2 blackpearl (up to v4.7) และ K2 Five ทั้ง on-premises และ บน K2 Cloud. ซึ่งช่วยให้เราสร้างหน้าจอแสดงผล ข้อมูลและอัพเดทข้อมูลจากหลายๆ แหล่ง โดยใช้เพียง browser ในการสร้างและออกแบบ Smartform ผ่าน K2 Designer

Feel free to get in touch on Twitter: www.twitter.com/panjkov if you have any questions, comments or need clarifications. Any feedback is more than welcome. (ขอไม่แปลประโยคนี้นะครับ เพราะถ้าจะติดต่อไปต้องเขียนเป็นภาษาอังกฤษ เป็นอย่างน้อย)

Translated with permission from  https://www.dragan-panjkov.com/adding-third-party-saas-as-a-tab-in-microsoft-teams

สำหรับตอนแรก ขอจบเท่านี้ก่อน ตอนหน้าเราจะมาทำส่วนที่จะนำ K2 Smartform มาใส่ไว้ใน MS Team กันครับครับ
สวัสดีครับ

K2 Operation Insight using Power BI

สวัสดีครับปีใหม่ครับ ชาว K2 ทุกท่านครับ ในปี 2019 นี้ K2 Ranger เราก็มี บทความมาอัปเดทกันเหมือนเช่นเคยครับ

ในปีที่ผ่านมา กระแสของการนำ Data มาใช้ในองค์กรก็มีมากขึ้นเรื่อยๆ หลายๆ ที่ เริ่มพูดถึง IoT, Big Data, AI กันอย่างแพรหลาย ซึ่งจากข้อมูลเหล่านั้นเราสามารถนำไปต่อยอดได้มากเลยเลยครับ

คราวนี้ถ้าเราลองกลับมาดูในองค์กรของเราที่ใช้งาน K2 อยู่ เจ้า K2 เองก็ผลิตข้อมูล ที่เกี่ยวข้องกับกระบวนการทำงานให้กับแต่ละองค์กรเองไม่ใช่น้อยเลย ซึ่งข้อมูลเหล่านั้นเราเรียกมันว่า Operation Insight หรือข้อมูลเชิงลึกของกระบวนการต่างๆในองค์กรเรานั่นเอง

หากจำกันได้ ตอนที่ภัทรแนะนำ K2 Workspace ที่เป็น feature ใหม่ของ K2 (ตอนนี้เก่าแล้ว) จะมีเรื่องเกี่ยวกับ Operation Insight เช่นเดียวกัน  (ถ้าจำไม่ได้ลองดูวีดีโอด้านล่างครับ)


คราวนี้ หลายๆ คนก็อาจจะมีคำถามว่าแล้วถ้าเราอยากได้ ข้อมูลไปใช้กับ BI Tool ตัวอื่นๆ หละ จะทำยังไงได้บ้าง วันนี้เราจะมาคุยเรื่องนี้กันครับ

Continue reading K2 Operation Insight using Power BI

Tips : K2 Smartform : วิธีการลบรายการใน List view มากกว่าหนึ่งรายการ

สวัสดีครับ เพื่อนๆ K2 Developer สำหรับวันนี้ เราก็ได้ ทิป ดีๆ จาก “คุณกาย” แห่งห้อง K2 Technical Rock มาอีกครั้งครับ ขั้นตอนทำง่ายๆ แต่น่าจะเอาไปประยุกค์ใช้ได้หลายแบบเลยทีเดียว

(จริงๆ คุณกายส่งมาให้ซักพักแล้วครับแต่ แอดฯเพิ่งมีเวลามาลงไว้ให้ครับ ขออภัยมา ณ ที่นี้ด้วยครับ)

1.กำหนด Allow multiple row selection ให้เป็นแบบในรูป (เพื่อให้สามารถกด Shift ค้างไว้ และ เลือกได้มากกว่า1รายการ)

deleteMulipleItem01

2.สร้างปุ่ม “ลบรายการที่เลือก” และกำหนด Rule ดังนี้

1.สร้าง condition for each item in list view เพื่อวน Loop

2 Remove selected

3.apply the changes

deleteMulipleItem02

ทดสอบ

1.ค้นหารายการ ได้ทั้งหมด 7 รายการ
deleteMulipleItem03

2.เลือกรายการที่ต้องการลบ (4รายการ)
deleteMulipleItem04

3.กดปุ่ม “ลบรายการที่เลือก” จะเหลือ 3 รายการดังรูป
deleteMulipleItem05

How to use K2 menu system with custom values

จากบทความก่อนเรื่อง How to use “Workflow management service” (K2 Five) ของคุณเบนซ์ Thattaporn Setsittichoke มาช่วยเขียน blog แชร์ประสบการณ์ การทำงานบน K2 Five วันนี้มีมาอีก 1 หัวข้อที่น่าสนใจในการใช้งาน K2 Menu System ครับ

ใครยังไม่เคยใช้งานหรือไม่เคยได้ยินตัว K2 Menu System ลองหาอ่าน 5 extensions น่าใช้และฟรี!! ใน K2 Community (ภาคหนึ่ง) ได้ก่อนครับ

มีหลายคนบอกว่า อืมมม… K2 Menu System นี่ใช้งานง่ายมากเลย แค่ Set menu ใส่ link ใส่ภาพ ก็ได้ Menu ไว้ใช้งานแล้ว

แต่ เอ… ถ้าอยากสร้างการมองเห็นแบบ Manage เองหละ โดยไม่ต้องไปพึ่งพวก Group ของ AD เพราะส่วนใหญ่มีปัญหาตรงที่ หลายๆที่นั้นต้องไปคุยกับแผนกนู้นแผนกนี้ กว่าจะสร้าง Group ให้เราได้ก็นานซะเหลือเกิน สร้างคนเข้าไปในกลุ่มให้เราอีก ถ้าเราจัดการเองได้ก็คงไม่ต้องรอขนาดนี้ ซึ่งบทความนี้ผมจะมาบอกวิธีทั้งหมดเลยครับ ว่าสร้างยังไง แต่วิธีเยอะหน่อยนะครับ

***ขั้นตอนจะคล้ายกับ Manual ที่ K2 Menu System ให้ไว้เลยนะครับ แต่ผมเอามาอธิบายให้เข้าใจอีกที***

1. ขั้นตอนแรกให้เราไปสร้าง Table ไว้เลยครับ สร้างไว้ 2 Table นะครับ ไว้สำหรับการ Manage permission ของ menu นะครับ

  • Table แรกเป็น Table สำหรับการจัดกลุ่มของคนครับอันนี้แล้วแต่การ Design แต่ละคนเลยนะครับว่าจะสร้างละเอียดขนาดไหนอยากเก็บอะไรบ้าง
  • Table ที่ 2 จะเป็นการสร้าง Table เพื่อจัดการคนเข้าไปในกลุ่มนะครับ แล้วแต่ Design เช่นกันครับ

(บทความนี้จะสร้างแค่ Basic นะครับเพื่อความเข้าใจง่าย)

ส่วนนี้นำไปสร้างเป็น SMO > List View เพื่อ สร้างหน้า Manage ได้เลยนะครับ ส่วนข้อมูลควรใส่ยังไง ผมจะลองใส่ให้ดูครับ

me03

จากตัวอย่างนะครับ ผมกำหนด ดังนี้ครับ

  • User1 อยู่ที่กลุ่ม Admin
  • User2 อยู่ทั้งสองกลุ่ม Admin,IT
  • User3 อยู่กลุ่ม IT

2. ต่อมา ให้ไปที่ Edit From ที่เราเคยทำตัว Main หลักไว้จะเป็นลักษณะดังภาพ

me04.png

ตรงส่วนนี้เราเห็น Control Picker ตรงไหนไป Edit ที่ View นั้นต่อเลยครับ(เพราะช่วงนี้แต่ละคน Save as มาไม่เหมือนกัน แต่แก้ไขช่วงนี้ได้เหมือนกันนะ)

พอเข้ามา Edit แล้วให้ทำการสร้าง Picker อันใหม่เป็นทางที่ดีกว่าไปเปลี่ยนอันเก่านะ เพื่อไม่ให้กระทบกับอันเก่า ที่เราอาจจะมีการ Save as ไปทำตัวอื่นๆอีก ดังภาพ

me05.png

ทำการ Set SMO เข้ากับ Picker นี้เลย (ใช้ Table UserGroup > ใช้แค่ Group_ID อย่างเดียว) ดังภาพ

me06.png

การที่ Set แบบนี้ เพื่อเราจะใช้ในการ Load User ที่ทำการ Login เข้ามาแล้วทำการดูว่าอยู่กลุ่มไหนบ้าง โดยการใช้ Populate Picker โดยการโยน User เข้าที่ Picker นี้  (สามารถเข้าหน้า Rules ของ View นี้ได้เลยครับ)

me07

me08.png

me09.png

***แต่เดี๋ยวก่อน….. กรณีนี้มีบาง Version ที่ไม่สามารถ Populate ได้ สามารถแก้ไขได้ดังนี้ครับ***

Create Stored มาเพื่อทำการ transfer data ให้ picker สามารถ Return Value ได้ ดังนี้ครับ

me10.png

โดยการสร้าง Parameter Username เพื่อส่งมาจาก Form ช่วง Login และ Return Values ที่เป็นการ Concatenate String กลับไป เมื่อใช้งานผลลัพธ์จะเป็นแบบนี้ครับ

me11.png

เมื่อได้แล้ว เราทำการสร้าง SMO และกลับไปที่ View ตัวที่สร้าง Picker เหมือนเดิมโดยการมา Call ตัวนี้ ดังรูป

me12.png

me13me14

เท่านี้ก็จะได้การ Load ข้อมูลตามที่เรา Set ไว้แล้วครับ โดยสามารถ Run View นี้เพื่อทดสอบการ Return ค่า โดย Login เป็น User ที่ Config ไว้ได้เลย

3. ต่อมา เมื่อได้แล้ว มีคำถามว่า อ่าววว…แล้วเอาไปใช้ตรงไหนต่อหละ แน่นอนครับ เราเข้าไปที่ที่คุ้นเคยกันได้เลยที่นี่ครับ K2 Menu System เพื่อไป Config ตัว Custom Values (K2 Menu System > Menu Items > เลือกเมนูที่ต้องการ)

me15me16

ในส่วนนี้สามารถใส่ Values ตามที่อยากให้ Group นั้นเห็นได้เลยครับ ตัวอย่างเช่น

ผมอยากให้เมนูนี้เห็นแค่ User1 ผมก็จะใส่แค่เลข 1 แต่ถ้าอยากให้ User3 เห็น ผมก็จะใส่แค่เลข 3 ตามที่เราได้ทำการ Manage ไว้ใน Table เลยครับ

ไม่ยากเลยครับแค่นี้ก็จะได้วิธีการ Set K2 Menu System แบบ Custom Values แล้ว แต่ถ้ามีส่วนไหนผมอธิบายไม่เข้าใจ สามารถกระซิบมาหาผมได้เลยครับ ที่ผมมาแชร์บทความนี้เพราะว่าหลายที่ใช้แบบนี้บ่อยและไม่ต้องการ Manage ผ่าน AD สามารถ Manage ที่ table นี้ได้เลย

ใครมีวิธีที่ดีกว่านี้สามารถแนะนำได้เลยนะครับ ขอบคุณมากเลยครับ

*** เพิ่มเติมครับ*** ถ้ามีคำถามว่า Version เก่ามันไม่เป็นแบบนี้หละ

me17.png

Version เก่าจะไม่มีในส่วนของ Custom Values ให้กรอกเราจะต้อง Custom เพิ่มอีกทีนะครับโดยการ เพิ่ม Textbox เข้าไปเพื่อให้ใส่ Values แบบ Version ใหม่นะครับ และทำการเขียน Rule Change เพื่อ Transfer Data เข้าไปที่ Permission Data label ที่ทำการ Update data อีกทีครับ เข้าดังภาพเลยนะครับ

me18me19me20me21me22

หลังจากนั้นก็สามารถใช้งานได้เหมือน Version ใหม่เลยครับ

หรือใครต้องการผูกการใช้งาน K2 Menu System กับ Role สามารถอ่านได้จากบทความนี้ How to use K2 Menu with Role Permission จากคุณโอ๋ ohshiki ครับ