Make your Template Set Update Friendly

These instructions were made for sites that originally created a template set by making a full copy of the default template set1), instead of using the Create Main Template Set tool within the admin at Design > Template Sets. If you used that tool to create your template set, then you should not need to follow these instructions2), as they were already done for you by the tool.

Again, I want to make it clear that these instructions are not normally needed, as they re-produce something that the software would normally do for you. They are only needed when the steps the software does for you are somehow accidentally bypassed.

  1. First, make a backup of your template set so that you have a copy of all the files, in case anything goes wrong during these instructions. You can do that in your admin panel at Design > Template Sets, by clicking on the download button next to the template set. Or just download using FTP. <
  2. In your custom template set3), delete the following folders using FTP4):
    • system/ <
    • module/ <
    • addon/ <
    • external/js/ (The JS sub-folder only, do not delete the entire external folder) <

<

  1. In your custom template set5), in the folder external/css/, delete all the files except for theme_styles.css, primary_theme_styles.css6), and secondary_theme_styles.css7). <
  2. In your custom template set8), edit the file external/css/theme_styles.css and look at the top of the file. Does the first line have something that looks like this on it?
    /* $Rev:12345$ */

    The number will be different. If it DOES have that line at the top, then replace the line with the below, filling in the "Rev number" in your file for # below:

    @import url('../../../default/external/css/theme_styles.css');
     
    /*
     * Leave first line of this file intact to make software updates easier!
     * 
     * File manually copied using Rev: #
     */

<tip c h>Note: The most important part of what you are adding to the theme_styles.css file, is the first line, the one that starts with "@import…". The lines below that are "CSS Comments", they do not have any affect on the actual "styles" of your website, they are there for information purposes9).</tip> <

  1. In your custom template set10), look to see if you have the file external/css/primary_theme_styles.css. If you do, follow step #4 above, but for the primary_theme_styles.css file. In the text you replace, use this instead of what is listed in that step:
    @import url('../../../default/external/css/primary_theme_styles.css');
     
    /*
     * Leave first line of this file intact to make software updates easier!
     * 
     * File manually copied using Rev: #
     */

<

  1. In your custom template set11), look to see if you have the file external/css/secondary_theme_styles.css. If you do, follow step #4 above, but for the secondary_theme_styles.css file. In the text you replace, use this instead of what is listed in that step:
    @import url('../../../default/external/css/secondary_theme_styles.css');
     
    /*
     * Leave first line of this file intact to make software updates easier!
     * 
     * File manually copied using Rev: #
     */

<

  1. For most sites, you are almost finished! If, however, you know that you have customized one of the files that you deleted in one of the steps above, you have a little more work to do. For each system, module, or addon template you have customized:
    1. Copy the customized template back into your cleaned up custom template set, re-creating the folder structure for the parent folders. Only copy customized templates!12) <
    2. If you are following these instructions after an update, check to see if the customized template needs compatibility changes for the version you have updated to. You can find general tips for doing that in Geo Updates & Customized Templates. <
    3. For every software update you perform in the future, you will need to keep your customizations updated. The most likely time you will need to adjust your customized templates, is during a feature release13). The linked page has more information about the "best way" to do this.

<

  1. In the admin at Design > Template Sets, make sure the template set you have just "cleaned up" is set to be used. Then test it by going to the front side and making sure everything looks correct. Test the main parts: register a test user, place a test listing, view the listing make sure it displays correctly for your site. Don't forget to delete the test listing once you are done with it. Most of the time, no style adjustments are needed, but it is still best to double check14) :-) <
1)
Either by creating a copy using FTP, or by using the copy button in the admin panel, or some other means
2)
Unless instructed to do so by Support.
3) , 5) , 8) , 10) , 11)
Do not do this to the default template set! These instructions should only be applied to your custom template set, the one you need to make "update friendly".
4)
These folders are relative to your custom template set, for instance geo_templates/my_templates/ if you named your template set my_templates.
6) , 7)
If the file exists
9)
Hopefully the comments will keep someone from removing the line at a later date thinking it is not needed. The Rev # that you should have copied from the "original" first line, is for your own reference in case you ever need to know what revision of the file was used to create the file. Sometimes Support may need to know what revision the CSS file was "based" off of as well.
12)
Every system, module, or addon template that exists in your own template set, is one more thing to keep track of during updates. The more of those templates you have customized, the more work updates will be since you will most likely need to make compatibility changes to some of them when you update.
13)
This is not a rule, just the general rule of thumb. There are times you may need to make adjustments in maintenance releases, for instance if there is a bug fixed that requires changes to the template file.
14)
Especially if you have customized system, module, or addon templates, or have a highly customized design that varies a lot from the default design.