Tipos de contenido de listas y sitios

Última modificación: domingo, 21 de noviembre de 2010

Hace referencia a: SharePoint Foundation 2010

En este artículo
Tipos de contenido de sitio
Tipos de contenido de lista
Efectos de agregar un tipo de contenido de sitio a una lista

Disponible en SharePoint Online

Puede crear y administrar tipos de contenido en el nivel del sitio. Cuando se crea un nuevo tipo de contenido que se agrega a una colección de tipos de contenido del sitio, éste se convierte en lo que se conoce como tipo de contenido de sitio. En este momento, el tipo de contenido está disponible para agregarse a las listas y bibliotecas de documentos, pero aún no se ha agregado.

Cuando sí se agrega un tipo de contenido de sitio a una lista, Microsoft SharePoint Foundation realiza una copia local del tipo de contenido de sitio y la agrega a la lista. Esta instancia local se denomina tipo de contenido de lista y solo se aplica a la lista en la que se copió.

Tipos de contenido de sitio

Al crear un tipo de contenido y agregarlo a la colección de tipos de contenido de un sitio, el nuevo tipo de contenido estará disponible en cualquier sitio secundario, así como en el sitio en el que se creó. Por ejemplo, si crea un tipo de contenido de sitio en el sitio raíz de una colección de sitios, ese tipo de contenido de sitio estará disponible en cualquier sitio de la jerarquía de sitios. Si agrega un nuevo tipo de contenido a un sitio que está en un nivel inferior de la jerarquía, estará disponible en el sitio donde lo agregue y en cualquier sitio debajo de ese sitio en la jerarquía. Para obtener más información, vea Ámbito del tipo de contenido.

Para revisar una lista de tipos de contenido que están disponibles para un sitio, elija Configuración del sitio en la interfaz de usuario. Cuando se muestra la página Configuración del sitio, busque la sección Galerías y, a continuación, haga clic en Tipo de contenido de sitio. Para obtener una lista similar mediante programación, cree un objeto para representar el sitio mediante la creación de una instancia de la clase SPWeb en el código de servidor o de la clase Web en el código de cliente. A continuación, procese una iteración en la colección devuelta por la propiedad AvailableContentTypes del objeto.

La colección devuelta por la propiedad AvailableContentTypes es de solo lectura. La razón es que la colección incluye no solo los tipos de contenido definidos en el sitio actual, sino también aquellos que se definen en los sitios que se encuentran por encima en la jerarquía de sitios. Para agregar un nuevo tipo de contenido o eliminar uno existente, debe hacer referencia a una colección que se pueda modificar. Puede hacerlo mediante el acceso a la propiedad ContentTypes de un objeto de sitio. Puede agregar tipos de contenido a la colección devuelta por esta propiedad mediante una llamada al método Add y puede eliminar tipos de contenido mediante una llamada al método Delete.

Para obtener información sobre cómo agregar tipos de contenido de sitio, vea Procedimiento para agregar un tipo de contenido a un sitio. Para obtener información sobre cómo eliminar tipos de contenido de sitio, vea el método Delete.

Nota

Para crear o administrar un tipo de contenido en un sitio, debe tener derechos de acceso de diseñador web para ese sitio. En concreto, debe tener derechos de acceso para administrar listas y para agregar y personalizar páginas en el sitio donde se encuentra el tipo de contenido de sitio.

Tipos de contenido de lista

Al igual que cada sitio tiene una colección de tipos de contenido, cada lista o biblioteca en un sitio tiene una. Para agregar un tipo de contenido a una lista o biblioteca, puede agregarlo a la colección de tipos de contenido de la lista o biblioteca.

Puede crear una colección de tipos de contenido para una nueva lista como parte de la definición de lista antes de que se aprovisionen las instancias de la lista. En el elemento ContentTypes de la definición de lista, puede hacer referencia a tipos de contenido de sitio existentes y también puede definir nuevos tipos de contenido. En este caso, los nuevos tipos de contenido están disponibles solo para instancias de lista creadas a partir de la misma definición de lista. Los nuevos tipos de contenido no son parte de la colección de sitios y no están disponibles para otras listas. Para obtener más información sobre la creación de un tipo de contenido de lista en una definición de lista, vea Procedimiento para agregar un tipo de contenido a un sitio.

Una vez que se aprovisiona una lista, se pueden seguir agregando tipos de contenido a la colección de tipos de contenido de la lista, pero cualquier tipo de contenido que se agregue debe existir ya como tipo de contenido de sitio dentro del ámbito de la lista. Puede comprobarlo en la interfaz de usuario mediante la inspección de la página Configuración de la lista para ver si hay una lista con los tipos de contenido habilitados. En la sección Tipos de contenido de la página hay un vínculo con la etiqueta Agregar a partir de tipos de contenido de sitio. Si hace clic en el vínculo, se abrirá una página en la que puede elegir entre los tipos de contenido de sitio disponibles y agregarlos a la colección de tipos de contenido de la lista.

