Showing posts with label extension. Show all posts
Showing posts with label extension. Show all posts

Friday, August 21, 2026

Sitecore Icon Search 2026: New UI, Favorites, Recent Icons + Browser Extension Updates

When I originally released Sitecore Icon Search back in 2018, the application was built around a searchable table containing thousands of Sitecore icons.

At the time, it solved the problem I was trying to fix: finding the right Sitecore icon without manually clicking through category after category in Sitecore's built-in icon selector.

Over the years, I've continued updating the app with new Sitecore icons, improved search data, JSS enum support, browser extensions, dark mode, and plenty of fixes along the way.

Last year, I gave the app a smaller visual refresh that cleaned up the styling, spacing, search bar, header, and finally added dark mode. It made the existing interface feel a lot better, but underneath it was still fundamentally the same table-based application I had originally built years earlier.

This time around, I wanted to go quite a bit further and rethink the core interface itself.

After eight years, I figured it was probably time. 😄


A Long Overdue UI Refresh

Sitecore Icon Search UI Refresh
Before
After

The most obvious change is that the table has finally been replaced.

Instead of displaying ten rows at a time and paging through search results, Sitecore Icon Search now displays icons in a responsive grid. All matching icons are available on the same page, so you can simply search and scroll through the results.

Search filtering still executes immediately as you type, but I've also made a few improvements to how searches are handled. For one, multiple search terms can now be combined to further narrow the results. For example, searching for user add will return icons matching both terms rather than treating the entire query as a single phrase.

I've also added a keyboard shortcut that I've found myself using quite a bit while testing the new UI: pressing / from anywhere on the page will automatically focus the search box.

Beyond the / shortcut, keyboard navigation is now fully in place. After searching for a keyword, you can use the arrow keys to move through the results and hit Enter to copy the selected icon's path.

In fact, Sitecore Icon Search is now hitting a 100% accessibility score:

Category filtering is also available directly alongside search, making it easier to narrow results to a specific Sitecore icon folder when needed.


Recent Icons, Favorites, and Icon Sizes

While rebuilding the grid, I ended up adding a few features that I didn't originally plan on but quickly found useful while testing the app.

The first is a new Recent filter. Every icon you copy is now added to a recent-history list stored locally in your browser.

Since the history is stored in local storage, it persists between sessions. If you copied an icon yesterday and can't remember exactly which one it was today, you don't necessarily have to search for it again.

There's also a new Favorites feature. Each icon card now has a small star in the upper-left corner that can be used to mark an icon as a favorite. Selecting the Favorites filter then brings all of those icons together in one place.

I can see this being particularly useful when planning out a set of templates. You can spend some time finding the icons you want to use, favorite them as you go, and then have that smaller collection readily available when it's time to actually apply the icons to your templates.

Both Recent and Favorites are stored locally in the browser, so there isn't any account, login, or server-side storage involved.

Finally, the new grid includes an icon-size slider for switching between 16x16, 24x24, and 32x32 previews.

This doesn't change the icon path being copied; it's purely a visual preference. The 16x16 setting lets you fit quite a few more results on the screen, while 32x32 is useful when you want a better look at some of the wonderfully pixelated artwork we've all been staring at inside Sitecore for years. 😄


Improved JSS Icon Support

Back in 2020, I added support for Sitecore JSS icon enums after a couple of colleagues pointed out how painful it was to find the corresponding SitecoreIcon enum value for an icon.

That functionality was originally implemented as an additional table column along with a JSS Icons Only filter.

With the new interface, JSS-supported icons now display a small JSS badge directly on the icon tile.

Clicking the icon itself copies the traditional Sitecore icon path, while clicking the JSS badge copies the corresponding enum value such as:

SitecoreIcon.Anchor

The JSS only filter is still available as well if you want to limit the grid exclusively to icons supported by the enum.


Copying Icons Without the Interruption

Copy confirmations are now displayed as small toast notifications at the top of the screen instead of a full overlay.

The randomly generated confirmation messages are still there. Some things don't need fixin'. 😄


Sitecore 10.5 Icons

Along with rebuilding the interface, I also updated the underlying icon dataset with the icons included with Sitecore 10.5. Admittedly, it's quite possible these newly added icons were introduced after 2022 (when I last went through the icon data extraction process), and I hadn't refreshed the datasource between XP releases, but they're in now!

After extracting and comparing the Sitecore 10.5 icon directories against the existing Sitecore Icon Search dataset, the application now contains 9,134 icons, up from 8,755.

