Compartir a través de


Procedimiento para personalizar la página de bienvenida o principal

Última modificación: lunes, 19 de abril de 2010

Hace referencia a: SharePoint Server 2010

En este artículo
Edición de una página principal con el editor de SharePoint basado en Web
Personalización de las cadenas de consulta de página para filtrar el contenido de la página principal en función de los valores de metadatos
Especificación de un nuevo formulario para un tipo de contenido del conjunto de documentos

Los conjuntos de documentos poseen una página de elementos web que se puede personalizar, la página de bienvenida o principal, que muestra de forma predeterminada una imagen, las propiedades del conjunto de documentos especificadas y el contenido del conjunto de documentos. En este tema se presentan las personalizaciones que puede realizar en estapágina en el nivel de sitio y el nivel de lista.

Para realizar cambios en el nivel de sitio, seleccione la opción Actualizar la página de bienvenida de los conjuntos de documentos que heredan de este tipo de contenido en la interfaz de usuario. Guarde la configuración del conjunto de documentos para actualizar la página principal en la biblioteca de documentos.

Nota de precauciónPrecaución

Los cambios realizados al personalizar la página principal en el nivel de lista actualizan inmediatamente la página para todas las instancias de ese tipo de contenido.

De forma predeterminada, las páginas principales no se propagan a los tipos de contenido secundarios. Esta restricción impide que los usuarios puedan sobrescribir accidentalmente las personalizaciones de la página principal en páginas secundarias. Se recomienda realizar cambios en las páginas principal solo en el nivel más bajo necesario, o bien marcar los tipos de contenido como de solo lectura. Por ejemplo, si crea un tipo de contenido de conjunto de documentos denominado "Libro de ventas", personaliza la página principal y, a continuación, personaliza la página principal del tipo de contenido del conjunto de documentos base y propaga ese cambio, la página personalizada "Libro de ventas" se sobrescribirá con la página del tipo de contenido del conjunto de documentos primario. Para propagar los cambios de la página principal a todos los elementos secundarios, active la casilla Actualizar la página de bienvenida de los conjuntos de documentos que heredan de este tipo de contenido.

Los conjuntos de documentos incluyen una página por cada tipo de contenido, de modo que los cambios realizados en la página principal para un tipo de contenido del conjunto de documentos se aplican a todas las instancias de ese tipo de contenido. Use elementos web para obtener los datos de forma dinámica en función del contexto. Por ejemplo, al agregar un elemento web de panel de notas, se usa el contexto del conjunto de documentos con el fin de que aparezcan diferentes notas en cada instancia específica de un libro de ventas.

Existen tres métodos para personalizar una página principal:

  1. Usar el editor de páginas de SharePoint basado en Web; para ello, haga clic en el vínculo Personalizar la página de bienvenida en la página Configuración del conjunto de documentos.

  2. Usar SharePoint Designer. Necesita disponer de permisos suficientes para obtener acceso al objeto de sitio All Files. Abra SharePoint Designer, busque la biblioteca de documentos donde se encuentra almacenado el conjunto de documentos, busque la carpeta Forms, busque la carpeta para el tipo de contenido del conjunto de documentos y, a continuación, abra docsethomepage.aspx.

  3. Usar el modelo de objetos del conjunto de documentos para implementar una página personalizada completa. Busque las API para personalizar la página principal en el espacio de nombres Microsoft.Office.DocumentManagement.DocumentSets.

Edición de una página principal con el editor de SharePoint basado en Web

Desplácese hasta un tipo de contenido de conjunto de documentos personalizado que haya creado en la galería de tipos de contenido de sitio, haga clic en Configuración del conjunto de documentos y, a continuación, haga clic en el vínculo para personalizar la página principal. Aparecerá una página similar a un conjunto de documentos. En la ficha Página de la cinta de opciones, haga clic en Editar página para modificar la página.

Puede agregar elementos web en cuatro áreas. Cambie la imagen del elemento web para usar otra diferente. Agregue un elemento web de panel de notas a la parte inferior de la revisión para que los usuarios puedan dejar comentarios. Para realizar estos cambios, haga clic en Agregar elemento web en la zona 4 y, a continuación, seleccione Panel de notas en la categoría de elemento web de colaboración social.

