SharePoint - คุณสมบัติและองค์ประกอบ

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

ตัวอย่างเช่นคุณอาจต้องการมีความสามารถภายในไซต์ -

  • ในการสร้างรายการที่มีสคีมาเฉพาะ

  • มีหน้าที่จะแสดงข้อมูลจากรายการนั้นจากนั้น

  • มีลิงค์หรือตัวเลือกเมนูที่ใดที่หนึ่งในไซต์เพื่อไปยังหน้านั้น

คุณสามารถสร้างคุณลักษณะซึ่งกำหนดการจัดกลุ่มฟังก์ชันเชิงตรรกะนั้น ฟังก์ชันการทำงานแต่ละส่วนถูกกำหนดโดยองค์ประกอบ

ดังนั้นจะมีองค์ประกอบที่ -

  • สร้างรายการและตั้งค่าสคีมา

  • จัดเตรียมเพจลงในไซต์ SharePoint ของคุณและ

  • สร้างตัวเลือกเมนูหรือลิงค์

คุณลักษณะนี้กำหนดหน่วยจากนั้นองค์ประกอบจะกำหนดฟังก์ชันการทำงานแต่ละส่วนภายในหน่วยนั้น เราได้พูดคุยเกี่ยวกับองค์ประกอบสามประเภท -

  • อินสแตนซ์รายการเพื่อสร้างรายการ

  • โมดูลสำหรับจัดเตรียมเพจ

  • การดำเนินการแบบกำหนดเองเพื่อสร้างตัวเลือกเมนูหรือลิงก์

อย่างไรก็ตามมีองค์ประกอบอื่น ๆ อีกมากมายที่สามารถสร้างได้ภายใน SharePoint แนวคิดที่สำคัญอีกประการหนึ่งในการทำความเข้าใจเกี่ยวกับคุณสมบัติคือการเปิดใช้งานและการปิดใช้งาน

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

สิ่งสำคัญคือต้องทราบว่าในการปิดใช้งานคุณสมบัติองค์ประกอบบางอย่างจะถูกลบออกโดยอัตโนมัติ ตัวอย่างเช่น SharePoint จะลบตัวเลือกเมนูหรือลิงก์โดยอัตโนมัติซึ่งกำหนดโดยการดำเนินการแบบกำหนดเอง

อื่น ๆ จะไม่ถูกลบออกโดยอัตโนมัติ ดังนั้นในกรณีของเราอินสแตนซ์รายการและเพจจะไม่ถูกลบออกโดยอัตโนมัติ

ดังนั้นในฐานะนักพัฒนาคุณต้องเข้าใจว่าองค์ประกอบใดถูกลบโดยอัตโนมัติและองค์ประกอบใดที่ไม่ได้ หากคุณต้องการลบสิ่งที่ไม่ได้ถูกลบออกโดยอัตโนมัติคุณสามารถเขียนโค้ดในไฟล์feature receiver.

ให้เราดูการทำงานกับคุณสมบัติและองค์ประกอบ เราจะเริ่มต้นด้วยมุมมองของผู้ใช้ปลายทางเกี่ยวกับคุณลักษณะต่างๆ

Step 1 - เปิดไซต์ SharePoint ของคุณ

Step 2 - หากต้องการไปที่การตั้งค่าไซต์คุณมีลิงก์สองลิงก์ที่ช่วยให้คุณสามารถจัดการคุณสมบัติต่างๆ

  • ลิงค์แรก Manage Site features อยู่ภายใต้การดำเนินการในไซต์ซึ่งช่วยให้คุณสามารถจัดการคุณลักษณะขอบเขตไซต์ได้

  • ลิงค์อื่น ๆ Site collection features ภายใต้การดูแลไซต์คอลเลกชันซึ่งช่วยให้คุณสามารถจัดการคุณลักษณะขอบเขตไซต์คอลเลกชัน

Step 3- หากคุณคลิกที่ลิงก์ใดลิงก์หนึ่งคุณจะเข้าสู่หน้าซึ่งแสดงคุณสมบัติที่ใช้งานอยู่และไม่ได้ใช้งาน สำหรับคุณสมบัติแต่ละอย่างคุณมีตัวเลือกในการเปิดใช้งานหรือปิดใช้งานคุณสมบัตินี้

ให้เราดูตัวอย่างง่ายๆโดยการสร้าง SharePoint Solutions Empty Project ใหม่

Step 1 - ให้เราเรียกสิ่งนี้ FeaturesAndElements แล้วคลิกตกลง

Step 2 - ระบุไซต์ที่คุณต้องการใช้และเลือกไฟล์ Deploy as a farm solution แล้วคลิกเสร็จสิ้น

สิ่งแรกที่เราต้องการสร้างคือคุณลักษณะ ในโซลูชัน Explorer คุณสามารถเห็นโฟลเดอร์คุณลักษณะซึ่งว่างเปล่าในขณะนี้

