วันพฤหัสบดีที่ 27 มีนาคม พ.ศ. 2557

การสร้าง Workflow ให้กับ Formของเรา

     จากบทความที่แล้วได้แนะนำในส่วนของเครื่องมือตัวหนึ่ง ชื่อว่า MS Sharepoint Designer วันนี้ เราจะนำความสามารถอย่างหนึ่งของเครื่องมือตัวนี้มาช่วยในการสร้าง Workflow นะครับ 

      ก่อนอื่นผมขอ สรุปภาพรวมสิ่งที่จะทำเพื่อทุกท่านจะได้เข้าใจและสามารถทำตามได้นะครับ
1.ผมจะทำการสร้าง Form ขึ้นมา โดยใช้ List feature นะครับโดยออกแบบให้มี field ดังนี้ 
      - Request No.   :  เป็น auto running number ครับ คือ มันจะรันเลขไปเรื่อยๆ ตามitem ที่เรา add เพิ่ม ลักษณะ 1,2,3,4,5 เป็นต้น
      - Request Name:  ชื่อเรื่อง
      - Department    :  ให้ lookup(ดึงค่าจาก Profile) เช่น user A อยู่แผนก Information Technology เวลาเปิดเรื่อง Request จะทำการดึงค่า Department จาก Profile user โดยอัตโนมัติ โดยอาจจะ manual add ตามที่เคยทำให้ดูไปหรือ Sync จาก Active Directory โดยใช้ Attribute ชื่อ Department ก็ได้
2. Workflow ที่จะทำคือ การให้ running เลข request และส่งไป approve ที่แต่บะแผนก

     เรามาเริ่มกันเลยนะครับ
1. สร้าง List ขึ้นมา ผมตั้งชื่อว่า "Test List"
วิธีสร้างรบกวนดูบทความเก่าๆๆดูครับ
หมายเหตุ : Request Name ผมทำการแปลงจาก Field "Title" เดิมครับ
2.ทำการเปิด Microsoft Sharepoint Designer
3.Click ที่เมนู List and Libraries ด้านซ้ายมือ จากนั้นเลือก list ที่ต้องการด้านขวา

4. ด้านขวามือจะมีเมนู Workflow ให้กด New
 5. ตั้งชื่อ Workflow ตามต้องการ
หมายเหตุ : ชื่อ Workflow จะไปShow view ด้วยดังนั้นควรตั้งชื่อที่สื่อได้ดีเช่น Request Status, Status เป็นต้น
 6.เมื่อเข้ามาผมจะทำการสร้างตาม requirement ด้านบนคือ
     6.1 การทำ Auto Running Number
           6.1.1 เลือก Update List item


           6.1.2 เลือก "this list"

           6.1.3 เลือก Add
            6.1.4 เลือกField ที่ต้องการในที่นี้ ผมเลือก Request No จากนั้น Click เครื่องหมาย fx

             6.1.5 ช่องด้านล่าง ให้เลือก ID

       6.2 การดึงข้อมูลแผนกมาอัตโนมัติ เมื่อกรอกข้อมูล
            6.2.1 เลือก Set Field in Current Item
             6.2.2  เลือก Field ที่ต้องการ ส่วน หลัง to ให้ใส่ field ที่ต้องการดึง โดยผมเลือก ค่าจาก
                       Data source : User Profiles
                       Field           : Department
                       ด้านล่างคือ field ที่ทำการ Cross check ผมเลือก Account Name

      6.3 การใส่เงื่อนไขให้ workflow ทำงาน โดยตรวจสอบว่า user ที่กรอกข้อมูลอยู่แผนกไหนจากนั้นส่งข้อมูลไปหาหัวหน้าบังคับบัญชา
            6.3.1  เลือก Condition--> If any values equals value
             6.3.2 เลือก ปุ่มดังรูป
             6.3.3  เลือก Department
             6.3.4 equals "ใส่ค่าแผนกให้ตรงกับ Profile ที่เขียนของuser"
             6.3.4 จากนั้นเลือก start approval process เพื่อบอกว่าจะให้ส่ง flow งานไปให้ใคร
             6.3.5  เลือก user ที่ต้องการ
             6.3.6 ใส่ชื่อ user โดย search ที่ Address book  
             6.3.7 หากต้องการใส่ค่า Subject เราสามารถกำหนดเองได้ โดยสามารถ lookup field ได้อีกเช่นกัน
