Richard Read
Richard Read

Reputation: 923

Dynamic Component Template no longer going to broker db

I have made an adjustment to my blueprinting structure, so that what was previously a publishable web publication has now been turned into a non publishable web publication at a parent level. A new child web publication has been created to take it's place.

As such, this has created a new publication ID. I've updated all configurations with this new ID, and been able to successfully publish content to the presentation servers on the file system. Dynamic component presentations are also being published into the broker database using the new ID.

However, recently one of my dynamic component templates has stopped publishing to the broker. It publishes to the file system, but no record of the component appears in the LINK_INFO table of the broker. This means dynamic linking for content using this template is failing on the website.

Could anyone possible tell me if they know why this is occurring?

UPDATE 2: Found something interesting.....dynamic linking is actually working but only for some component templates. I discovered this by using the ComponentLink.GetLink(string) method to see if it would return a link...for some content types it does, but for others which previously had links, it now doesn't, even after republishing these templates :s

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

Upvotes: 0

Views: 579

Answers (3)

Dominic Cronin
Dominic Cronin

Reputation: 6191

I've removed a lot of unhelpful comments from the storage configuration in the question. Now it's easy to see that as Quirijn suspected, there are publication-specific configurations in play. If your web publication id was previously 15 or 22, and this has changed, that would explain your problem.

Upvotes: 1

Bj&#248;rn van Dommelen
Bj&#248;rn van Dommelen

Reputation: 1097

You have

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

and no TypeMappings definition anywhere in your cd_storage_conf.xml. This makes the "defaultFileAssets" the storage location of choice for the deployer.

I would normally expect something like this

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

in your Configuration node.

It would also be very helpful to ensure that the configuration you have posted is actually being used; you can view this in the logfiles generated by Tridion (with debug logging enables) as it logs which config file it is using; there has been more than one occasion where I was puzzled with issues simply because I was looking at the wrong configuration file...

Upvotes: 1

Richard Read
Richard Read

Reputation: 923

I think the issue may be being caused by an expired cd_licence file but i can't confirm it, have asked SDL support to tell me if it's so

Upvotes: 0

Related Questions