3 Replies Latest reply on Nov 30, 2010 9:25 AM by TSGal

    Layouts disappear from menu, malformed XML in DDR

      Summary

      Layouts disappear from menu, malformed XML in DDR

      Product

      FileMaker Pro

      Version

      11.0v2

      Operating system version

      OSX 10.6.4

      Description of the issue

      One of the FMA11-generated XML files from a big multi-file solution fails to import into the Base Elements 3.0.5 analysis tool. XML validation of the file (using the coding text editor Smultron) returns an error which points out that there is one

      tag too many in the LayoutCatalog section.
      In the actual FM file, we have put layouts in folders as per FM11. Below the folders in the menu (some of them nested), there are supposed to be a few layouts more on the top level, but they do not show up in the layout menu. They do appear in the Manage Layouts window however. Apparently the superfluous folder closing tag is already present in the file structure and not generated in the DDR alone.
      I was able to repair the malformed XML file manually by simply removing the spurious  tag. After that, neither Smultron nor Base Elements found anything wrong with the XML. The file was correctly analysed, BE reporting all layouts.

      Steps to reproduce the problem

      Unfortunately I have not yet been able to reproduce the issue in a test file. Other files in the same solution have nested layout folders as well, without problems. Dragging any folder or layout below the wrongly end-tagged folder makes it disappear from the menu, so it seems the wrong tag remains in place.
      A colleague told me today he had seen the same layout menu issue occurring somewhere else. He will try to find out where. We will keep you updated, especially if we can somehow detect a pattern or find a way to reproduce it.

      Expected result

      1. Layouts, specifically following layout folders, do not disappear from the menu.

      2. The DDR contains valid XML, making it useable for analysis in, say, Base Elements.

      Actual result

      1. In rare cases (as yet), layouts following a certain folder do not show up in the menu.

      2. In the DDR, exactly where the XML code for the first disappearing layout begins, there is one superfluous

      tag, which breaks the XML.
      These issues are definitely related.

      Exact text of any error message(s) that appear

      For Smultron's error, see screenshot.

      Configuration information

      Observation during workaround #1: dragging items below the wrong folder makes them disappear: apparently you drag past the faulty tag. Creating an new item, however, in exactly the same position, inserts it right before the fault, and it remains visible.

      After manipulating the layout order as described under workaround #1, I made a new DDR. When I examined the XML, I found that the wrong

      tag had ended up at the bottom of the LayoutCatalog section, exactly where I expected it. Removing it from the text file cured the invalidity of the XML, and made it ready for analysis in BE.
      This clearly shows the same error is already inside the file structure. I don't think it is a low-level type of file corruption, caused by crashes etc. It must be a bug in the internal handling of XML.

      I was hoping that I could somehow restructure the Layout Catalog in the file itself by editing it. But adding, deleting, or moving around layouts and/or folders so far has not removed the stray tag. I have tried cloning the file (since that would rebuild it), but the problem persisted.

      Workaround

      1. For the unintentionally hidden layouts: moving them up in the Manage Layouts list, above the buggy folder, rearranging the menu so that there are no layouts or folders after the place where I suspect the wrong tag. It seems that by repeatedly dragging items up from the bottom, the spurious end tag can be nudged down to the bottom of the list, making it harmless for the moment. All layouts get visible this way.

      2. Opening the XML file in a text editor, finding the wrong tag and removing it. This makes the XML valid (for now).

      smultronXMLvalidation.png