Single Sign On กับ SharePoint 2010 และสูงกว่านั้น

Submitted by ezybzy on Sat, 2012-10-13 - 13:10

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

Blog Tags

Return field as ของ People Picker กับ SharePoint Workflow

Submitted by ezybzy on Wed, 2012-09-12 - 14:17

ช่วงนี้ชีวิตยุ่งอยู่กับแต่ SharePoint Workflow ทำผิดแล้วผิดอีกแบบงง ๆ ก็เลยเอาบทเรียนเรื่อง Return field as ของ People Picker มาสรุป จะได้ไม่ทำผิดซ้ำอีก

หากต้องการส่งเมล์ด้วย Approval, Feedback, Custom Task ให้ตั้ง Return field as เป็น Login Names, Semicolon Delimited หรือ Login Name เสมอมิเช่นนั้นจะส่งเมล์ไม่ได้

หากต้องการจัดการ Permission ด้วย Action ต่าง ๆ ใน Impersonate Step ให้ตั้ง Return field as เป็น As String เสมอมิเช่นนั้นมันจะไปต่อไม่ได้

Blog Tags

จะทำ Query เหรอลองใช้ Search แทนซิ!

Submitted by ezybzy on Tue, 2012-08-14 - 20:47

เปิดไปเจอบทความหนึ่งของเว็บ SharePoint ของคนเยอรมัน (แต่เขียนเป็นภาษาอังกฤษนะ) เขาตั้งโจทย์ว่าเขาอยากจะทำ Query แสดงรายการ Blog ที่อยู่ใน Subsite หลาย ๆ แห่ง (จำไม่ได้ว่าเขียนถึงขั้นว่าต่าง Site Collection เลยไหม)

ถ้าเป็น Developer ทั่ว ๆ ไปคงบอกว่า ก็เขียนโปรแกรมลูปเอาซิ ดัก SPTemplateType เอาก็ได้ แต่ทางออกของเว็บนั้นก็ทำให้ผมผิดคาดนะ เขาบอกว่าใช้ Search ซิ ไหน ๆ มันก็ต้องวิ่ง Crawl อยู่แล้วก็เอาผลลัพธ์การ Crawl มาแสดงแทนไง

วิธีเขาคือ ตั้ง Search scope ให้ครอบคลุม Site ที่เราต้องการ แล้วก็ใช้ Web Part แสดงผลการค้นหามาวางในหน้าเว็บ แล้วก็เขียนเงื่อนไขดี ๆ ว่าจะให้แสดงเฉพาะ Blog เท่านั้นแล้วก็ใช้ XSL ปรับแต่งหน้าตาแสดงผล

ทีนี้ก็แล้วแต่บุญแต่กรรมของ Crawler แล้ว ผลลัพธ์ที่ได้แม้จะไม่ทันทีทันใด แต่ก็น่าจะถือว่าอยู่ในระดับที่น่าจะยอมรับได้ ให้ Crawler วิ่งชั่วโมงละครั้งสองครั้งตามแต่ขนาดของข้อมูลที่ต้อง Crawl แต่กว่าจะทำได้คงต้องกลับไปทำการบ้านเรื่องการวางโครงสร้างไซต์ให้ดีมิเช่นนั้นคงไม่สามารถเขียนเงื่อนไขใน Search ได้แน่

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

Blog Tags

ปรับเปลี่ยนหน้าตา Feed ของ SharePoint

Submitted by ezybzy on Thu, 2012-07-26 - 14:00

ด้วยความซน จึงเข้าไปคุ้ย /_layouts/feed.aspx เพื่อดูว่ามันทำงานอย่างไรก็พบกับเรื่องประหลาดใจที่ว่าเบื้องหลังไฟล์นี้คือการเรียกใช้งาน ContentByQueryWebPart ดื้อ ๆ เลยโดยมีการให้ Parameter ต่าง ๆ ที่มันต้องการผ่านทาง Query String หนึ่งในพารามิเตอร์ที่เราสนใจคือ xsl=1 ทำไมต้องเป็น 1 ล่ะ?

Blog Tags

ติดตั้ง SharePoint 2013 แบบ All-in-one

Submitted by ezybzy on Sun, 2012-07-22 - 21:40

ได้ลองตั้ง SharePoint 2013 เพื่อจะดูว่ามีอะไรใหม่ ๆ น่าสนใจบ้างก็เลยสรุปประสบการณ์มาให้อ่านกัน

การติดตั้งนี้ทำบน VM ทั้งหมด ใช้ Client เพียงเครื่องเดียว สิ่งที่ติดตั้งประกอบไปด้วย

  • Windows Server 2012 Release Candidate Datacenter
  • SQL Server 2012 Developer Edition
  • SharePoint Server 2013 Preview
  • Office Professional Plus 2013 Preview
  • SharePoint Designer 2013 Preview
  • Visual Studio Ultimate 2012 Release Candidate

ความต้องการแบบ All-in-one ทำให้ต้องเพิ่ม Role ชื่อ Active Directory Domain Services แล้วจึงติดตั้ง SQL Server และ SharePoint ตามลำดับ พื้นที่ที่ใช้จริงตกราว 30GB (ขนาดไฟล์ VM)

การติดตั้งถือว่าง่ายครับ คล้าย ๆ ตอนติดตั้ง SharePoint Server 2010 เลย เพราะตัวติดตั้ง Prerequisite จะทำหน้าที่ Enable Role ต่าง ๆ ที่เกี่ยวข้องให้หมดเลย (Role บางส่วนก็ถูก Enable ตั้งแต่ติดตั้ง SQL Server แล้ว ซึ่งจะมีบางส่วนที่จะมีการดาวน์โหลดไฟล์จากอินเตอร์เน็ต ได้แก่การติดตั้ง .NET Framework 3.5)

เมื่อติดตั้ง Visual Studio เสร็จต้องติดตั้งตัว Update ประจำ July หนึ่งตัว เพื่อที่จะติดตั้งเครื่องมือสำหรับพัฒนา SharePoint 2013 เพิ่มอีกที

สัปดาห์หน้าน่าจะได้ลองติดตั้งเล่นกับอะไรที่เก่ากว่าคือ Windows Server 2008 R2 Service Pack 1 และ SQL Server 2008 R2 Service Pack 1 ก็จะได้เห็นว่าจะมีอะไรติดขัดอีกบ้าง

Blog Tags