Actualización de tipos de contenido secundarios

Última modificación: miércoles, 01 de diciembre de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Actualización de tipos de contenido secundario a través de la interfaz de usuario
Actualización de tipos de contenido secundarios a través del modelo de objetos
Consideraciones al actualizar tipos de contenido secundario

Disponible en SharePoint Online

Todos los tipos de contenido contienen una referencia al tipo de contenido del sitio en el que se basan. Esto permite a Microsoft SharePoint Foundation 2010 propagar o aplicar los cambios realizados en un tipo de contenido primario a los tipos de contenido de lista y sitio secundarios.

Cuando realice cambios en un tipo de contenido del sitio, puede propagar dichos cambios a todos sus tipos de contenido secundarios mediante la interfaz de usuario o a través del modelo de objetos. Cuando la operación de propagación copia los cambios realizados en los tipos de contenido de sitio o de lista basados en dicho tipo de contenido del sitio, no sobrescribe todo el tipo de contenido. El ámbito del contenido que se sobrescribe difiere en función de si se ejecutan los cambios y la operación de propagación a través de la interfaz de usuario o del modelo de objetos.

Actualización de tipos de contenido secundario a través de la interfaz de usuario

Cuando se edita un tipo de contenido del sitio a través de la interfaz de usuario y se realiza un cambio en una página de configuración del tipo de contenido, todas las opciones contenidas en dicha página se sobrescribirán durante la operación de propagación. Por lo tanto, la granularidad de los cambios que puede propagar se define por las opciones de configuración que se agrupan en cada página. Cada vez que realice un cambio en una página de configuración de tipo de contenido, todas las opciones de configuración de dicha página se sobrescribirán durante la operación de propagación.

A continuación, se muestra un resumen de las opciones de configuración que contiene cada página de configuración de tipo de contenido:

  • Configuración avanzada   Esta página contiene las siguientes opciones de configuración:

    • La dirección URL de la plantilla del documento

    • El archivo de la plantilla de documento real, en el caso de que haya seleccionado una plantilla existente en el sitio web o haya cargado el archivo de plantilla

    • El atributo de sólo lectura

  • Nueva configuración de columna    Esta página administra la adición de una nueva columna al tipo de contenido del sitio.

  • Configuración de columnas    Esta página contiene las siguientes opciones de configuración:

    • Obligatorio

    • Oculto

    • Quitar una columna del tipo de contenido del sitio

Actualización de tipos de contenido secundarios a través del modelo de objetos

El uso del modelo de objetos proporciona una mayor granularidad en las operaciones de propagación. A medida que se realizan cambios en el tipo de contenido del sitio a través del modelo de objetos, el código realmente lleva a cabo dichos cambios en la representación en memoria del tipo de contenido del sitio. Sólo cuando se llama al método Update, es cuando SharePoint Foundation confirma dichos cambios en la base de datos del sitio.

Ejemplo: agregar una columna a un tipo de contenido

El siguiente ejemplo de código crea una columna de sitio, agrega la columna a la colección de campos que pertenecen al tipo de contenido personalizado (en este ejemplo, "Specification") y, a continuación, propaga dichos cambios a todos los tipos de contenido basados en él.

Nota

No puede agregar columnas a un tipo de contenido del sitio existente mediante declaración, en otras palabras, mediante la actualización de los archivos XML de característica.

using (SPWeb oWebsite = new SPSite("http://MyServer/sites/MySiteCollection/MyWebSite").OpenWeb())
{
    SPList oList = oWebsite.GetList("MyWebSite/Lists/MyList");
    SPFieldCollection collFields = oWebsite.Fields;

    string strNewColumn = collFields.Add("MyNewColumn", SPFieldType.Text, false);

    SPFieldLink oFieldLink = new SPFieldLink(fields[strNewColumn]);
    SPContentType oContentType = oList.ContentTypes["Specification"];
    oContentType.FieldLinks.Add(oFieldLink);

    oContentType.Update(true);
}
Using oWebsite As SPWeb = New SPSite("http://MyServer/sites/MySiteCollection/MyWebSite").OpenWeb()
    Dim oList As SPList = oWebsite.GetList("MyWebSite/Lists/MyList")
    Dim collFields As SPFieldCollection = oWebsite.Fields

    Dim strNewColumn As String = collFields.Add("MyNewColumn", SPFieldType.Text, False)

    Dim oFieldLink As New SPFieldLink(fields(strNewColumn))
    Dim oContentType As SPContentType = oList.ContentTypes("Specification")
    oContentType.FieldLinks.Add(oFieldLink)

    oContentType.Update(True)
