0

我已经对我的蓝图结构进行了调整,因此以前可发布的网络出版物现在已经变成了父级不可发布的网络出版物。已创建一个新的子网络出版物来取代它。

因此,这创建了一个新的发布 ID。我已经使用这个新 ID 更新了所有配置,并且能够成功地将内容发布到文件系统上的演示服务器。动态组件演示也正在使用新 ID 发布到代理数据库中。

但是,最近我的一个动态组件模板已停止发布到代理。它发布到文件系统,但没有组件的记录出现在代理的 LINK_INFO 表中。这意味着使用此模板的内容动态链接在网站上失败。

谁能告诉我他们是否知道为什么会发生这种情况?

更新 2:发现了一些有趣的东西.....动态链接实际上是有效的,但仅适用于某些组件模板。我通过使用 ComponentLink.GetLink(string) 方法发现了这一点,以查看它是否会返回链接...对于某些内容类型它确实如此,但对于以前有链接的其他内容类型,它现在没有,即使在重新发布这些模板之后:秒

更新:cd_storage.xml

<Configuration Version="6.0"
     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>
   <StorageBindings>
     <Bundle src="AudienceManagerDAOBundle.xml" />
   </StorageBindings>
   <Storage Type="persistence" Id="defaultdb" 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="lon1udb01.int.rroom.net" />
      <Property Name="portNumber" Value="1433" />
      <Property Name="databaseName" Value="uat_mal_Tridion_Broker_2" />
      <Property Name="user" Value="uat_mal" />
      <Property Name="password" Value="mj][zdvd=h" />
     </DataSource>
    </Storage>
    <Storage Type="persistence" Id="profiledb" dialect="MSSQL" 
          Class="com.tridion.storage.persistence.JPADAOFactory" 
          defaultStorage="false">
      <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" 
            CheckoutTimeout="120" />
      <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
       <Property Name="serverName" Value="lon1udb01.int.rroom.net" />
       <Property Name="portNumber" Value="1433" />
       <Property Name="databaseName" Value="uat_mal_Tridion_submgmt" />
       <Property Name="user" Value="uat_mal" />
       <Property Name="password" Value="mj][zdvd=h" />
      </DataSource>
    </Storage>
    <Storage Type="persistence" Id="trackingdb" dialect="MSSQL" 
          Class="com.tridion.storage.persistence.JPADAOFactory" 
          defaultStorage="false">
     <Pool Type="jdbc" Size="5" MonitorInterval="60" IdleTimeout="120" 
           CheckoutTimeout="120" />
      <DataSource Class="com.microsoft.sqlserver.jdbc.SQLServerDataSource">
        <Property Name="serverName" Value="lon1udb01.int.rroom.net" />
        <Property Name="portNumber" Value="1433" />
        <Property Name="databaseName" Value="uat_mal_Tridion_tracking" />
        <Property Name="user" Value="uat_mal" />
        <Property Name="password" Value="mj][zdvd=h" />
      </DataSource>
    </Storage>
    <Storage Type="filesystem"  Id="defaultFile" 
              Class="com.tridion.storage.filesystem.FSDAOFactory" 
              defaultFilesystem="false" 
              defaultStorage="false">
      <Root Path="c:\websites\live" />
    </Storage>
    <Storage Type="filesystem"  Id="defaultFileAssets" 
                Class="com.tridion.storage.filesystem.FSDAOFactory" 
                defaultFilesystem="false" 
                defaultStorage="true">
      <Root Path="c:\websites\live\malvern.com.en\Assets" />
    </Storage>
    <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory"
             Id="malenctrls" defaultFilesystem="false" defaultStorage="false">
      <Root Path="c:\websites\live\malvern.com.en\usercontrols" />
    </Storage> 
    <Storage Type="filesystem" Class="com.tridion.storage.filesystem.FSDAOFactory" 
             Id="malcnctrls" defaultFilesystem="false" defaultStorage="false">
      <Root Path="c:\websites\live\malvern.com.cn\usercontrols" />
    </Storage>      
    <SearchFilter Name="SearchFilter" 
                  Class="com.tridion.broker.components.meta.MsSqlSearchFilterHome" 
                  defaultStorageId="defaultdb"/>
  </Storages>
  <Transaction Timeout="60000" MonitorInterval="5000"/>
 </Global>
 <ItemTypes defaultStorageId="defaultdb" cached="false">
  <Item storageId="profiledb" typeMapping="AudienceManagerProfile" cached="false"/>
  <Item storageId="trackingdb" typeMapping="AudienceManagerTracking" cached="false" />
  <!-- GLOBAL MASTER -->
  <Publication Id="22" defaultStorageId="defaultdb" cached="false">
    <Item storageId="defaultFile" typeMapping="Page" cached="false" />
    <Item storageId="defaultFile" typeMapping="Binary" cached="false" />
    <Item storageId="malenctrls" typeMapping="ComponentPresentation" 
          itemExtension=".ascx" cached="false" />
  </Publication>
  <!-- CHINESE WEB -->
  <Publication Id="15" defaultStorageId="defaultdb" cached="false">
    <Item storageId="defaultFile" typeMapping="Page" cached="false" />
    <Item storageId="defaultFile" typeMapping="Binary" cached="false" />
    <Item storageId="malcnctrls" typeMapping="ComponentPresentation" 
          itemExtension=".ascx" cached="false" />
  </Publication>
 </ItemTypes>
 <License Location="c:/tridion/config/cd_licenses.xml"/>

4

3 回答 3

1

你有

<Storage Type="filesystem" Id="defaultFileAssets" 
  Class="com.tridion.storage.filesystem.FSDAOFactory" defaultFilesystem="false" 
  defaultStorage="true">

并且 cd_storage_conf.xml 中的任何地方都没有 TypeMappings 定义。这使得“defaultFileAssets”成为部署者选择的存储位置。

我通常会期待这样的事情

<ItemTypes defaultStorageId="defaultdb" cached="false">
    <Item typeMapping="Page" cached="false" storageId="defaultFile"/>
<Item typeMapping="Binary" storageId="defaultFile" cached="false"/>
</ItemTypes>

在您的配置节点中。

确保您发布的配置实际被使用也非常有帮助;您可以在 Tridion 生成的日志文件中查看这一点(启用调试日志记录),因为它记录了它正在使用的配置文件;不止一次因为我查看了错误的配置文件而让我对问题感到困惑......

于 2012-10-29T08:16:45.437 回答
1

我已经从问题中的存储配置中删除了很多无用的评论。现在很容易看出,正如 Quirijn 所怀疑的那样,存在特定于出版物的配置。如果您的网络出版物 id 以前是 15 或 22,而这已经改变,那就可以解释您的问题。

于 2012-11-13T21:23:51.873 回答
0

我认为问题可能是由过期的 cd_licence 文件引起的,但我无法确认,已要求 SDL 支持人员告诉我是否如此

于 2012-09-10T15:18:33.703 回答