Kicking off 2022 with a couple Radical PowerShell Scripts for Sitecore

Just kicking off 2022 with a couple Radical PowerShell Scripts for Sitecore!

I was working on some automation tasks and found where these scripts would be useful:

Get-SitecoreSite for auto detecting where the Sitecore Site is located, ie: WWWRoot/Sitecore.
If you don’t provide the site name, it will check all folders under wwwroot (or custom path you provide) for /bin/sitecore.kernel.dll.

So you could easily get the 1 sitecore site you have deployed or a full list of sites (if you have more than one).

Get-SitecoreVersion given path (or otherwise would call Get-SitecoreSite) then uses /sitecore/shell/sitecore.version.xml to show the actual Sitecore Version installed.

Easy to install:

PS> Install-Script Get-SitecoreSite
PS> Install-Script Get-SitecoreVersion

Thanks to PowerShellGallery:

All MIT Open Source on Github:

Announcing the Advanced Site Provider for Sitecore

Version 1 of the Advanced Site Provider for Sitecore is now released on Github. It enables  the usage of separate sites, initially limited to sub-domains, with no configuration nor any special content items!

Per the “Configuring Multiple Sites” article on the publically accessible documentation on the Sitecore Developer Network, a single Sitecore instance out of the box is multi-tenant capable and able to render multiple sites with multiple host names. However, it requires adding new sites into the sitecore/sites section of the web.config file. This causes an IIS app pool recycle, this can cause the need for extra planning in a production environment where high availability is a necessity.

Per the documentation, it recommends the free Multiple Sites Manager module (even though the documentation points to the now retired 404 returning old link,) found in the Marketplace (formerly the Shared Source Library).  I personally have used this module numerous times and my friend, former colleague and Sitecore MVP Niket Ashesh and Jimmie Overby have done a terrific job with the module and keeping it updated for the various versions of Sitecore.

Another option is the excellent and also free Dynamic Sites Manager module, also in the Marketplace, written by Pete Navarra.

However, just prior to the release of the awesome Sitecore Experience Accelerator, I found myself wanting to host multiple sites in my dev/demo/test environments. I wanted to reduce the amount of steps it took to configure and enable easy multi-tenant capabilities, so I created the Advanced Site Provider. I finally cleaned it up enough to release it on GitHub.

Version 1 meets my current needs and allows me to host as many sub-domains as I would like, easily. As I work on my Sitecore modules, I want to test them across numerous versions of Sitecore. With the help of the Sitecore Instance Manager, also free on the MarketPlace, this is extremely easy. Here is my latest pattern:

http: //sc71rev140905.localhost – primary host name and simply based on template type, the following sub-domains are automatically used:


As part of some of the other modules that I have in the works (more details to be released soon), I am also deploying numerous other demo sites as well, such as:

Currently, there are still two additional steps that are necessary to make this work:

In IIS, you must add an additional wildcard binding:

And for local dev, until Windows supports wildcards in the HOSTS file, you have to add entries for each domain and subdomain. Help me promote this as a feature within the next versions of Windows! I submitted it for Windows 10, but alas, it didn’t make the cut. You can find more details on my blog post from back in 2014 – here. I will post a new one, whenever Microsoft opens up feature requests for the next version!

In Version 2, I will go ahead and create a custom Sitecore Template and allow for the entry of the entire host name, and thereby allowing you to use whatever you like:
http://demo1.localhost or http://myfavoritesite.localhost

If you make the decision to utilize the awesome new Sitecore Experience Accelerator mentioned earlier, it actually has this built in! You can find the documentation for creating a new site using the Experience Accelerator here:

Since I know some will choose not to use it, although I strongly suggest you give it serious consideration, I will proceed with Version 2 of this module in the near future.

If you want the nuts and bolts of how it is implemented, it is simple a testament to the extensibility of the Sitecore Experience Platform. Simply implement the SiteProvider interface and programmatically create the Site instead of using the web.config file. Feel free to dive even into the code on Github.

Have any other feature requests, questions or thoughts?

Feel free to contact me, any time.

SUGCON! Atlanta Cloud Saturday, COLLAB365, TTF2015 and other 2015 updates!

