eRatex receives regular updates which improve the security, functionality, and appearance of sites.
If you have chosen to customize aspects of your site, changes to the Skin, you may end up with a situation where you're not sure what needs to stay and what needs to go.
In this document, we will go over how the file structure of your site works and help you take advantage of our regular updates without losing your customizations.
File Structure
Let's take a look at some of the key folders in the file structure of your site.
config
This folder will contain some of the configuration elements of your codebase - things you can't manage directly from the admin console. URL rewrite and redirect rules can be applied and edited here.
download
If your store sells downloadable items, you'll upload those files here.
images
This folder contains sub-folders which store all of the images you upload through your admin console to associate with products, categories, and other entities on your site.
orderdownloads
Similar to the downloads folder, this is used if your store supports selling downloadable items. Please see more information here.
skins
This is the folder which contains your site's Skins. Your site will be configured to use one of these Skin folders (usually Skin_1). The files in this folder are used to style and customize your site. Views, XML Packages, page styles (CSS and Less), scripts, and more can be customized in the skins folder.
The files you modify here will take precedence over the files in the root directory of your site. As an example, if you pull an XML Package out of your top-level XMLPackages directory, make changes, and drop the changed XML Package in the skins\Skin_1\XMLPackage directory, the top-level XML Package will no longer be used.
The skins folder is the key way that you are able to make customizations to your site.
Views
Views are used to manage specific page layouts for things like your checkout page and account page. Views can also be used to create a custom site layout.
XMLPackages
XML Packages are used manage page layouts for product pages, category pages, and other special pages, among other uses. Please see here for more information.
Customization Risks
Customization in eRatex is powerful, but that power comes with some extra responsibility.
If a change later comes to a file you have customized as part of an eRatex update, you will need to update your customized version to gain the new features and fixes. See the section below, "Merging Customizations with Updates" for suggestions and tips on how to do this safely.
Customizing Views and XML Packages which affect the basic functioning of your site (examples: the Account Page, the Shopping Cart, the Checkout page) always comes with a certain amount of risk that your customization will lose something important. A good rule of thumb is to always make a backup of a file prior to customizing it.
There are many ways and methods of customizing your site, but it's sometimes easy to overthink what needs to change and how to make that happen. Whenever possible, it is best to try and Keep It Simple. Introducing a large number of extra scripts, steps, and pages may reduce the usability and performance of your site.
Merging Customizations with Updates
Many eRatex updates are released which affect the background code of your site and don't touch any of the same files and folders as where you have made your customizations. For these changes, you can sit easy: we'll take care of the updates for you!
Others may conflict with customizations that you have made and will require some additional care and work. We've made changes and you've made changes and that needs to be resolved in some way. Fortunately, there are tools out there which make this process much easier. Many comparison tools exist which allow you to clearly see what differs between different files.
Below is a list of some of these comparison tools.
When using one of these tools, you are able to do a direct, side-by-side comparison of your customized file and our updated file and make a decision on what must stay and what must go. Below is an example of one of these comparisons, using the Beyond Compare tool.
The file on the left in this example is an XML Package that was updated with the last eRatex update. It comes from the top-level XMLPackages directory.
The file on the right is the skins\Skin_1\XMLPackage version of that XML Package which contains one of our customizations. It has not yet been updated and we have to make a decision on how we want to incorporate the new update into our customized version.
In this example, our customization (on the right) and the update (on the left) don't conflict, so it's as simple as clicking the arrow on the left to copy the "New eRatex Feature" to our customized file. It's a simple and easy example but the same process can be used to resolve other updates.
Frequently Asked Questions
Do I need to include every new update on my site?
It's always a good idea to review new eRatex updates as they come and make sure you aren't missing out on a vital security update or feature. That said, sometimes it may not make sense to include a new update, particularly if you have a series of customizations which are working for you that you don't want to disrupt.
I've made customizations and I'm having trouble understanding whether I should include an update. Are there resources available to me to make this decision?
Yes! Release Notes and documentation updates comes with every update to eRatex. The eRatex Helpdesk is also always available to answer difficult questions.