Skip to content
November 30, 2019 / kiranpatils

200th Sitecore Blog Post

I’ve been sharing my Sitecore basics via this blog since 2011. Today, I’m super happy and surprised that, I’m writing my 200th blog post. (Double century is really special – You can understand that I’m coming from Cricket playing nation 🙂 )

This would have not been possible without following people:

  • All those great souls who inspired me to write!
  • Great souls like you who kept reading my blog and appreciate what I did – Which motivated me to keep going. As starting Sitecore or any blog is easy. But to keep it going needs more efforts. Would have used this time doing something else. But I feel grateful that I invested my time on this blog which helped lot of Sitecore Souls across the globe!

Some Stats:

This post will make posts count to 200
All time views
Annual Site stats
Total followers
This is my favorite – Could contribute on larger part of the earth in some way!

Summary:

  • Total posts : 200
  • Total views : 519518
  • Total visitors : 254007
  • Total words : 107450

Perfect day [Thanksgiving] to write this blog. I’m Thankful for:

  • Those who taught me Programming
  • Those who taught me Sitecore
  • Those who inspired me to blog
  • Those who read my blog and kept me going

Hope this post inspires you to start your blog or restart your blog which you haven’t updated since quite some time.

Happy blogging! 🙂 – Start your blog, might not for others. But for your self! [At times, I find solution from my old post 😉 ]

November 30, 2019 / kiranpatils

SearchStax with Sitecore Azure PaaS

Challenge:

Sometime back, we were trying to integrate SearchStax with Sitecore 91 PaaS environment.

I got some good documentation to begin with. But it took me sometime to accomplish my goal. With the help of SearchStax team [They are great!] was able to achieve my goal.

Recently came across similar question by someone in Sitecore Slack group. So, thought to blog it here.

Solution:

This post assumes, that you are already aware about SearchStax – Basics and how to get started, Solr, SolrCloud basics.

As you do, I also did quick search and came across following great posts!

Initial posts clarified lot of my basic fundamentals, Last post : https://www.searchstax.com/docs/sitecore-9-1-solr/ is really good. But If you are trying to do it for your Sitecore Azure PaaS environment. You need to alter some steps and I also faced some errors. Let me outline that for you:

  • You no need to do Step#1.
  • Do Step#2.
  • Step#3 : SearchStax team has created nice plugin, which helps you create all initial required collections — Basically, Plugin abstracts zookeeper config upload steps:
    • Instead of using searchstax-sitecore-plugin-1.0 use 1.1. As we found bug in 1.0. Use 1.1 from here : https://github.com/searchstax/searchstax-sitecore-plugin/releases or direct link https://github.com/searchstax/searchstax-sitecore-plugin/releases/tag/v1.1
    • Script relies on PowerShell core. To start PowerShell Core – you need to type pwsh.exe in CMD/Powershell – See this video : https://www.youtube.com/watch?v=UGCMbYAufp0
    • Extract downloaded plugin and update YML file as per given instruction. [pathToWWWRoot : Is not important in Azure PaaS. But still you have to provide it and sitecorePrefix (Will be used to prefix your Solr collection/cores.) also should be valid site. Plugin will update config files. So, you might need to take backup of local file – ConnectionStrings.Config]
    • Run this from CMD/Powershell. Make sure you are in PowerShell Core. It will also ask your SearchStax credentials. So, please keep them handy!
  • Once above step is done, your Solr collections are ready. You can access Solr Admin screen to confirm that (You should see 11 collections). It also updates Solr Connection string in your local. Please revert those changes to your local Solr instance. [We took backup in earlier step]

Note : It doesn’t create XDB Core. https://doc.sitecore.com/developers/90/platform-administration-and-architecture/en/walkthrough–using-solrcloud-for-xconnect-search.html#UUID-00ee25a3-647f-aa18-6f98-805fa4f305de_section-5c3ef326406c3-idm45266705934112– As of now you have to create manually or update scripts to do that.

  • Till this point of time we have setup our Solr Cloud instance. Now. let’s connect it with our Sitecore Instance.
  • Once all above steps are done, Login to your Sitecore instance and from Control Panel – Do “Populate Schema from the Control Panel in Sitecore” step.

