December 17, 2018

SDL dxa compatibility table



Compatibility Chart 


  DXA 1.5 DXA 1.6 DXA 1.7 DXA 1.8 DXA 2.0 DXA 2.1
Tridion 2013 - - - -  -  
Tridion 2013 SP1 HR1  ✓d - -  -  
SDL  8.1.1  ✓  
SDL 8.5 - -  ✓  
SDL Cloud - -   -  
SDL Tridion Sites 9          
Content Interaction Library
CIL 8.2          
CIL 8.3          
CIL 8.5          
CIL 10.1        ✓    
.net and Java versions            
Java 7+    
Java 8        
.net 4.5.2  
.net 4.6.2          
GraphQL          
Model Service         Dr

December 06, 2018

SDL Tridion Sites 9 features

Recently SDL launched SDL Tridion DX suiteSites 9 is part of it. Last version was Sdl Web 8.5.

There has been addition of new feature in the SDL Tridion DX suite.

Here are summary of few of the features of it.

Public Content API

It consisting of new GraphQL endpoints for the Content Service and the Session-enabled Content Service, based on the GraphQL API query language, and using the same RESTful endpoints as before for the Content Deployer.  GraphiQL IDE can be used to play with it.


Image editing in CM

Introduced  basic editing capabilities of the feature:

Crop
Resize
Flip
Rotate by 90

Integration of Tridion & DOCS

SDL Tridion Sites can be integrated with SDL Tridion Docs (13 SP2 onwards) to facilitate a "content mashup" --that is, putting content coming from both products together on the same webpage.

Page Region: Content template on CMS page can be grouped into Regions, its nice help for Content authors. but region name again confusing as there are already various kind of regions in DXA.

Tridion is back: It now called SDL Tridion Sites instead. community is very happy with it.

SAML 2.0 authentication :  Content manager and XPM  login is cloud ready now, and supports SAML. SiteMinder or IBM Tivoli are deprecated, but still works,  but  as the Core Service, WebDAV , Content Porter, Template Builder and the Visio Designer, still use LDAP-based authentication.

XSD Validation of CD config files: Earlier if you introduce any issue in XML file such as cd_storage, system would through weird errors and logs has to be scanned for checking issues.  but now these config files are validated against XSD on start of services.

Elastic Search in XO : Fredhopper has been replaced with Elastic Search.

CILs.net extension through DI: Another awesome and long pending change, Default implementations of logging and caching can be replaced with custom using DI.


November 19, 2018

Compatibility Chart of SDL Tridion Sites



Compatibility Chart 

Tridion 2011 SP1 Tridion 2013 Tridion 2013 SP1 HR1 SDL  8 SDL 8.5 SDL Tridion Sites 9
Microsoft Edge - - - - -
Internet Explorer 11 - -  ✓
Internet Explorer 10 -
Internet Explorer 9 - -
Internet Explorer 8 - - - -
Internet Explorer 7 - - - -
Internet Explorer 6 - - - - -
Mozilla Firefox  ✓
Google Chrome  ✓
Safari for Mac
Safari 12 for Mac
Operating System
Microsoft Windows Server 2016 (x64)  ✓
Microsoft Windows Server 2012 R2 with Update x64  Y
Microsoft Windows Server 2012 R2 x64  ✓  ✓
Microsoft Windows Server 2012 x64  ✓  ✓Dr
MS Windows 2008 R2 SP1 x64  ✓  ✓  ✓  ✓
Microsoft Windows Server 2008 R2 x64  ✓D
Microsoft Windows Server 2008 SP2 x86/x64  ✓D
Windows Server 2003 x86, x64
Windows 10 x86, x64
Windows 8.1 x86, x64  ✓  ✓
Windows 8 x86, x64  ✓  ✓  ✓  ✓Dr
Windows 7 Sp1 x86, x64  ✓  ✓  ✓  ✓  ✓
Database Server