จากตัวอย่าง ผมให้ เขียน Sub ว่า Request aprroval+ ใส่ Request Name+by+ชื่อผู้ create งาน
             6.3.8 หากมีเงื่อนไขหรือหลายแผนกก็เพิ่มเข้าไปได้เลยครับ
             6.3.9 เมื่อทำเรียบร้อยแล้วเราสามารถ Check error ก่อนได้ เพื่อตรวจสอบความถูกต้อง หากไม่มี error ก็สามารถ Publish ขึ้นเพื่อใช้งานได้เลย

 7. เราสามารถ test workflow ที่ทำาร publish ได้ โดยการ add item ลงไปนะครับ


วันพุธที่ 26 มีนาคม พ.ศ. 2557

การใช้ Microsoft Sharepoint Designer

         หลายท่านคงน่าจะเริ่มเข้าใจว่า Microsoft Sharepoint คืออะไร จากบทความที่ผมได้ทำการเขียนมา วันนี้ผมจะมาแนะนำ Tool ตัวหนึ่งของ Microsoft Sharepoint นั่นก็คือ Microsoft Sharepoint Designer ครับ

         Microsoft Sharepoint Designer เป็นเครื่องมือที่ช่วยในการออกแบบ Sharepoint ของเราทั้งหน้าตา web ที่จะแสดงผล ไม่ว่าจะเป็น List, Workflow, Data source, edit Master page และอื่นๆๆ




วันอาทิตย์ที่ 9 มีนาคม พ.ศ. 2557

การปรับหน้าจอและ Theme

หลายคน คงสงสัยว่า หน้าตา Sharepoint เนี่ยสามารถปรับเปลี่ยนได้ไหม ขอตอบเลยว่ามีวิธีปรับครับ โดย ผมขอแบ่งออกเป็น 2 ส่วนนะครับ

1. ส่วนที่เป็น Banner นะครับ
2.ส่วนที่เป็น Font ของเมนู

โดยก่อนอื่นให้ทุกท่านติดตั้ง Tools ตัวหนึ่งของ Sharepoint ก่อนนะครับ คือ Microsoft Sharepoint Designer
Download : http://www.microsoft.com/th-th/download/details.aspx?id=16573
เมื่อติดตั้งแล้วเรามาเริ่มดำเนินการกันต่อเลย

- ส่วนทีเป็น Banner
1.ให้เราหาภาพหรือออกแบบขึ้นมาก็ได้นะครับ ขนาดประมาณ 1400x180 pixel
2. upload ภาพดังกล่าว ไปเก็บไว้ที่


 



 


3. เปิด Microsoft Sharepoint Designer ขึ้นมาแล้วไปที่ Master Page  -> Right click ที่ V4.Master เลือก Edit File in advance Mode 
พิมพ์ค่าดังนี้
<style type="text/css">
/*–Hide Quick Launch –*/
/*–Hide Quick Launch –*/
#s4-leftpanel{
display:none
}
.s4-ca{
margin-left:0px
}
.s4-title {
 background:#F9F9F9 url('/SiteCollectionImages/ชื่อรูปที่upload) repeat-x 0px 0px;
 margin:0;
 min-height:180px;
 overflow-x:hidden;
 word-wrap:break-word;
 }
</style>
4. SAVE แล้วก็Right  Click ที่ File V4.Master เพื่อCheck in เข้าไปนะครับ
 
หมายเหตุก่อนแก้หรือทำอะไรก็ Backup File ไปด้วยนะครับ
 
-------------------------------------------------------------------------------------------------------------------------
- ส่วนทีเป็น Font ของเมนู
1.เปิด Microsoft Sharepoint /designer -> ไปที่ All files -> Style Library
 
 
2. Right Click ที่พื้นที่ว่างๆ New-> CSS
 
3. Copy css ด้านล่างไปใช้งานหากต้องการปรับ Font,ความหนา, ขนาด จาก CSS ด้านล่างได้เลยครับ
.s4-toplinks .menu LI { BORDER-RIGHT: 1px solid HighlightText; border-color: silver}
/*** Top Navigaion Global Menu Container ***/
.s4-tn
{
    
      padding: 0px;
  BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid;  BORDER-TOP: 1px solid ; BORDER-RIGHT: 1px solid ;   
      margin: 0px;
      font-family: 'Calibri' !important;
      font-size: 12pt !important;
  font-weight: bold;
       border: 2px transparent solid;
      padding-right: 10px;
      padding-left: 10px;
 
}

/*** Top Navigaion Static Menu Style ***/
.s4-tn li.static > .menu-item
{
      color: #5A9A18;
  BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid;  BORDER-TOP: 1px solid ; BORDER-RIGHT: 1px solid ;   
    font-weight: bold;
 
      padding: 4px 10px;
      line-height: 9px;
      height: 50px;
}
 
/*** Top Navigaion Static Menu Hover ***/
.s4-tn li.static > a:hover
{
      background: url("/_layouts/Images/selbg.png") repeat-x left top;
  BORDER-BOTTOM: 1px solid; BORDER-LEFT: 1px solid;  BORDER-TOP: 1px solid ; BORDER-RIGHT: 1px solid ;   
      background-color:  #FFFFCC;
      color:  blue;
      text-decoration: none;
     
}
 
/*** Top Navigaion Static Menu Selected ***/
.s4-toplinks .s4-tn a.selected
{
      background: url("/_layouts/Images/selbg.png") repeat-x left top;
      background-color: #529610;
      color:  #fff;
      text-decoration: none;
      border: 1px transparent solid;
      padding-right: 10px;
      padding-left: 10px;
      margin: 0px;
      border-color: #529610;
}
 
/*** Top Navigation Flyover/Dynamic Menu Container ***/
.s4-tn ul.dynamic {
 background-color: white;
 border: 1px solid #000;
}
 
/*** Top Navigation Sub-Menu Items Padding ***/
.s4-tn li.dynamic > .menu-item {
 padding: 10px 20px 10px 20px;
}
 
/***  Top Navigation Sub-Menu Items (HyperLinks) CSS Style ***/
.s4-tn li.dynamic > a {
 font-weight: normal;
 color: #529610;
}
/*** Top Navigation Sub-Menu Items (HyperLinks) Hover Style ***/
.s4-tn li.dynamic > a:hover {
 font-weight: bold;
 background-color: #AECE8F;
 color: #FFF;
}
 
3. จากนั้นกด Save แล้ว Checkin เข้าไปเหมือนเดิมเลยครับ
4.ไปที่ Master Page แล้วพิมพ์
<link href="/Style%20Library/ชื่อCSS ที่สร้างขึ้น.css" rel="stylesheet" type="text/css" />
 

การสร้าง View ในแบบฟอร์มและการกำหนด Permission

       การView แบบฟอร์มที่ Create ขึ้นเป็นเรื่องที่สำคัญ ซึ่งคงไม่มีผู้ใช้งานคนไหนอยากให้ข้อมูลของเรา คนอื่นสามารถเห็นได้ ซึ่งโดยปกติ Sharepoint จะมีฟังก์ชันแค่ให้เราสร้าง View ขึ้นมาแต่ไม่สามารถกำหนด Permission ได้(มีกี่ view ผู้ใช้งานสามารถเลือกแก้ไขดูเองได้หมด) ดังนั้นผมจึงขอแนะนำวิธีการดังกล่าวโดยการใช้ Plugin ของ SPGUYS ที่เคยติดตั้งมาก่อนหน้านี้

1. สร้าง View ที่เราต้องการขึ้นมาก่อน
 2. เลือก Standard View
 3. ใส่ชื่อและตั้งค่าต่าง ๆ
หากในกรณีที่ต้องการ filter ค่า เช่น แสดงเฉพาะ ที่เราสร้าง ให้ใส่ค่า Filter ว่า [Me]

 
4.เมื่อสร้าง View เสร็จให้มาเลือก View Permission
 
หลายๆท่านคงสับสนว่าในเมื่อ filter ไปแล้วว่าเห็นแต่ของตนเอง ทำไมต้องมาsetup ค่า View Permission ด้วย เหยตุผลก็คือ หากไม่set view permisson ผู้ใช้งานสามารถเปลี่ยน view ได้ ดังนั้นก็จะเห็นข้อมูลคนอื่นอยู่ดี

5. ใส่ group หรือ user ที่ต้องการแล้วกด Save


ขอขอบคุณ Plugin ดีๆๆจาก

การกำหนด Field Permission ให้แบบฟอร์มที่เราสร้างขึ้น

         หลายท่านคงมีข้อสงสัยหรือคำถามและคงเคยประสบปัญหาแบบเดียวกับผม สิ่งนั่นก็คือ แบบฟอร์มบางฟอร์มไม่ได้กรอกข้อมูลสำเร็จโดยผู้สร้างเพียงคนเดียวเช่น การขออนุมัติต้องมีการให้step ต่อไปแก้ไขได้เฉพาะ field ที่เขามีสิทธิ์ ดังนั้นจึงต้องมีการกำหนด Field Permission ขึ้นมา ซึ่ง Defualt ของ Sharepoint นั้นไม่มี feature นี้

         ผมจึงได้ไปหา Plugin ตัวหนึ่งมาซึ่งถือว่าสามารถตอบโจทย์ได้เลย โดย Pugin ตัวนั้นชื่อ "SPGuysCustomFieldPermission" ซึ่งท่านใดที่สนใจสามารถเข้าไป Download ได้ที่ website : http://spcolumnpermission.codeplex.com/releases/view/100634