This post depicts steps with Sitecore 9.1. But I believe it should work with 9.2 https://www.searchstax.com/docs/sitecore-9-2-solr/ as well. I’m not sure Search Stax Plugin issue is fixed in 9.2 document or not. Also, I heard Search Stax is coming up with Sitecore LaunchPad Plugin (https://sitecorebasics.wordpress.com/2019/11/30/searchstax-with-sitecore-paas/) to simplify these steps. I’m sure you must be excited to try this. So, as I!

Hope you found this post helpful – Big Shout out to SearchStax team for coming up with such a great solution.

Image Credits : SearchStax

November 23, 2019 / kiranpatils

Decade’s worth of 11 Sitecore modules

Challenge:

Last week Robert Hock published new UI for my Cache tuner module. Which looks great! This module got lot of buzz in Sitecore community last week, and I was surprised to know that lot of folks were either not aware of this tool (Which is published since 27-April-2011 : https://sitecorebasics.wordpress.com/2011/04/27/cache-tuner-user-guide/) or used it in the past. But forgot about it.

As Rob mentioned in the post, At times we used some module. But we forget about it (At times, I also come across my modules from Google or talking to others and same happens for my blog posts as well 😉 – But that’s why I blog – So, as you?!)

In this blog post, Thought to list down all my modules and their usage and link to download for you! [And for me as well ;)]

Sounds great?! – Let’s delve into it

Solution:

List of modules are as below:

  1. Cache Tuner : Cache Tuner Module helps you to understand your Sitecore Caching usage and helps you for fine tuning cache sizes as per Sitecore’s Caching Guide Recommendation. It has two versions Pre Sitecore 8.X and after that [as Sitecore 8.2ish had major caching updates]
    1. https://marketplace.sitecore.net/Modules/C/Cache_Tuner.aspx?sc_lang=en
    2. https://sitecorebasics.wordpress.com/2011/04/27/cache-tuner-user-guide/
    3. V2 : https://sitecorebasics.wordpress.com/2019/06/10/cache-tuner-v2/
    4. https://github.com/klpatil/CacheTuner
  2. Hot Fix Checker : It will list all packages installed in your Sitecore Instance. It will also help you to answer questions related to packages installation like Who created package?, Who Installed it?, When it got installed?
    1. https://github.com/klpatil/HotFixChecker
    2. https://sitecorebasics.wordpress.com/2019/09/27/module-hotfix-checker-hfc/
  3. Advanced Stats Page : This tool allows users to visualize Sitecore rendering stats data in an intuitive and simplified way. Which will help you to identify slow renderings, fix them and have happy end users!
    1. http://klpatil.github.io/Advanced-Stats-Page/
    2. https://marketplace.sitecore.net/en/Modules/A/Advanced_Stats_Page.aspx
  4. Item Utility : Sitecore Item Utility to do bulk operations
    1. https://github.com/klpatil/SCItemUtil
    2. https://sitecorebasics.wordpress.com/2017/08/30/sitecore-item-utility/
  5. Quick Item Search : This module is upgraded version of http://trac.sitecore.net/QuickItemSearch module which works on Sitecore 5.1. But this module will work on all Sitecore 6.X versions [I’ve tested with Sitecore 6.4/6.5].
    1. https://sitecorebasics.wordpress.com/2011/06/01/quick-item-search-user-guide/
    2. https://marketplace.sitecore.net/en/Modules/Q/Quick_Item_Search.aspx
  6. Package History : It will list all packages installed in your Sitecore Instance. It will also help you to answer questions related to packages installation like Who created package?, Who Installed it?, When it got installed? V2 : Package History V2 has been launched. In which we provided a functionality using which you can uninstall Sitecore Package/Module just by few clicks!
    1. https://github.com/klpatil/PackageHistory
    2. https://sitecorebasics.wordpress.com/2014/02/10/package-history-v2-user-guide/
    3. https://marketplace.sitecore.net/en/Modules/P/PackageHistory.aspx
  7. Sitecore History Viewer : This Tool allows users to view,search,sort Sitecore Databases History
    1. https://github.com/klpatil/HistoryViewer
    2. https://marketplace.sitecore.net/en/Modules/S/Sitecore_History_Viewer.aspx
    3. http://klpatil.github.io/HistoryViewer/
  8. Sitecore Audit Trail : This Tool allows users to see Sitecore Audit Trail — Who did What changes and When?
    1. https://marketplace.sitecore.net/en/Modules/S/Sitecore_Audit_Trail.aspx
    2. https://github.com/klpatil/Sitecore-Audit-Trail
    3. http://klpatil.github.io/Sitecore-Audit-Trail/
  9. SC Log Explorer : The SC Log Explorer tool will give you an easier overview of the Sitecore log files when you need to analyze them. 
    1. https://sitecorebasics.wordpress.com/2012/06/07/sclogexplorer-user-guide/
    2. https://marketplace.sitecore.net/en/Modules/S/SC_Log_Explorer.aspx
  10. Mongo Shell : Sitecore tool to query SQL Data
    1. https://klpatil.github.io/SC-82-Demo/
    2. https://github.com/klpatil/SC-82-Demo
    3. https://marketplace.sitecore.net/en/Modules/M/Mongo_Shelll.aspx
  11. SitecoreBasics.Extensions : Sitecore Extension methods source code, docs and package
    1. https://github.com/klpatil/SitecoreBasics.Extensions
    2. https://sitecorebasics.wordpress.com/2012/07/26/sitecore-extension-methods/

