2012-10-20 25 views
5

最近、Tridion 5.3からTridion 2011 SP1にアップグレードしました。ASCX Webコントロールはデータベースに保存されていません

既存の実装では、さまざまな動的コンポーネントテンプレートが用意されています。いくつかのCTの出力形式では、CTXの出力形式の一部としてASCX Web ControlがHTML Fragmentです。

公開後、 にアクセスしました。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"/> 

また、Tridionの2011年には、各タイプのマッピングを指定する必要はありません(TXTなどの、JSP等。)の場合すべてがdbに格納されることを望みます。

あなたは、単にこれを行うことができます:上記の方法は絶対に正しいですが

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

、私たちは.ASPタグを置き換えるのではなく、他の項目typemappingノードを追加することができると思います。 あなたのウェブサイトには、このノードの交換によって影響を受けるかもしれないASPコンテンツがある可能性があります。 –