# 2EMPowerFM

**URL:** <https://the.fmsoup.org/t/2empowerfm/1695>\
**Category:** More...\
**Tags:** plugin\
**Created:** [February 16, 2021, 11:50am UTC](https://the.fmsoup.org/t/2empowerfm/1695 "2021-02-16T11:50:23Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 11:50am UTC](https://the.fmsoup.org/t/2empowerfm/1695/1 "2021-02-16T11:50:23Z")

</div>

I was wondering how many FMP devs use the 2EMPowerFM plug-in.

---

<div class="post-metadata">

**Author:** ![AndyHibbs](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/andyhibbs/32/3089_2.png) [@AndyHibbs](https://the.fmsoup.org/u/AndyHibbs)\
**Post date:** [February 16, 2021, 12:13pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/2 "2021-02-16T12:13:26Z")

</div>

Oliver, we couldn’t work without it.

We pay our subscription for the standard product, not the advanced version, which can be pricey for multiple copies, but it pays for itself over and over again.

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 12:19pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/3 "2021-02-16T12:19:19Z")

</div>

good info ... thanks

---

<div class="post-metadata">

**Author:** ![steverichter](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/steverichter/32/1022_2.png) [@steverichter](https://the.fmsoup.org/u/steverichter)\
**Post date:** [February 16, 2021, 12:21pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/4 "2021-02-16T12:21:09Z")

</div>

I have many long scripts that I did not write. I’ve used their Developer Assistant and found it very useful for searching these long scripts.

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 12:22pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/5 "2021-02-16T12:22:09Z")

</div>

Do you use the advanced version? I'm not sure how useful the "replace" feature is as implemented. The "Find All" seems like it would be good if I can take that list and copy it, print it, export it, or whatever.

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 16, 2021, 12:51pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/6 "2021-02-16T12:51:45Z")

</div>

The replace does XML replacements.  
Just like the Search & Replace command via MBS Context menu.

See  
[Add a search and replace command for FileMaker Script Workspace](https://www.mbs-plugins.com/archive/2019-11-14/Add_a_search_and_replace_comma/monkeybreadsoftware_blog_filemaker)

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 1:32pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/7 "2021-02-16T13:32:13Z")

</div>

But doesn't MBS only do the replacement in the current script?

It seems 2EMPOWER is much more powerful in this one way.

Both tools have their place. 🙂

---

<div class="post-metadata">

**Author:** ![MonkeybreadSoftware](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/monkeybreadsoftware/32/361_2.png) [@MonkeybreadSoftware](https://the.fmsoup.org/u/MonkeybreadSoftware)\
**Post date:** [February 16, 2021, 1:43pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/8 "2021-02-16T13:43:33Z")

</div>

Well, with the trick mentioned in the blog post, you can put in the effort to have it loop over all scripts.  
But I don't like that approach in 2EMPOWER. Too easy to break something.

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 1:50pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/9 "2021-02-16T13:50:22Z")

</div>

I haven't tried your script, but what happens if you enter nothing for replace? It looks like it would replace whatever you searched for with "" (totally messing things up).

---

<div class="post-metadata">

**Author:** ![tonywhitelive](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/tonywhitelive/32/208_2.png) [@tonywhitelive](https://the.fmsoup.org/u/tonywhitelive)\
**Post date:** [February 16, 2021, 4:54pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/10 "2021-02-16T16:54:36Z")

</div>

I find 2EMPowerFM Plugin useful for the following:

- Finding commented out script steps (search the XML for Step enable="False")
- Finding missing references in scripts
- Finding just about anything in scripts
- Finding Table Occurrences on the Relationship Graph

Lots more features. Above are just my favorites

Also use and like MBS plugin.

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 5:22pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/11 "2021-02-16T17:22:03Z")

</div>

Thanks Tony!

I like the fact the plug-in is "real-time" so you don't have to export a DDR to do basic analysis (not to say those other tools aren't useful also.)

---

<div class="post-metadata">

**Author:** ![rivet](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/rivet/32/1727_2.png) [@rivet](https://the.fmsoup.org/u/rivet)\
**Post date:** [February 16, 2021, 8:00pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/12 "2021-02-16T20:00:13Z")

</div>

I use it every day, excellent plugin,

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 8:25pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/13 "2021-02-16T20:25:53Z")

</div>

Thanks .... Basic version or advanced?

---

<div class="post-metadata">

