SharePoint - Tính năng & yếu tố

Trong chương này, chúng ta sẽ xem xét các tính năng và yếu tố. Theo một số cách, các tính năng là mô hình thành phần trong SharePoint. Chúng cho phép bạn xác định các đơn vị chức năng hợp lý.

Ví dụ: bạn có thể muốn có khả năng trong một trang web -

  • Để tạo một danh sách với một lược đồ cụ thể,

  • Có một trang sẽ hiển thị dữ liệu từ danh sách đó, sau đó

  • Có một liên kết hoặc một tùy chọn menu ở đâu đó trong trang web để điều hướng đến trang đó.

Bạn có thể tạo một tính năng, xác định nhóm chức năng hợp lý đó. Các phần chức năng riêng lẻ được xác định bởi các phần tử.

Vì vậy, sẽ có một phần tử -

  • Tạo danh sách và đặt lược đồ.

  • Cung cấp trang vào site SharePoint của bạn và

  • Tạo tùy chọn menu hoặc liên kết.

Tính năng xác định đơn vị và sau đó các phần tử xác định các phần chức năng riêng lẻ bên trong đơn vị đó. Chúng tôi đã thảo luận về ba loại yếu tố -

  • Một thể hiện danh sách để tạo một danh sách.

  • Một mô-đun để cung cấp một trang.

  • Một hành động tùy chỉnh để tạo một tùy chọn menu hoặc một liên kết.

Tuy nhiên, có nhiều loại phần tử khác có thể được tạo trong SharePoint. Một khái niệm quan trọng khác cần hiểu về các tính năng là kích hoạt và hủy kích hoạt.

Ví dụ: nếu người dùng cuối muốn chức năng nêu trên được thêm vào trang web của mình, anh ta sẽ kích hoạt tính năng tương ứng sẽ tạo danh sách, thêm tùy chọn menu hoặc liên kết và cung cấp trang vào trang web của họ. Sau đó, anh ta có thể tắt tính năng này để xóa chức năng.

Điều quan trọng cần lưu ý là khi hủy kích hoạt một tính năng, một số phần tử sẽ tự động bị xóa. Ví dụ: SharePoint sẽ tự động loại bỏ tùy chọn menu hoặc liên kết, được xác định bởi một hành động tùy chỉnh.

Những người khác không bị xóa tự động. Do đó, trong trường hợp của chúng tôi, phiên bản danh sách và trang sẽ không tự động bị xóa.

Do đó, với tư cách là một nhà phát triển, bạn cần hiểu những yếu tố nào được tự động xóa và những yếu tố nào thì không. Nếu bạn muốn xóa những cái không bị xóa tự động, bạn có thể viết mã trongfeature receiver.

Hãy để chúng tôi xem xét hoạt động với các tính năng và yếu tố. Chúng tôi sẽ bắt đầu với chế độ xem các tính năng của người dùng cuối.

Step 1 - Mở trang SharePoint của bạn.

Step 2 - Để đi đến cài đặt Trang, bạn có hai liên kết cho phép bạn quản lý các tính năng.

  • Liên kết đầu tiên Manage Site features nằm trong Hành động trang, cho phép bạn quản lý các tính năng phạm vi trang.

  • Liên kết khác Site collection features trong Quản trị tuyển tập trang, cho phép bạn quản lý các tính năng phạm vi tuyển tập trang.

Step 3- Nếu bạn nhấp vào một trong hai liên kết này, bạn sẽ được đưa đến một trang, trang này hiển thị các tính năng hiện đang hoạt động và không hoạt động. Đối với mỗi tính năng, bạn có một tùy chọn để kích hoạt hoặc hủy kích hoạt tính năng đó.

Chúng ta hãy xem một ví dụ đơn giản bằng cách tạo một Dự án trống giải pháp SharePoint mới.

Step 1 - Hãy để chúng tôi gọi cái này FeaturesAndElements và bấm OK.

Step 2 - Chỉ định trang web bạn muốn sử dụng và chọn Deploy as a farm solution rồi bấm Kết thúc.

Điều đầu tiên chúng tôi muốn tạo là tính năng. Trong Trình khám phá Giải pháp, bạn có thể thấy thư mục Tính năng, hiện đang trống.