Cuando termine de realizar cambios, puede guardarlos. En la ficha Página de la cinta de opciones, seleccione Detener la edición. Como la página principal se modificó en el nivel de sitio, vuelva a la página Configuración delconjunto de documentos, active la casilla para propagar los cambios de la página principal y, a continuación, guarde la configuración del conjunto de documentos. Ahora, desplácese hasta un conjunto de documentos y compruebe que la página web se ha personalizado para todos los conjuntos de documentos.

Personalización de las cadenas de consulta de página para filtrar el contenido de la página principal en función de los valores de metadatos

Las páginas principales de los conjuntos de documentos cargan contenido de forma dinámica en función del contenido del conjunto de documentos actual. Esto significa que algunos elementos web, como el elemento web de consulta por contenido (CQWP), pueden no hacer lo que el usuario desea. Si configura un CQWP, este elemento permanecerá estático para cada conjunto de documentos y no existe ninguna manera de obtener los resultados de forma dinámica en función del conjunto de documentos en contexto. Puede configurar el elemento CQWP para filtrar elementos en función de un valor de metadatos de la página pero, dado que solo existe una página principal para cada tipo de contenido del conjunto de documentos, esto no funcionará con la página principal de los conjuntos de documentos. La opción más viable consiste en usar una cadena de consulta de página. Sin embargo, los conjuntos de documentos no suelen proporcionar de forma predeterminada la cadena de consulta de página que el usuario desea, de modo que deberá personalizar una.

Para implementar una solución basada en una cadena de consulta de página personalizada, cree un elemento web que redirija a la página principal del conjunto de documentos e incluya una cadena de consulta con el valor de metadatos que desee usar en el elemento CQWP. Para ello, cree un elemento web que pueda colocar en la página principal del conjunto de documentos. En el archivo .ascx para el elemento web, inserte el siguiente código:

if (!String.IsNullOrEmpty(Request.QueryString["Column"]))
{
 
}
else
{
   string thisPage = Request.Url.AbsoluteUri; 
   integer docSetId = Request.QueryString["ID"];
    DocumentSet myItem = Microsoft.Office.DocumentManagement.DocumentSets.DocumentSet.GetDocumentSet(templates.Items[docSetId].Folder); 
    thisPage+="&Column=";
    thisPage+=myItem["Column"].ToString();
    Response.Redirect(thisPage);  
}

La instrucción If comprueba si se ha pasado la cadena de consulta para Column. Si así es, no será necesario hacer nada. De lo contrario, debe producirse un redireccionamiento a la página principal del conjunto de documentos que incluya la cadena de consulta. Ahora puede agregar un CQWP para usar la cadena de consulta de página que se va a pasar. En la sección de filtros adicionales del elemento CQWP, seleccione la columna y, en Consulta o valor personalizado, especifique [PageQueryString: Column Name]. Ahora dispone de un CQWP capaz de filtrar según las propiedades de metadatos que se han pasado como una cadena de consulta sin tener que crear un elemento web personalizado que realice una consulta de contenido relacionado.

Especificación de un nuevo formulario para un tipo de contenido del conjunto de documentos

El formulario que se usa para crear nuevos conjuntos de documentos se encuentra en la carpeta _layouts en el servidor de SharePoint. Existe un solo formulario para cada tipo de contenido del conjunto de documentos. En algunos casos, un formulario personalizado puede ser necesario. Con un formulario personalizado, puede rellenar los metadatos automáticamente o agregar formato condicional para que se muestren solo los campos especificados en función de las opciones que un usuario selecciona.

El tipo de contenido del conjunto de documentos incluye una propiedad denominada NewFormUrl; al cambiar esta propiedad, puede especificar el formulario nuevo que el tipo de contenido debe usar. Si la cambia, puede especificar un nuevo formulario personalizado para cada tipo de contenido del conjunto de documentos. Antes de cambiarla, cree una nueva página .aspx y almacénela en la carpeta _layouts o en una carpeta dentro de _layouts. Si almacena el formulario en una carpeta, agregue un archivo web.config que incluya el ensamblado del conjunto de documentos, ya que este elemento es necesario para usar el modelo de objetos del conjunto de documentos a la hora de crear un conjunto de documentos.