End Using

Actualización de la información personalizada secundaria en tipos de contenido

También se puede propagar la configuración personalizada en la granularidad de un documento XML mediante el modelo de objetos. Todos los tipos de contenido tienen una colección de documentos XML que las soluciones de terceros pueden usar para almacenar información de configuración personalizada. Se pueden sobrescribir documentos XML específicos mediante operaciones de propagación. Tenga en cuenta que SharePoint Foundation no intentará determinar si el documento XML está en uso actualmente o si es necesario para cualquier proceso antes de sobrescribirlo. También puede eliminar documentos XML completamente como parte de la operación de propagación.

Para obtener más información acerca del almacenamiento de documentos XML con información personalizada dentro de tipos de contenido, consulte Información personalizada en tipos de contenido.

Consideraciones al actualizar tipos de contenido secundario

Debe tener en cuenta que las operaciones de propagación sobrescriben los cambios realizados en los tipos de contenido secundario si dichos cambios se encuentran dentro de la granularidad de la operación de propagación. Por ejemplo, supongamos que se realizan cambios en una columna de un tipo de contenido secundario. Si, a continuación, realiza otros cambios a dicha columna en la plantilla primaria o incluso si elimina dicha columna y propaga los cambios, SharePoint Foundation sobrescribirá los cambios realizados originalmente por usted (o más probablemente, por algún otro usuario) en el tipo de contenido secundario.

Cada operación de propagación propaga únicamente los cambios realizados en el tipo de contenido primario en dicho momento. Si no se propagan los cambios en el momento de realizarlos, no se podrán propagar más adelante de un modo fácil. En la mayoría de los casos, será necesario deshacer los cambios anteriores, realizar los cambios de nuevo y, a continuación, propagar dicho conjunto de cambios. Por ejemplo, supongamos que elimina una columna de un tipo de contenido primario pero no propaga dicho cambio en el momento. Cualquier operación subsiguiente de propagación no incluirá la eliminación de dicha columna de los tipos de contenido secundario. Para quitar la columna de los tipos de contenido secundario más adelante, deberá volver a agregar la columna al tipo de contenido primario, eliminarla de nuevo y, a continuación, realizar una operación de propagación.

Si propaga los cambios que ya no se aplican a un tipo de contenido secundario, se omitirán dichos cambios. Por ejemplo, si se propagan cambios en la configuración de una columna que se eliminó de un tipo de contenido secundario, se omitirán dichos cambios. SharePoint Foundation no vuelve a agregar la columna al tipo de contenido secundario.

Si intenta realizar una operación de propagación en un tipo de contenido secundario que está marcado como de solo lectura, dicha operación dará error a menos que establezca el tipo de contenido primario para que sea de lectura y escritura como parte de la operación de propagación.

La propagación de cambios no es una operación de todo o nada; si la propagación de los cambios produce un error en un tipo de contenido secundario determinado, SharePoint Foundation sigue propagando los cambios en el resto de tipos de contenido secundarios. Al final de la operación de propagación, SharePoint Foundation devuelve una lista de los errores detectados.

Si un tipo de contenido secundario se ha definido como sellado, la operación de propagación producirá un error en dicho tipo de contenido.

Nota

Para crear o administrar un tipo de contenido del sitio en un sitio, deberá tener derechos de acceso de Diseñador de web para dicho sitio. Si no cuenta con los derechos de acceso adecuados para un sitio secundario, las operaciones de propagación para los tipos de contenido incluidos en dicho sitio secundario darán error.

Para obtener más información acerca de los tipos de contenido de sólo lectura y sellados, consulte Control de cambio de tipos de contenido.

Vea también

Conceptos

Introducción a los tipos de contenido

Tipos de contenido de listas y sitios

Ámbito del tipo de contenido

Creación de tipos de contenido

Control de acceso a tipos de control

Eliminación de tipos de contenido