It's not possible to use the exact same url for two mapped publications. This way, DXA would never know which publication to use to read content from.
You can point two publications to one dxa web app, but then you need to either use a different base url (eg http://english.mysite.com and http://french.mysite.com - if you want to localize by language, or ...
After some debugging, and with Alexey's comment, I managed to solve this.
The key is to disable the cache of the DXA Model Service in the cd_client_conf.xml like this
<?xml version="1.0" encoding="UTF-8"?>
<ServiceConfig CacheEnabled="false" ConnectionTimeout="10000"
Although this sounds like a defect in the DXA Framework in general, I think a work-around is possible, since you mentioned you don’t need more than one level expansion:
Create a new View Model Type, say SimilarBook, which maps to the same Schema/Properties as Book, but don’t let if have a SimilarBooks property.
Let the Books.SimilarBooks propery be of type ...
I am oversimplifying... but here's what applies to Tridion.
Basic Tridion (since 1999) is a decoupled CMS (Content Management and Website/Delivery are separate applications that can run completely isolated from each other)
Headless CMS is one where the Delivery of content for a website is done over webservices and there is no "CMS logic" inside ...
Whether creating a REST API over OData is a good option for you, nobody can answer but you I would say. Simply using a REST service is commonly accepted as one of the easier ways for external systems to connect, but if that should use OData or something else is something you can come up yourself with best, it might also be depending on the external systems.
The default configuration of all caches in the DXA source code is set on production/live values, to ensure the performance is optimal in case no changes are being made.
However, when you want to setup a development or staging environment with XPM, then you should disable these caches, as they indeed make you wait for up to an hour before your changes are ...
Instead of directly accessing the DXA Model Service, you can let your DXA Web Application act as a REST Service.
Any DXA Web Application can serve raw View Model data as JSON OOTB (try suffixing your Page URLs with ?format=json).
If you only access raw View Model data, you don’t need to have server-side Views (because you don’t do server-side rendering). ...
You can set -Duser.timezone=UTC in the JVM args when running your web application (on Tomcat or other) and this will fix the problem. Note that this may affect other date based functionality in your web application so be sure to test thoroughly that any part of the application that manipulates/displays dates is working correctly.
Note also that logging ...
This is a defect in the DXA 2.0 Model Service, which has already been hotfixed. See https://github.com/sdl/dxa-model-service/commit/77c2043ba690ae15f3efee9c3f598cb7bd79a4e8
Contact SDL Customer Support to receive this hotfix.
ContentProvider getEntityModel developed to work with MVC data. So it require registering view model. You can use dummy view to register your model.
In case you need full data which is returned by model service, you can write your custom provider by extending contentprovider. For reference you can check DefaultContentProvide code at https://github.com/sdl/...
Well, if you want to use the latest version no one can stop you. As far as I can see, even DXA 2.1 is supported only for .NET Framework 4.6.2 according to this link. What this means for you? Well probably you won't loose support for it, but every issue you occur in your app, for you to have a customer support, you must reproduce the issue in
Microsoft .NET ...
I got rid of that error from the logs by adding the TokenService back to the cd_client_conf.xml on the webapp side.
<TokenService ClientId="clientID" ClientSecret="encrypted:password"/>
This seems like a bug with DXA where even after you have the oAuth disabled, you need the token service tag with client id and client secret in the webapp. For some ...
WebRequestContext.Localization is indeed the context Localization/Publication per definition.
However, you can obtain other Localizations using SiteConfiguration.LocalizationResolver.GetLocalization(); it takes the Localization ID (i.e. the first number from the TCM URI) as input.
You can then pass in the obtained Localization object to the GetEntityModel ...
In DXA 2.0 (R2 Data Model), Rich Text Field processing is done on CM-side: see method DataModelBuilder.BuildRichTextModel https://github.com/sdl/dxa-content-management/blob/master/Sdl.Web.Tridion.Templates.R2/Data/DataModelBuilder.cs
Indeed, only MM Component Links for img tags are "expanded" by the Default Model Builder.
If you want to customize the Rich ...
Finally, Found the culprit by doing the detailed TRACE logs analysis and fixed.
It's because of below two items are not published from CMS.
Sitemap [Navigation] - Categories and Keywords
Generate Data Presentation - Dynamic Component Presentation (DCP)
Have you enabled the core-module maven profile? Otherwise check this and all the steps in Nunos excellent step by step guide for DXA Java: http://www.tridiondeveloper.com/using-and-debugging-dxa-java-with-web-8-5-on-amazon
I think it's not a matter of DXA 1.x or 2.x, but the use of SDL Web 8.5 with the use of microservices that changes the configuration of the cd_dynamic_conf file.
Now these configuration are managed in the "content microservice" (live environment) or "session" and "preview microservices" (staging with xpm environment)
As Rick mentioned, my Deployer Storage config had these lines:
<ItemTypes cached="true" defaultStorageId="reldeployerdb">
<Item cached="true" storageId="relpublishedfiles" typeMapping="Page"/>
<Item cached="true" storageId="relpublishedfiles" typeMapping="Binary"/>
<Publication Id="84" cached="true" defaultStorageId="...
In DXA 2.0, using the new R2 Data Model and Model Service, link resolving is done in the Model Service.
The Model Service uses the following class for this purpose: https://github.com/sdl/dxa-web-application-java/blob/master/dxa-framework/dxa-common/src/main/java/com/sdl/webapp/tridion/linking/AbstractLinkResolver.java
Note that removal of file extension ...
You can see in the debug output that the Component Links are not expanded because a Data Presentation exists.
DXA 2.0 supports so-called dynamic expansion of linked Components. With dynamic expansion, the linked Component is not expanded on CM-side, but published separately as a DCP (the so-called Data Presentation). Eventually, the linked Component will ...
Unfortunately, only metadata fields are published to a specific broker table to allow you for querying or sorting, so sorting on content fields isn't possible using the regular API.
Some options you may have
move the field you wish to sort on to metadata (most recommended option)
add a metadata field and copy the contents of the sort field to this field ...
To work with View on Site functionality you need to configure your website URLs to Create the Website and Web Application into Topology Manager.
Add-TtmWebsite -Id Staging_Website -CdEnvironmentId StagingCdEnvironment -Baseurls @("http://abcdef.esssa.com", "http://localhost:8080")
please change your customer environment websiteId and CdEnvironmentId
Kudos to Velmurugan; following his suggestion I found that debugging of the DXA Model Service is very straight forward by using the remote debugging feature. It's a 2 step process:
Configuring remote debugging in IntelliJ IDEA
Add remote debugging JVM parameters to the start script of the DXA Model Service
Nice benefit of using remote debugging instead of ...
This is a bug with DXA 2.0 release - see https://github.com/sdl/dxa-content-management/issues/14. The issue has been closed, as there has been a fix made, but this is post 2.0. You will either have to upgrade your TBBs to DXA 2.1, or bake your own TBBs containing the (simple) code fix: https://github.com/sdl/dxa-content-management/pull/15
If everything is correct the documentation should mention that you need to publish the entire Publication for the example website to function correctly.
The general idea was that we would have a custom resolver that would take care of publishing the linked Components (DCPs to be correct). But the custom resolver which was added in the CTP 2 release didn't ...
The DXA Model Service uses CIL caching. This cache is not triggered to invalidate entries when a page or component presentation is published or unpublished. It is a purely autonomous, time-based caching mechanism.
In general, you can’t get the content of Components separately on the CD side.
You can get the content of a Dynamic Component Presentation, though. In DXA, DCPs are represented as Entity Models with an ID like <ComponentID>-<TemplateID>. For example: 123-234 for a DCP of Component tcm:x-123 rendered with Template tcm:x-234-32.
You can use ...
I see @Bart updated his answer. Here's my update in case someone is looking for info about that specific integration.
The Salesforce CMS Connect basic integration expect HTML from whatever CMS it connects to.
The DXA modules by @NiclasCedermalm, you're considering include: