2 Replies Latest reply on Jun 17, 2014 7:52 AM by Draco

    Theme management across multiple files, or "How to avoid theme & style impostors"

    mrwatson-gbs

      Hello FileMaker developers!

       

      I would like to pass on very important information about HOW to safely work with themes across multiple-files (in FileMaker 13), ...and to ask, if anybody else has any (bad) experiences with themes in multi-file solutions?

       

      We (at Günther Business Solutions GmbH) have just created new custom themes with our new Corporate Image, and applied these across our 32-file solution.

       

      What seemingly went well at the first step (i.e. definition of the styles and themes in the various files), turned out to be a small catastrophe at the next step, when - having tweaked and improved the styles a bit - we then tried to update those themes across the board.

       

      FYI: You can update themes using the File > Manage > Themes... > [Import...] button

       

       

      However, when we tried to update the themes, the "Update theme" Dialog did not appear, but instead a new theme was created with a 2 after it, similar to this:

       

      Import Theme A doesnt work.png

       

      The problem here is that theme "A" is a "theme impostor"! THIS Theme A is not identical to THAT Theme A, although their names are the same!

       

      It turns out that themes and the theme clipboard work very differently to all other FileMaker objects on the clipboard, and that there are many pitfalls you can unwittingly fall in.


      I have logged several FileMaker Issue Reports on the topic of theme and style impostors:

       

      1. THEME AND STYLE IMPOSTORS - make theme management IMPOSSIBLE in multi-file solutions
      2. THEME IMPOSTER - Theme A cannot be updated although the names are the same
      3. THEME IMPOSTER - Pasting a theme into a new file changes the internalName and makes it impossible to update
      4. THEME IMPOSTER - Theme A cannot be updated using copy and paste
      5. THEME UPDATE - When a style is removed layout objects of that style have their appearance unhelpfully reset
      6. THEME IMPOSTOR: Renaming a theme changes the internalName and is no longer updatable
      7. STYLE IMPOSTOR - Appearance is reset when theme imported/overwritten
      8. THEMES : Copying and pasting themes does not work as one expects

       

      The result of this 'jungle' of pitfalls, as far as I can see, is that there is ONE AND ONLY ONE WAY to do theme management across multiple files safely:

       

       

      IMPORTANT NOTICE


      if you wish to maintain a common theme across multiple files


      you MUST follow these five golden rules

       

       

      1. Define themes and styles in one file only and synchronize them to other files using

        File > Manage > Themes... > [Import...] > [Replace]

      2. Never copy and paste themes
      3. Never define themes and styles by hand anywhere else in your solution
      4. Never rename a theme
      5. Beware of theme and style impostors at all times!

       

      (Note: You may find my fmWorkMate toolbox, and the fmCheckMate tool along with the fmCheckMate XSLT library useful to help you see what is in your theme objects, and to help avoid overwriting styles, when you update a theme. See www.fmworkmate.com.)

       

      Please use this thread to share experiences, discuss the problems and disseminate best working practice! Please pass on this information to anyone you know, who is thinking of working with themes, before they

       

      Thank you

       

      Russell Watson

      Günther Business Solutions GmbH, Germany

       

      (aka MrWatson)