5

最近、Tridion5.3からTridion2011SP1にアップグレードしました。

既存の実装には、さまざまな動的コンポーネントテンプレートがあります。いくつかのCTの出力形式はASCXWebコントロールであり、いくつかのCTの出力形式はHTMLフラグメントです。

公開後、1)ASCX WebControlsがストレージデータベース(SQLServer)に保存されていないことに気付きました。Tridion5.3ではそうだった。2)HTMLフラグメントがデータベースに保存されています。

実装バイナリファイルでは、ページ、埋め込みコンポーネントテンプレートはファイルシステムに保存され、動的コンポーネントテンプレートはSQLサーバーデータベースに保存されます。

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

4

1 に答える 1

10

ストレージ構成にascxバインディングがありません。5.3では、これはAspバインディングでした。

以下を変更します。

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

に:

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

また、tridion 2011では、すべてをdbに保存する場合は、タイプごとにマッピングを指定する必要はありません(txt、jspなど)。

あなたは単にこれを行うことができます:

<Item typeMapping="ComponentPresentation" storageId="sqlserver"/>
于 2012-10-20T12:22:12.787 に答える