The additions include:

  • 339 icons from the new NetworkV2 icon category
  • 40 additional icons added throughout existing categories, including document_json, checkbox_group, numbers_field, password_confirm, additional Marketing Automation icons, and several new persona avatars
  • No removed icons, so existing icon paths remain available

I've also added searchable attributes and synonyms for the new icons so they can be discovered through general keyword searches rather than requiring you to know the exact filename.


Browser Extension Updates

The browser extensions received the same UI overhaul as the web application.

I initially brought the updated experience into the Chrome extension, including the new grid layout, improved search, category filtering, dark mode, JSS badges, and the other interface improvements covered above.

I also updated both the Microsoft Edge Add-on and Firefox Add-on to match, so all three browser extensions are now aligned on the same refreshed UI and functionality.

The Sitecore integration itself hasn't changed.

When working in the Sitecore Content Editor, selecting an icon from the extension can still automatically update the item's Icon field and save the item. If you prefer to paste the copied icon path manually, that workflow still works.

One thing I'm particularly happy to finally bring into the extensions is JSS enum support. When an icon has a corresponding JSS enum, the JSS badge can be used to copy the enum directly without needing to jump over to the web application.

The latest Chrome version (v4.0.0) is available through the Chrome Web Store. Existing Chrome installations should receive the update automatically.

The updated versions are also available through the Microsoft Edge Add-ons and Firefox Add-ons stores for anyone using those browsers.

(FYI: Firefox's Addon submission review process always takes the longest.  At the time of this post, I'd already waited 10 days and it was still in Awaiting Review.  That said, the Firefox link may not yet be live yet, depending on when you read this - but I assure you, it's coming!)


A Quick Look at Usage

Before investing more time in another round of updates, I was curious about how much Sitecore Icon Search was still being used in 2026.

The answer is: it's still a small, very specific developer utility, but people are definitely still using it.

Over roughly the last 12 months, the Chrome Web Store reports 541 installs, an increase of 87.2% compared with the previous period.

During the same period, there were 118 uninstalls, which was down 18.06%.

Interestingly, the extension's Chrome Web Store listing received about 1.29K page views during that period, essentially flat at 1.76% lower than the previous period. I'm not going to pretend those numbers are enough to draw any grand conclusions, but seeing installs increase while listing traffic stayed relatively consistent was encouraging.

Traffic to sitecoreicons.com itself is a little more mixed.

So far in 2026, Google Analytics reports 961 active users, 884 new users, and about 2.6K views. Active users are down ~15%, and new users are down ~16% compared with the previous period.

More recently, though, the current quarter has been trending in the other direction with 212 active users, up ~18%, and 169 new users, up 29% over the previous period.

One metric I found particularly fitting was an average engagement time of about 38 seconds per active user.

Normally, a short engagement time might not sound all that great, but for Sitecore Icon Search, that's pretty much the goal lol. Search for an icon, copy it, and get back to whatever you were doing. You shouldn't have to spend 10 minutes on the site. 😄

The user base also continues to reach well beyond the US, with developers visiting from India, the Netherlands, the United Kingdom, Australia, China, Germany, and plenty of other locations.

To be clear, none of these numbers are the result of this UI refresh. They're the numbers leading into this release. It'll be interesting to come back to them later and see whether the new interface has any measurable impact.


Cleaning Up the Front-End

The UI wasn't the only part of Sitecore Icon Search showing its age.

The original application relied on jQuery, Bootstrap 3, and DataTables. Those dependencies made sense when I originally built the application in 2018, but after removing the table-based interface, there wasn't much reason to keep carrying them forward.

All three have now been removed.

Sitecore Icon Search is still built using plain HTML, CSS, and JavaScript with no external JavaScript framework dependencies. Aside from simplifying the codebase, this also reduced the amount of code and assets required to load the application (thx Claude).

Dark mode has also been updated with improved colors and contrasts.

On your first visit, the application now respects your operating system's preferred color scheme instead of defaulting everyone to light mode. You can still switch between light and dark mode manually afterward.

Finally, I've added a changelog to the About page to track future releases and application changes.


Eight Years Later...

Eight years after launching, I'm happy that developers are still using it. The usage numbers certainly aren't massive, but for a utility built to solve a very specific Sitecore developer problem, seeing it continue to get regular traffic and hundreds of extension installs years later is pretty cool.

I'm also happy to finally give the application the interface I've wanted for a while.

As always, if you run into an issue or have an idea that could make Sitecore Icon Search more useful, feel free to reach out.

Check out the updated Sitecore Icon Search

Happy Searching! 🔎

Wednesday, May 27, 2026

Team Sitecorepunk 2077 Wins the 2026 Sitecore Hackathon!

It happened again!!

I'm proud to say that 'Team Sitecorepunk 2077' (...it's still just me) has officially won the 2026 Sitecore Hackathon!  🏆



