An emerging best practice is to have one central file in which you manage all your themes. Make your adjustments there, then import the changes from that central file to wherever those themes are used. This keeps all your changes synchronized with the most recent version.
Yes, that I can see but it is cumbersum. Does 1,2 or 3 exist?
1. No. Themes have to be present in the file in which they're used.
2. Sort of; you import the theme to as many files as you like from the source (which is what I described).
3. This is more or less what I described. You export the theme to file A from file B, adjust it in file A, then import it to file B again.
I'm missing what's different in 2 or 3 - or more "cumbersome" - than what's been previously described.
I see your point. Your way requires very Disciplined work. I create something in a file. tThen I move on to the next file as they are related, come back and do something. And now ups, where did I do what. Its the same if you name a table first "xyz" later on you realize that you should call it "abc" and you change it - FM handles that great, everything within FM is updated, cool. Thats what I was looking for.
2. would be an templete like in HTML or 3 would be a file which I can download like a .dtw file and see all options I made and compare the different layouts add all to one manually and import them back.
Nope. They don't work that way. Everything in FileMaker is encapsulated inside the database file. It's not like HTML, PHP, or similar environments where you have include files that can be incorporated separately.
Because of that, FileMaker doesn't cascade theme changes back to a parent file if you make them in a child file. So if you have a multi-file solution, you're best off to make all your theme changes in a single file and then import the changes from there to the other files in the solution. That's why it's an "emerging best practice".
Thanks alot. It clears up the question. Therefore I have to change my operation base how I program.
Agree totally with Mike's advice re doing all work on a theme in a "sandbox" file. Otherwise, you're just too likely to end up with conflicting edits to a theme in different files, and any attempt to harmonize them by importing from one file to the other will result in lost edits.
Themes and their management were a big topic at this year's DevCon, with at leat 3 sessions (2 of those from the FMI engineers who worked on this stuff) devoted to themes. A few more points:
1. Careful planning, including forethought to your custom style naming convention, will go a long way toward minimizing the "messiness" you noted in working with themes across multiple files. Bob Shockey demoed "re-skinning" an entire multiple-layout file by importing a new theme and changing each layout to use the new theme. It's just a couple clicks per layout, but entirely requires that all custom styles be named identically in the old and new themes.
2. Careful planning is also recommended in adjusting the theme defaults and then creating your custom styles. The first time a new custom style is defined and saved, FileMaker "normalizes" the CSS behind the style definition to remove any declarations that are redundant with the theme default, thus streamlining the underlying CSS (useful in hosted solutions and even more so if using WebDirect). Thereafter, the custom style is never again normalized, so frequent changes to the style (or subsequent changes to the theme default) can result in a building up of declarations some of which may be redundant with the theme default. Probably not that big a deal most of the time, but worth considering.
3. Bob Shockey has created a free tool, Stylo, for helping plan and visualize themes. I haven't really made any use of it (yet at least), so can't vouch for whether it eases the pain or just adds another layer of complexity. It certainly looks nice and is probably worth trying out.
Hi Mark, Thanks a lot for all you data. I get it and will do that. Looked into Stylo and can be very helpful.
I really appriciate you input - very nice. Have a great weekend.
Thanks a lot. I will go over these points. I really got the point with the sand box