4

I am trying to develop DD4T applications with SDL Tridion 2013Sp1. these are the things which i have done as of now.

  1. I have configured the Tridion Requirements (such as dlls, config files, valid developer Licence and other required things to run in locally, and i am not getting any Log error or exception related to Tridion)
  2. I have cross verified the connectivity with My Pc to Delivery VM. It's successfully connecting and working.
  3. In CMS, I have Successfully created Components and Schema, Which Is in turn used in Page with Component Presentation. Even i have verified the data in the database. It's correct.
  4. I have created DD4T applicaiton with Respected Views in the Page/Component folder for views (to map the component and Page)

Now If I run this application Locally, I used to get empty model.

IPage model = GetModelForPage(pageId); //Here is the pageId, I have cross verified the page id in database. 

But if i deploy this machine to Delivery server, then I used to get Model values and Correspondent views get displayed.

My question is this, Why this code is returning Empty string in locally

retVal = PageContentAssembler.GetContent(resultUris[0]);
  1. What are the causes for this ?
  2. I would like seek your help to run My DD4T application in my localhost, where i can easily debug and rectify the mistakes. Otherwise i need to connect the delivery server VM and deploy, then test it.
  3. If Possible, Please can you ppl share the experience to setup the local machine, where i can get the data from Delivery server and develop locally.

Update. I have added the Log files genereated with Core Log and DD4t Log.

Core Log : Tridion Core Log

DD4T Log :

2014-09-29 14:45:28,848 [11] DEBUG Performance [(null)] - <<TryFindPage (/kitkat.html
2014-09-29 14:46:11,563 [14] DEBUG Performance [(null)] - >>TryFindPage (/product3.html
2014-09-29 14:46:11,564 [14] DEBUG Performance [(null)] - about to load page from cache with key Page_/product3.html_42
2014-09-29 14:46:11,564 [14] DEBUG Performance [(null)] - finished loading page from cache with key Page_/product3.html_42, page found = False
2014-09-29 14:46:12,409 [14] DEBUG Performance [(null)] - about to load page content from provider with url /product3.html
2014-09-29 14:46:12,410 [14] DEBUG Performance [(null)] - >>GetContentByUrl(/product3.html)
2014-09-29 14:46:12,411 [14] DEBUG Performance [(null)] - GetContentByUrl: about to create query
2014-09-29 14:46:12,414 [14] DEBUG Performance [(null)] - GetContentByUrl: created query
2014-09-29 14:46:12,415 [14] DEBUG Performance [(null)] - GetContentByUrl: added criteria to query
2014-09-29 14:46:12,416 [14] DEBUG Performance [(null)] - GetContentByUrl: about to execute query
2014-09-29 14:46:12,784 [14] DEBUG Performance [(null)] - GetContentByUrl: executed query
2014-09-29 14:46:14,343 [14] DEBUG Performance [(null)] - GetContentByUrl: executed PageContentAssembler
2014-09-29 14:46:14,346 [14] DEBUG Performance [(null)] - <<GetContentByUrl(/product3.html)
2014-09-29 14:46:14,346 [14] DEBUG Performance [(null)] - finished loading page content from provider with url /product3.html, has value: False
2014-09-29 14:46:14,346 [14] DEBUG Performance [(null)] - <<TryFindPage (/product3.html)

2nd Update : CD Storage conf XML.

CD Storage Config XML

Waiting for your help and Support.

9

I'm not sure what the problem is, there could be a lot of causes, like a different configuration between your local environment and the other server.

It might be useful to set logging to debug. To do this, go into your config folder on your localhost machine, open the logback.xml and set this property to debug

<property name="log.level" value="DEBUG"/>

You will then get all the broker logging for your app on your local machine (the location where logfiles are written are also specified in this xml file). If you could post the contents of this log, we might find something more useful.

YOu should also check the dd4t debug log. DD4T has some built in logging. To enable it, make sure you have something like this in your web.config

For example, if you wish to enable logging using log4net, do this :

on the zone, add this

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />

in your appsettings, add this line:

<add key="DD4T.LoggerClass" value="DD4T.LogWrappers.Log4Net.Log4NetLogger, DD4T.LogWrappers.Log4Net" />

and then you also need some log4net configuration (can be anywhere below the root of your web.config file

<log4net>
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
  <file value="App_Data/dd4t.log" />
  <appendToFile value="true" />
  <maximumFileSize value="100KB" />
  <maxSizeRollBackups value="2" />
  <layout type="log4net.Layout.PatternLayout">
    <conversionPattern value="%date [%thread] %-5level %logger [%ndc] - %message%newline" />
  </layout>
</appender>
<root>
  <level value="DEBUG" />
  <appender-ref ref="RollingFile" />
</root>

This will also write some DD4T specific logging in your App_Data folder.

UPDATE

As you mentioned in a comment the page is in the broker db, but the pagecontent is not, then I suspect something is wrong with your deployer cd_storage config.

Could you check the cd_storage config of your deployer (the server where you publish to). If this is different, and for example, is publishing pages to the filesystem, while the cd_storage config on your dev environment expects the page content to be in the broker db, then you get problems like these.

Note that, even if you publish pages to the filesystem, this means that the page content is put on the file system, but page metadata (such as the filename etc) get published to the broker db.

So, could you verify your cd_storage_conf.xml file on your deployer server, and make sure it's in sync with the cd_storage_conf.xml in your dev environment ?

  • @Hearald Please check it, I have included DD4T log and core log also – Ravi Gadag Sep 29 '14 at 9:23
  • Could you also post your cd_storage_conf.xml file ? – Harald Hoffelinck Sep 29 '14 at 9:57
  • @Herald, Please check the updated question, I uploaed storage conf xml – Ravi Gadag Sep 29 '14 at 10:48
  • I can't see much wrong here. Can you verify the page is actually published in your broker db, has the correct filename (product3.html), and the publication id is the same as the one you are querying for ? – Harald Hoffelinck Sep 30 '14 at 7:54
  • yup it's there. but In database, PageContent is not there. I have page ID with this Product3.html. but it's content is not there. There is some issue with storage config. In Staging Page Contnet is there, but in Live server Page Content is missing the broker db. Please can you check the storage config once. ? – Ravi Gadag Sep 30 '14 at 8:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.