# Using the DDR to explore your Database

**URL:** <https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798>\
**Category:** Lounge (Discussions)\
**Tags:** ddr, devcon, developer\
**Created:** [February 24, 2022, 9:29pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798 "2022-02-24T21:29:57Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Malcolm](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/malcolm/32/196_2.png) [@Malcolm](https://the.fmsoup.org/u/Malcolm)\
**Post date:** [February 24, 2022, 9:29pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/1 "2022-02-24T21:29:57Z")

</div>

I'm curious. How many of us are using the DDR as a part of their developer toolkit?

If you are using it, what are the pros and cons?

😉 I'm a heavy user of the DDR

---

<div class="post-metadata">

**Author:** ![bdbd](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/bdbd/32/620_2.png) [@bdbd](https://the.fmsoup.org/u/bdbd)\
**Post date:** [February 24, 2022, 9:40pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/2 "2022-02-24T21:40:31Z")

</div>

I am a heavy user of the DDR. Pro: fairly easy to search the HTML version of the DDR. Con: both versions of the DDR are incomplete.

---

<div class="post-metadata">

**Author:** ![planteg](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/planteg/32/627_2.png) [@planteg](https://the.fmsoup.org/u/planteg)\
**Post date:** [February 24, 2022, 9:57pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/3 "2022-02-24T21:57:55Z")

</div>

The DDR is the free tool. But searching in the DDR is a major pain 😞. If not FMPerception would have not been created.

---

<div class="post-metadata">

**Author:** ![Bobino](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/bobino/32/194_2.png) [@Bobino](https://the.fmsoup.org/u/Bobino)\
**Post date:** [February 24, 2022, 10:06pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/4 "2022-02-24T22:06:59Z")

</div>

I have stopped using the HTML version a long time back to rely on 3rd party tools that work with the xml version. I believe the HTML version could be lacking on some aspects that are represented in the XML, but I am not familiar with possible disparities between those 2 formats.

I do not see any cons to using the DDR as part of the developer tookit.

There could be some issues if the code contains information that needs to be protected (api keys, or similar), but other than that I cannot think of problems that would arise from using a DDR.

---

<div class="post-metadata">

**Author:** ![Malcolm](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/malcolm/32/196_2.png) [@Malcolm](https://the.fmsoup.org/u/Malcolm)\
**Post date:** [February 24, 2022, 10:16pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/5 "2022-02-24T22:16:21Z")

</div>

I'm thinking more about usability, as @planteg mentioned, the DDR (well, xml really) is hard to search. For a long time I've used [BaseX](https://github.com/BaseXdb). It's great but it's a generalist tool, not FM focussed.

---

<div class="post-metadata">

**Author:** ![steve\_ssh](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/steve_ssh/32/160_2.png) [@steve\_ssh](https://the.fmsoup.org/u/steve_ssh)\
**Post date:** [February 25, 2022, 1:03am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/6 "2022-02-25T01:03:37Z")

</div>

I would have a very tough time meeting my development tasks without a DDR and a tool to interpret it.

I use the XML version, and sometimes I may run several DDRs on the same solution within the span of just 30 minutes. Typically this happens if I am removing old code.

Otherwise, for general use, I tend to run a new DDR before I sit down for a session with a solution, and I use it to find references to items within a solution. A lot of times I am sitting down with solutions which are unfamiliar to me, and so my work is much easier to be able to track down the references.

---

<div class="post-metadata">

**Author:** ![steve\_ssh](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/steve_ssh/32/160_2.png) [@steve\_ssh](https://the.fmsoup.org/u/steve_ssh)\
**Post date:** [February 25, 2022, 1:16am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/7 "2022-02-25T01:16:51Z")

</div>

> [@Bobino](#):
>
> There could be some issues if the code contains information that needs to be protected (api keys, or similar), but other than that I cannot think of problems that would arise from using a DDR.

This is a great point. Some security precautions are in order, to make sure that no one gets their hands on a DDR, as, at least historically, some creds can be included in plain text within the output.

---

<div class="post-metadata">

**Author:** ![harvest](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/harvest/32/231_2.png) [@harvest](https://the.fmsoup.org/u/harvest)\
**Post date:** [February 25, 2022, 6:24am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/8 "2022-02-25T06:24:45Z")

</div>

> [@XML DDR Reader](https://the.fmsoup.org/t/xml-ddr-reader/1246):
>
> I've been using the HTML version of the Database Design Report ever since I started using FileMaker. Back when 17 came out though, it was deprecated. So before it's gone, I want to start using the XML version. I've heard oodles of people say that the XML format is superior, but it's unusable to me as plain XML viewed in something like BBEdit. What do all of you use to view an XML DDR? And why is it considered superior?

most of this is still valid 🙂

---

<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 25, 2022, 6:50am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/9 "2022-02-25T06:50:39Z")

</div>

FMPerception. Always 👍 😀

---

<div class="post-metadata">

**Author:** ![Markus](https://avatars.discourse-cdn.com/v4/letter/m/b782af/32.png) [@Markus](https://the.fmsoup.org/u/Markus)\
**Post date:** [February 26, 2022, 7:28am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/10 "2022-02-26T07:28:34Z")

</div>

DDR is used here very often (although there are days without using that). Sometimes as html, but mostly as xml-output and then processing further with FMPerception.

We are also using FMComparison from the same author (based on xml-export, not DDR)

---

<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 26, 2022, 11:40am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/11 "2022-02-26T11:40:34Z")

</div>

I import the DDR into Base Elements to look for errors and unreferenced fields, etc.

---

<div class="post-metadata">

**Author:** ![Malcolm](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/malcolm/32/196_2.png) [@Malcolm](https://the.fmsoup.org/u/Malcolm)\
**Post date:** [February 27, 2022, 9:14pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/12 "2022-02-27T21:14:21Z")

</div>

I was a BaseElements user too, but on large DDR it takes an age to load. That's OK if the system is stable but my work was always about making change. I couldn't wait an hour for BaseElements to load when I really wanted an immediate change report.

At that point I started to design a tool that used a web front end and allowed me to drop a DDR into a folder and begin exploring it and to do an XML sensitive difference report. I'm curious about whether there is sufficient interest for me to put any effort into commercialising it as an online service.

---

<div class="post-metadata">

**Author:** ![steve\_ssh](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/steve_ssh/32/160_2.png) [@steve\_ssh](https://the.fmsoup.org/u/steve_ssh)\
**Post date:** [February 27, 2022, 10:28pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/13 "2022-02-27T22:28:25Z")

</div>

> [@Malcolm](#):
>
> I was a BaseElements user too, but on large DDR it takes an age to load. That's OK if the system is stable but my work was always about making change. I couldn't wait an hour for BaseElements to load when I really wanted an immediate change report.

Kudos to you, Malcolm. Mine is the same story. Back when the current version of FMP was v11, I was working an in-house situation where BaseElements was the tool of choice. I started writing my own DDR tools at that point, and have never looked back.

---

<div class="post-metadata">

**Author:** ![Malcolm](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/malcolm/32/196_2.png) [@Malcolm](https://the.fmsoup.org/u/Malcolm)\
**Post date:** [February 27, 2022, 11:06pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/14 "2022-02-27T23:06:19Z")

</div>

Interesting. I have the impression that a lot of devs will have their own toolset for the DDR.

---

<div class="post-metadata">

**Author:** ![harvest](https://yyz2.discourse-cdn.com/flex030/user_avatar/the.fmsoup.org/harvest/32/231_2.png) [@harvest](https://the.fmsoup.org/u/harvest)\
**Post date:** [February 28, 2022, 7:17am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/15 "2022-02-28T07:17:10Z")

</div>

never tried on that, first because FM-XML in the DDR is such a mess and second because change is not documented and third because of - in my case - CrossCheck as a tool ready to go that extracted all the info I needed.

---

<div class="post-metadata">

**Author:** ![ByteTheBullet](https://avatars.discourse-cdn.com/v4/letter/b/e56c9b/32.png) [@ByteTheBullet](https://the.fmsoup.org/u/ByteTheBullet)\
**Post date:** [February 28, 2022, 2:27pm UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/16 "2022-02-28T14:27:53Z")

</div>

I've been using FMPerception for a number of years now. Prior to that, is was searching the HTML DDR's. FMPerception and similar tools are _way_ better. I can't imagine going back to searching the HTML DDR's at this point- that would be a severe impact on productivity.

---

<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:** [March 1, 2022, 1:16am UTC](https://the.fmsoup.org/t/using-the-ddr-to-explore-your-database/2798/17 "2022-03-01T01:16:06Z")

</div>

> [@Malcolm](#):
>
> I was a BaseElements user too, but on large DDR it takes an age to load.

My files are relatively small, so BE loads in about 10 minutes. Not ideal, but I can live with it. (I only run the DDR once a week.)

I’ve installed a trial copy of FM\_Perception (which loads faster) but the interface does not seem as intuitive.
