ข้อควรระวังในการลบ User ออกจาก Site Colleciton

Submitted by ezybzy on Fri, 2013-06-07 - 14:40

เป็นปรกติที่บริษัทรับพัฒนา SharePoint อาจจะทำการย้าย Farm, Site Collection ที่พัฒนาจากที่บริษัท ออกไปติดตั้งยังไซต์ลูกค้า ซึ่งแน่นอนว่า Active Directory ที่ใช้งานนั้นเป็นคนละตัว ทำให้มี User ที่เกิดจาก Active Directory ของบริษัท ติดไปในระบบที่ส่งมอบแก่ลูกค้าด้วย ผู้ดูแลระบบผู้หวังดีอาจจะตรวจพบ User กลุ่มนี้และใจดีทำการลบออกจากระบบให้ นั่นก็นำมาซึ่งปัญหาอันแสนน่ากลัว

ปัญหาที่พบได้บ่อยคือ Workflow ที่เคยทำงานได้ดีใน Site Collection นั้นเกิดหยุดทำงานพร้อมกันโดยมิได้นัดหมาย เมื่อลองใช้ SharePoint Designer เปิดดูอาจจะพบอาการเปิดหน้าเว็บไม่ได้ (หน้าตาใน SharePoint Designer มันมี View บางส่วนแสดงผลเป็นหน้าเว็บได้ด้วย) ลองกดดู Workflow Settings ทุกจุดใน Site ก็พบ error ประมาณเดียวกันคือ User cannot be found ซึ่งใน ULS ก็ไม่ได้บอกอะไรที่มีประโยชน์นัก

หาสาเหตุอยู่ตั้งนานกว่าจะทราบสาเหตุ พอมาเปิดดู Workflow ทั้งหมดในระดับ Site Collection จึงเพิ่งสังเกตว่าผู้สร้าง OOB Workflow ทั้งหลายเป็น User ที่หายไปแล้ว ทางแก้คือ ใช้ User ที่มีอยู่ในระบบเข้าไปจัดการ Publish Workflow ดังกล่าวใหม่ทั้งหมด หลังจากนั้นการทำงานของ Workflow จึงกลับมาเป็นปรกติอีกครั้ง

ข้อเตือนใจคือ อย่าเผลอหวังดีไปไล่ลบ User อีก เว้นเสียแต่จะรู้ว่าควรจะต้องแก้อะไรอีกบ้าง

Blog Tags

โบว์สีขาว

Submitted by ezybzy on Thu, 2013-05-30 - 12:05

หลังจากที่กระทรวงศึกษายกเลิกกฎอันเนื่องมาจาก ปว. เรื่องระเบียบทรงผมของนักเรียน เมื่อเช้าขณะรถติดอยู่แถวสะพานผ่านฟ้า ผมได้เห็นนักเรียนหญิงโรงเรียนแถว ๆ นั้นคนหนึ่งซึ่งโรงเรียนนี้ได้ชื่อว่ามีระเบียบทรงผมที่เป็นเอกลักษณ์มาก ไว้ผมยาวผูกโบว์สีขาวเดินข้ามถนนผ่านไป สงสัยว่าความเปลี่ยนแปลงคงจะมาถึงแล้ว

Blog Tags

เรื่องของ People parameter ใน Workflow 2010 และ 2013

Submitted by ezybzy on Mon, 2013-05-20 - 22:47

ใน SharePoint 2010 บน Workflow Initiation/Association Form เมื่อเราต้องการ Parameter สำหรับใส่ People เราสามารถสร้างมันได้จาก SharePoint Designer ซึ่งค่าที่ได้นี้เมื่อถูกนำไปใช้ต่อใน Workflow ในรูปแบบของการสั่ง To string เราจะได้ XML ที่ Malform มาก้อนหนึ่งที่บรรจุรายละเอียดของ People แยกเป็นรายคน ทั้งนี้เนื่องจากฟอร์มดังกล่าวถูกสร้างมาด้วย InfoPath โดยอัตโนมัติ

ใน SharePoint 2013 หากยังคงทำงานกับ Workflow 2010 เราก็ยังคบพฤติกรรมที่เป็นปัญหาแบบเดิม แต่หากเราใช้ Workflow 2013 ฟอร์มดังกล่าวจะกลายเป็น ASP.net Form ทำให้ค่าของ Parameter นี้มีรูปแบบการบันทึกข้อมูลที่เปลี่ยนไป นั่นคือมันจะถูกเก็บเป็น User claim คั่นด้วย ; แทนแล้ว ทำให้เมื่อมีเหตุจำเป็นต้องส่งไปให้ Web Service จัดการประมวลผลค่านี้ อาจจะต้องทำการปรับเปลี่ยนวิธีคิดใหม่ เพราะข้อสันนิษฐานว่าจะเจอ Malform XML นั้นผิดเสียแล้ว

Blog Tags

อันเนื่องจากการติดตั้ง SharePoint 2013 ใหม่อีกรอบ

Submitted by ezybzy on Fri, 2013-05-10 - 15:38

