XML DDR Reader

Thanks very much for your wonderful reply. :slight_smile:

1 Like

FMPerception easily saved me over a thousand bucks (accounting for the license price) in the first month I got it. I actually bit the bullet because of a single project that simply required a lot of insight about an unfamiliar system I was working with.

I rarely don't have it open anymore.

Also, the renewal price, especially taking advantage of the discounts circa Engage (nee DevCon), is VERY affordable. Actually, it would be more accurate to say it's more affordable than not licensing it.

1 Like

Just my 5 cents:
It's not impossible building your own analysing tool. Some VirtualList technique, some 'GetBetween' extractions (which certainly work better on XML than html), …
It's worth to try since you'll learn a lot and this tool will exactly do what you want.

This works fine If you can book this on your "Education-Account".
If you charge yourself just a $5.- for every hour your coding and build the GUI, you'll exceed the $500.- for a ready made tool easily times 10!

I want to chip in to support @WimDecorte's suggestions for usage. The first and last item on our checklist is to produce the DDR. And the most important reason is that the DDR is the state-of-the-system at the point we received it and at the point we returned it. This is so important for documentation, both legal and professional.

The DDR is so informative for diagnostic examination. As I said earlier, we use a custom PHP based tool. I can drop a DDR into the web folder and start browsing. I can see at a glance what the numbers are for tables, layouts, scripts, TOs, Relationships, CFs, etc. My tool runs tests for missing or corrupted objects. That gives us an immediate head start. We can ask intelligent questions about a system within minutes of sitting down with it.

We also use the first and last DDR to produce a well-formed XML diff. This is an accurate document of the changes in the system. We produce this diff in the same shape/structure as the XML DDR so that we can drop the diff into the project folder and use our tool kit on it. We can see immediately what layouts, scripts, etc, we touched and what elements we changed. This is a very powerful for developers because we can generate a DDR and a produce a diff in a few minutes.

Our tool provides a detailed summary of the number and type of objects on a layout. With that information you can develop a sense of purpose and design.

It will also form an opinion on the number and type of fields used in tables. Like the test for corruption, the opinion on field definition allows us to triage potential problems and speak about earlier design decisions in a sensible way.

We can target attribute values with boolean searches and we can search on any type of object. Does anyone need to search a system for graphic objects like lines, rectangles and ellipsis? We re-themed a system. At the end we wanted to ensure that layouts no longer had extraneous objects on them.

The final example is that it provides proof. We've had in-house developers try to blame us for actions that they took. A DDR is timestamped. Being able to provide a DDR allowed us to show that the system had changed after we left.

1 Like

We have worked hard to get to a place where we develop in a way that doesn’t require find and replace.

This is a lot like doctors that do bloodless surgery. They don’t need to do blood transfusions because the process and the methods are careful to avoid excessive bleeding.

I like to imagine that one-day-in-the-near-future we can (a) obtain an XML code excerpt from a solution (b) modify the XML and (c) replace it in place. That's my idea of bloodless surgery.

1 Like

We can kind of do that now. I do it often.

We have several utilities that we can copy a list of fields, and have it build the script header, parameters, Set Variable steps, Set Field steps. Or using Karbon Generator, feed it a JSON object and have it create all the fields for us. And even build 90% of the CRUD scripts for us.

Granted it doesn’t find/replace across the entire file, but then again, when everything is DRY, there is usually only one place to handle it.

2 Likes

I'm late to the party, but I want to say something about the price that get mentioned a lot in this thread.

  • 500$ is not the yearly price, it is the first year price.
  • You can install the software on more than one computer. Larger pools within an organization see the price go down quickly by quite a bit.
  • ALL renewals are at 50%
  • Geist Interactive usually has a yearly promo roughly at the same time as a large event in the community. I took 20% off my renewal price this year. So my renewal cost me $200. The same discount was available to 1st year buyers, letting them step in at $400 instead of $500.
  • It has been long advertised that the price you pay would let you use not only FMPerception, but also FMComparison. That second product is in beta, but considering the fact it is based on the Save as XML command that was introduced in FM18 and has now changed in FM19, hats off to @DaveRamsey for being able to give us a beta so quickly.

I've been a fan of the product ever since I laid my hands on it. I shared about it before, here and elsewhere. Every time I meet someone who does not know about it, I recommend they look at it closely because I'm pretty sure they will like it.