AWS RDS-MSSQL 2017
AWS RDS-MSSQL 2016 -
AWS RDS-MSSQL 2012 ✓P
Microsoft Azure SQL database - - - Y
Microsoft SQL Server 2017
Microsoft SQL Server 2016 SP2
MS SQL 2016 SP1 - - - -
MS SQL 2014 SP2 ✓P
MS SQL 2014 SP1 - - - -
MS SQL 2012 SP3  -  -  -  - ✓P
MS SQL 2012 SP2  -  -  -
MS SQL 2012 SP1  - ✓dr  - -
MS SQL 2008 R2 SP3  -  -  ✓  -  -
MS SQL 2008 R2 SP2  ✓ ✓dr  -  -
MS SQL 2008 R2  ✓dr  - - - -
MS SQL 2008 SP3  - - - - -
MS SQL 2008 SP2  - - - - -
MS SQL 2008 SP1  - - - - -
Microsoft SQL Server 2005 SP4  ✓P  - - - -
Microsoft SQL Server 2005 SP3  ✓Dr  -  -  -  -
Oracle Server 12.2.0.1
Oracle Database 12c patch set 12.1.0.2  -  -  ✓  ✓  ✓
Oracle Database 12c patch set 12.1.0.1  -  -  ✓dr -  -
Oracle Database 11g Release 2 patch set 11.2.0.4  -  -  ✓  ✓  ✓  ✓
Oracle Database 11g Release 2 patch set 11.2.0.3  -  ✓  ✓dr  -  -
Oracle Database 11g Release 2 patch set 11.2.0.2  ✓  -  -  -  -
Oracle Database 11g Release 2 patch set 11.2.0.1  ✓dr  -  -  -  -
Oracle Database 10g Release 2 patch set 11.1.0.7  - - - - -
Oracle Database 10g Release 2 patch set 10.2.0.5  ✓  ✓dr  -  -
Oracle Database 10g Release 2 patch set 10.2.0.4  - - - - -

November 12, 2018

DXA 2.0 introduction and future

DXA 2.0 is change in terms of compatibility and existing model and releases.
here is list of changes and features in this greatest and latest release of Digital Experience Accelerator.


  • Trivident's DD4T and SDL DXA will merge to become a one product. it will allow to release it fast and compatible versions.
  • Product Backlog will be made public to community.
  • R2 - New Data Model 
  • Clean Data Model comparable to existing. 
  • Major changes in Caching, support of Donut caching.
  • Introduction to Model service, which runs at Delivery Side & DXA app consumes it.
  • Enhance performance using new tbbs and DXA resolver, As Expansion of linked components is now happens in Model Service
  • Improvements in Publishing Pipeline.
  • Extension points for CIL.net
  • Developer can change/extend implementation.
  •  Logging
  • oAuth provider.
  • ADF claim store provider etc

Architecture



Caching

  • Make it all distributed or place only certain cache regions in distributed cache
  • Provides output caching and view model caching
  • New output caching supports dynamic entities as well, Implement via  annotation of classes using     new properties:
            [DxaOutputCache]
            [DxaNoOutputCache]
  • You can cache fully built view and entity models
  • Mark models as dynamic to avoid them cached.
  • Support for Redis to support Distributed Cache.


Migration from existing DXA versions

  • - DXA 1.x -> DXA 1.8 ->  DXA 2.x [.NET]
  • - DXA 1.x -> DXA 1.8 ->  DD4T 2 ->  DXA 2.x [Java]

June 25, 2018

Caching in SDL Tridion Content Delivery System - Part 2

Configuring Cache










<logger name="com.tridion.cache" level="DEBUG">
<appender-ref ref="rollingCacheLog" />
 </logger>

Content Delivery caches its published content using its default implementation, which means that items are removed based on the "least-recently-used" policy (items that were least recently used are removed first) and using the dependency tracking feature (items are not removed if they depend on other items still in the cache). Only LRU policy is available.

Cache Invalidation Mechanism

Cache Channel Service
- Apache MQ

















Cache channel service has issues with Port allocation, CCS opens random ports sometime or required lots of ports to be opened for communication, so its least preferred way.

Another way is Apache MQ, its mostly used invalidation system, but install version as specified by SDL, because latest version does not work on it and cause lots of issues.


With DXA 2.0 SDL start offering Model service cache on the delivery side, which resolve the object and dependency, it also offer cache and its specified as follow.

Model Service Cache:



May 04, 2018

Caching in SDL Tridion Content Delivery System - Part 1

SDL Content delivery has many different components and, caching happens at multiple levels. I am trying to explain different level of caching here.

