SharePoint: características y elementos

En este capítulo, veremos características y elementos. Las características son, de alguna manera, el modelo de componente en SharePoint. Le permiten definir unidades lógicas de funcionalidad.

Por ejemplo, es posible que desee tener la capacidad dentro de un sitio:

  • Para crear una lista con un esquema específico,

  • Tener una página que muestre los datos de esa lista, y luego

  • Tenga un enlace o una opción de menú en algún lugar dentro del sitio para navegar a esa página.

Puede crear una función que defina esa agrupación lógica de funciones. Las piezas individuales de funcionalidad están definidas por elementos.

Entonces habría un elemento que ...

  • Crea la lista y establece el esquema.

  • Aprovisiona la página en su sitio de SharePoint y

  • Crea la opción de menú o el enlace.

La característica define la unidad y luego los elementos definen las piezas individuales de funcionalidad dentro de esa unidad. Discutimos sobre los tres tipos de elementos:

  • Una instancia de lista para crear una lista.

  • Un módulo para aprovisionar una página.

  • Una acción personalizada para crear una opción de menú o un enlace.

Sin embargo, hay muchos otros tipos de elementos que se pueden crear dentro de SharePoint. Otro concepto importante que hay que entender sobre las características es el de activación y desactivación.

Por ejemplo, si un usuario final desea que se agregue la funcionalidad mencionada anteriormente a su sitio, activaría la función correspondiente que crearía la lista, agregaría la opción de menú o el enlace y proporcionaría la página en su sitio. Más tarde, podría desactivar la función para eliminar la funcionalidad.

Es importante tener en cuenta que al desactivar una función, algunos elementos se eliminan automáticamente. Por ejemplo, SharePoint eliminaría automáticamente la opción de menú o el enlace, que se define mediante una acción personalizada.

Otros no se eliminan automáticamente. Por lo tanto, en nuestro caso, la instancia de la lista y la página no se eliminarían automáticamente.

Por lo tanto, como desarrollador, debe comprender qué elementos se eliminan automáticamente y cuáles no. Si desea eliminar los que no se eliminan automáticamente, puede escribir en código en unfeature receiver.

Veamos el trabajo con características y elementos. Comenzaremos con la vista de las funciones de los usuarios finales.

Step 1 - Abra su sitio de SharePoint.

Step 2 - Para ir a la configuración del sitio, tiene dos enlaces que le permiten administrar las funciones.

  • El primer enlace Manage Site features está en Acciones del sitio, lo que le permite administrar las características del alcance del sitio.

  • El otro enlace Site collection features en Administración de la colección de sitios, que le permite administrar las características del ámbito de la colección de sitios.

Step 3- Si hace clic en cualquiera de estos enlaces, se le dirigirá a una página que muestra las funciones activas e inactivas actualmente. Para cada una de las funciones, tiene la opción de activar o desactivar la función.

Veamos un ejemplo sencillo creando un nuevo proyecto vacío de soluciones de SharePoint.

Step 1 - Llamemos a esto FeaturesAndElements y haga clic en Aceptar.

Step 2 - Especifique el sitio que desea utilizar y seleccione el Deploy as a farm solution opción y luego haga clic en Finalizar.

Lo primero que queremos crear es la función. En el Explorador de soluciones, puede ver una carpeta de características, que actualmente está vacía.

Step 3 - Haga clic derecho en el Features carpeta y elija Add Feature. Crea una característica llamadaFeature1y abre el Diseñador de funciones. El título predeterminado es el título del proyecto, más el título de la función.

Step 4 - Cambie el nombre de la función de Feature1 a Sample.

El título y la descripción son lo que ve el usuario en la página donde activa y desactiva las funciones.

Establecer el título en Sample Feature y la Descripción para Adds the Contacts list and the page is used to view the list. La otra cosa que debemos establecer es el alcance de la función, que es el alcance de la activación.

Puede ser una granja, una aplicación web, una colección de sitios o un sitio. En este caso, vamos a proporcionar una lista y una página. Dado que ambos viven en un sitio de SharePoint, elegiremos Web aquí.

Step 5- Comencemos a agregar características en nuestros elementos. El primer elemento será la lista y crearemos una lista de contactos. Haga clic derecho en su proyecto y elijaAdd → New Item...

Step 6- Seleccione Lista en el panel central e ingrese Contactos en el campo de nombre. Haga clic en Agregar.

Step 7- Verá el Asistente para la creación de listas. Cree una lista llamada Contactos basada en la lista de Contactos. Haga clic en Finalizar para crear la lista o al menos crear el elemento, que eventualmente creará la lista.

A continuación se muestra la captura de pantalla del diseñador de listas.

Step 8- Este diseñador es solo un editor XML. Abra el archivo Elements.xml en Contactos y agregue los siguientes datos.

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

