Tags

    Frequently Asked Questions - fmXRaySpecs

    A Quick Caveat

    Many of the things that we "know" about the way that FileMaker works behind the scenes are only from black-box testing. We press the button, see what happens, and attempt to infer the rules that are causing the behavior we observe. Any of the information here about how FileMaker works in the background is based purely upon our observations, and has not been confirmed or validated by anyone at FileMaker Inc. If anyone can provide additional details about any of these questions, please let us know. Thank you.


    System requirements

    • Mac OS X 10.6.X (Snow Leopard)
    • FileMaker Pro 11 or FileMaker Pro Advanced 11
    • "Enable access for assistive devices" must be turned on in System Preferences (NOTE: Software will assist users in finding and setting this preference if it is not already on. Some IT departments may have restricted access to this setting. Please try the fully functional trial if you have any concerns)

    What about FileMaker Pro / Advanced 10 and earlier?
    We honestly haven't tested it. If you'd like to try it out, do so at your own risk. Our 30-day fully functional trial will allow you to make sure that the software will meet your needs before you purchase.


    What about OS X 10.5 (Leopard)?
    fmXRaySpecs uses AppleScript Objective-C and the Scripting Bridge introduced in Snow Leopard. It would require a ground-up rewrite to make it run in Leopard, and 10.7 is almost out. We will not be releasing a version that works in an OS version earlier than 10.6.


    What about Windows?
    We may do a Windows version in the future, but at this time we have no specific plans to do so. If you'd really, really like to see one, please drop us a line.


    Access Requirements

    Layout Mode. You have to be able to get into layout mode on the particular layout to access the layout elements.


    What does "Enable access for assistive devices" do?

    It allows AppleScript access to to the UI. It was originally designed to allow makers of input devices for the differently-abled to model more advanced behaviors than just mouse movement and keyboard clicks. In this case, it allows fmXRaySpecs to AppleScriptably control FileMaker in ways that FileMaker Inc did not originally support. For example, there is no AppleScript command for entering layout mode (much like there is no FileMaker script command to do so). Using UI scripting, fmXRaySpecs can ask FileMaker to enter layout mode.


    How does it work?

    If you copy a group of layout elements in FileMaker Pro, 2 things are placed in your clipboard:

    • XML which describes the layout elements that were copied, which is functionally similar to that of the DDR from FileMaker Pro Advanced.
    • A PDF of what the copied elements look like in layout mode
    Each of these elements can be extracted from the clipboard. The XML is processed to extract information about all of the fields on a layout. We use the PDF (cross-referenced with the x,y positioning data in the XML) to provide a map to aid the user in identifying which field's metadata is currently being reviewed in a visual manner.

    Wait, this works in FileMaker Pro? Non-Advanced?

    Yes. Every feature.


    But FileMaker Pro can't see tooltips, right?

    FileMaker Pro itself can see them (otherwise it couldn't display them for you). It just doesn't provide an interface to allow the user to see or edit the definition of tooltips. However, if you copy a layout element that has a tooltip, and paste it on another layout, FileMaker makes sure that any tooltip that was defined on that element goes along with it... and so it appears in the XML for the layout.


    So, I can edit tooltips using this, even if I don't have Advanced?

    Sorry, no. fmXRaySpecs does not allow a user to edit any of the properties of any kind of layout element, including tooltips. You can see how they are defined, but by design (and for safety and security) fmXRaySpecs doesn't send any information of any kind to FileMaker. It only requests information and then displays it.


    Do I have to change anything in my solution to make this work?

    No. fmXRaySpecs requires no special scripts, field definitions, layout elements, or naming converntions. Nor do you need to have any FileMaker plugins installed. As long as you meet the system and access requirements, everything should work properly.


    Will fmXRaySpecs change anything in my solution?

    No. Well, probably not... That's up to you. fmXRaySpecs gets the layout data by going to FileMaker and sending the following key sequence:

    • Command-L (If you weren't already in Layout Mode)
    • Command-A
    • Command-C
    • And then whatever command key equivalent is required to put you back in your original mode:
      • If you started in browse mode, Command-B
      • If you started in preview mode, Command-U
      • If you started in find mode, Command-F
      • If you started in layout mode, it doesn't do anything, because you're already in layout mode

    That's all. However, if you have used Custom Menus to override any of these default key commands, fmXRaySpecs will fail to work at best, and do something catastrophic at worst. If Command-L is a shortcut in your system for "Delete all customers", you should really not use the standard process

    fmXRaySpecs will make an effort to confirm that Command-L will send FileMaker to layout mode. It looks for a menu option called "Layout Mode", and makes sure that this menu option has a shortcut of Command-L. If either of these is false, fmXRaySpecs will refuse to run. It will, however, notice if you have moved the Layout Mode menu option (say, to a developer menu). In this case, however, the process of finding and validating the menu option takes a couple of seconds. If you find that fmXRaySpecs seems to pause for a bit before actually getting to work, that's the most likely culprit.

    This test is skipped if you are already in Layout Mode, so you'll get the fastest turnaround if you run it from that mode.


    fmXRaySpecs copies the layout... What about what was in my clipboard before I used it? What happens to that information?

    Before fmXRaySpecs copies anything on your layout, it sets aside a copy of whatever is in the clipboard. After pulling all the information from the layout, it restores your clipboard to its pre-pull state.


    This information about conditional formatting seems really thin. Why is that?

    Conditional formatting presented a unique problem. A single field can have a virtually unlimited number of separate conditional formatting instructions. We're working on some ways to interact with this information, but for now, here's what you can do:

    • You can tell whether a field has any active conditional formatting applied
      • NOTE: The current version of FileMaker (11.0v3) has (what I would describe as) a bug regarding this. If there is conditional formatting assigned to an object, but the formatting has been inactivated (the checkbox has been turned off) FileMaker still shows the conditional formatting badge on the field. fmXRaySpecs registers only active, live conditional formatting
    • There is a tooltip on the conditional formatting badge that strings together all the calculations (and any min / max conditions). Definitely not optimal, but the data is there to see (until we come up with something better)
    • The calculations (and min / max conditions) are searchable using the filter. So, even if you can't see exactly which condition uses a particular field or function, you can see a list of fields whose conditional formatting uses a particular field or function.

    What does the information in the repeating field columns mean?
    • x/y (say, "2/3") means that repetition 'x' of a total of 'y' is being displayed. "2/3" means that the second repetition of three is being displayed. This notation is only used when is a single repetition is being displayed.
    • x-y[orientation]/z (say, "1-3H/3" or "2-6V/10") means that repetitions 'x' thru 'y' out of a total of 'z' are being displayed. The letter code ('H' or 'V') indicates whether they are being displayed Horizontally or Vertically. "2-6V/10" indicates that repetitions 2 thru 6 out of 10 are being displayed vertically. Any time more than one repetition is being displayed, this notation is used.
    • NOTE: I am aware that this is probably sub-optimal, but I'd like to find a way of expressing this without consuming 4 columns every time (particularly since repeating fields are no longer nearly as commonly used). I'm open to suggestions.

    What about non-field objects? Portals, buttons, web viewers, things like that?
    Non-field objects are on our wish list as well. Unfortunately, we can not provide a timeline for the inclusion of this feature.

    Is there any ability to set tolerances or flags when a field is too big / too small / misaligned, missing a trigger, etc?

    No, there isn't. In general, a sort and maybe a search will tell you what you really need to know. Depending upon interest, this may be something that gets added in a later version. In the meantime, if you've got one of those monster projects where you have to clean up 50,000 fields on 1,000 different layouts, drop us a line. We may be able to roll a custom version for you that will highlight just the issues you're most concerned about.


    I really want to sort the fields in tab order. That would be really helpful! Why can't I see the tab order?

    Unfortunately, for some reason, the tab order is not in the XML. This helps to explain why when you copy and paste a group of fields, the tab order is often broken. FileMaker is using the XML for their own copy/paste function, so they don't have the tab order either.

    If and when they add support for the tab order in the copied XML, we'll be adding support for viewing the tab order in fmXRaySpecs.


    Things that are not in the XML

    • Tab Order
    • I'm still working on this list


    Comments

    /groups/products/search/index.rss?tag=hotlist/groups/products/search/?tag=hotWhat’s HotHotListHot!?tag=hot0/groups/products/sidebar/HotListNo items tagged with hot.hot/groups/products/search/index.rss?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcomelist/groups/products/search/?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcomeRecent ChangesRecentChangesListUpdates?sort=modifiedDate&kind=all&sortDirection=reverse&excludePages=wiki/welcome0/groups/products/sidebar/RecentChangesListmodifiedDateallRecent ChangesRecentChangesListUpdateswiki/welcomeNo recent changes.reverse5search