4 Replies Latest reply on Oct 23, 2015 8:51 AM by dtcgnet

    Layout order


      How do I arrange my layouts so when I open the database I want a certain page to show up first..?


      Thanks, Toby

        • 1. Re: Layout order

          Hi. The order will not help in this situation.


          You can go into "File", FileOptions and set the "Switch to Layout" option to go to a certain layout when opened.


          You can use the script trigger OnFIrstWindowOpen (in the same File Options dialog) to run a script to go to a specific layout when the first window opens.

          1 of 1 people found this helpful
          • 2. Re: Layout order

            Perfect Thanks Switch to Layout and the specify works Great........


            I am wandering why I didn't get an email when you replied? 

            • 3. Re: Layout order



              Thank you for your post.


              To arrange the Layout Order you may go to File > Manage > Layouts and drag the Layouts to be in the order to display in the Menu.  For more information on Managing Layout  Order see Knowledge Base Article #7554.


              As Jeremy Brown explained (thank you), to have the File open to a Specific Layout you may go to File > File Options... and set the "Switch to Layout:". For more information on file options click here.


              I hope this information is of use!



              FileMaker, Inc.

              • 4. Re: Layout order

                There is another option, and it's actually one that can help improve the speed with which your solution opens. It's important to keep in mind, and yet it is not particularly widely known.


                If your file runs locally (not from a server), the first window that opens will use the layout on which you last did certain tasks such as editing a record or modifying database schema. (TSPigeon's link provides great information about this). If you don't have an "OnLastWindowClose" script...then you may never really know which layout is being opened FIRST (EVEN BEFORE your FirstWindowOpen or SwitchToLayout options). If your file is hosted on a server, then EVERY user will ALWAYS AND FOREVER go first to whatever layout the developer last modified, and THEN to whatever is set via startup script or "switch to layout". Being aware of this can help prevent important startup slowdowns.


                Take this scenario, I have a layout called "PerformanceKiller". It uses a List View, and is based on a table with 40,000 records. On that layout, I've placed a Summary field of type List based on the primary ID. I modify some data on one of those records. I close the database, then I upload it to the server. The last layout that FileMaker is aware of is PerformanceKiller, so every time anyone opens the solution, it will open to PerformanceKiller, its found set will contain all 40,000 records, and before anything else can happen, the summary fields will have to be evaluated. THEN FileMaker will run the OnFirstWindowOpen script.


                I tested these options:

                1) No File Options set. Data last modified on PerformanceKiller layout, then file closed. Time to open: 16 seconds.

                2) OnFirstWindowOpen script created, one step: Go to Layout (FormLayout with no Summary fields). 16 seconds.

                3) Switch to Layout (FormLayout) as a file option, same OnFirstWindowOpen script selected. 1 second.


                The results rather surprised me, but they certainly convinced me.


                Kind of tells me that perhaps a few "best practices" might be:

                1) Always use a Switch to Layout, even if a startup script is also set to run OnFirstWindowOpen.

                2) Always use an OnLastWindowClose script which redirects to a simple form layout with few records.

                3) Always be aware that without #2, you should be very aware of which layout you last use before closing the database to upload it to a server.

                4) If your server-hosted solution opens very slowly, you can probably speed up the opening by adding a simple OnLastWindowClose script that redirects to a simple form layout.