Jan 24, 2011
  8317
(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

Please login to comment.
Latest blogs
Optimizely Opal: How to Build Effective Workflow Agents

If you're building workflow agents in Optimizely Opal, this post covers how specialized agents pass context to each other, why keeping agents small...

Andre | May 20, 2026

ReviewPR: An Azure Function That Reviews Your Azure DevOps Pull Requests With Claude

A while back I wrote about an  Azure Function App for PDF creation that we use to offload PDF rendering from our Optimizely DXP site. That same...

KennyG | May 19, 2026

Accelerating Optimizely CMS and Commerce upgrades with agentic AI (Part 2 of 2)

The Real Transformation in Optimizely CMS 13: Why the Upgrade Itself Is the Easy Part. A field-tested playbook for enterprise teams moving from...

Hung Le Hoang | May 18, 2026

Is the most powerful AI model really the best value?

Artificial Intelligence is already becoming part of everyday software development. Developers now use AI tools to generate code, write documentatio...

K Khan | May 16, 2026