Apart from this, I also contributed to following open source module:

Wow! — 11 Modules in my 10 years of Sitecore experience! To be honest, I had also forgot about few of my modules and this post refreshed my memory. I hope you find this post as helpful as I found it!

October 29, 2019 / kiranpatils

Have you noticed OOTB Sitecore Diagnostics Service (Beta)?

Recently, I was trying to generate Sitecore Support Package using SSPG.

Which looks like following on last step:


Following screen got revealed as soon as I clicked on Done button.

In past, I’ve used SDT (Sitecore Diagnostics Tool) in the past for validating Sitecore instance (I’m sure you as well). But after Azure Web Apps you can’t install SDT. SDS latest version has reesolved this issue, where you can provide SSPG generated package to SDT as input and same analysis will be done by SDT.

As always Sitecore team has gone one step further to SDT as part of Sitecore Support Package generator admin page. When you click on “Agree and Continue”, Tool will upload SSPG Package and provide you analysis report. Which looks like following — Which is Standard SDT report.

Hope this makes your diagnostics faster – Thank to Sitecore!

October 21, 2019 / kiranpatils

Sitecore Publishing Service Nirvana

Challenge:

Recently SUGNCR team provided (Thank you team!) me an opportunity to share my learnings on “Sitecore Publishing Service (SPS)”.

This year – I’ve used all power of SPS for our Enterprise clients. And the more I used it the more I love it. Have come across few common questions/myths from Sitecore community folks. During this webinar was I’ve attempted to answer all those basic questions and make your SPS on-boarding as smooth as possible.

Eager to get hold of it? Let’s delve into it.

Solution:

  • You can watch Webinar from here :

It also has nice story which will help you understand why we need Sitecore publishing service.

Read from Left to right

Hope this helps you!

Happy Sitecore publishing! 🙂

September 29, 2019 / kiranpatils

Sitecore Package Deployer (SPD) learnings

Challenge:

We love automation, I hope you too! If you/your company culture, don’t have time to automate then following is a good read:

https://97-things-every-x-should-know.gitbooks.io/97-things-every-programmer-should-know/content/en/thing_78/

Image result for we are busy

As you know in Sitecore eco system, Templates/Layouts/Rendering/Items are as critical and important as your code files.

There are few ways to automate Sitecore Items deployment. We have been relying on SPD – Sitecore Package Deployer.

It just works! But recently we faced two nice challenges with it and this post is about those challenges and our approach towards solving it.

Eager to know more about it? Let’s read:

Solution:

Package installation order

Generally, we generate 3 update packages out of our 3 TDS solution:

  1. TDS.Core : Core DB related item updates.
  2. TDS.Master : Master DB related item updates, Excluding Content section.
  3. TDS.Master.Content : Master DB related item updates, Only Content section.

During deployment, we used to face one challenge that at times, TDS.Master.Content update package will install before TDS.Master update package. In other words, Item will be installed first it’s template.

Unfortunately, there is no easy way to control this using SPD. We tried options and out of that following solution has worked for us:

With the help of SPD Team, we learnt that SPD installs packages in alphabetical order.

We used that learning to solve our challenge. We prefixed “A”, “B”, “C” for our TDS packages in TDS’s Update Package configuration.

TDS Update Package Configuration