- Server Side Cache (Delivery System)
- Client Side Cache (.net/java app)



By default, caching of published content is not enabled. You need to enable it in the cd_storage.config



March 24, 2018

Sdl Tridion Sites Dev Summit 2018 Bengaluru

After rocking in Mumbai, New Delhi(twice), This year Dev Summit happen at Bengaluru. 55+ techies were present in the summit including Nuno, Alvin, Kurt, Venu from SDL.

Day was packed with brilliant sessions.


Theme of the dev summit was Introduction and knowledge sharing of to-be-launched, SDL Tridion DX which combines SDL Tridion Sites 9 and SDL Docs.
also DXA 2.0.

Everyone from SDL presented the sessions including.

- Nuno presented SDL Tridion Sites and DXA 2.0
- Rajesh Kumar shared thoughts on pre-sales demo.
- Kurt showed demo on Tridion Docs
- Sayantan showcased the connectors.
- Alvin on GDPR.

Content Bloom Folks also presented couple of session.
- Priyank showcased Powershell and Core Service connection and some commands.
- Pankaj on UDP and Upgrade Strategies
- Hemkant shows use of Containers.

I presented on various ways of Caching in SDL echo-system, including DXA 2.0

after parties were awesome. Shh....

February 15, 2018

Different types of Content migration

Website is the most important element of any business & digital strategy. In rapid changing web and web technologies it becomes necessary to redesign your website/web app for different requirements.
  • Not responsive
  • Content update to reflection on website takes time.
  • Content creation process is mess.
  • Integration with CRM, DAM, E commerce, Social media.
  • Launch & Translation for new market is cumbersome
  • Conversion is bad
  • Outdated technologies
  • SEO & ranking issues.
Content is king and design is queen, so both needs to be up to date for your business kingdom.
Information Architecture (IA) is very first step in the redesign of the website. Information architecture helps in organizing content so that users intuitively adjust to the website & find without extra effort. Information Architecture becomes blueprint for UX team and wire framing. Though wire framing is becoming out of fashion due to quick turnaround time for design. IA and UX are very important aspects of the redesign.

Content Migration

IA & UX also helps in driving whether existing content can be used or needs to be migrated. Because if existing content does not fit, then new content copies and authoring of same becomes part of redesign project. Due to change in IA and UX new images, device specific images will be required. Content as-is migration does not make sense.
But still there are section of website which require content migrations, blogs, articles any other content which does not get impacted due to above changes.
Content Migration can be manual or automated.
Manual Migration:
It involves a person or team of people doing the work of copying and pasting a site’s content from one system to another. If content to be migrated is not enormous and doesn’t have lots of Media than Manual migration is the one of the choice. But any change in design will cause again going through all the content and update in all the pages, which becomes very cumbersome and error-prone.
Automated Migration
This method requires developers to write script/code to fetch the content from one system and push the content into target system using Target's system's API. (e.g. in SDL Tridion, Core Service is used). Depending on complexity of target system some specialization is always required to write the migration scripts and validation.
Automation migration also falls into two types
  • Source CMS to Target System directly.
  • Intermediate system to Target System.
Hybrid Migration
There are situations when Target system is not yet ready for content authors and authors can't wait till system gets ready, as content size is huge and timelines may get affected.
So an intermediate system is taken where author enters the content instead of Word processing software's. Later on when target system is ready, content can be imported using automation scripts, so a parallel track starts writing scripts to automate the content ingestion from intermediate system to target system.

February 14, 2018

Publish Settings in DXA explained

DXA has few system pages like Html-design, _navigation and “Publish Settings”, out of these Publish Settings is the one which boots an DXA application and considered as the very important system page.
Publish setting provides intelligence to the MVC application to get it work faster and isolated from CMS.
How does it choose what to publish?
So DXA provides a schema called Module Configuration. Whenever a module is created, a component of this schema is created you define the module name, version and related dependencies of it.

