Active Mode External Authentication in Sitecore Content Hub

ch-logo

Hi Champs,

Today we will take a look at how the external authentication mode works. Enabling this setting will force the user to go to the external authentication login landing page instead of the Sitecore Content Hub login page. Below are the steps to change the settings.

Steps:

  1. Navigate to the Manage page.
  2. Navigate to Settings.
  3. Search for PortalConfiguration.
  4. Click Authentication under the PortalConfiguration.

authentication

5. Find authentication_mode under the Authentication. Set the value to Active, as shown below.

active

 

For more details on other settings options please check the old Sitecore CH version doc here.

Keep Learning!!!!!!

#sitecorecontenthub #sitecorelearn #sitecoremvp #Sitecore #SitecoreMVP #SitecoreCommunity #MVP #learnsitecore #contenthub #contentmarketing #sitecore #sitecorecommunity #developers #sitecoredevelopers #learnsitecore #contenthub #avanade #avanadedowhatmatters #avanadeproud #SitecoreOOTB

Advertisement

Unable to edit hyperlink in Sitecore Content Hub mass edit RTE

ch-logo

Hi Champs,

Quick update: One of the open issues I recently logged (MONE-36553) with the Sitecore Team for Sitecore Content Hub is now resolved in release 4.2.31. Below are the steps to reproduce the issue if you are or older version than 4.2.31

  1. Go to Sitecore Content Hub.
  2. Navigate to the Assets page.
  3. Then select multiple assets and click on the Mass Edit option.
  4. The system will navigate to the Asset Mass Edit table page.
  5. Here if you have any of the RTE property then it won’t allow you to add hyperlinks.

MONE-36553

Now this is resolved and if you upgrade to the 4.2.31 version then you won’t see this issue.

Reference:

https://doc.sitecore.com/ch/en/users/42/content-hub/release-notes–whats-new-in-content-hub-4.2.31.html

Happy Learning!!!!!

#sitecorecontenthub #sitecorelearn #sitecoremvp #Sitecore #SitecoreMVP #SitecoreCommunity #MVP #learnsitecore #contenthub #contentmarketing #sitecore #sitecorecommunity #developers #sitecoredevelopers #learnsitecore #contenthub #OOTB

Sitecore Content Hub Expire Time Settings

ch-logo

Hi Champs,

Today we are going to check two important properties of Sitecore Content Hub which could help you to resolve the issue of getting logged out.

  • ExpireTimeSpan
  • SlidingExpiration

Basically, both properties are part of Authentication within Content Hub Portal Configurations.

ExpireTimeSpan:

This property is as same as session Timeout, but the catch is this works irrespective of activity as this works on authentication cookie.
You can increase the session timeout by setting “ExpireTimeSpan” to any value in minutes up to the upper limit of 1440 minutes, the default value is 30 minutes.

SlidingExpiration:

Set this property to true, then it works whenever a request is done before ExpireTimeSpan which updates the expiration time for the authentication cookie, the default value is false.

Both of these settings should be configured under Manage->Settings->PortalConfiguration->Authentication.

The default value of the setting “SlidingExpiration” is false,

I’ve linked some documentation describing these settings here.

Keep Learning Champs!!!!!

#sitecorecontenthub #sitecorelearn #sitecoremvp #Sitecore #SitecoreMVP #SitecoreCommunity #MVP #learnsitecore #contenthub #contentmarketing #sitecore #sitecorecommunity #developers #sitecoredevelopers #learnsitecore #contenthub

Configuring Related Assets in Sitecore Content Hub

ch-logo

Hi Champs,

It’s been almost a year since I shared something, sorry for that as I was busy with personal things happening.

But now I have decided to share the knowledge back to the community with an innovative mini blog series for Sitecore Content Hub.

The series will have topics like Authentication, Related Assets, Asset Orientation, Notifications flow with Email, Archival flow, etc.

In this blog, we will deep dive into Related Assets from the End user’s point of view where most Content Editors and Administrators want to see the Assets which are Related to each other by some parameters. In our case, we took Location as a parameter and performed this activity.

Here are the detailed steps:

  1. Create a taxonomy Location and add items to it, eg. Pune, Mumbai, etc.
  2. Navigate to Manage > Schema > Asset, and create a taxonomy member to link M.Asset to R.Location (M.Asset is the Child of R.Location).
  3. Create a new group something like “Related Assets Details”.
  4. Add a new taxonomy member to this group and name it something like “RelativeLocation” While creating this on the Advanced tab, make sure Nested is set as true. Save and apply the changes to the Asset definition.
  5. Navigate to Manage > Pages > Asset mass edit table page, and make sure that you add one more column to MassEditTable component to accommodate RelativeLocation member for Asset.
  6. Now Navigate to Manage > Pages > Asset details page, and create a Search component change the setting to show it as a Panel with the title. Use the following filters inside the component:
      • System: Asset (M.Asset)
      • Fixed: Relation (Role: Parent) – RelativeLocation
  1. In the Output Tab of the search, the component set the fields as below.

search-component

  1. Once you create all of this go to the Assets page and select multiple Assets and Edit in Table where you could add the relative locations as below.

asset-mass-edit-table

  1. Go to the Asset details page of an asset. You should see all assets belonging to the same location displayed on the Asset details

related assets

Note:

  • You could create your own Taxonomy relations this is just an example.
  • The restriction is you can add only one filter to this at a time per search component.

To make it easier you can check the following video.

Keep learning champs!!!!!

#sitecorecontenthub #sitecorelearn #sitecoremvp #Sitecore #SitecoreMVP #SitecoreCommunity #MVP #learnsitecore #contenthub #contentmarketing #sitecore #sitecorecommunity #developers #sitecoredevelopers #learnsitecore #contenthub

How to Install Optimizely 12 on local

Hi Champs,

Here is a new blog in Optimizely Series, this blog is about installing the Optimizely 12  on “.NET5.0”.

Follow the below steps.

Before you do the below steps, please check the system requirement here.

  1. Create a new folder like “C:\Alloy12”
  2. Go to command prompt and change the directory to– C:\Alloy121
  3. Now use “dotnet new -i EPiServer.Templates” command to install the Optimizely template for creating the Optimizely project.2
  4. Just cross-verify us “dotnet new –list” command to check if you have Optimizely packages in place.3
  5. Now use “dotnet tool install EPiServer.Net.Cli –global –add-source https://nuget.optimizely.com/feed/packages.svc/” command to install CLI. (In my case it is already installed)                       4
  6. Now use “dotnet new epi-alloy-mvc –name Alloy12” command to create Alloy Demo templates.5
  7. You are now ready to install the database. Assuming you have done all the above steps correctly you now can use “dotnet-episerver create-cms-database ProjectName.csproj -S .\SQLEXPRESS -U sa -P “password” “ command to create the database for this current instance. (Note you need to use credentials and project names as per your local)6
  8. Now Use “dotnet build “ command to build the project.7
  9. Now use “dotnet run” command to run the project.8
  10. After this you can see in the terminal a localhost url with the port where this instance is running in my case, it is as below with url “https://localhost:5000/”
    9
  11. After creating the Admin user from the above panel you will be able to login into Optimizely.10

Hope this article will help you with your local Optimizely 12 setup with the AlloyDemo project.

Happy Learning!!!!

“Sitecore Vs Optimizely” 

Hi Champs,

I am back with my knowledge sharing after traveling from one part of the world to another with new learnings.

Today I would like to share some limited knowledge that I gained about the two of the strongest “.NET-based DXPs” in the market Sitecore and Optimizely.

This analysis is done from my individual experiences and I might be false for a few things but I tried to get the correct data as much as I can. let me know if you have any other thoughts on the below points.

  1. The complex modeling structure makes it challenging to work on core components of Sitecore. Whereas, Optimizely is straightforward .NET development.  
  1. When the system comes in complex form gives better power, so Sitecore is more powerful in case of functionalities like personalization over Optimizely.  
  1. Because the content model gets updated by Code moving between environments is easy in Optimizely, whereas Sitecore has complex content moving because of multiple databases involved.  
  1. Sitecore give more power to the Content administrators in case of creating “Content-type” and “templates” along with developers. Whereas, Optimizely only allows a developer for this activity.  
  1. Page/Content editor is way better and simple to use in Optimizely over Sitecore.  
  1. Sitecore is better over Optimizely when it comes to overall product experience from an enterprise-level point of view.  
  1. Both are still behind for full-fledged SaaS offerings like Adobe.  
  1. Upgrading Optimizely looks better and steps by step process because of very articulated documentation. Whereas Sitecore is behind here as it is complex and tricky.  
  1. Digital optimization features are superior in Sitecore over Optimizely.  
  1. Sitecore has more Global presence than Optimizely.  
  1. Sitecore also has a faster-growing community in case of knowledge sharing over Optimizely.  
  1. Optimizely has more solution partners over Sitecore.  
  1. Optimizely also has an edge as it can target small, mid, enterprise customers over Sitecore as they are more big fish customers centric.  
  1. Overall, both are similar. The customer and the implementation team will be the decision-maker in choosing which one is better for them. Bothe will solve the common problems and will provide basic features. 
  1. Sitecore CDP (Boxever) is strong enough and well-integrated with different Sitecore offerings which make the CDP and personalization experience superior at the same time Optimizely has a similar offering where they work on the same features the only difference is Optimizely ODP (Zaius) is part of the product whereas Sitecore CDP comes as a different product. 
Credit to: Optimizely and Sitecore

16. Optimizely’s B2C commerce is more powerful and has ease of implementation over Sitecore Commerce. (For development and as well as for ease of use.) 

Let me know if you want more details on any of the platforms from a dev point of view which will give me encouragement to write more. Also do let me know if you have any other thoughts on the above points.

Keep learning!!!!!!!

Introducing BlazeMeter

Hi Champs,

Today we will speak about BlazeMeter. As a introduction we will make it question answer session as below.

What is BlazeMeter?

BlazeMeter’s open-source based, enterprise ready platform unifies all the functionality you need to shift testing left – and right.