**Author:** ![rivet](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/rivet/32/1727_2.png) [@rivet](https://the.fmsoup.org/u/rivet)\
**Post date:** [February 16, 2021, 8:31pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/14 "2021-02-16T20:31:04Z")

</div>

advanced version.

(FYI , I was curious when I started to use it, looks like 2016… wow time flies )

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 16, 2021, 8:34pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/15 "2021-02-16T20:34:52Z")

</div>

Yep. Thanks again.

---

<div class="post-metadata">

**Author:** ![apjcs](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/apjcs/32/2502_2.png) [@apjcs](https://the.fmsoup.org/u/apjcs)\
**Post date:** [February 16, 2021, 10:00pm UTC](https://the.fmsoup.org/t/2empowerfm/1695/16 "2021-02-16T22:00:15Z")

</div>

2empowerfm developer tool is an essential tool for me. I use the evaluate and Find All functions many times a day.

---

<div class="post-metadata">

**Author:** ![OliverBarrett](https://avatars.discourse-cdn.com/v4/letter/o/f19dbf/32.png) [@OliverBarrett](https://the.fmsoup.org/u/OliverBarrett)\
**Post date:** [February 17, 2021, 11:44am UTC](https://the.fmsoup.org/t/2empowerfm/1695/17 "2021-02-17T11:44:54Z")

</div>

I'll probably buy it. I have a bit of a hard time spending $395 for basic search/replace that should be part of any development product itself, but I can see the 2Empower is a fine product.

---

<div class="post-metadata">

**Author:** ![hschlossberg](https://avatars.discourse-cdn.com/v4/letter/h/e495f1/32.png) [@hschlossberg](https://the.fmsoup.org/u/hschlossberg)\
**Post date:** [February 18, 2021, 3:58am UTC](https://the.fmsoup.org/t/2empowerfm/1695/18 "2021-02-18T03:58:59Z")

</div>

I rely on it constantly and couldn't develop without it. I use its evaluate function frequently, often even within the data viewer (to evaluate part of a larger calc). I use find and find all frequently for a quick search for a phrase or variable or something in scripts, and find/replace within a large calc or in a script (renaming variables, for example). It is indeed functionality that should be included in FMPA... but it's not, and I find the advanced version well worth the price.

---

<div class="post-metadata">

**Author:** ![samfmp](https://avatars.discourse-cdn.com/v4/letter/s/a9a28c/32.png) [@samfmp](https://the.fmsoup.org/u/samfmp)\
**Post date:** [February 18, 2021, 6:46am UTC](https://the.fmsoup.org/t/2empowerfm/1695/19 "2021-02-18T06:46:55Z")

</div>

I have used this plugin before, the standard one. It is powerful to loop through all the scripts and find what you want.

But I found that MBS could do similar things(the searching function of a field) and

If I import the DDR to FMPerception, I could do the same thing rather than looping through all scripts.

So I have not continued the subscription.

---

<div class="post-metadata">

**Author:** ![AndyHibbs](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/andyhibbs/32/3089_2.png) [@AndyHibbs](https://the.fmsoup.org/u/AndyHibbs)\
**Post date:** [February 18, 2021, 9:11am UTC](https://the.fmsoup.org/t/2empowerfm/1695/20 "2021-02-18T09:11:47Z")

</div>

Hi Sam

It depends on your needs. 2EmpowerFM provides instant service in so many areas such as scripts, field/table lists, the relationship table plus many other places (interestingly, it no longer searches within the new import records field mapping, although the right side is dynamic, so perhaps understandable, but we’d like the left side search back). It searches on any string of text, hence global variables, field names, within calculations, comments, etc.

One of the most valuable uses for us is that we always have a ‘changelog’ section at the top of every script. Each comment below the ‘changelog’ comment is in the format ‘dd/mm/yy initials - description of change’. After that, within the script, each change made has a comment above it starting with the date and initials. Searching on the date allows us to jump to every change made within the script made at that time. Absolutely invaluable in a multi-developer, or for a developer returning later to the script situation.

Funnily enough, we rarely use the Evaluate function, but that is probably down to habit, rather than anything else. Plenty who have posted here obviously do use this.

We use it most in searching within an active script or in all scripts, but don’t have to do any preparation, just use the shortcut key combination to open or close it.

I couldn’t imagine working without it.

[Next page](https://the.fmsoup.org/t/2empowerfm/1695.md?page=2)