That's now two years in a row!  It's really an unreal feeling. 

A day or two after the event, I sifted through the SitecoreHackathon GitHub to pull some stats:  34 teams registered, 20 teams submitted something before the deadline.  

A solid Sitecore community turnout 👏👏👏  

I vibed together a submission showcase to digest all of this year's entries. 
Check it out here: Sitecore Hackathon 2026 Submission Showcase.


👟 Preparation

In my hackathon prep post, I basically said 'you can practice for this'.  Taking my own advice, I spent time leading up to the event building a couple of basic Marketplace applications locally using AI-assisted tools like Claude Code, OpenAI Codex, Microsoft Copilot, Cursor, VS Code, and Perplexity. 

After a few days into this deep dive, I wound up with a pretty solid LLM-friendly knowledge base containing relevant public Sitecore Marketplace SDK/Blok documentation, examples, and code samples to give my agents the context they need to successfully build and iterate on a Marketplace app.  With these technical barriers eliminated, I could focus on building features for whatever app I'd end up building during the event.  

Day of, I'd say I felt...pretty well prepared actually.  It wasn't my first rodeo, so I knew what to expect.   My workspace was ready, and I felt confident that I had the tools to execute whatever the categories/idea requirements. 

I took the afternoon off from work and forced a short nap, enough time to reset, and have dinner with the family.  

I had my calendar blocked.  Everyone at home knew that I'd be upstairs, locked away in my office for the next 24 hours (with the occasional break in between). 



I even had my Hackerspace Hero shirt on!


It was time.  

Tuesday, April 22, 2025

SPExAI Report Builder: A Winning Sitecore Hackathon Module

The results of the 2025 Sitecore Hackathon are in...

Look what I got! 😭👇

It's a really decent piece of hardware!

I'm super proud of this accomplishment, given that I was pushing into delirium territory near the end of the event, having been up for 32 hours straight and all...running on mostly caffeine and adrenaline to get it done. 

Here's a snapshot of my real-time X updates throughout the event:



Sitecore Hackathon?

It's a virtual community-driven event where teams worldwide (52 teams across 13 countries this year) compete to build the most impactful Sitecore module given a set of categories (e.g., "Best use of AI" or "Best tool for XM Cloud") within a strict 24-hour timeframe.

Typically, the event is held in late February / early March, with teams registering roughly 4-6 weeks in advance. Submissions are then judged by a panel of long-time Sitecore MVPs and community members who review each completed entry, test the functionality, and collectively pick a winner.  

Submission Requirements are clearly laid out in the GitHub repository to which each team is assigned:

Winner Benefits

  • 🗣 Name recognition across Sitecore's official channels; the winning team is announced officially at SUGCON Europe and highlighted in the MVP community.
  • 🛒 $150 Amazon Gift Card (per team member)
  • 🏆 A customized Hackathon trophy

My Past Hackathons

Wasn't my first rodeo! 🤠
Here's a rundown of my past Sitecore Hackathon participations:

