IP.Dynamic Search, Seek and Destroy

Does anyone remember that Metallica song? It was off their first album. Yeah, that’s way before they went all country and western.

Anyhoo, work continues on IP.Dynamic now that Brandon is settled with Invision Power Board maintenance and Invision Gallery is in the QA phase. The first thing I wanted to nail was the page / template search and replace functions. It’s a function I use a great deal on BBEdit and I wanted to be able to search and replace on several pages / folders at once and use full regex. It can be a real time-saver when making sweeping changes to syntax, etc.

(I also need this feature because I’ve made a few core changes and need to remove a bunch of template tags from the page content)…

Now that we’re being all professional, I wrote up the spec and worked out the logic of the feature and how it’s presented before I wrote a line of code. This enabled me to rough out the UI and save messing around with the HTML. Once the spec was complete, I wrote up a few classes and this is the result:

The UI is scrappy at the moment. That’s to be fleshed out later as well as the ajax “search in progress” screen which has an iFrame back-up for those non-ajax folk. In this example, we do a regex search and replace in test mode which shows a DIFF report of the potential changes; great for making sure you don’t screw up a bunch of files by mistake - even though IPD has a versioning / roll-back system in place.

IP Dynamic Search.mov (1.1mb)

Wow, looking good, nice new blog layout as well.

I upgraded to MT 3.2 today and needed to reset a lot of skin customizations. I noticed their “StyleCatcher” plug in which links to their site. I installed a skin from there and fiddled with it a little.

I like the StyleCatcher concept…

Nice layout…….

From what I saw of your post on the IP.D forum today, your new procedures for development look really useful, and the work’s looking as good as ever. :D

Nice feature, great that you included regex functionality in it as well :)
Nice new blog skin too.

Using MT? Why aren’t you using IPDynamic? :P

IP.Dynamic != Blog.

You should make it so that it will not make changes unless you mark them to after they’re found. The worst thing to happen would be messing up on a regex snippet and ruining everything.

Well, that would just be annoying when dealing with a large amount of pages.

The test mode results screen now contains a button: “Process replacements” which will actually run the replacements.

I was really impressed with the AJAX you used with IPB 2.1.x, so this should really make IP.D top quality. Nice blog BTW, is MT still using Perl?

Moveable Type.

woah!metallica is my favorite thrash metal band!
Searching…….SEEK AND DESTROY!
Congratulations :-)

*
To prove that you're not a bot, enter this code
Anti-Spam Image