2012-10-20 41 views
5

最近我們已經從Tridion 5.3升級到Tridion 2011 SP1。ASCX Web控件不存儲在數據庫中

在我們現有的實現中,我們有各種動態組件模板。對於少數CT輸出格式是ASCX Web Control,對於少數CT輸出格式是HTML片段。

發佈後,我們遇到了 1)ASCX WebControls不存儲到存儲數據庫(SQLServer)。在Tridion 5.3他們是。 2)HTML片段正在存儲在數據庫中。

在我們的實現中,二進制文件,頁面,嵌入式組件模板存儲在文件系統中,動態組件模板存儲在SQL Sever數據庫中。

我們認爲我們錯過了cd_storage_config中的某些內容。請找到附件的配置文件。

<?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"/> 

回答

10

您沒有任何ASCX在存儲配置結合。在5.3中,它曾經是Asp綁定。

更改如下:

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

要:

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

此外,在2011年的tridion你不需要爲每種類型指定映射(如TXT,JSP等),如果你想全部存儲在數據庫中。

你可以簡單地這樣做:

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

雖然上述方法是絕對正確的,我認爲我們可以添加其他項目typemapping節點,而不是替換.ASP標籤。 您的網站可能會有一些asp內容可能會受到替換此節點的影響。 –

相關問題