Step 3 - คลิกขวาที่ไฟล์ Features โฟลเดอร์และเลือก Add Feature. สร้างคุณลักษณะที่ชื่อFeature1และจะเปิดตัวออกแบบคุณลักษณะ ชื่อเริ่มต้นคือหัวเรื่องของโปรเจ็กต์บวกด้วยชื่อของฟีเจอร์

Step 4 - เปลี่ยนชื่อคุณสมบัติจาก Feature1 เป็นตัวอย่าง

ชื่อและคำอธิบายคือสิ่งที่ผู้ใช้เห็นในหน้าที่เปิดใช้งานและปิดใช้งานคุณสมบัติ

ตั้งชื่อเรื่องเป็น Sample Feature และคำอธิบายถึง Adds the Contacts list and the page is used to view the list. อีกอย่างที่เราต้องกำหนดคือขอบเขตของฟีเจอร์ซึ่งเป็นขอบเขตการเปิดใช้งาน

อาจเป็นฟาร์มเว็บแอปพลิเคชันไซต์คอลเลกชันหรือไซต์ ในกรณีนี้เราจะจัดเตรียมรายการและหน้า เนื่องจากทั้งคู่อาศัยอยู่ในไซต์ SharePoint ดังนั้นเราจึงเลือกเว็บที่นี่

Step 5- ให้เราเริ่มเพิ่มคุณสมบัติในองค์ประกอบของเรา องค์ประกอบแรกจะเป็นรายการและเราจะสร้างรายชื่อผู้ติดต่อ คลิกขวาที่โครงการของคุณแล้วเลือกAdd → New Item...

Step 6- เลือกรายการในบานหน้าต่างตรงกลางและป้อนผู้ติดต่อในช่องชื่อ คลิกเพิ่ม

Step 7- คุณจะเห็นตัวช่วยสร้างการสร้างรายการ สร้างรายชื่อผู้ติดต่อตามรายชื่อผู้ติดต่อ คลิกเสร็จสิ้นเพื่อสร้างรายการหรืออย่างน้อยก็สร้างองค์ประกอบซึ่งจะสร้างรายการในที่สุด

ด้านล่างนี้คือภาพหน้าจอของผู้ออกแบบรายการ

Step 8- นักออกแบบนี้เป็นเพียงตัวแก้ไข XML เปิดไฟล์ Elements.xml ภายใต้ Contacts และเพิ่มข้อมูลต่อไปนี้

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <ListInstance Title = "Contacts" OnQuickLaunch = "TRUE" TemplateType = "105" 
      FeatureId = "00bfea71-7e6d-4186-9ba8-c047ac750105"
      Url = "Lists/Contacts" Description = "">
      <Data>
         <Rows>

            <Row>
               <Field Name = "ID">1</Field>
               <Field Name = "Last Name">Anders</Field>
               <Field Name = "First Name">Maria</Field>
               <Field Name = "Company">Alfreds Futerkiste</Field>
               <Field Name = "Business Phone">030-0074321</Field>
            </Row>

            <Row>
               <Field Name = "ID">2</Field>
               <Field Name = "Last Name">Hardy</Field>
               <Field Name = "First Name">Thomas</Field>
               <Field Name = "Company">Around the Horn</Field>
               <Field Name = "Business Phone">(171) 555-7788</Field>
            </Row>

            <Row>
               <Field Name = "ID">3</Field>
               <Field Name = "Last Name">Lebihan</Field>
               <Field Name = "First Name">Laurence</Field>
               <Field Name = "Company">Bon app'</Field>
               <Field Name = "Business Phone">91.24.45.40</Field>
            </Row>

            <Row>
               <Field Name = "ID">4</Field>
               <Field Name = "Last Name">Ashworth</Field>
               <Field Name = "First Name">Victoria</Field>
               <Field Name = "Company">B's Beverages</Field>
               <Field Name = "Business Phone">(171) 555-1212</Field>
            </Row>

            <Row>
               <Field Name = "ID">5</Field>
               <Field Name = "Last Name">Mendel</Field>
               <Field Name = "First Name">Roland</Field>
               <Field Name = "Company">Ernst Handel</Field>
               <Field Name = "Business Phone">7675-3425</Field>
            </Row>

         </Rows>
      </Data>
   </ListInstance>
</Elements>

