Compartir a través de


Actualización de tipos de contenido secundarios

Todos los tipos de contenido contienen una referencia al tipo de contenido del sitio en el que se se basan. Esto permite a Windows SharePoint Services 3.0 propagar o propagarlos cambios realizados en un tipo de contenido primario a los tipos de contenido secundarios del sitio y de lista.

Cuando realice cambios en un tipo de contenido del sitio, puede propagar dichos cambios a todos sus elementos secundarios mediante la interfaz de usuario o a través del modelo de objeto. 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 Windows SharePoint Services 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);
}

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 Windows SharePoint Services 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, Windows SharePoint Services sobrescribirá los cambios realizados originalmente por el usuario (o más probablemente, por algún otro) en el tipo de contenido secundario.

Cada operación de propagación sólo propaga 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 un columna que se ha eliminado de un tipo de contenido secundario, se omitirán dichos cambios. Windows SharePoint Services no volverá 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 sólo lectura, dicha operación fracasará a menos que establezca el tipo de contenido primario para que sea de lectura/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, Windows SharePoint Services continuará propagando los cambios en el resto de tipos de contenido secundarios. Al final de la operación de propagación, Windows SharePoint Services devuelve una lista de los errores encontrados.

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, no se podrán realizar las operaciones de propagación para los tipos de contenido incluidos en dicho sitio secundario.

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

Otros recursos

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 basados en otros tipos de contenido
Control de acceso a tipos de control
Eliminación de tipo de contenido