Next question you will have is, What sort services or use cases it works with?

BlazeMeter supports below se cases or services.

What are the Feature of BlazeMeter?

  1. Everything I need for Shift-Left Continuous Testing.
  2. Use my own tools and open source.
  3. Integrates with on-prem.
  4. Testing for mobile to mainframe.
  5. As code + UI.
  6. Supports Center of Excellence (CoE) Evolution.

Happy innovating!!!

SSL binding in Azure App Service

Hi Champs,

In part one we discussed how we can add custom domain in Sitecore App Service. Today we will go through how we can secure this custom domain with SSL bindings, so without doing any further delay below are the points to add SSL bindings.

Secure a custom domain

Do the following steps:

In the Azure portal, from the left menu, select App Services > <app-name>.

From the left navigation of your app, start the TLS/SSL Binding dialog by:

  • Selecting Custom domains > Add binding
  • Selecting TLS/SSL settings > Add TLS/SSL binding

Add binding to domain

In Custom Domain, select the custom domain you want to add a binding for.

If your app already has a certificate for the selected custom domain, go to Create binding directly. Otherwise, keep going.

Add a certificate for custom domain

If your app has no certificate for the selected custom domain, then you have two options:

 Note

You can also Create a free certificate (Preview) or Import a Key Vault certificate, but you must do it separately and then return to the TLS/SSL Binding dialog.

Create binding

Use the following table to help you configure the SSL binding in the TLS/SSL Binding dialog, then click Add Binding.

Setting Description
Custom domain The domain name to add the SSL binding for.
Private Certificate Thumbprint The certificate to bind.
TLS/SSL Type
  • SNI SSL – Multiple SNI SSL bindings may be added. This option allows multiple SSL certificates to secure multiple domains on the same IP address. Most modern browsers (including Internet Explorer, Chrome, Firefox, and Opera) support SNI (for more information, see Server Name Indication).
  • IP SSL – Only one IP SSL binding may be added. This option allows only one SSL certificate to secure a dedicated public IP address. After you configure the binding, follow the steps in Remap A record for IP SSL.
    IP SSL is supported only in Production or Isolated tiers.

Once the operation is complete, the custom domain’s SSL state is changed to Secure.

SSL binding successful

 Note

Secure state in the Custom domains means that it is secured with a certificate, but App Service doesn’t check if the certificate is self-signed or expired, for example, which can also cause browsers to show an error or warning.

Remap A record for IP SSL

If you don’t use IP SSL in your app, skip to Test HTTPS for your custom domain.

By default, your app uses a shared public IP address. When you bind a certificate with IP SSL, App Service creates a new, dedicated IP address for your app.

If you mapped an A record to your app, update your domain registry with this new, dedicated IP address.

Your app’s Custom domain page is updated with the new, dedicated IP address. Copy this IP address, then remap the A record to this new IP address.

Test HTTPS

In various browsers, browse to https://<your.custom.domain> to verify that it serves up your app.

Portal navigation to Azure app

How to enable Profiler in Azure App Service

Azure

Hi Champs,

Today I am going to explain how we can enable profiler in Azure App Service. Below are the details to enable Profiler.

Enable Profiler for your app

To enable Profiler for an app, follow the instructions below. If you’re running a different type of Azure service, here are instructions for enabling Profiler on other supported platforms:

Application Insights Profiler is pre-installed as part of the App Services runtime. The steps below will show you how to enable it for your App Service. Follow these steps even if you’ve included the App Insights SDK in your application at build time.

  1. Enable “Always On” setting for your app service. You can update the setting in the Configuration page of your App Service under General Settings.
  2. Go to the App Services pane in the Azure portal.
  3. Navigate to Settings > Application Insights pane.Enable App Insights on App Services portal
  4. Either follow the instructions on the pane to create a new resource or select an existing App Insights resource to monitor your app. Also make sure the Profiler is On. If your Application Insights resource is in a different subscription from your App Service, you can’t use this page to configure Application Insights. You can still do it manually though by creating the necessary app settings manually. The next section contains instructions for manually enabling Profiler.Add App Insights site extension
  5. Profiler is now enabled using an App Services App Setting.App Setting for Profiler

Happy Learning!!!

Performance tuning of Sitecore SPEAK components

Hi Champs,

Today I am going to explain you how you can reduce the time taken for loading by SPEAK components in your Sitecore application.

In order to reduce load time of SPEAK components after website modification, you can alter the compilation element in the web.config by adding the optimizeCompilations attribute to it as follows:

<compilation ...  optimizeCompilations="true">

Actual Implementation in web.config file looks like:

c

Adding this attribute will make ASP.NET re-compile only the files that were explicitly changed and leave all the other files intact.

Please note that if optimizeCompilations is true, you might encounter some issues during development after re-compilation. According to the MSDN article

When you change a top-level file only the affected files are recompiled. This saves time but can cause run-time errors depending on the type of changes you make to a top-level file.

Please check the Optimizing Dynamic Compilation part of the a aforementioned article for more details.

Happy Learning Sitecore !!!!