The name "Sitecorepunk 2077" is a not-so-subtle reference to
the 2020 video game Cyberpunk 2077 (which, admittedly,
I've barely played, but I liked the play-on-words when I came up with it).

I kinda love that I'm a 2x Sitecore Hackathon winner now 😅


The Idea

This year, instead of multiple categories (and multiple winners), the organizer's idea prompt was simply:

"Free for all — you can create your own idea for the Hackathon solution. Show us what you got!" 

It was a huge opportunity to build without barriers, with one winning team to take it all. I've been waiting for an opportunity to bring this idea I've been mulling over in my head for months to life, and this was it. 

Problem Statement

The biggest hurdle for analyzing content and creating reports in Sitecore PowerShell Extensions (SPE) has always been the technical skill needed (PowerShell scripting/syntax + SPE-specific commandlets).  

You'd need to train up; learn how to query items using Get-Item and Get-ChildItem commands, declare an array object to store results, utilize for loops and if conditions, etc.  

And if PowerShell scripting isn't your thing, well...


In the age of generative AI though, this technical skills barrier can be dramatically lifted for non-technical Sitecore authors and admin, and/or drastically reduce the turnaround time for developers tasked with writing custom PowerShell reports.



Enter: SPExAI Report Builder

What is it?

SPExAI Report Builder is an installable Sitecore PowerShell Extensions module that allows users to describe their Sitecore report in natural language, which in turn generates a complete and reusable SPE script:

  • 🧠💻 Type your prompt
  • 📜💾 Generate a PowerShell script and save it
  • 🛠️🚀 Run it or modify it

"SPExAI" stands for Sitecore PowerShell Extension x Artificial Intelligence, which combines the power of SPE with modern LLM tech. 

Compatibility

SPExAI Report Builder works with Sitecore 10.x or later.  I tested on Sitecore 10.0, 10.3, and 10.4 during the event, but I'm pretty confident that it would also work with other versions, too.

I didn't get a chance to test this on XM Cloud, but given SPE's flexibility, it is likely compatible.


How about a quick demo?

Say you need to audit template usage across the content tree.

When activating SPExAI from the ribbon, a dialog appears where you set a title, select the root context for the report, and provide a description.

"Report of all templates (ID, Name, Path) and their usage count."



SPExAI generates this clean, complete, and reusable script, which is stored in a dedicated part of the content tree:

Running the generated script without any modifications (which, on its own, included an option to select a root context, making it easily reusable against different parts of the tree) provides an accurate result set!



Another demo!

"Report of all renderings (ID, Name, Path) and their usage count under a selected content root."

SPExAI again generates a clean, complete, and reusable script, stored again using the name provided:

Running the generated script confirms that the script has been correctly generated and provides expected results.  



What's truly amazing is that we can generate 75-100 lines of working PowerShell code in seconds.

The code is appropriately structured, cohesive, error-free, and ready to be run immediately—no developer needed!



How SPExAI Works (Under the Hood)

API Settings

Before anything runs, the module looks for a specific Sitecore item:
/sitecore/system/Modules/PowerShell/Script Library/SPExAI Report Generator/API Settings:

There are four required fields:
  • API Keyyour OpenAI secret key

  • Model – the ID of the OpenAI model to use (e.g. o3-mini-2025-01-31)

  • Knowledgebase – a markdown-formatted reference block full of Sitecore PowerShell examples, documentation, best practices, etc.  

  • System Prompt – the instruction template that tells the model exactly how to behave, respond, etc. 


The module will abort early if any of these are missing.

Model Selection

During development, I tried a few different OpenAI models. The one that gave me the most consistent, one-shot responses was o3-mini-2025-01-31.

If you want to try a different OpenAI model later, simply update the Model field with the name; no code changes are required. (Expanding beyond OpenAI to Anthropic Claude or Google Gemini is also possible as part of a potential future v2.)

The Knowledgebase

This field contains raw reference material to guide the AI's responses. Think of it as an internal code cookbook, mostly pulled from the official SPE documentation and a compiled generic collection of snippets from my private repository of PowerShell scripts.

It includes sample report formats, SPE-specific syntax, and usage patterns that the model should stick to when replicating and generating new reports.

Looks like this:

The System Prompt

This is the master instruction set. Essentially, "You are a Sitecore PowerShell assistant...you do this, this, and that..." with additional specific constraints and formatting rules.

It includes a {0} token that the Knowledgebase content replaces.

Check it out:


A good chunk of the hackathon effort was spent refining the directives that the model should abide by. With every test run, I found myself adding to the list of rules. 

Getting the model to stick to the directives was...challenging to say the least (one-shot prompting definitely has its limitations depending on the model).  

Finding the right combination of rules for the model to consider was tricky, and I'm sure both the base system prompt and the knowledge base content could use even further refinement beyond what I could get done before the deadline.  Either way, I feel like I struck a solid balance for v1.

The good news is that the module was built to easily modify the system prompt in the configuration item without touching the underlying code, hypothetically allowing you to continuously improve the final output. 

UX Flow

SPExAI provides a new button in the Sitecore Ribbon. When clicked, this button surfaces a dialog window for the user's input.  



Users fill out the Report Name, set the Report Scope (tree selector), and the Describe your Report fields.  

It takes only a few seconds for the script to be generated.  

Users are then presented with the following options:



SPExAI Code Breakdown

Here's how the pieces come together behind the scenes:

1. Load the API Settings

The script set the four field values into variables.


2. Present a dialog for user input

The user's inputs from the dialog (report name, scope, description) are stored as global variables.


3. Variable validation

Validate that variables, like the script name, are valid and don't already exist in the saved script location.

4. Invoke the custom `Invoke-OpenAIChat` function

Invoke-OpenAIChat sends a custom one-shot prompt (including merging system instructions, knowledgebase, and user input) to OpenAI’s Chat Completion API and returns the generated response.

5. Save the script to the tree

Upon successful script generation, the module saves all generated scripts under a dedicated folder:  /sitecore/system/Modules/PowerShell/Script Library/SPExAI Report Generator/Content Reports/Reports/SPExAI Generated

6. Open, Run, or Close Dialog
After saving the script item, the module presents a modal dialog with its three choices:

1. Open Script Item – jumps to the new item in the Content Editor
2. Run Report – immediately executes the report using Invoke-Script
3. Close – exits with no action



Video Demo

As part of the entry, a video demo is required. You can check it out here:



Some Final Thoughts

If you haven’t seen it, fellow long-time MVP Rodrigo Peplau compiled a list of this year's submissions - all worth checking out. 

The quality of entries this year made it hard to predict how things would shake out. Winning was unexpected, but also an absolute honor.

Bummed I couldn't be at SUGCON EU to accept the award in person, but luckily the announcement was recorded. 😀  I will cherish this screenshot for all time:


Each year I've participated (whether on a team or solo), I've come away with valuable hackathon experience and a solid module, or at least the beginnings of one, that I could share and expand on further. I've always enjoyed the satisfaction of shipping something interesting and useful to others under competitive pressure. 

If you’re considering participating next year, I highly encourage it.  About 20% of the teams are solo, but it's not for everyone.  I recommend grouping up with others, especially if it's your first Hackathon. 

It’s a great way to push yourself, learn something new, make connections, and contribute to the spirit of the Sitecore community.

Keep on hackin'! 👨‍💻

Thursday, July 7, 2022

Sitecore Icon Search 2022 Web App and Extensions Updates + Microsoft Edge Addon v1.0.0 Release

It's been 671 days since the last update to the Sitecore Icon Search web app and 1,278 days since my last update to the Chrome and Firefox extensions. I've made updates to squash new bugs across the Sitecore Icon Search ecosystem that have surfaced since the previous release while mitigating the extensions' delisting at the beginning of 2023. 

WebApp: Sitecore.com dependency migration. 


I recently visited sitecoreicons.com only to find that all icon images failed to load. 😢

For context, by default, the app has always used www.sitecore.com to source the icon images themselves since sitecore.com happens to be a Sitecore site. Given how lazy loading is implemented in the data table, I always expected the strain on www.sitecore.com to have remained minimal.  

It turns out Sitecore has recently implemented DDOS security protection via Cloudflare. You might notice that if you go to www.sitecore.com, you'll land on a screen that looks like this before you are redirected to the site:



Due to this change, it left sitecoreicons.com imageless.   The latest updates to the Web app resolves this by hosting the icon images within the application - cutting out the dependency on www.sitecore.com completely. The browser extensions have also been updated to source icon images from sitecoreicons.com


Chrome Extension: Critical Manifest Updates to avoid looming January 2023 Deadline

The Sitecore Icon Search Chrome extension is actively used by ~500 active users. When I originally built the extension, the latest 'manifest' version (a JSON file containing information that defines the extension) was v2.  

Google has provided two critical dates as manifest v2 is deprecated and replaced entirely with v3.  

January 17, 2022: New Manifest V2 extensions will no longer be accepted by the Chrome Web Store. Developers may still push updates to existing Manifest V2 extensions, but no new Manifest V2 items may be submitted.

January 2023: The Chrome browser will no longer run Manifest V2 extensions. Developers may no longer push updates to existing Manifest V2 extensions.

This means that the Sitecore Icon Search Chome extension will no longer function after January 2023 and, in its current state, cannot be updated until upgraded. The latest release brings the extension's manifest version up to version 3 and provides code fixes for several deprecated APIs that surfaced with the upgrade. 


By default, Chrome should update to the latest version automatically. 


Firefox Add-on: Revival

Back in December 2021, I received an email from the Mozilla team regarding a policy update that I, unfortunately, hadn't found time to respond to.   This results in version 1.0.0 of the Firefox add-on being removed 😢


Version 2.0.0 of the Firefox addon contains all the latest updates made for the WebApp and the Chrome extension and resolves the policy issues. I'm actively awaiting the add-on approval process to conclude and will update this portion of this blog post once the extension is available.   


UI and UX enhancements 

While I was making some updates, I at least decided to have a little fun. I've updated some fonts and scattered emojis across the app. I've also included some phrases catered to Gen-Z Sitecore developers. 😁






Microsoft Edge Addon v1.0.0 Release

While Chrome Extensions can already be added to Microsoft Edge by toggling on a feature, however, to avoid requiring Edge users to jump through hoops, I've decided to port and release the Microsoft Edge version of the browser extension. Version 1.0.0 can be downloaded on the Microsoft Add-ons library.



Thursday, November 15, 2018

Which Version of Sitecore Is This Again?

As someone working with multiple clients spanning various Sitecore versions, I often lose track of which versions of Sitecore I have installed 😑   Sometimes, I want to verify if an issue I've come across is a known issue in that version. Other times, I may be providing information about possible upgrade opportunities.

In any case, there are several approaches to identifying which version of Sitecore a site is using.

The Sitecore Shell

If you have access to the Sitecore shell, head to the Content Editor, click the System Menu button and select License Details.



If your Sitecore version is v 7.5 or lower, you can also find the version on the log in screen (update name not included):



Sitecore.Version.XML

Accessing /sitecore/shell/sitecore.version.xml is one of the easiest and quickest ways to find out version details - and it's always available on the CM server (Sitecore Knowledgebase: How to identify the Sitecore version and installed components)


Again, you're left on your own to find the update name yourself.

Sitecore.Kernel.dll

If you have access to the file system, you can navigate to the /bin folder, find the Sitecore.Kernel.dll and open the file's Properties.  Under the Details tab, the Sitecore Product Version will be visible here.



One caveat to this approach is that starting in Sitecore 8.2 (Initial Release), the product version listed in the Sitecore.Kernel.dll start with version 10.0.0.5597 - making it a little more difficult to quickly identify the Sitecore Product Version:

8 = 10.  Math.

Luckily, this Sitecore Stack Overflow Answer has the mappings you'll need.
Sitecore has provided additional information on their Versioning Policy page regarding their approach to product versioning.

Sitecore PowerShell Extensions

If you have access to the CMS and SPE is installed, running the $PSVersionTable command lists the Sitecore build version. Running $PSVersionTable.BuildVersion will display the Major, Minor, Build, and Revision numbers.  


This information is pulled directly from the Sitecore.Kernel.dll.
Referencing the previously mentioned Sitecore Stack Overflow Answer will give you the product's update name.  




Identifying Local Sitecore Versions with PowerShell

Initially, I wanted to come up with a way to identify every version of Sitecore I have installed on my local machine.  I used PowerShell (naturally)  to write a script that lists all installed Sitecore sites registered in IIS and their respective mapped update name based on an inspection of the Sitecore.Kernel.dll.

Here's the script:


Here's the result:

Listing all my local Sitecore instances with their respective 
With the release of the Sitecore Icon Search Chrome Extension, I was super happy with my experience building a Chrome extension - so I decided to give it another go and build the Sitecore Version Detector Chrome Extension.

That's right. The Sitecore Docs site runs on 7.2 Update-4.  Time for an upgrade? 
The extension is simple - built in pure HTML and Javascript - and checks two things:

Is the site using Sitecore? 

We can determine if a site is built on Sitecore by checking for the response on the site's /layouts/System/VisitorIdentification.aspx URL.  This file has been around since the days of DMS/OMS and is central to Sitecore's tracking mechanism. It's also always accessible from delivery servers!

If it's there, we can assume that the site is using Sitecore.

Which version of Sitecore is being used? 

Using the second method listed at the beginning of this post, the extension requests the current tab's /sitecore/shell/sitecore.version.xml URL for an XML response.  This file, while not always accessible on delivery servers, is often left exposed 💀

If it is accessible, we can parse the Major, Minor, Build and Revision values from the XML, then map to the appropriate update version name.

If a Sitecore version is detected, it will display the full revision (with the update name) and link to its respective http://sdn.sitecore.net or http://doc.sitecore.net version page.

The version's Mainstream Support End Date also displays below the version with a link to the Sitecore Product Lifecycle page 😏

Note: While this may often determine versions for live Sitecore sites (especially older versions of Sitecore), not all environments provide the means to determine the version of Sitecore it runs on as an end-user.  

Enjoy!