En el siguiente ejemplo se muestra una nueva página de conjunto de documentos personalizada: primero, la página de código subyacente customdocumentset.aspx y, a continuación, la página de código customdocumentset.cs.

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="CustomNewDocset.aspx.cs" Inherits="_Default" %>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <asp:Literal ID="litList" runat="server" />
    <asp:Literal ID="litCt" runat="server" />
</body>
</html>
 
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.SharePoint;
 
public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
SPList list = SPContext.Current.List;
litList.Text = list.Title;
SPContentTypeId ctid = new SPContentTypeId(Request.QueryString.GetValues("ContentTypeId")[0]);
SPContentType ct = list.ContentTypes[ctid];
litCt.Text = ct.Name;
    }
}

El archivo web.config es el archivo de configuración que se debe colocar en la carpeta que contiene la nueva página .aspx personalizada del conjunto de documentos. El archivo web.config es necesario; de lo contrario, no se puede obtener acceso al modelo de objetos del conjunto de documentos. Agregue referencias a otros ensamblados según sea necesario. Si la nueva página personalizada del conjunto de documentos se coloca en la raíz de la carpeta _layouts en lugar de en otra carpeta, no necesitará el archivo web.config.

<?xml version="1.0"?>
<!-- 
    Note: As an alternative to editing this file manually, you can use the 
    Web admin tool to configure settings for your application. Use
    the Website->ASP.NET Configuration option in Visual Studio.
    A full list of settings and comments can be found in 
    machine.config.comments, which is usually located in the 
    \Windows\Microsoft.Net\Framework\v2.x\Config directory.
-->
<configuration>
<system.web>
<!-- 
            Set compilation debug="true" to insert debugging 
            symbols into the compiled page. Because this 
            affects performance, set this value to true only 
            during development.
        -->
<compilation debug="false">
<assemblies>
<add assembly="Microsoft.Office.DocumentManagement, Version=14.0.0.0, Culture=neutral, PublicKeyToken=94DE0004B6E3FCC5"/>
</assemblies>
</compilation>
</system.web>
</configuration>

Para usar la nueva página personalizada del conjunto de documentos, la dirección URL del tipo de contenido del conjunto de documentos debe actualizarse. En el siguiente ejemplo se muestra un script de Windows PowerShell que se puede usar. Pase la dirección URL al sitio que contiene el tipo de contenido del conjunto de documentos que desea cambiar. Especifique el identificador del tipo de contenido pertinente para el valor ctid del tipo de contenido que desee cambiar. SharePoint Server actualiza la propiedad NewFormUrl para que use la nueva página personalizada del conjunto de documentos en lugar de la predeterminada. La cadena $siteurl debe ser la dirección URL que contiene el tipo de contenido del conjunto de documentos personalizado. La cadena $ctid es el identificador de tipo de contenido del conjunto de documentos que se está modificando. El valor de configuración $contentType.NewFormUrl es la ubicación en relación con la carpeta _layouts que contiene el nuevo formulario personalizado del conjunto de documentos.

$siteUrl = "http://mysite"
$ctid = "0x0120D520"
param($siteUrl)
$site = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$web = $site.RootWeb; 
$contentTypeId = New-Object Microsoft.Sharepoint.SPContentTypeId($ctid)
$contentType = $web.ContentTypes[$contentTypeId]
$contentType.NewFormUrl = "_layouts/CustomNewDocset/CustomNewDocset.aspx"
$contentType.Update()
$web.Dispose()
$site.Dispose()

Después de ejecutar el script de Windows PowerShell, SharePoint Server crea una nueva página personalizada del conjunto de documentos y cambia el valor de la propiedad newFormUrl a la nueva página. Así, cuando use la lista desplegable Nuevo documento en una biblioteca de documentos para crear un nuevo conjunto de documentos, aparecerá la página personalizada.

Vea también

Tareas

Procedimiento para crear un nuevo formulario de conjunto de documentos

Referencia

DefaultDocumentCollection

WelcomePageFields

FieldLinks

Conceptos

Conjuntos de documentos