Whenever Publish-settings is published. It searches for the all components created with this schema
& generate files which store as binaries in the Broker DB. Above picture is of Core component (Module-Configuration schema). If you see it has listed configuration and Resource dependencies of this module.
Files Generated –  (each files starts with its module name)
/System/config
-          Core.json  - Contains all the configuration values(combined)  from attached components above
-          Core.schemas.json – contains name and id of all the schema of this module
-          Core.taxonomies.json – contain all taxonomies of the system.
There is another file _all.json in this directory which actually list all above files and few other environment settings.
/System/Resources
-          Core.json – a combined file of the entire resource component attached in module configuration.
/System/Mappings
We can say it is master data of schemas & templates, this is not module dependent files but global files.
-          Schemas.json - it contains all the schemas’ definitions from the CMS.
-          Regions.json - it has details of all the regions and details of component template where it’s used, along with linked schema of CT.
-          Includes.json – it contains all the Page Template Ids and associated includes in that PT.
So lots of information required/used by DXA for various purposes.
It needs schemas. Json to map field values to the respective entity, Semantics and XPM in MVC application. So whenever there is change in schema you have to publish “Publish settings” page to reflect the change in application.
Some Tips:
Any change in schema CT’s Region and PT’s includes require users to publish this page. Otherwise you will spend hours to figure out where the heck are my changes.
When DXA boots it loads _all.json of config and resources to read all the respective files and download all these under BinaryData folder of your application’ root directory.


January 22, 2018

Semantic markup using Schema.org in DXA

What is Semantic SEO:  Semantic SEO is giving meaning to your  data embedded in the html Tags using some metadata. and which would be utilized by the search engine to index your page in better way.

Why do i care: Semantic SEO is hot topic these days because Google and other Search engine have updated their algorithm to consider and give little higher weight to pages having  semantic markups. It seems inevitable that including semantic mark-up tags in your html will become more important,  check this: Schema mark-up rank higher in SERP’s.

What is Schema.org
Schema.org  provides vocabulary to give semantics to your html tags , which is supported by  Google & Bing. You can find out schema from schema.org for your particular entity and tag the content with that to give it a meaning.
schema.org standards allows specified entities such as products, places or people to be identified in your HTML with different attributes.

Example: Markup with semantic attributes

<div prefix="s: http://schema.org" typeof="s:Movie">
<h1  property="s:name">Avatar</h1>
  <span  property="s:genre">Science fiction</span>
</div>

On inspecting above tags, you will find out above details have been given meaning by adding those attributes (bold). so without this any search engine can't distinguish between what is above information exactly. Now Search engine knows its A movie which has name Avatar, and its a Sci fiction.

Without semantics Google may have index it as book, some mythological character etc. but now its has specific meaning and that's the purpose of Semantics SEO and Schema.org.

Formats: Schema.org just provided the vocabulary or schema to give meaning to your information, but hows this vocabulary is attached to content is , where format comes to the picture.
following are the main formats using which we can tag our content.


DXA and Semantic SEO : 
DXA makes life very easy for us to add those ugly semantics markups into your html tags. Its very good feature which comes OOTB in the DXA all version.

DXA default Implementation: DXA comes with RDFa Lite implementation.  RDFa Lite consists of five simple attributes; vocab, typeof, property, resource, and prefix. so its lite version of RDFa which i mentioned in the list above.
if you want to use any of other format in your code, then you have to implement it.

[SemanticEntity(Vocab = "http://schema.org", EntityName = "Movie", Prefix = "s", Public = true)]
    public class Movie: EntityBase
    {
        [SemanticProperty("s:name")]
        public string Name { get; set; }
         [SemanticProperty("s:genre")]
        public string Genre { get; set; }
    }

SemanticEntity -:  This attribute actually defines which Vocabulary you are going to use
EntityName: Entity name from specified Vocab. Name is one of schema in Schema.org
Prefix: kind of namespace. so if you define multiple formats , Vocab on the it. it would help to differentiate.
Public=true/false:  Semantic attributes will only be applied to markup if Public=true, otherwise it will be ignored.
SemanticProperty: Name of  Entity properties has to match with the name defined in schema.org/Movie only then it will add meaning and will be used by Google to index.

<div @Markup.Entity(Model)>
  <h1 @Markup.Property(Model, "Name")>@Model.Name</h1>
   <span @Markup.Property(Model, "Genre")>@Model.Genre</span>
</div>

so when this is executed, it will give output  as shown above.

Semantics markup Validation using Google structure testing tool; developers.google.com/structured-data/testing-tool/