Domanda

Ho alcuni elementi componenti in tridion che vengono impostate per un particolare schema. Mi piacerebbe essere in grado di cambiare lo schema per tali elementi a uno schema più recente. Il nuovo schema mantiene tutte le proprietà esistenti che il vecchio aveva, quindi non ci sarebbe alcuna perdita di dati. In questa situazione non è possibile modificare solo lo schema esistente.

Qualcuno sa se è possibile fare questo?

È stato utile?

Soluzione 5

Sono riuscito a farlo scrivendo alcune query per sostituire i nomi di schema e riferimenti direttamente all'interno del database tridion. Ha funzionato bene, ma vorrei solo raccomandare questo se lo schema di partenza è esattamente come lo schema finale. In caso contrario, romperà i componenti.

Altri suggerimenti

È possibile modificare lo schema di un componente semplicemente assegnando un nuovo valore alla proprietà dello schema del componente e salvarlo. Naturalmente, salvando la componente richiede che i componenti Convalida contro il nuovo schema.

Il caso banale di questo è quando hai basta copiare-incollato lo schema e quindi entrambi gli schemi sono identici. In pratica, è generalmente hanno una ragione per cambiare lo schema, nel qual caso probabilmente si desidera utilizzare GetXml () e UpdateXml () sul componente e hanno una trasformazione XSLT XML a qualcosa di compatibile con il nuovo schema. In questo scenario, si può semplicemente aggiornare il riferimento schema nel vostro XSLT.

Come Jonathon dice, è possibile utilizzare una pagina personalizzata per questo, ma tenere a mente che in genere si tratta di un'azione di una volta che dovrebbe essere progettato / eseguita da programmatori e amministratori, quindi se si utilizza una pagina personalizzata, probabilmente consiglia di rimuovere in seguito.

C'è un motivo per cui l'interfaccia grafica Tridion non consente di modificare lo schema su un componente: è molto probabile che il componente perde il suo contenuto dopo tale cambiamento di una, anche se i due schemi sono alcuni campi in comune. Per evitare questo, assicurarsi che gli schemi hanno lo stesso spazio dei nomi di destinazione. In questo caso, se un campo è definito in entrambi gli schemi, il componente manterrà i suoi valori anche dopo che lo schema è stato modificato.

La Tridion Content Porter consente di esportare i contenuti e gli schemi da un CMS all'altro. Può anche essere utilizzato per spostare gli elementi tra pubblicazioni. Questa è un'opzione di "duplicato" uno schema e il suo contenuto per il riutilizzo (così come per il backup di qualsiasi lavoro prima di cambiare dati in tempo reale!).

Fare attenzione a non modificare lo spazio dei nomi o tutti i campi XML che desideri conservare (descrizioni e nome dello schema sono però va bene). A dire il vero, in particolare con dati in tempo reale, fare un export pulito nel caso in cui prima di utilizzare una qualsiasi di queste risposte.

Non è possibile modificare lo schema di un componente Tridion tramite l'interfaccia di Content Manager. Tuttavia, questo può essere realizzato utilizzando un 'pagina personalizzata' come l'API consente la modifica dello schema di un componente tramite il codice.

Tratto da documentazione SDL Tridion 2009 (Manuale Templating attuazione (TOM.NET) 2009):

  • Classe: Tridion.ContentManager.ContentManagement.Component
  • Proprietà: pubblica Schema Schema {get; impostato; }
  • Descrizione:. Ottenere o impostare lo schema per i contenuti e metadati del componente

C'è un elemento (incluso un esempio di codice) sui forum Tridion sviluppatori (topic_id = 2899) su questo. Tuttavia, poiché questo è un forum chiuso Sono incerti circa la legalità di riproduzione del codice qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top