Hey Everyone,
I figured I'd take some time and write about what is and what isn't branch-specific with Miva's Template Branches. Miva's documentation on this is limited. Practically every developer and store owner I work with doesn't realize the power behind template branches. Half the time they don't realize that the majority of editable code is branch-specific. I think part of the confusion is due to the fact that many settings are inherited when adding a new branch (as they should be). They see that the settings are the same across branches and assume that they're global – which is not always the case!
So what is branch-specific?
USER INTERFACE
(In order of what a typical store owner accesses most frequently IME)
Global = A change made within the branch affects all branches.
Branch-specific = A change made within the branch is specific to the branch being worked on.
- User Interface > Theme Components
- Settings
1. Look & Feel (logo, etc.): Branch-specific
2. Social Icons: Branch-specific
3. Trust Symbol: Branch-specific - Images
1. Images are branch-specific. The enabling & disabling (active status) of images is also branch-specific.- Name: Branch-specific
- Image: Branch-specific
- Alt Text: Branch-specific
- Link: Branch-specific
- CSS ID: Branch-specific
- CSS Class: Branch-specific
- Code: Global. Be careful changing codes if the tag is referenced in templates.
- Banners
1. Message: Branch-specific
2. description: Branch-specific
3. CSS ID: Branch-specific
4. CSS Class: Branch-specific
5. Code: Global. Be careful changing codes if the tag is referenced in templates. - Content Sections
1. Name: Branch-specific
2. Description: Branch-specific
3. Content: Branch-specific
4. Code: Global. Be careful changing codes if the tag is referenced in templates. - Product Listings
1. Name: Branch-specific
2. Description: Branch-specific
3. Template: Branch-specific
4. Settings: Branch-specific--e.g. product links, custom fields, product images (and size), default sort method, number of products, and products to display are branch-specific.
5. Code: Global. Be careful changing codes if the tag is referenced in templates. - Navigation Sets
I see a lot of confusion here. Navigation sets are branch-specific.
1. The name, description, layout, and template are branch-specific.
2. Navigation items ARE branch-specific. Yes, you can have completely new and different navigation sets from branch to branch. The possibilities are endless (if only they could be copied/imported somehow).
3.Code: Global. Be careful changing codes if the tag is referenced in templates.
- Settings
- User Interface > CSS/Javascript Resources
Resources are branch-specific. You need to make sure that the resources are referencing the correct assets. - User Interface > Global Settings
- Settings: Branch Specific. Everything contained within settings is branch-specific (yes, even the Mailchimp layout).
- Search Settings: Branch-specific
- SEO: Branch-specific
- THE FOLLOWING ARE GLOBAL
- Image Types: Global (if one is created, it’s created across all branches)
- Error Messages: Global
- Searchable Fields: Global
- User Interface > Templates
- Pages
1. Names: Global -- you need to be very careful if you intend on using page names for SEO purposes.
2. Templates are branch-specific across the board. This includes product list layouts, category layouts, content items, etc.
3. Items: Global. If an item is assigned to a page in one branch, it’ll be assigned in all others.
4. SEO: Global. SEO settings for pages are global.
5. URIs: Global
- Pages
- Template Based Emails: Templates are branch-specific, settings are global.
- Template Based Batch Reports: Templates are branch-specific
- Google Analytics Tracking Code: Branch-specific
CATALOG (primarily global)
(In order of what a typical store owner accesses most frequently IME)
- Products: Product settings are global. If the intent is to make major catalog changes, it’s best to do so in a dedicated developer store, or prepare changes in a spreadsheet for upload upon completion of a project.
- Categories - Everything is global , other than:
- Title Image: Branch-specific
- Tree Image: Branch-specific
- Header: Branch-specific
- Footer: Branch-specific
MARKETING
Feed templates are branch-specific. However, Miva will always process the primary branch’s template for a feed. Everything else under marketing is global.
--------------------------
I work within many different branches on a daily basis and have redesigned multiple sites from the ground up just using template branches. It’s possible! A dedicated development store is not always needed. Hopefully some of the insights above benefit those who read it.
*If in doubt, make a change in a dev branch and check. It's very easy to bounce back and forth between branches.*
For Miva: The implementation of template branches was the biggest improvement as a dev to the platform I’ve seen. It's been amazing! However, I have a huge complaint... In the admin there is no indication of the branch you're in outside of “User Interface.” Developers NEED something like this visible at all times:
Developers should easily be able to switch between branches at anytime while in the admin. This would save a lot of time, energy, and confusion.
In the unlikely event that you read this far/unrelated news:
I got married last month :)
Here’s a link to our highlight video if you’d like to watch: https://youtu.be/i70oMNvOG7k
-Ryan
Comment