The product may not be for everyone. What it does, it does extremely well. A lot of developers in the community like the product. The fact competing products barely get mentioned in this thread is a telling sign.

I also have a license for BaseElements. I see the 2 products as complementary to each other. What I use FMPerception for, I'm not going to ask of BaseElements and what I use BaseElements for, I'm not going to ask of FMPerception.

If other products come out and offer features that are not available anywhere else, I'll consider purchasing them and adding them to my toolbelt.

Love it! Just code so mutti-step refactoring is never necessary. Why didn't I think of that? :wink:

LOL

I found during this investigation just how cool, dedicated, responsive, and serious Todd and Dave are about their products. Super good folks. I wish every company cared like they do. :slight_smile:

2 Likes

So you keep saying, but that's not part of this discussion. There is not a single halfway decent FMP dev that doesn't want refactoring built into the Script Workspace.
Refactoring is still doable and most of us do it every day to some extent; it's just a manual process instead of being to select a bunch of script steps, right-click and choose "create subscript".
While it would be extremely handy if we had that, the value would be nowhere near as great as the value that is in the analysis tools.

This particular conversation is about a code analysis tool, not code modification tools.
Let's not turn it into yet another griping session about the things you think FM lacks and why you decide not to use it. This forum (and others) should be about helping people use the tools at hand. For feature requests, add them to the official list, post the link, ask people to vote on it and move on.

2 Likes

Search and replace won’t hurt FMPerception. Completely different topic and use-case.

2 Likes

Snort.

Yay... conspiracy theories!! Yes, let's go there next.

Seriously though: I've built tools for the FM ecosphere going back more than 15 years (FMrobot, fmDotNet,...). Claris / FM doesn't NOT add features to their product to placate tool builders. In fact it's the opposite, they use the tool builders as incubators. If the feature / tool is successful they will jump at adding it to the platform. Everything I did with FMrobot made it into the product for instance.

Like I said: go vote on the features. And be ok with the fact that not everyone attaches the same importance to certain features like you do. If there was a huge outcry for find/replace then it would have made it into the product already.
As it is now, it is a solved problem, there is a 3rd party tool for it. If it is important to you you'll use it.

None of this is any different than other environments where you can 'enrich' your IDE by buying extensions and add-on tools.

2 Likes

There you go again; we're talking about a concept and you take just one element and use it as a hammer.
Makes it really hard to engage in any kind of meaningful conversation because in the end you'll always turn it around to "my IDE is free and does everything I want, anything else is substandard and bad".

Sure, a lot of IDEs have refactoring built-in. But there are always better versions to be had. For instance (from a company you love): ReSharper: The Visual Studio Extension for .NET Developers by JetBrains
Which is one of the for-pay enrichments for VS that many folks go for.
What's your next argument? "Well, if VS was a good IDE it would already have that built in..."

Refactoring is like your find/replace: you think it is mightily important and you make it into one of the marks that distinguishes between good and bad platforms. Truth is that it is not that important. It has never stopped any project from happening. Would it save time; sure. A bit. Will we have it if enough people demand it: yes. Are enough people demanding it: no. Why? Because it is not that important apparently to them.

1 Like

Sorry for this misunderstanding, I was only replying to a point you made earlier:

"None of this is any different than other environments where you can 'enrich' your IDE by buying extensions and add-on tools."

In point of fact, I wasn't implying anything, or drawing any comparisons, between IDEs and FileMaker tools.

FileMaker is an incredible tool. I use it every day.

There is nothing nefarious in my postings.

Either I've read your comments here completely wrong, or you don't remember what you said earlier.

Some comments apply to a more recent posting. Other comments are more general or have a wider scope. Most of my comments don't have value judgments in them but it seems they're interpreted as though they do.


In any case, I'm now convinced from all the back and forths FMPerception is worth buying and will put this purchase in our budget for FY20!

I was blown away with how nice the folks there are.

Yup. And to get the most out of it, @DaveRamsey and Todd host an Open Office Hour on Thursday for FMPerception. He will walk through scenarios and show you ways to get the answer to questions.

Make sure to also check out the other big ones and see which ones fits best with how you work: BaseElements and Inspector Pro.

Like @Bobino I use two of them, not one because they each bring a different approach to the table.

Hi @PattyB,

if you can't make it to one of the open office sessions where they show the product and answer questions, a fantastic overview is available in the video mentioned here: FMPerception

1 Like