In March 2015, I started my new role as Sitecore Practice Director at TechAspect. It has been very exciting. In May, I made my first international trip, since I was very young. I spent a week in Hyderabad India meeting my excellent new team of developers and other colleagues and helped them kick off the first Hyderabad Sitecore User Group meetup where I presented Introduction to Sitecore 8.

On October 7th we had our 10th anniversary edition of the Tulsa TechFest event. Thanks to all our sponsors, speakers, attendees, volunteers and my amazing wife!! We had over 600+ people at OSU-Tulsa campus!

Come see me at the following upcoming events!

In the coming weeks there will be more announcements as Little Rock TechFest is coming up, NWA Tech Summit and I just learned of the Austin Sitecore User Group. I am pushing to achieve 100+ presentations and I am so very close.

Also, I am blogging at now as well. Be sure to check out my post Ensuring a Successful Sitecore Update: Our Strategy.

Simple Performance Tuning and Sitecore Counters – Sitecore Best Practices

Be sure to check out my recent blog post regarding Simple Performance Tuning and Sitecore Counters – Sitecore Best Practices.

Just a refresher regarding Sitecore’s long standing recommendation to disable Memory Monitoring hooks and Performance Counters, with some tips on setting up Sitecore Counters when you do need them. Tags: ,

Source: ASPAdvice Blog

Windows 10 Feature Request (and Interim Solution): Wildcard HOSTS file entries

Be sure to check out my recent blog post regarding my Windows 10 Feature Request (and Interim Solution): Wildcard HOSTS file entries. Here is an excerpt:

As a consultant building multiple web applications, especially solutions built with the Sitecore Experience Platform, I would spend too much time adjusting entries in my C:WindowsSystem32driversetchosts file. If you are unaware of what the hosts file is, you can find out all about it and it’s history in this Wikipedia article: Some time ago I started implementing what should be a simple standardization best practice: all my local development sites utilize a common top level domain – .local instead of .com. I have seen others use .dev and any other non-typical top level domain would work just as well.

Source: ASPAdvice Blog

Check out my first four Modules now in the Sitecore Marketplace

Be sure to check out my recent blog post where I go over details regarding my first four Modules now in the Sitecore Marketplace, here is an excerpt:

While delivering some recent training sessions I provided for a customer, I covered many of the areas where Sitecore is both customizable and extensible. And, if you are like me and like to explore all the new features that are released with each Sitecore version, you probably also found it absurd that getting to some of these features was too much of a manual process. At least I did.

Read the rest here.

Source: ASPAdvice Blog

Use the Fully Qualified Name When Using a Sitecore MVC Controller – Sitecore Best Practice

Be sure to check out my latest blog post at (my employer) XCentium‘s blog where I go over details regarding what should be the new Best Practice and why you should use the Fully Qualified Name and Assembly for the Controller When Using a Sitecore MVC Controller. Tags: ,,

Source: ASPAdvice Blog

Four months at XCentium and loving it!

It’s hard to believe it’s been four months since I joined XCentium. XCentium is a consulting company that some previous colleagues started while I was working at Microsoft. They currently have three Sitecore MVP’s on staff: Niket Ashesh, Martin Knudsen and Zac Malmquist. Getting to work with these guys again (and everyone else at XCentium) has been very exciting so far.

In the four fast months at XCentium I have wrapped up a Sitecore 7.0 project and converted a heavily customized Flash based Google map to jQuery/Google Maps v3 API. I am currently working on a massive Sitecore 7.2 MVC project with about 170,000-340,000 microsites and Insite Commerce integration. Very exciting! I will share more details as I get approval to share. One of the many reasons I love working on Sitecore solutions versus intranet SharePoint solutions 99.9% of the time they are publicly accessible!

In case you don’t know what Sitecore is, or you haven’t seen their relatively recent site redesign, you definitely should check out

I always like to put it in terms that most people can understand. It’s like SharePoint, but for public facing web sites with so many extra features that makes the decision to use it very simple. It is much easier to implement multi-lingual capabilities, has built in analytics and what started as a Content Management System is now a complete Experience Management System. By the way, you can even replace your SharePoint intranet with the Sitecore Intranet Portal as well.

Source: ASPAdvice Blog