14 Replies Latest reply on Jan 5, 2017 9:59 AM by Malcolm

    Log Table When Entering Layout Mode


      So, a fairly simple question - I'm not aware if this can be done - at least I haven't stumbled upon it yet.


      In the database I am currently working in, the managing director of the company has a thing of getting involved in the development of the database, which often leaves me with a lot of cleaning up after, and me telling him the consequences of him fiddling around now and then.


      The CEO tends to change the subject when confronted with the fiddling, and since its' my word against a CEO of a customer, I need some prove of the fiddling since it delays the work.

      - And no, I am not able to remove his access privileges.


      Say a database layout is being deleted, vanishes or I something similar.....

      Is it possible to make a script which logs whenever a user enters Layout Mode to change or develop anything, so I am not stuck on it?


      I thought about making a separate Log Database, which would log any event in the particular database with ScriptParameters.

      - But does this cover creating a scripts, valuelists and yeah.... ANYTHING?


      I just want my *** covered, just in case. I would love prove in reports and security kind of form, to confront a customer.


      I find it, FileMaker has very limited possibilities of logging any user who might be fiddling with a database, compared to other programs?

      Please, feel free to prove me wrong here.





      Message was edited by: Christoffer Rexen

        • 1. Re: Log Table When Entering Layout Mode

          You might investigate 3rd party apps that work from DDR (database design reports). I've seen a demo of Inspector Pro where the tool compared two DDR's and told you what had changed between the first and second reports. Don't know if that had any ability to log who made the change, but it would definitely enable you to log what had been changed.

          1 of 1 people found this helpful
          • 2. Re: Log Table When Entering Layout Mode

            We're in a similar position with clients who brought their databases to us for support. They retain an admin account because it is was their baby, etc.


            We produce a DDR before we begin work and a DDR when we complete our work. Doing this allows us to compare the previous onExit DDR with the current onEntry DDR. Ideally, the system is the same, apart from serial number changes. We do this with a command line tool found at sourceForge called xmlDiff.


            It's a simple and rock solid way of ensuring that your discussions with your co-developer remains factual and cordial. It removes the problem of it being your word against theirs.


            We use a companion tool that we've written to produce a summary report of the changes and they get attached to the work report. Usually it's nothing but serial numbers, in which case we ignore them.  If there has been a problem caused the other developer, you can say, "I'm looking at the changes made to the database since we last worked on the system.".

            1 of 1 people found this helpful
            • 3. Re: Log Table When Entering Layout Mode

              What Phil and Malcom said. The three commercial DDR tools I'm aware of (Inspector Pro, BaseElements, and FMPerception) all have the ability to compare two DDRs. This it the way I approach things. (I have a customer who loves to "tinker", saying she has to be "responsive" to auditors - which usually means messing with stuff just so they'll let her keep using the system.)


              It also allows you to backtrack what the changes were so you can figure out where and how the damage was done. I wouldn't be without at least one of these tools.

              1 of 1 people found this helpful
              • 4. Re: Log Table When Entering Layout Mode

                Thank you everyone, I appreciate every responce.

                I'm glad to read I am not the only one experiencing these 'challenges'.


                Now, I know this is an individual opinion from all three of you, but I am currently trying to figure which would suit best.

                - FMPerception seems like a good alternative?


                Which DDR do you each use, given you use it?


                Best regards.

                • 5. Re: Log Table When Entering Layout Mode

                  I've used BaseElements and InspectorPro. Both are excellent. There is a load time associated with them that I found inconvenient, otherwise I think they are great. I'm happy to mess around with xml, xsl and xpath so I built a DDR browser/query tool and a DDR comparison tool that suits my workflow.


                  I can't speak about FMPerception. I've only looked at the first release. At that point it didn't do nearly as much as it does now. The current release has a lot more functionality, importantly, it has a diff function.


                  I can recommend a general purpose XML tool called BaseX. It's free, cross-platform and gives you lots of tools, like plain text query, xpath query and hypertext maps of your xml. It's not FMP focussed but it's a powerful tool. Being able to do ad-hoc queries on the xml is great. In response to your query BaseX will produce lists, tree diagrams, schematic maps and more.

                  1 of 1 people found this helpful
                  • 6. Re: Log Table When Entering Layout Mode

                    I used BaseElements for several years, and have recently switched over to FMPerception. Have never tried InspectorPro. Big advantage with FMPerception: Very, very fast to pull in a DDR. It also gives you excellent drill-down capabilities so you can traverse the object tree to find things.


                    Disadvantage: You don't actually store the analysis inside the tool. It creates a document from a DDR that you can't save, so every time you want to look at an old analysis, you have to (1) save the DDR, and (2) reimport. However, given how fast it is to pull in the DDR, I've not found it to be a significant hindrance. (It's also not necessarily a bad thing to retain old DDRs, since they're tool agnostic.)

                    1 of 1 people found this helpful
                    • 7. Re: Log Table When Entering Layout Mode


                      Thanks for the kind words about FMPerception. 


                      If you're storing DDRs long-term, I highly advise zipping them.  You can get 90% or greater compression.  It makes retaining a large number of DDRs very space-efficient.


                      Also, one more advantage of not storing the DDRs inside FMPerception: When we release a new version, you can immediately take advantage of the new features, without having to migrate your data or re-import.  You can always have access to the latest features and bug fixes, with your latest data, without waiting.  Effectively, FMPerception uses the DDR itself as its save format.


                      Thanks again.

                      2 of 2 people found this helpful
                      • 8. Re: Log Table When Entering Layout Mode

                        Thanks a lot, your sayings are gold.


                        I'll take a closer look into BaseElements and FMPerception.

                        - Sounds like the most used DDR Tool.


                        Thanks a lot guys, appreciate it!


                        Now, since everyones answer is correct, I won't make a single answer correct etc.

                        So you will have to do with the "Helpful" ;-)

                        • 9. Re: Log Table When Entering Layout Mode

                          One more thought:

                          due to the position and past behavior of this person, your reporting tool may enable you to win a battle but still lose the war.


                          The reports may may enable you to itemize your bill showing how much it is costing them when the CEO meddles and you have to fix things but it may still leave you with this person continuing to meddle. At that point, you may have a business decision to make.

                          1 of 1 people found this helpful
                          • 10. Re: Log Table When Entering Layout Mode

                            Any way to have clones to revert to?

                            • 11. Re: Log Table When Entering Layout Mode

                              Any way to have clones to revert to?


                              You can set up a server to make regular clone back ups. Thus, in theory, if you can figure out when the changes were made, you can pull a clone backup prior to that date and import all the data into it. That may take more time, and time with the file down off the server to boot, than it's worth if you can just identify and revert the changes made on the live file.

                              • 12. Re: Log Table When Entering Layout Mode

                                Ok, restoring to clone may not always be practical, but any change in file size would flag when changes were made.  Would need to look at file info that shows actual number of bytes used.

                                • 13. Re: Log Table When Entering Layout Mode

                                  It was a good suggestion. A better option for comparing two clone backup copies might be to insert them into a container field and then use GetContainerAttribute to compare the MD5 hash values for each file.

                                  • 14. Re: Log Table When Entering Layout Mode

                                    Changes in serial numbers will be enough to cause the MD5 hash to differ, even though there are no other changes in the file.


                                    Anyway, we're talking about comparing DDRs. All of the tools we've been discussing will answer the question elegantly.