Tenga en cuenta lo siguiente:

  • Dentro de ListInstance elemento, tenemos un elemento llamado Data y tiene algunas filas en su interior.

  • ListInstance tendrá atributos Contacts, se muestre o no en el lanzamiento rápido.

  • Queremos una lista basada en la plantilla de contacto. Aquí,TemplateType se establece en 105. Este no es un número aleatorio, sino un número con un significado.

  • Cada uno de los tipos predeterminados de lista que puede tener en SharePoint, como una lista de anuncios, una lista de tareas, una lista de contactos, etc., tiene un número asociado. Por lo tanto, si cambia 105 a 107, obtendrá un tipo de lista diferente.

  • FeatureId es la guía asociada a la definición de lista de contactos.

Step 9- Ahora queremos tener una página, que muestre datos de esta lista. Haga clic derecho en su proyecto y elijaAdd → New Item... Elija Módulo en el panel central, ingrese SitePage en el campo de nombre y haga clic en Add.

Verás un nodo llamado SitePage, que tiene dos archivos, Elements.xml y Sample.txtarchivo. No queremos aprovisionar este archivo sample.txt, pero queremos aprovisionar un SitePage.

Step 10 - Cambiar el nombre del archivo de texto a Contacts.aspx y reemplace el siguiente código -

<%@ 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>

El SitePage tiene un SP.DataSource, que usaremos para hacer que los datos de la lista de contactos, algo a lo que podamos vincularnos en nuestra página. losSP.GridView mostrará la información de los contactos.

Esa es nuestra página del sitio y ahora veamos la función.

Aviso, en Items in the Feature, Se han agregado como elementos la instancia de la lista de contactos y la provisión de módulos en nuestro SitePage.

Visual Studio comprende que los elementos por sí solos no pueden hacer nada. Los elementos deben ser parte de una función. Por lo tanto, cuando agrega un elemento, debe agregarlo a la función.

Step 11 - Vaya a su proyecto, haga clic derecho y elija Add → New Item...

Aquí queremos agregar una Acción personalizada, así que seleccione Elemento vacío en el panel central, llame a esta Acción y luego haga clic en Agregar.

Si regresa a su Característica, puede ver que el elemento ahora se ha agregado a la Característica como se muestra en la captura de pantalla que se muestra a continuación.

Step 12 - Vuelve a Elements.xml en Acción y reemplace el siguiente código:

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

Ahora, si desea agregar un enlace o una opción de menú, debe definir dónde lo va a agregar y es una combinación de Location y GroupId, que los define. Esta combinación de valores indica que la opción de menú debe agregarse al menú SiteActions.

Hay muchas otras combinaciones de valores, que agregan el enlace o el menú en otros lugares dentro de nuestro sitio de SharePoint. Esto es algo que tendría que investigar para averiguar cuál es la combinación adecuada de valores que necesita cuando desea agregar una opción de menú en algún lugar dentro de SharePoint.

Step 13 - Haga doble clic en el Feature, verá el diseñador de funciones. El diseñador de características es un editor elegante del manifiesto de características, que es un documento XML.

Puntos importantes -

  • La característica define la agrupación lógica de elementos. Aquí, nuestra característica se refiere a nuestros tres manifiestos de elementos que acabamos de crear.

  • Cuando active la función, SharePoint verá el manifiesto de elemento individual y agregará la lista, la página y el enlace a nuestro sitio de SharePoint.

  • Cuando implementa con Visual Studio, automáticamente activa cualquier característica en su proyecto. Dado que queremos pasar por el proceso de activación de la función, le vamos a decir a Visual Studio que no lo haga.

Step 14- Vaya a Propiedades del proyecto yendo a la pestaña de SharePoint. Cambie la configuración de implementación aNo Activation.

Probemos esto.

Step 15 - Haga clic derecho en su proyecto en el Explorador de soluciones y elija Deploy. Empacará todo el material de su proyecto y lo implementará en su SharePoint Development Farm.

Una vez que se haya implementado correctamente, lo verá en la ventana Salida.

Step 16- Vaya al sitio de SharePoint y actualícelo. Ve a laSite Settings → Site Actions.

Step 17 - Seleccione Administrar funciones del sitio porque su función personalizada tenía un alcance web y verá su Sample Feature. Puede ver que esta función no se ha activado, así que sigamos adelante y la activemos.

Verá la lista de contactos en el panel izquierdo.

Step 18 - Haga clic en Contacto y se mostrarán los datos que teníamos en la lista.

Step 19- Vaya al menú de acciones del sitio. Hay una opción para navegar a la página de Contactos. Esa es nuestra CustomAction.

Step 20 - Si hace clic en Contactos, verá su SitePage, mostrando los datos de la lista de Contactos.