หมายเหตุต่อไปนี้ -

  • ข้างใน ListInstance เรามีองค์ประกอบที่เรียกว่า Data และมีแถวอยู่ข้างใน

  • ListInstance จะมีแอตทริบิวต์ Contactsไม่ว่าเราจะแสดงในการเปิดใช้ด่วนหรือไม่ก็ตาม

  • เราต้องการรายชื่อตามเทมเพลตการติดต่อ ที่นี่TemplateType ถูกตั้งค่าเป็น 105. นี่ไม่ใช่ตัวเลขสุ่ม แต่เป็นตัวเลขที่มีความหมาย

  • รายการเริ่มต้นแต่ละชนิดที่คุณสามารถมีได้ใน SharePoint เช่นรายการประกาศรายการงานรายการที่ติดต่อและอื่น ๆ จะมีหมายเลขที่เกี่ยวข้อง ดังนั้นหากคุณเปลี่ยน 105 เป็น 107 คุณจะได้รับรายการประเภทอื่น

  • FeatureId เป็นคำแนะนำที่เกี่ยวข้องกับคำจำกัดความของรายชื่อผู้ติดต่อ

Step 9- ตอนนี้เราต้องการมีหน้าซึ่งแสดงข้อมูลจากรายการนี้ คลิกขวาที่โครงการของคุณแล้วเลือกAdd → New Item... เลือกโมดูลในบานหน้าต่างตรงกลางป้อน SitePage ในช่องชื่อแล้วคลิก Add.

คุณจะเห็นโหนดที่เรียกว่า SitePageซึ่งมีสองไฟล์ Elements.xml และ Sample.txtไฟล์. เราไม่ต้องการจัดเตรียมไฟล์ sample.txt นี้ แต่เราต้องการจัดเตรียม SitePage

Step 10 - เปลี่ยนชื่อไฟล์ข้อความเป็น Contacts.aspx และแทนที่รหัสต่อไปนี้ -

<%@ Assembly Name = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<%@ Page MasterPageFile = "~masterurl/default.master"
   meta:progid = "SharePoint.WebPartPage.Document" %>

<%@ Register TagPrefix = "SharePoint"
   Namespace = "Microsoft.SharePoint.WebControls"
   Assembly = "Microsoft.SharePoint, Version = 14.0.0.0, Culture = neutral,
   PublicKeyToken = 71e9bce111e9429c" %>

<asp:Content ID = "Content2" runat = "server" ContentPlaceHolderID = "PlaceHolderMain">
   <SharePoint:SPDataSource runat = "server"
      ID = "ContactsDataSource" DataSourceMode = "List"
      UseInternalName = "false">
      <SelectParameters>
         <asp:Parameter Name = "ListName" DefaultValue = "Contacts" />
      </SelectParameters>
   </SharePoint:SPDataSource>
   
   <SharePoint:SPGridView runat = "server"
      ID = "ContactsGridView" DataSourceID = "ContactsDataSource"
      AutoGenerateColumns = "false" RowStyle-BackColor = "#DDDDDD"
      AlternatingRowStyle-BackColor = "#EEEEEE">
      <Columns>
         <asp:BoundField HeaderText = "Company"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Company" />
         <asp:BoundField HeaderText = "First Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "First Name" />
         <asp:BoundField HeaderText = "Last Name"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Last Name" />
         <asp:BoundField HeaderText = "Phone"
            HeaderStyle-HorizontalAlign = "Left" DataField = "Business Phone" />
      </Columns>
   </SharePoint:SPGridView>
</asp:Content>

<asp:Content ID = "PageTitle" ContentPlaceHolderID = "PlaceHolderPageTitle"
   runat = "server">
   Contacts
</asp:Content>

<asp:Content ID = "PageTitleInTitleArea"
   ContentPlaceHolderID = "PlaceHolderPageTitleInTitleArea" runat = "server" >
   Contacts
</asp:Content>

SitePage มีไฟล์ SP.DataSourceซึ่งเราจะใช้ในการสร้างข้อมูลรายชื่อผู้ติดต่อสิ่งที่เราสามารถผูกไว้ในหน้าของเรา SP.GridView จะแสดงข้อมูลผู้ติดต่อ

นั่นคือ SitePage ของเราและตอนนี้ให้เราดูคุณสมบัติ

สังเกตใน Items in the Featureเพิ่มอินสแตนซ์รายชื่อผู้ติดต่อและการจัดเตรียมโมดูลบน SitePage ของเราเป็นองค์ประกอบ

Visual Studio เข้าใจว่าองค์ประกอบในตัวเองไม่สามารถทำอะไรได้ องค์ประกอบต้องเป็นส่วนหนึ่งของคุณลักษณะ ดังนั้นเมื่อคุณเพิ่มองค์ประกอบคุณจะต้องเพิ่มเข้าไปในคุณสมบัติ

Step 11 - ไปที่โครงการของคุณแล้วคลิกขวาแล้วเลือก Add → New Item...

ที่นี่เราต้องการเพิ่ม CustomAction ดังนั้นเลือก Empty Element ในบานหน้าต่างตรงกลางเรียกการดำเนินการนี้จากนั้นคลิกเพิ่ม