ขั้นตอนการติดตั้ง
ผมขออ้างอิงจาก web ต่างประเทศเลยแล้วกันนะครับ
Installation:
0. It will be better if you disable any other solutions which you use for column & view permission
1. Download the wsp file.
2. Everything needed is included in wsp file so you just only need to Install it.
Management Shell:
   - Add-SPSolution c:\SPGuysCustomFieldPermission.wsp
3. After Successful Installation Deploy it from Central Administration to your Site Collection or from
Management Shell:
   - Install-SPSolution –Identity SPGuysCustomFieldPermission.wsp –WebApplication http://intranet –GACDeployment
4. Activate it on Site Collection.
5. Done.

เมื่อติดตั้งเรียบร้อยแล้วเราสามารถตรวจสอบการติดตั้งว่าเรียบร้อยหรือไม่ และขั้นตอนการตั้งค่าดังนี้
วิธีการตรวจสอบว่าติดตั้งเรียบร้อยหรือไม่
1.ไป Start -> Sharepoint 2010 Central Admin

2. เลือกเมนู Manage web application
 3. เลือก Sharepoint-80 -> Manage Features
 
4. สังเกตจะพบชื่อ service : SPGuys Custom Alert Permissions หากยังไม่ Activate ก็จัดการ Activate ได้เลยครับ



ขั้นตอนการตั้งค่า Field Permission
 
1.ไปที่ List ที่ต้องการก เลือก List Setting

 
 
2. สังเกตจะมี Menu Column Permission ขึ้นมา
 3.ตั้งค่า Permission ที่ต้องการ ว่าเวลา Create ให้ใครมีสิทธิ์บ้าง, Edit ให้ใครมีสิทธิ์บ้าง
คำว่า Read Only คือ ข้อมูลจะเห็นแต่แสดงค่าเป็นเทาๆ คลิ๊กเลือกอะไรไม่ได้
คำว่า Hidden คือจะไม่เห็นข้อมูลใดๆ ทั้งสิ้น

4.ระบบจะทำการ lookup จาก group ที่สร้างไว้ในระบบ Sharepoint

 
ขอขอบคุณ Plugin ดีๆๆจาก


การสร้างแบบฟอร์มอย่างง่าย โดยใช้ List feature ของ Sharepoint

       บ่อยครั้งที่เรามีความคิดที่จะเปลี่ยนแบบฟอร์มที่เป็นกระดาษ ให้เป็น  Electronic form เพื่อช่วยลดกระดาษที่ไม่จำเป็นที่จะเกิดขึ้นในองค์กร ส่วนใหญ่จะพบปัญหาเรื่องต่างๆๆ มากมายเช่น การจ้างผู้พัฒนาระบบ, ระยะเวลาในการเขียนโปรแกรม

      วันนี้ผมจะมาสอนวิธีการสร้างแบบฟอร์มอย่างง่ายในระบบ Sharepoint เพื่อให้ท่านเห็นภาพและนำมาประยุกต์ใช้ในการทำงาน เช่นเอกสารขอคำร้อง เป็นต้น

      ระบบไม่ได้สร้างได้แค่แบบฟอร์มเท่านั้นแต่ยังสามารถทำงานร่วมกันกับ Workflow ได้ด้วย ซึ่งจะ นำเสนอในหัวข้อต่อๆไป


ขั้นตอนการสร้างแบบฟอร์ม
1.ไปที่เมนู Site Actions -> View All Site Content


 2. จากนั้นให้เลือกเมนู Create

3. เลือก List -> Custom List -> ตั้งชื่อ -> Create โดยทำตามลำดับตามภาพด้านล่าง

4.จะเห็นว่า List ที่สร้างเสร็จ มี Column แค่ที่เป็น Default ซื่งเราสามารถสร้างเมนูเพิ่มได้ โดยไปที่ List Setting

5.จากนั้นเลือก Create column

6. ตั้งชื่อ columnตามต้องการ โดยสามารถเลือก Type ตามต้องการได้ จากนั้นกด Save
ตัวอย่างเช่น
Single line : เป็นช่องกรอกข้อมูล
Choice : ขอบเขตข้อมูลแบบ Radio Button, Drop down list
สมุมติเราตั้งชื่อ field ว่า Name : Type Single line เพื่อให้กรอกชื่อ

7. ลอง Add item จะพบหน้าจอมี Field Name