After above configuration, TDS Update package names were:

  1. A.TDS.Core.update
  2. B.TDS.Master.update
  3. C.TDS.Master.Content.update

During our research we also came across, Package bundling : http://hedgehogdevelopment.github.io/tds/chapter4.html#package-bundling – This is something we haven’t tried. But this should also solve problem. Will leave this for your brevity to try this!

And that fixed our ordering issue! 🙂 But wait – Is life that easy? It’s not – We faced another challenge. Which is mentioned below.

Sync Package Installation :

We have XP Scaled environment, Where CM and CD is isolated and our Octopus deployment has following steps:

  1. Deploy TDS Update packages on CM Environment : Deploys update package on CM Environments under SPD folder.
  2. Wait for TDS Update package installation : There is no easy way to monitor update package installation. So, there was some configured wait time in power shell before going to next step.
  3. Perform Sitecore publish : Triggers Sitecore publish.

Above process works perfectly fine for few items. But as items grew it was hard to configure accurate “Wait time” for step#2. At times, Sitecore publish used to get triggered even step #2 was not completed.

We did a quick search to solve this problem and we found this post : https://sitecorerap.wordpress.com/2017/09/26/synchronous-deployments-with-sitecore-package-deployer/

As you can see from above post, it suggests updating few core DLLs. Which we wanted to avoid.

After some research we came up with following option:

  1. We disabled this agent : “<agent type=”Hhogdev.SitecorePackageDeployer.Tasks.InstallPackage, Hhogdev.SitecorePackageDeployer” method=”Run” interval=”00:01:00″/> “ which will not install package automatically.
  2. We added a octopus step which does following things:
    1. It triggers Update package install using this URL : [YourSite]/sitecore/admin/StartSitecorePackageDeployer.aspx [You can also call it with force parameter : [YourSite]/sitecore/admin/StartSitecorePackageDeployer.aspx?force=1] – This post explains this nicely : https://prcode.blog/2018/08/08/quick-tips-for-the-sitecore-package-deployer/ – At times we have been noticing failure. So, we used force parameter and it helped us make this process stable!
    2. SPD generates “JSON” file for each update package. As soon as package installation is done. And adds status “success”/”failure”. Our PS Script monitors this and it will keep monitoring till all packages are installed and their respective JSON files are created. If all are success then it proceeds to next step, which is Sitecore publishing else it aborts Octopus deployment process.[Credits : https://twitter.com/vyas_manglesh]

Above solutions helped us stabilize our Sitecore item deployment process. Hope it does for you as well! You do it differently and more efficiently? Why don’s share with world? Blog it!

Happy Deployment! [Go home, your loves ones are waiting for you!]

September 27, 2019 / kiranpatils

Module : Hotfix Checker (HFC)

Challenge:

As a Developer/Architect you always want to make sure your Sitecore app has latest and greatest hot fixes deployed.

Hot fixes are part/heart of any product. Sitecore being enterprise level CMS and with this IaaS/PaaS/Micro service world. New scenarios gets identified which introduces one new hotfix.

Over the years, community has identified that it’s tough to be in sync with all Sitecore hot fixes for your current solution. At the same time, you don’t want your team to spend N number of hours investigating something which is already identified by Sitecore team and they already have hot fix out there.

To solve this challenge Sitecore team, came up with an idea of Github repository : https://github.com/SitecoreSupport

But it was still tough to search and locate any particular hot fix which applies to your Sitecore version. https://twitter.com/MariaBorhem and https://twitter.com/bramstoopcom identified this challenge and they came up with https://www.sitecorehotfixversionselector.com/ using this URL, you can search and check all available Sitecore hot fixes. It also has RSS Feed. Which is being plugged in Sitecore Slack’s #hotfixfeed channel.

One fine morning, I was thinking to simplify this further. I wanted someone to do automatic comparison for my Sitecore version and tell me the result. You also think the same? Then Hotfix checker [a.k.a. HFC] is for you!

Solution:

  • HFC simplifies all steps, which you as a human will do to compare your installed hot fixes and Sitecore’s recommended hot fix.
  • This is how result looks like:
HFC V 1.0

Curious to try this out? Please visit : https://klpatil.github.io/HotFixChecker/

I would like to give a huge shout out and lot of credits to Maria and Bram for simplifying data and providing me feed to access this data – Thank you, Thank you, Thank you folks!

Have a bug free Sitecore application!

%d bloggers like this: