Jan 24, 2011
visibility 8523
star star star star star
(2 votes)

EPiServer Search and Replace plug-in v1.2

I have released a new version of the Search and Replace plugin I released a few months ago.  Some UI enhancements have been made and there was an issue where the plugin fell over when running edit mode under a different relative file path location.

What is the EPiServer Search and Replace plug-in?

It’s a free plug-in aimed at content editors which allows content editors to search and replace content within an EPiServer site. 

The plugin has the ability to search and replace page properties, dynamic content and dynamic properties.

To install the plugin it is a simple as copying the compiled assembly into the bin folder and adding some configuration settings.  See the installation instructions here

How did the plug-in come about?

Myself and a couple of colleagues were discussing features missing from EPiServer.  One thing that came up several times in pitch meetings from project stake holders was whether the CMS offered the ability to search and replace content within a site. 

EPiServer doesn’t provide this functionality so I decided to create a plugin to do just this.

Search and Replace Plugin abilities

The plugin needed to meets the following requirements:

1. Search and replace page properties.

2. Search and replace dynamic properties.

3. Search and replace dynamic content.

4. For xml/xhtml content only replace the content of text nodes and attributes so that structure is not corrupted.

5. Maintain versioning history so that the editor can decide whether or not to publish/rollback the affected pages.

 

Using the plug-in

When the plugin has been setup a new tab will appear in the edit area named ‘Search and Replace.  The default view of this tab which is shown below allows the editor to create a new search and replace record or edit/delete an existing instance.

When the user clicks the Add ‘Search and Replace’ button. They will be presented with the following form:

Here the user can set various searching options, such as specifying a starting page, whether to search descendent pages of the start page and whether to search all language branches or specific ones, plus a few other options.

When the editor is happy with the criteria they can click ‘Go’.  This will invoke the search and replace on a seperate thread and the editor will be presented with a progress indicator which updates using AJAX like below:

Once the search and replace has completed the editor will then be presented with another screen informing them of the criteria used and any pages, dynamic properties that have been updated or any errors that have occurred:

This screen allows the editor to publish (only if the page has been in a published state) pages, roll them back or compare page versions using the new EPiServer 6 PageCompare plugin as shown below:

 

 

Further information

For further information on setup and the configuration options available please check out the Usage Instructions.

Compiled assemblies and source code can be found on codeplex http://episerversap.codeplex.com/.

 

Have feedback?

Please feel free to email or twitter me with any feedback @croweman

Jan 24, 2011

Comments

Mar 2, 2011 11:08 AM

Another feature that this module could support is the possibility to act as a report tool. EPiServer provides Report Center and Gadgets in the Online Center but many editors want "ad-hoc" reporting (eg. find all pages that has the following UR, older than 6 months and are marked with the following writer) and exporting it to Excel (or Word). I know we can build reports and gadgets but for many customers the the process of putting new "features" into the production environment is tedious and expensive.

I see great potential in the mechanism used for creating Visitor Groups in EPiServer CMS R2 as an interface for creating reports. Hopefully we can provide something good for all those customers asking for better insight into the quality of their data...

Feb 15, 2013 10:53 AM

Hi,
Can you tell me if this works with content that is loaded in via bespoke Composer Content Blocks?
If so how do we use Search and Replace to do this task?

Many thanks

Jonathan

error Please login to comment.
Latest blogs
Copies vs. Connections: Modeling Content Areas for Multilingual Success

Starting With the Simple Question Most multilingual content modeling conversations start with a deceptively simple question from a client: "If we s...

Vipin Banka | Aug 23, 2026

Content Transfer coming to Optimizely SaaS CMS

Back in June I released Content Transfer on the Optimizely nuget feed – today I’m releasing version 1.0 , because we’ve had it running out in the...

Matt Pallatt | Aug 23, 2026

Improving Optimizely Product Information in LLM Tools

Tools like Claude Code can be great for working with Optimizely CMS, but when they index outdated or incomplete information about developing a...

Nicholas Sideras | Aug 21, 2026 |

How to Get a Bacpac Out of DXP (And Never Do It By Hand Again)

Every Optimizely DXP project eventually runs into the same task: getting production data onto a local machine so you can actually troubleshoot...

KennyG | Aug 20, 2026