Sitecore Modules are plugins for Sitecore. They can be installed to add functionality to the Sitecore CMS. A Sitecore module typically includes code libraries, content items and configuration. The Sitecore Marketplace is the official module repository and it contains over 1100 modules! Sitecore modules are created and maintained by Sitecore as well as the Sitecore developer community.
Modules are simply Sitecore packages, so they can be created by any Sitecore developer and do not necessarily have to be distributed through the Sitecore Marketplace. For example, some of the bigger modules distributed by Sitecore (like SXA) are only available as a Sitecore download, and thus are gated by the Sitecore Developer Certification requirement (You can’t download Sitecore software unless you have passed the Sitecore Developer Certification).
In this post I will describe some of the most useful Sitecore modules I have worked with so far and give a brief overview of what they do and how they can be useful.
For me, Sitecore Powershell Extensions is a must have module. Powershell Extensions adds the Powershell console to Sitecore giving you the power to write scripts to perform automated content operations. The documentation for this module is excellent, and includes many handy examples for commonly needed tasks. Scripts can be saved and edited directly in Sitecore for later use. Looking to upload csv data into Sitecore items? Powershell Extensions can help you with that.
Powershell Extensions also comes with a number of handy audit reports which allow you to find locked items, or items stuck in workflow. My favorite report is the “Media items by size and type”, this report helps you find large media items (like images) that may be causing performance problems on a site. In my opinion, Powershell Extensions is by far most essential of the Sitecore Modules.
If you’ve worked with the new Sitecore 9 forms you’ve likely run into some of its limitations. Most notably, the ability to protect your forms from bots with a captcha. Forms Extensions provides reCaptcha support that you can easily add to any form. It also includes a file upload control that can be configured to store uploads on the server filesystem or into Azure Storage. Forms Extensions also allows for a more customizable email submit action to an email address specified in the Sitecore backend. This module is also well documented Forms Extensions Blog
Version Support: 9
Sitecore Rocks is a Visual Studio extension, so it doesn’t really add functionality to Sitecore like a module, but it is worth noting due to its power and convenience for Sitecore developers. Sitecore Rocks allows developers to work with the Sitecore tree from directly within Visual Studio. Change templates, add Renderings and items and publish content without having to load the Sitecore UI. Integrating Sitecore Rocks into your development workflow takes a bit of getting used to, but the productivity improvements are well worth it.
The 301 redirect module is a handy way to allow content authors the power to create redirects if they need to quickly fix a broken back link or search engine link. Because broken links result in a poor user experience and erode a site’s SEO ranking, the ability to fix these issues quickly is essential. This module adds a warning message to pages that have a redirect pointing to them, I believe this is intended to promote pruning of the redirects. Redirects aren’t needed once search engines indexes are updated and so they become content clutter. A comment on the Marketplace page for this module states that it is unfortunately not compatible with Sitecore 9.
If you are interested in setting up 302 redirects using web.config, check out this post on redirecting in Umbraco with a section on using a URL rewrite config with redirect maps. The config setup works for Sitecore and using IIS to handle your 301 redirects is an efficient approach if you have a large list of URLs to deal with, but it requires access to the web server and is typically done by developers.
Version Support: 6,7,8
Sitecore SIM is more of a desktop tool than a module but I have to include it on this list. Sitecore SIM is a Sitecore provided utility that manages your local Sitecore downloads and installs. It allows you to easily add or remove a standalone Sitecore install from a developer workstation. Sitecore downloads can be stored in a local downloads library that you can use to pick and choose install versions. Instance names and SQL credentials are all configurable. You’ll need a valid Sitecore license to run your Sitecore sites as well as a Sitecore certification to pull Sitecore downloads.
Version Support: 6,7,8,9*
*Only supports XM install, use the SIF installer for XP, or SIA for version 9.2
Sitecore Experience Accelerator (SXA) is a large module that changes Sitecore in fundamental ways. SXA provides a library of unstyled components built using Sitecore Helix architecture. These components can be used to create pages instantly so enable early content authoring even before design and styling. Once pages have been created, they can be packaged up and sent to front end HTML and CSS developers for final design. SXA empowers content authors with flexible layouts and components and even exposes the CSS through the Sitecore backend. SXA is a major mind shift from conventional Sitecore, it could very well be the pattern that Sitecore is using to build version 10. It is downloadable from the Sitecore download site not from the marketplace.
The Sitecore log analyzer installs onto Windows and allows you to quickly search log files for errors or warnings. It also provides an audit view that tracks logins and logouts and publishes. Simply select a log file and click “Analyze” to load the log data. Click through the tabs and filters to display specific data of interest. A handy timeline views provides additional context around when events are happening. I tested it with Sitecore 9.1 log files without any trouble, so although the Sitecore Marketplace lists its compatibility ending at version 7.2, I expect it will function until Sitecore changes the log format.
Version Support: 6,7,8*,9*
*I believe it will work with these versions as well.
Before you jump into a Sitecore module install, ensure that you test the module in a Sitecore sandbox. There is a possibility that other customizations or modules are not compatible. You also want to ensure that your version of Sitecore works with the new module. Developer support for modules tends to wax and wane. Sitecore Powershell Console has the strongest developer support, so I have no hesitation installing it, but some of the others required more consideration so tread carefully and test thoroughly. I would also recommend keeping your module installs to a minimum because they can make Sitecore version upgrades difficult, you will likely have to upgrade the modules along with Sitecore.