Part 1: Getting Started with KInspector
KInspector is a powerful tool that Kentico makes available for reviewing the configuration of a Kentico site. However, there's very little easily-reviewable information about its capabilities, or how to use it on your own sites.This post is going to be part of a series on how to get KInspector running in your environment, how it's built internally, what its modules do and how they can help you improve your site.
KInspector was first released by Kentico back in late 2015 - they'd been using it internally for their consulting projects, and over the course of the last two years it's become a very useful way to review a Kentico site. Some of the things it can check for:
- Database consistency (in the DBCC CheckDB sense)
- Consistency between Documents vs the Document Tree
- Consistency between Documents vs the Document Workflow
- Consistency between Media Library files vs the Media Library DB definition
- Overflowing database table sizes
- Page types / templates that aren't being used by the site
- web parts that are on pages but not enabled
- Performance tunings, like web parts with nested repeaters or that don't specify a set of columns
- Verifying various security settings like Clickjacking, flood, password policy, SSL, or users with empty passwords
- Scanning web parts and transformations for vulnerabilities
So as you can see, this tool can do a lot, especially during site development, to make sure that you haven't missed common issues that will haunt you down the road.
As far as actually getting it set up, there's the current, console-app-based way, and an in-progress, web application-based way, depending on how you want to use it. In my opinion, both of these should only be run on a dev envrionment (or a disconnected copy of production), since KInspector does directly access your site's database, and some of the modules (specifically the ones under "Instance Setup") do directly alter data on the site. One of the modules ("Screenshotter") will eat up a lot of processing time as it attempts to take a screenshot of every page on your site. Please note that KInspector needs to be run on the same machine as your site, due to needing a local folder reference to the Kentico instance.
The first (and main-line) method of using KInspector is available in the master branch, at https://github.com/Kentico/KInspector
. For this method, you will download it to a folder, use the build.cmd file in the root to handle building it, and open a web page (by default, that's at localhost:9000).
The second method is still being developed, and doesn't incorporate the latest bugfixes and new modules, but can be found here: https://github.com/ChristopherJennings/KInspector/tree/v4-dev
. The difference with this way is that when you download, it is built in Visual Studio, and then exists as a Web Application. You can just point to the base folder in a local IIS instance and set it up as a locally-running site. The advantage to doing it this way is that you can leave it running as a constant tool for your Kentico administrator to run to check on any Kentico sites on that server.
In both cases, you need to type in a local folder reference to your Kentico site, and provide valid DB credentials. I've developed another version that reads IIS and directly accesses your Kentico sites without you needing to enter data yourself - but I'll save that for a part 3.
Coming up next in part 2, I will provide a more in-depth look at the KInspector modules available and how you can use them to keep your Kentico website in working order.