Nota importanteImportante

Antes de agregar un tipo de contenido de sitio a una lista, debe asegurarse primero de que la lista sea compatible con los tipos de contenido. Para hacerlo en la interfaz de usuario, seleccione Configuración de la lista y, a continuación, Configuración avanzada. En Permitir la administración de tipos de contenido, haga clic en . Para hacer lo mismo mediante programación, obtenga una referencia al objeto SPList en código de servidor o al objeto List en código de cliente. A continuación, establezca la propiedad ContentTypesEnabled en true.

Para agregar un tipo de contenido de sitio a una lista mediante programación, elija un tipo de contenido en la colección devuelta por la propiedad AvailableContentTypes de un objeto SPWeb (servidor) o un objeto Web (cliente). A continuación, agregue el tipo de contenido a la colección de la lista mediante el acceso a la propiedad ContentTypes del objeto de lista y una llamada al método Add del objeto de la colección. Para obtener más información, vea Procedimiento para agregar un tipo de contenido a un sitio.

Nota

Para agregar un tipo de contenido a una lista, debe tener derechos de administrador de listas para esa lista.

Sin embargo, es importante saber que no se pueden agregar todos los tipos de contenido que están disponibles en un sitio determinado para cada lista o biblioteca del sitio. Los tipos de contenido que agregue a una biblioteca de documentos deben heredar del tipo de contenido de documento integrado o de un tipo de contenido derivado del documento. Por el contrario, los tipos de contenido que agregue a una lista no deben derivarse del documento. Para obtener más información, vea Jerarquía de tipos de contenido base.

Efectos de agregar un tipo de contenido de sitio a una lista

Cuando se agrega un tipo de contenido de sitio a una lista o biblioteca, SharePoint Foundation hace copias locales de las columnas a las que se hace referencia mediante el tipo de contenido y las agrega a los campos de la lista. Para obtener más información, vea Campos y referencias a campos.

Además, SharePoint Foundation hace una copia local del tipo de contenido de sitio y la agrega a la colección de tipos de contenido de la lista. El nuevo tipo de contenido de lista es un elemento secundario del tipo de contenido de sitio. El valor de la propiedad Id para el tipo de contenido de lista es diferente al valor de la propiedad Id para su tipo de contenido de sitio primario, pero de lo contrario, los dos tipos de contenido son inicialmente los mismos.

El hecho de que los tipos de contenido de lista a menudo se deriven de los tipos de contenido de sitio tiene implicaciones para la administración de cambios. Una consecuencia es que las personalizaciones en los tipos de contenido de lista no pueden aplicarse fácilmente a otras listas. Por ejemplo, un usuario puede modificar un tipo de contenido de lista mediante la adición de una nueva columna. Este cambio estaría limitado al tipo de contenido en la lista. La nueva columna no se agregaría al tipo de contenido de sitio del que se deriva el tipo de contenido de lista, ni se llevaría a cabo ningún otro cambio. Los cambios en un tipo de contenido derivado nunca se implementan en el tipo de contenido primario.

Sin embargo, un tipo de contenido de lista puede verse afectado por los cambios realizados en su elemento primario. Por ejemplo, un usuario podría modificar un tipo de contenido de sitio, quizá mediante la adición de una columna, y después optar por actualizar todos los tipos de contenido que heredan de él. El resultado podría sobrescribir las personalizaciones que los usuarios han realizado en los tipos de contenido de lista y sitio derivados. Es posible proteger un tipo de contenido de los cambios realizados en su elemento primario, pero este paso tiene implicaciones para la administración de tipos de contenido. Para obtener más información, vea Control de cambio de tipos de contenido.

Por estos motivos, con frecuencia resulta conveniente aplicar cambios en los tipos de contenido en el nivel del sitio y limitar las personalizaciones en el nivel de la lista.

Para obtener información sobre la propagación de cambios en los tipos de contenido, vea Actualización de tipos de contenido. Para ver un ejemplo que muestra cómo detectar dónde se usa un tipo de contenido de sitio, consulte el método SPContentTypeUsage.GetUsages.

Vea también

Tareas

Procedimiento para agregar un tipo de contenido a un sitio

Procedimiento para agregar un tipo de contenido a un sitio

Conceptos

Ámbito del tipo de contenido

Creación de tipos de contenido

Adición de columnas de tipos de contenido a listas