Step 3 - Nhấp chuột phải vào Features thư mục và chọn Add Feature. Nó tạo ra một Tính năng có tênFeature1và nó sẽ mở ra Trình thiết kế tính năng. Tiêu đề mặc định là tiêu đề của dự án, cộng với tiêu đề của đối tượng địa lý.

Step 4 - Đổi tên đối tượng từ Feature1 thành Sample.

Tiêu đề và Mô tả là những gì người dùng nhìn thấy trong trang nơi họ kích hoạt và hủy kích hoạt các tính năng.

Đặt tiêu đề thành Sample Feature và Mô tả cho Adds the Contacts list and the page is used to view the list. Một thứ khác mà chúng ta cần đặt là Phạm vi của tính năng, là phạm vi kích hoạt.

Nó có thể là Trang trại, Ứng dụng web, tuyển tập Trang hoặc Trang web. Trong trường hợp này, chúng tôi sẽ cung cấp một danh sách và một trang. Vì cả hai đều sống trong một site SharePoint, nên chúng tôi sẽ chọn Web ở đây.

Step 5- Hãy để chúng tôi bắt đầu thêm các tính năng trong các phần tử của chúng tôi. Phần tử đầu tiên sẽ là danh sách và chúng tôi sẽ tạo một danh sách liên hệ. Nhấp chuột phải vào dự án của bạn và chọnAdd → New Item...

Step 6- Chọn Danh sách trong ngăn giữa và nhập Danh bạ vào trường tên. Nhấp vào Thêm.

Step 7- Bạn sẽ thấy Trình hướng dẫn Tạo Danh sách. Tạo một danh sách được gọi là Danh bạ dựa trên danh sách Danh bạ. Bấm Kết thúc để tạo danh sách hoặc ít nhất là tạo phần tử, cuối cùng sẽ tạo danh sách.

Dưới đây là ảnh chụp màn hình của trình thiết kế danh sách.

Step 8- Trình thiết kế này chỉ là một trình soạn thảo XML. Mở tệp Elements.xml trong Danh bạ và thêm dữ liệu sau.

<?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>

Lưu ý những điều sau -

  • Bên trong ListInstance phần tử, chúng tôi có một phần tử được gọi là Data và nó có một số hàng bên trong nó.

  • ListInstance sẽ có các thuộc tính Contacts, cho dù chúng tôi có hiển thị trong phần ra mắt nhanh hay không.

  • Chúng tôi muốn một danh sách dựa trên mẫu liên hệ. Đây,TemplateType được đặt thành 105. Đây không phải là một con số ngẫu nhiên mà là một con số có ý nghĩa.

  • Mỗi loại danh sách mặc định mà bạn có thể có trong SharePoint, chẳng hạn như danh sách Thông báo, danh sách Tác vụ, danh sách Liên hệ, v.v., đều có một số được liên kết với nó. Do đó, nếu bạn thay đổi 105 thành 107, bạn sẽ nhận được một loại danh sách khác.

  • FeatureId là hướng dẫn được kết hợp với định nghĩa của danh sách liên hệ.

Step 9- Bây giờ chúng ta muốn có một trang, hiển thị dữ liệu từ danh sách này. Nhấp chuột phải vào dự án của bạn và chọnAdd → New Item... Chọn Mô-đun trong ngăn giữa, nhập SitePage vào trường tên và nhấp vào Add.

Bạn sẽ thấy một nút được gọi là SitePage, có hai tệp, Elements.xmlSample.txttập tin. Chúng tôi không muốn cung cấp tệp sample.txt này, nhưng chúng tôi muốn cung cấp một SitePage.

Step 10 - Đổi tên tệp văn bản thành Contacts.aspx và thay thế mã sau:

<%@ 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 có một SP.DataSourcemà chúng tôi sẽ sử dụng để tạo dữ liệu danh sách Liên hệ, một thứ mà chúng tôi có thể liên kết trong trang của mình. CácSP.GridView sẽ hiển thị thông tin Danh bạ.

Đó là Trang web của chúng tôi và bây giờ chúng ta hãy xem xét Tính năng.

Chú ý, trong Items in the Feature, Phiên bản danh sách liên hệ và cung cấp Mô-đun trên Trang của chúng tôi đã được thêm vào dưới dạng các phần tử.