เนื่องจากพบว่า AD ตัวเก่าหลังจากยำ Exchange 2013 แล้วใช้งานตัว Exchange ไม่ได้จนยากเกินเยียวยา ทางผู้ดูแลจึงขอความร่วมมือให้ติดตั้ง SharePoint 2013 ใหม่อีกรอบบน AD อันใหม่ กลับมาทำคราวนี้ก็ยังประหม่าเช่นเคย แต่ก็ได้นำประสบการณ์เก่า ๆ กลับมาลองอีกครั้งเพื่อที่จะช่วยให้ใช้เวลาติดตั้งได้น้อยลง

ขั้นตอนการติดตั้งแทบจะเป็นแบบเดิมทุกประการ มีที่แตกต่างไปในครั้งนี้คือ มีการแยก Workflow Manager ออกจากเครื่อง SharePoint (คราวก่อนรวมไว้บนเครื่อง SharePoint เลย) ซึ่งจะพบปัญหาในขั้นตอนการสั่ง Register-SPWorkflowService อันนี้ก็ลักไก่ไปเพิ่มสิทธิ์ db_owner หรือ SPDataAccess ใน Content Database ของ SPSite ที่ต้องการผูกบริการเอาดื้อ ๆ เลย เพราะแอคเคาท์ติดตั้ง SharePoint ไม่มีสิทธิ์บน SharePoint Content Database (และหลาย ๆ Database) โดยปริยายเหมือนที่เคยคาดไว้

สำหรับ User Profile Service Application และบริการที่เกี่ยวข้อง (Managed Metadata Service, Search, และอะไรซักอย่าง) ก็สร้างขึ้นทีหลังเช่นเคย (รวมถึง Workflow ด้วยเพราะต้องรอ User Profile Service Application เสร็จก่อน) ครั้งนี้ได้บทเรียนมาว่า ให้เปิด User Profile Service ใน Services on Server รอไว้ก่อนจะสร้างได้เลยเพื่อไม่เป็นการเสียเวลา พอสร้างเสร็จตรวจเช็คว่าสามารถเข้าไปในหน้าของ User Profile Service Application ได้ก็ค่อยกลับมาเปิด User Profile Synchronization Service อีกที ซึ่งแน่นอนว่าอาจจะเปิดไม่สำเร็จ ทางแก้ก็คือ Restart เครื่อง SharePoint ซักรอบแล้วทำใหม่ ส่วนในกระบวนการทดสอบ Synchronization จริง ๆ ต้องใช้ ADSI Edit ที่อยู่บนเครื่อง Active Directory ทำการเพิ่มสิทธิ์ในการ Replication Directory Change ให้ (อันนี้ค่อย ๆ ลองทำ ต้องตรวจจาก Log ที่เกิดขึ้นว่ามันฟ้องว่าติดปัญหาที่ใด)

กลับมาที่ Workflow Manager อีกครั้งตอนสร้าง จะสร้างกลุ่มจัดการอยู่ในระดับโดเมนหรือแค่ Local Machine ก็ตามสะดวก แต่โดยปริยายของ Powershell Script ที่ถูกสร้างขึ้นมาจะให้ BUILTIN\Administrators ที่อยู่ในเครื่องที่ติดตั้ง Workflow Manager มีสิทธิ์จัดการ Service ดังนั้นจึงจำเป็นต้องเพิ่มแอคเคาท์ที่จะใช้สั่ง Register-SPWorkflowService เข้าไปในกลุ่มนี้ด้วย

มาจุดที่ระทึกอีกจุดคือ การทำให้เครื่องพร้อมใช้งานสำหรับการพัฒนา App ได้อันนี้ทำตามบทความใน MSDN ได้เลย เพียงแต่ว่าเมื่อกำหนด SPAppDomain ควรตั้งเป็นโดเมนที่เหมือนจะมีอยู่จริง ใช้เป็นชื่อเครื่องไม่ได้ เพื่อความเรียบง่ายในการจัดการอาจจะไปเพิ่ม Record บน DNS ด้วยเพื่อให้เครื่องที่อยู่ในวง DNS เดียวกันสามารถเรียกหา App ได้โดยสะดวก (สำหรับ SharePoint-hosted) ส่วน Provider-hosted ตอนนี้ยังติดปัญหาอยู่ ถ้าแก้ไขได้แล้วจะกลับมาสรุปผลอีกครั้ง

Blog Tags

หลังจากฤดูที่ฉันเหงา

Submitted by ezybzy on Thu, 2013-05-09 - 22:22

ประโยคที่เธอเคยพูดเมื่อสองสามปีก่อนมันก็ย้อนกลับมากระทบจิตใจตลอดเวลา ขอโทษนะที่พี่ทำอะไรไม่ดีไว้ ถึงพูดตอนนี้มันก็คงสายไปแบบที่แป้งโกะพูด ถ้าเป็นไปได้พี่ควรจะเตรียมพร้อมกว่านี้

Blog Tags

ฤดูที่ฉันเหงา

Submitted by ezybzy on Sun, 2013-05-05 - 15:48

"เฝ้าคอยเธอกลับมาหา เฝ้ารอวันที่ฝนซา สุดท้ายก็ว่างเปล่า"

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

Blog Tags