June 14, 2008 by Alistair Deneys
I’ve mentioned Revolver before on this blog. So what is it? For those that haven’t ventured down the hyperlink…
Revolver is a command prompt for Sitecore targeted at developers and site administrators. I originally wrote Revolver due to 2 reasons:
I really liked the idea of “Sitecore Script” which was an idea I was working on to allow me to script out common actions.
I was at the time working on a Sitecore website which was really slow due to the complexity and size of the sites the application was running. (This wasn’t to do with Sitecore it was to do with the sites implementation.)
And thus, Revolver was born under the original title “Sitecore Command Line Interface”, or SCCli for short. The problem was, people had a hard time remembering the title of my tool, and it wasn’t really catchy. And on top of that I didn’t want people getting confused and thinking this tool allowed interaction with Sitecore from the Windows command line interface (cmd), although that is on the road map for a future release :). I liked the name “Revolver” cause it sounded cool, and this tool allows you to shoot yourself in the foot. Revolver is very powerful and can do some real damage if used improperly.
Since the first versions and as development continued, I have set some guidelines and principals for the direction and development of Revolver. There are now 4 guiding principals for Revolver development.
To provide fast access to the content tree
To allow scripting of common actions
To fill in the gaps of the current Sitecore UI
To provide a platform for custom tool development
It never ceases to amaze me in how many ways I can use Revolver. Scenarios usually start with someone asking if something is possible in Sitecore.
Is it possible to check in all content without clicking on every single item?
Is it possible to get a report of all content which hasn’t yet been published?
Is there a global find and replace in Sitecore?
We’ve changed the structure of the live URLs. How can we update all existing links in Sitecore HTML fields?
I think the real power of Revolver comes from combining the various commands together. Like combining the checkin command with a find command. Although Revolver can do many things, it is very good at the find, modify, store type problems. Find some content or field, modify that content somehow, store the content back in the same or another location. Another offshoot of the fast access to the content tree leads to some rudimentary reporting functionality. And someone the other day suggested to me it could be used as an SEO tool. I suppose, SEO is all about changing your content or meta tags; Finding your target keywords and doing something with them.
Revolver is not intended to be used by non-admins or non-devs. This is not a general content author tool. Something like:
find -r -f text /au/ (sf text < (replace < (gf -f text) /au/ /nz/))
would be quite overwhelming and scary to the non-geeks. This is a power tool indented to be used by the tech minded, hence the text interface.
Revolver is a productivity tool. It’s an “incase” tool. You don’t need Revolver until that late night when you’ve been repetitively updating content till 11pm. Or until you find yourself repeating the same set of actions for the 14th time that month. It’s kind of one of those things. You’ve got to know the capabilities of Revolver before you know where it can be used. But once you get into it, and start creating scripts to do those repetative actions for you, I think you’ll see the true benefit to using such a tool.
Revolver is currently in Beta, but I’m hoping to release version 1 shortly.