Showing posts with label SDL Tridion DX. Show all posts
Showing posts with label SDL Tridion DX. Show all posts

Saturday, 13 April 2019

SDL Tridion sites 9 PCA with REACT - Part 2

In the previous post, we saw how to set up the project using Apollo Client, ReactJS and interact with Tridion Sites 9 PCA. We also build a new schema, Dynamic CT and published 3 components using the Dynamic CT in order to retrieve them via PCA (GraphQL).

In the last exercise, we rendered the list of Dynamic News Components on the Landing page. Today we are going to continue using the same code and build the Details page and later on will see the deployment process and how to deploy ReactJs App.

So, let's start with the News details page, we already created the landing page and while doing that we had sufficient information to get the DCP of that particular component. If you have noticed in the code or screenshot from my last blog the Href that I've created for each News and Article items contains the combination of ItemId and CT and we need that same combination to get the Component Presentation.

DCPs with ItemID-CT available on Landing Page

Here are the JSX and Graphql code to render the News details page

News Detail Page

Here is the News and Article Details page again not a very attractive UI 😊.

Details Page

Let's build the App and see how's the production-ready build looks like. The below commands build the deployment package after npm build we need to run serve -s from the build folder and this will spin the Website

 $ npm run build
 $ serve -s

Build Package

Final Output 

Final Build

The updated code is available on GitHub and in the next blog, we will see more features works until then.

Happy Coding and Keep Sharing !!!


Saturday, 6 April 2019

Hybrid Architecture SDL WEB 8.5 and SDL Tridion Sites 9

Well, In my previous post we saw how we can use GraphQL with SDL WEB 8.5 by simply installing Tridion Sites 9 Content Service that will work isolated and read data from 8.5 Broker. But, this has some limitations I saw some difference in the Broker Database of 8.5 and Tridion 9.e:g The "Component Presentation" table has a new column CONTENT_ID in the Tridion 9 Broker. This field is not there in the 8.5 Broker and this caused an issue while accessing Dynamic Component Presentations using GraphQL.

To, sort any such issues which we might face, we discussed the new Hybrid approach where we will have the Tridion 9 Broker and State Store Database with Tridion 9 Services Discovery, Deployer, and Content service running parallelly with 8.5 CMS .


High-Level Architecture Diagram

  1. Install Tridion 9 Broker and State_Store Database (As per the recommendation by SDL we need to install SQL Server 2016 SP2 or 2017).
  2. Update storage configuration as per the new Tridion 9 DB details in the Tridion 9 Discovery, Deployer and Content service(These services could be on the same box or in a new) and then install the services.
  3. After installation of service run the “java -jar discovery-registration.jar update” from discovery service config folder. This command will register the discovery service capabilities.
  4. The above steps/command will set up the services for the content delivery environment.
  5. Next is create a new topology manager in order to set the publishing
    1. We need to keep 8.5 and Tridion 9 broker DB in sync. So that we can run existing  8.5 and at the same time we should be able to query Tridion 9 Broker DB using GraphQL.
    2. We need targets that will publish to both the Brokers (e:g WEB8_Staging, Tridion9_Staging, WEB8_LIVE, and Tridion9_LIVE). This will keep the existing env. working and at the same time, we can use Graphql.
      • WEB8_Staging will point WEB 8 Staging Discovery 
      • Tridion9_Staging will point to Tridion 9 Staging Discovery
  6. There is another advantage here, so when you MIGRATE from CM 8.5 to Tridion 9 you already have your Broker DB up-to-date, content delivery microservices are already working.
The above setup will let you continue with the 8.5 and it will also give us the privilege to use GraphQL as well.


Happy Coding and Keep Sharing !!!

Friday, 5 April 2019

OutScale Publishing in SDL Tridion

This was my topic in this year's SDL Tridion DX DEV India summit. We recently upgraded one of our client's system from SDL Tridion 2013 to SDL WEB 8.5, with more than 700 Websites and 200K items to publish, We need to build a system that supports the above scenarios with the high-performance rate.

So to maintain scalability we decided to use Deployer-Endpoint and Deployer-Worker rather than going with Deployer-Combined, we also used REDIS for Binary Storage and ActiveMQ for Massage queue/Notifications. Below is the Architecture Diagram.



Let understand the difference between Split Deployer and Deployer Combined
  • Deployer Endpoint:- Receive the package sent by the Transport Service and index it in Binary Storage. 
  • Deployer Worker:-  Process the package and saves the content in Broker DB or on the File System depending upon the configuration.  

Next, let's see how this architecture works step by step.

  • Content is passed to the Deployer after a user Publishes an item in the CME.
  • The Deployer Endpoint passes the Transport Package (.zip file) to the defined Binary Storage (File System or Redis Database). We are using Redis right now.
  • The Deployer Endpoint also passes the item to the Queue in ActiveMQ (JMS).
  • ActiveMQ triggers an event that informs the Worker Deployers that a new package has been received.
  • The first available Worker Deployer picks up the job from the Queue and contacts the Binary Storage to get the respective Transport Package.
  • After rendering the Transport Package the Worker Deployer passes the item to the Broker Database.
  • The Deployer then gets the status of the job from the Broker Database, which is updated by the Worker Deployer responsible for that job.

Below is the screenshot of Redis Consumes the "Transport Package" and in the ActiveMQ we have "Queue/notifications" Enqueued and Dequeued.



 Happy Coding and Keep Sharing !!!

Saturday, 10 November 2018

SDL Tridion Sites 9


SDL Tridion DX combines the strengths of SDL Tridion Sites 9 web content management, SDL Tridion Docs, and SDL Language services.

New Features in SDL Tridion Sites 9

  1. Headless Customer Experience 
  2. Dynamic content mashups with taxonomies
  3. Experience optimization 
  4. Regions for easy management of content-rich web pages
  5. Quick and easy image editing
  6. GraphQL-based content service
  7. Docker container support for flexible deployment
  8. SAML 2.0 support for single sign-on
  9. Alibaba Cloud support for websites in China
  10. Staged and rolling scenarios for smoother upgrades

Upgrade to SDL Tridion Sites 9


Upgrading to Sites 9 is easier to upgrade and it reduces risk and costs with zero downtime. The upgrade is available from Tridion 2013 SP1 HR2 and up.


Pre-Requisites for SDL Tridion Sites 9 CM and CD side
  1. Content Manager supports Microsoft Windows server 2016 x64, .NET Framework 4.7.2, Java 8. IIS 10
  2. The Content Delivery side is also known as UDP (Unified Delivery Platform) requires Windows server 2016, Linux/RHEL 6.9 and 7.4, .NET Framework 4.7.2 and Java 8.
  3. Both CM and CD databases support SQL Server Azure, Amazon RDS, MS SQL Server 2016 SP1 / 2017

Stay tuned for more updates on Tridion 9 !!!