2012-10-20 13 views
5

Vor kurzem haben wir von Tridion 5.3 auf Tridion 2011 SP1 aktualisiert.ASCX Web Controls sind nicht in der Datenbank gespeichert

In unserer bestehenden Implementierung haben wir verschiedene Dynamic Component Templates. Für wenige CTs Ausgabeformat ist ASCX Web Control für wenige CTs Ausgabeformat HTML Fragment.

Nach der Veröffentlichung sind wir auf 1) ASCX WebControls wurden nicht in Storage Database (SQLServer) gespeichert. In Tridion 5.3 waren sie. 2) HTML-Fragmente werden in der Datenbank gespeichert.

In unserer Implementierung werden Binärdateien, Seiten, eingebettete Komponentenvorlagen im Dateisystem gespeichert und dynamische Komponentenvorlagen werden in der SQL Server-Datenbank gespeichert.

Wir denken, wir haben etwas in unserer cd_storage_config verpasst. Bitte finden Sie die angehängte Konfigurationsdatei.

<?xml version="1.0" encoding="UTF-8"?> 
<Configuration Version="6.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="schemas/cd_storage_conf.xsd"> 
<Global> 
    <ObjectCache Enabled="false"> 
     <Policy Type="LRU" Class="com.tridion.cache.LRUPolicy"> 
      <Param Name="MemSize" Value="16mb"/> 
     </Policy> 
     <Features> 
      <Feature Type="DependencyTracker" Class="com.tridion.cache.DependencyTracker"/> 
     </Features> 
    </ObjectCache> 
    <Storages> 
     <Storage Type="persistence" Id="sqlserver" dialect="MSSQL" Class="com.tridion.storage.persistence.JPADAOFactory"> 
      <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" CheckoutTimeout="120" /> 
      <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource"> 
       <Property Name="serverName" Value="local" /> 
       <Property Name="portNumber" Value="1433" /> 
       <Property Name="databaseName" Value="TridionBroker" /> 
       <Property Name="user" Value="TridionBrokerUser" /> 
       <Property Name="password" Value="mypass" /> 
      </DataSource> 
     </Storage> 
     <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultFile" defaultFilesystem="false"> 
      <Root Path="d:\Inetpub\MyPortal" /> 
     </Storage> 
     <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" Id="defaultDataFile" defaultFilesystem="true" defaultStorage="true"> 
      <Root Path="d:\Inetpub\MyPortal\data" /> 
     </Storage> 
     <SearchFilter Name="SearchFilter" Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" defaultStorageId="sqlserver"/> 
    </Storages> 
</Global> 
<ItemTypes defaultStorageId="defaultDataFile" cached="false"> 
    <Item typeMapping="Query" storageId="sqlserver"/> 
    <Item typeMapping="Page" cached="false" storageId="defaultFile"/> 
    <Item typeMapping="Binary" cached="false" storageId="defaultFile"/> 
    <Item typeMapping="ComponentPresentation" itemExtension=".Jsp" storageId="sqlserver"/> 
    <Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/> 
    <Item typeMapping="ComponentPresentation" itemExtension=".Xml" storageId="sqlserver"/> 
    <Item typeMapping="ComponentPresentation" itemExtension=".Txt" storageId="sqlserver"/> 
    <Item typeMapping="Metadata" cached="true" storageId="sqlserver"/> 
    <Item typeMapping="XSLT" cached="true" storageId="sqlserver"/> 
</ItemTypes> 
<License Location="d:\Tridion\config\cd_licenses.xml"/> 

Antwort

10

Sie haben keine ascx in Ihrem Speicherkonfigurations verbindlich. In 5.3 war es früher Asp-Bindung.

Ändern Sie die folgenden Schritte aus:

<Item typeMapping="ComponentPresentation" itemExtension=".Asp" storageId="sqlserver"/> 

An:

<Item typeMapping="ComponentPresentation" itemExtension=".ascx" storageId="sqlserver"/> 

Auch in tridion 2011 Sie müssen Mapping nicht angeben, für jeden Typ (wie txt, jsp etc ..), wenn Sie möchten, dass alle in db gespeichert werden.

Sie können dies einfach tun:

<Item typeMapping="ComponentPresentation" storageId="sqlserver"/> 
+0

Obwohl das obige Verfahren absolut korrekt ist, denke ich, dass wir ein anderes Element typemapping Knoten hinzufügen können stattdessen die .asp-Tag zu ersetzen. Es ist möglich, dass Ihre Website asp-Inhalte enthält, die durch den Austausch dieses Knotens beeinträchtigt werden können. –