Visual Studio hiểu rằng các phần tử tự nó không thể làm được gì cả. Các phần tử cần phải là một phần của Tính năng. Do đó, khi bạn thêm một phần tử, bạn cần thêm nó vào đối tượng địa lý.

Step 11 - Đi tới dự án của bạn và nhấp chuột phải, và chọn Add → New Item...

Ở đây chúng tôi muốn thêm một Hành động tùy chỉnh, vì vậy hãy chọn Phần tử trống trong ngăn giữa, gọi Hành động này và sau đó nhấp vào Thêm.

Nếu bạn quay lại Tính năng của mình, bạn có thể thấy rằng phần tử hiện đã được thêm vào Tính năng như được hiển thị trong ảnh chụp màn hình bên dưới.

Step 12 - Quay lại Elements.xml trong Hành động và thay thế mã sau:

<?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>

Bây giờ, nếu bạn muốn thêm một liên kết hoặc một tùy chọn menu, bạn cần xác định nơi bạn sẽ thêm nó và nó là sự kết hợp của Location và GroupId, xác định chúng. Sự kết hợp các giá trị này chỉ ra rằng tùy chọn menu nên được thêm vào menu SiteActions.

Có nhiều kết hợp giá trị khác, những giá trị này thêm nối kết hoặc menu ở những nơi khác trong site SharePoint của chúng tôi. Đây là điều bạn sẽ phải nghiên cứu để tìm ra đâu là sự kết hợp thích hợp của các giá trị mà bạn cần khi muốn thêm một tùy chọn menu ở đâu đó trong SharePoint.

Step 13 - Nhấp đúp vào Feature, bạn sẽ thấy Trình thiết kế tính năng. Trình thiết kế tính năng là một trình soạn thảo ưa thích của Tệp kê khai tính năng, là một tài liệu XML.

Những điểm quan trọng -

  • Tính năng này xác định nhóm hợp lý của các phần tử. Ở đây, Tính năng của chúng tôi đề cập đến ba biểu hiện Phần tử của chúng tôi mà chúng tôi vừa tạo.

  • Khi bạn kích hoạt Tính năng, SharePoint sẽ xem xét bản kê khai Phần tử riêng lẻ và thêm danh sách, trang và liên kết vào trang SharePoint của chúng tôi.

  • Khi bạn triển khai bằng Visual Studio, nó sẽ tự động kích hoạt bất kỳ Tính năng nào trong dự án của bạn. Vì chúng tôi muốn thực hiện quá trình kích hoạt Tính năng, chúng tôi sẽ yêu cầu Visual Studio không làm điều đó.

Step 14- Chuyển đến Thuộc tính dự án bằng cách chuyển đến tab SharePoint. Thay đổi cấu hình triển khai thànhNo Activation.

Hãy để chúng tôi kiểm tra điều này.

Step 15 - Nhấp chuột phải vào dự án của bạn trong Solution Explorer và chọn Deploy. Nó sẽ đóng gói tất cả nội dung trong dự án của bạn và triển khai nó cho Trang trại phát triển SharePoint của bạn.

Khi nó được triển khai thành công, bạn sẽ thấy nó trong cửa sổ Output.

Step 16- Truy cập site SharePoint và Làm mới nó. Đi đếnSite Settings → Site Actions.

Step 17 - Chọn các tính năng Quản lý trang web vì Tính năng tùy chỉnh của bạn đã được sử dụng trên phạm vi Web và bạn sẽ thấy Sample Feature. Bạn có thể thấy rằng tính năng này chưa được kích hoạt, vì vậy chúng ta hãy tiếp tục và kích hoạt nó.

Bạn sẽ thấy danh sách Liên hệ trong ngăn bên trái.

Step 18 - Nhấp vào Liên hệ và dữ liệu mà chúng tôi có trong danh sách sẽ được hiển thị.

Step 19- Chuyển đến menu Hành động của trang web. Có một tùy chọn để điều hướng đến trang Danh bạ. Đó là CustomAction của chúng tôi.

Step 20 - Nếu bạn nhấp vào Danh bạ, thì bạn sẽ thấy Trang web của mình, hiển thị dữ liệu từ danh sách Liên hệ.