หากคุณกลับมาที่ฟีเจอร์ของคุณคุณจะเห็นว่าตอนนี้ได้เพิ่มองค์ประกอบลงในฟีเจอร์แล้วดังที่แสดงในภาพหน้าจอด้านล่าง

Step 12 - กลับมาที่ Elements.xml ภายใต้การดำเนินการและแทนที่รหัสต่อไปนี้ -

<?xml version = "1.0" encoding = "utf-8"?>

<Elements xmlns = "http://schemas.microsoft.com/sharepoint/">
   <CustomAction
      Id = "SiteActionsToolbar"
      GroupId = "SiteActions"
      Location = "Microsoft.SharePoint.StandardMenu"
      Sequence = "100"
      Title = "Contacts"
      Description = "A page showing some sample data">
      <UrlAction Url = "~site/SitePages/Contacts.aspx"/>
   </CustomAction>
</Elements>

ตอนนี้หากคุณต้องการเพิ่มลิงค์หรือตัวเลือกเมนูคุณต้องกำหนดตำแหน่งที่คุณจะเพิ่มและเป็นการรวมกันของ Location และ GroupId ซึ่งกำหนดไว้ การรวมค่านี้บ่งชี้ว่าควรเพิ่มตัวเลือกเมนูลงในเมนู SiteActions

มีชุดค่าผสมอื่น ๆ อีกมากมายซึ่งจะเพิ่มลิงก์หรือเมนูในที่อื่น ๆ ภายในไซต์ SharePoint ของเรา นี่คือสิ่งที่คุณจะต้องค้นคว้าเพื่อหาว่าอะไรคือชุดค่าผสมที่เหมาะสมที่คุณต้องการเมื่อคุณต้องการเพิ่มตัวเลือกเมนูที่ใดที่หนึ่งภายใน SharePoint

Step 13 - ดับเบิลคลิกที่ไฟล์ Featureคุณจะเห็นตัวออกแบบคุณลักษณะ ตัวออกแบบคุณลักษณะเป็นเครื่องมือแก้ไขที่สวยงามของคุณลักษณะ Manifest ซึ่งเป็นเอกสาร XML

ประเด็นสำคัญ -

  • คุณลักษณะนี้กำหนดการจัดกลุ่มองค์ประกอบเชิงตรรกะ ที่นี่คุณลักษณะของเราหมายถึงรายการองค์ประกอบทั้งสามของเราที่เราเพิ่งสร้างขึ้น

  • เมื่อคุณเปิดใช้งานคุณลักษณะ SharePoint จะดูรายการองค์ประกอบแต่ละรายการและเพิ่มรายการหน้าและลิงก์ลงในไซต์ SharePoint ของเรา

  • เมื่อคุณปรับใช้โดยใช้ Visual Studio จะเปิดใช้งานคุณลักษณะใด ๆ ในโครงการของคุณโดยอัตโนมัติ เนื่องจากเราต้องการดำเนินการตามขั้นตอนการเปิดใช้งานคุณลักษณะนี้เราจะแจ้งให้ Visual Studio ไม่ทำเช่นนั้น

Step 14- ไปที่คุณสมบัติโครงการโดยไปที่แท็บ SharePoint เปลี่ยนการกำหนดค่าการปรับใช้เป็นNo Activation.

ให้เราทดสอบสิ่งนี้

Step 15 - คลิกขวาที่โครงการของคุณใน Solution Explorer และเลือก Deploy. มันจะรวมทุกสิ่งในโครงการของคุณและนำไปใช้กับ SharePoint Development Farm ของคุณ

เมื่อนำไปใช้งานสำเร็จคุณจะเห็นในหน้าต่างผลลัพธ์

Step 16- ไปที่ไซต์ SharePoint และรีเฟรช ไปที่ไฟล์Site Settings → Site Actions.

Step 17 - เลือกคุณสมบัติจัดการไซต์เนื่องจากคุณลักษณะที่กำหนดเองของคุณถูกกำหนดขอบเขตเว็บและคุณจะเห็น Sample Feature. คุณจะเห็นว่าคุณสมบัตินี้ยังไม่ได้เปิดใช้งานดังนั้นให้เราเปิดใช้งานต่อไป

คุณจะเห็นรายชื่อผู้ติดต่อในบานหน้าต่างด้านซ้าย

Step 18 - คลิกที่ติดต่อและข้อมูลที่เรามีในรายการจะปรากฏขึ้น

Step 19- ไปที่เมนูการทำงานของไซต์ มีตัวเลือกเพื่อไปยังหน้าผู้ติดต่อ นั่นคือ CustomAction ของเรา

Step 20 - หากคุณคลิกที่ติดต่อคุณจะเห็น SitePage ของคุณแสดงข้อมูลจากรายชื่อผู้ติดต่อ