Pregunta

Tengo algunos elementos componentes en Tridion que se configuran para un esquema particular. Me gustaría ser capaz de cambiar el esquema de esos artículos a un esquema más reciente. El nuevo esquema conserva todas las propiedades existentes de que el viejo tenía, por lo que no habría ninguna pérdida de datos. En esta situación, no es posible simplemente alterar el esquema existente.

¿Alguien sabe si es posible hacer esto?

¿Fue útil?

Solución 5

yo era capaz de hacer esto escribiendo algunas consultas para reemplazar los nombres de esquema y referencias directamente en la base de datos Tridion. Funcionó bien, pero sólo recomendaría esto si el esquema inicial es exactamente igual que el esquema final. De lo contrario, va a romper los componentes.

Otros consejos

Puede cambiar el esquema de un componente, simplemente mediante la asignación de un nuevo valor a la propiedad de esquema del componente y guardarlo. Por supuesto, el componente de ahorro, será necesario que los componentes valida contra el nuevo esquema.

El caso trivial de esto es cuando acabas de copiar-pegar el esquema y, por tanto, ambos esquemas son idénticos. En la práctica, generalmente tiene una razón para cambiar el esquema, en cuyo caso es probable que desee utilizar GetXml () y UpdateXml () en el componente y tener una transformación XSLT el XML a algo compatible con el nuevo esquema. En este escenario, puede simplemente actualizar el esquema de referencia en su XSLT.

dice Como Jonathon, puede utilizar una página personalizada para esto, pero hay que tener en cuenta que por lo general se trata de una acción única que debe estar dirigida / ejecutada por los programadores y administradores, por lo que si se utiliza una página personalizada, es probable querer quitar después.

Hay una razón por la GUI Tridion no permite cambiar el esquema de un componente, no es muy probable que su componente perderá su contenido después de un cambio de este tipo, incluso si los dos esquemas tienen algunos campos en común. Para evitar esto, asegúrese de que los esquemas tienen el mismo espacio de nombres. En ese caso, si un campo se define en los dos esquemas, el componente conservará sus valores, incluso después el esquema ha cambiado.

El Tridion Content Porter le permite exportar contenido y esquemas de un CMS a otro. También se puede utilizar para mover los elementos entre publicaciones. Esta es una opción de "duplicar" un esquema y su contenido para su reutilización (así como a cualquier trabajo de copia de seguridad antes de cambiar datos en tiempo real!).

Tenga cuidado de no cambiar el espacio de nombres o cualquier campos XML que desea guardar (descripciones y nombre de esquema son bien aunque). Para estar seguro, especialmente con datos en tiempo real, hacer una exportación limpia por si acaso antes de usar cualquiera de estas respuestas.

No es posible cambiar el esquema de un componente Tridion través de la interfaz de gestión de contenido. Sin embargo, esto se puede lograr mediante una 'página personalizada' como el API permite el cambio de esquema de un componente a través de código.

Tomado de la documentación de SDL Tridion 2009 (Manual de Plantillas de Aplicación (TOM.NET) 2009):

  • Clase: Tridion.ContentManager.ContentManagement.Component
  • propiedad: pública esquema de esquema {get; conjunto; }
  • Descripción:. Obtener o establecer el esquema de contenido y los metadatos del componente

Hay un elemento (incluyendo un ejemplo de código) en los foros de desarrolladores Tridion (topic_id = 2899) acerca de esto. Sin embargo, ya que este es un foro cerrado estoy seguro acerca de la legalidad de reproducir el código aquí.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top