I'm happy to announce the release of LINQPad Driver for Sitecore 1.8. Read on for details on what changed and for a download link.
This release is pretty light on new features:
My main goal in writing this post is to explain some of the features that I claimed worked in previous versions (but didn't), because now they do work.
A couple of releases back I added functionality that was supposed to allow you to replace various internal components, such as the app.config reader and the schema builder. Well, I didn't realize that the logic wasn't fully implemented in the version I released, so if you ever tried to actually use that functionality it probably didn't work.
The rest of this post offers an overview of the components you can specify. My next blog post will explain how to configure a development environment so you can create your own components.
When Sitecore runs, the settings in web.config creating and initialize the Sitecore environment. The same thing needs to happen when Sitecore runs in LINQPad. While LINQPad doesn't have a web.config file, it does have an app.config file.
The app.config reader is responsible for reading the web.config file from the Sitecore server and making any changes that might be necessary. The default app.config reader does the following:
If you need additional changes, you need to extend the default app.config reader.
LINQPad allows you to write LINQ statements. When you use the LINQPad Driver for Sitecore, the search indexes from the Sitecore server are exposed as objects called "Explorer Items". This is what you see on listed under the connection on the left-hand side of the LINQPad application.
Explorer Items are also available in the Query Editor. They are exposed as IQueryable<T> objects that you can use in your LINQ expressions.
The schema builder is responsible for exposing the Sitecore search indexes as Explorer Items. The LINQPad driver uses this component in the method GetSchemaAndBuildAssembly.
If you want to expose additional IQueryable<T> objects - or if you want to prevent certain search indexes from appearing- you need to extend the default schema builder.
Normally when the Sitecore environment starts the initialize pipeline runs. When Sitecore runs in the LINQPad context, this pipeline doesn't run.
The driver initializer is able to execute code that normally runs when the Sitecore server starts. The default driver initializer performs the following tasks:
The LINQPad driver uses this component in the InitializeContext method.
In my next post I explain how to set up development environment so you can start building these components.
Oh, you want to download version 1.8? Here you go.