You can turn it back on in your Spring dispatcher servlet XML:
<!-- DD4T Provider beans -->
<bean id="binaryProvider" class="org.dd4t.providers.impl.BrokerBinaryProvider">
<property name="contentIsCompressed" value="true"/>
<property name="cacheProvider" ref="cacheProvider" />
Using Fiddler I found out that the TokenService was registered on the localhost domain. That's why the webapplication (which was running on my local machine) couldn't access the TokenService on the development server.
See screenshot below:
I configured the TokenService with a domainname and now it works.
That EHCache uses a lot of memory makes sense, since when caching is turned on, it will use the configured amount of memory to store items.
If you disable cache, be prepared to take a big performance hit. All models and items generated and fetched from the Tridion Broker database will always happen. Turning on the Tridion Object Cache will essentially move ...
There is no provider to make DD4T version 1 work with Tridion 9. You have 2 choices:
Upgrade to DD4T 2.
Create your own Tridion 9 provider.
If you go for option 2, you must also update the ProviderAssemblyNames.cs class in the DD4T.ContentModel.Contracts assembly, and add your custom provider name there.
If you are using DD4T caching with ActiveMQ cache invalidation, that allows you to keep DD4T objects cached for a long period (until they get invalidated).
However, your application may still be (indirectly) using the CIL API as well. So, I would recommend to also enable CIL caching (but with a relatively short Time To Live, e.g. 1 minute).
BTW: for Java ...
Thanks all for the answers and comments. But it was a silly mistake from my side, So to upload the DLL (and other TBBs) in Tridon I was using the command below
TcmUploadAssembly.exe config.xml "MyMergedAssembly.dll"
For some reasons in config.xml, I had "uploadPDB" set to false like this <uploadPDB>false</uploadPDB>, so PDB wasn't getting ...
Content Delivery does not expose all of the component's properties. So, the Content Delivery frameworks, DD4T and DXA, would not contain all of the component's properties that you would normally see in the Content Manager. Using DD4T, we would be able to get the component's publication information. Something like this:
var componentFactory = ...
Please note: updated answer!
The JMS-based cache invalidation of the .NET version of DD4T in a pre-release, so you have to do a bit of work.
This is what you should do:
Add a NuGet reference to DD4T.Caching.ApacheMQ (set it to prerelease mode since there is no official release yet)
Add the following line to the Application_Start method, before you call ...
The problem, as it turns out, is a missing instruction in the SDL documentation. I had recently upgraded from SDL Web 8.1.0 to 8.1.1 (aka the Cumulative Update 1). I followed the instructions on how to modify my REST-driven Java web application (http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v1/GUID-D7B6BC6E-0965-4A16-AF1C-F59DABD78775). But I never ...
The problem is because the link level is set on the wrong TBB.
Since all DD4T TBBs use the same parameter schema, the TBBs seem to use the value from the first TBB in which the value was set.
So if you don't the link levels in the very first TBB, it will use the default, even if you set it further down.
In your scenario, the link level was not set on "Add ...
Rick already answered to clarified.
Indeed!, there is no OOTB way to retrieve individual components fields values of published DCP and page JSON outputs, but It's possible to do a Graph-QL extension using the ‘CDGraphQLSchemaExtension’ extension point. This is available in Sites 9.0 but with limited support as it is currently not documented. It will fully ...
First of all, you will need to setup JMS as your cache invalidation mechanism, as DD4T's caching mechanism does not support listening to RMI. You can read all about that in Quirijn's blog post and the follow-up post.
To enable JMS cache invalidation in a dd4t-2.0 webapp, you need to do the following:
Ensure the following dependencies are present:
The problem was related to a conflict in dependencies.
This function "encodeBase64String()" is normally available in the jar commons-codec.jar
Both our original application and the dd4t application had these jars in their classpath, but the original application had a really old version (1.3, versus 1.8 for DD4T).
Seems the old version of the jar didn't have ...
The first question that came to me, if it is already html which ready
to be rendered then why do you want to read that using DD4T instead of
directly rendering it.
The point of having DD4T is to help with the MVC application implementation. The output from the component presentation is expected to be xml / json which can be easily converted to model by ...
When using the DD4T 2.0 Templates (latest version 2.1.2), to enable compression I believe you have to add the CompressOutput TBB as last item in your Page Template. Not sure if you can also use it on a Component Template.
The benefits of using compression are that the size you push over the line (between the CM and Deployer) is less, and thus the transport ...
DXA PublishMappings TBB. That TBB Publishes schema and region mapping information in JSON format.
In DXA if you publish the Publish Settings page with Core (Module Configuration) component then in the background, These binaries are named like schemas.json are getting published and also have that name (excl. file extension) as variant ID to Broker DB.
Unfortunately, the DD4T JSON (or DXA R2 JSON for that matter) is basically just a blob of text for the Content Service.
Indeed, the GraphQL Content Service provides a feature to return JSON content as JSON within the GraohQL result (rather than an escaped JSON string), but that is as far as it goes; it is not really structured data which can be filtered or ...
There is no invalidation of the DD4T cache in DD4T .NET 2 out of the box.
However, DD4T Java has cache invalidation out of the box.
The Cache Channel Service will invalidate the Tridion Object Cache but not DD4T's cache. You will need to rely on TTL or integrate with ActiveMQ/JMS.
update: I have logged an issue in git hub along with a pull request to fix the issue.
I was obtaining the IComponent via an IComponentFactory and using the IViewModelFactory.BuildViewModel<T>(IComponent) method.
This does NOT work.
If I instead use an IComponentPresentationFactory to obtain an IComponentPresentation and pass the ...
You seem to be using the wrong DLL for DD4T logging.
Try using DD4T.Logging.Log4Net.dll version 2.2.0
You seem right that , with MVC5 onwards, The namespace DD4T.ContentModel.Logging is moved to dll DD4T.Core.Contracts.
And, BTW, how and where do you got the DD4T.LogWrapper.Log4NET.dll ? It ...
Tcm ID we're incorrect.
private DynamicComponent GetDynamicComponentPresentation()
var componentPresentationFactory = DependencyResolver.Current.GetService<IComponentPresentationFactory>();
var componentUri = "tcm:18-917-16";
var componentPresentation = componentPresentationFactory.GetComponentPresentation(componentUri);
After a lot of debugging, we noticed that some queries (especially ones regarding taxonomy queries) were executed very slow, resulting in a 'queue' of sql commands to be executed.
The SQL Server Activity monitor showed us all these expensive queries, and the query execution plan learned us that adding a number of indexes would help improve the execution time ...
There is not one prescribed way to do this. An option would be to include a reference to your page model in your component model, and use the page controller to set the page property on each of the component presentations.
You can then access the entire page model from your component models:
If you only want to do this for selected ...
But why would you want to retrieve such a version in the first place? What would be your use case? If an item is checked out, you can still read the item with its "versionless" uri and you will get it as such (checked-out (readonly)). Or to be more precise, you will get the last major version which was checked in. There's no need for explicitly reading the "...
As Rick mentioned DXA ships it's own version of DD4T TBBs for DXA 1.8 from https://github.com/sdl/dxa-content-management/tree/release/1.8
I can see DXA 1.8 Web application uses following DD4T framework version.
<package id="DD4T.Core" version="220.127.116.11-...
Please read more about here DD4T Supports SDL Tridion Sites 9, In your case, you might need to upgrade your DD4T version to the latest one both web app as well CME DD4T templates.
It's supported only microservices-based implementation when upgrading to Sites 9
I hope it helps.
The issue is now reported on GitHub. I found out that there are multiple issues when working with the DXA Model Service together with DD4T. There is an issue related to keywords and there seems also to be an issue with the DD4T.Providers.DxaModelService package, when retrieving Component Presentations with the methods: ComponentPresentationFactory....
I see no reason to assume there is anything wrong with your cd_storage_conf.xml, that logging looks normal to me. I did notice a couple of other things.
First of all, the blog you are referring to is quite old, and is meant for Tridion 2013 sp1 as you probably noticed. Please make sure that you add the jars and config files for SDL Web 8.5 instead of the ...