Two Click Theme Updates
One of the most popular requests we’ve received from our customers has been, “Can you please improve the theme update process?”
We agree, it’s not been easy (especially for non-technical folks) to upgrade your theme. Not only is it a hassle for our customers, it uses unnecessary support resources which could instead be applied towards other customer needs. So how can we improve this experience?
Since the recent additions to our development team over the summer, we started brainstorming on how best to tackle this. The objective was to provide a simple way for anyone to upgrade our themes. After many discussions, working prototypes, and days of trial and error, our theme scientists emerged from their lab with the solution.
Two Click Updates
Our new framework allows customers to update themes directly from the wp-admin. No uploading files. No renaming directories. No hassles. Everything is now streamlined. Update to the latest version with just a few clicks! (Pausing for applause). Of course you can still download the full version directly from your customer dashboard but that’s only really required for brand new installs.
This updater is the first of it’s kind and we’re darn proud of it. Having a development team with intricate knowledge of the WordPress core functionality certainly helps. It works by piggybacking on the native WordPress updater function and polls our API twice a day. If it finds an update, you’ll be notified in the wp-admin sidebar (under Appearance).
What About Theme Patches?
In the past we’ve provided theme patches (which include only files modified compared to the previous version) when a new version is released. While this has been useful for a handful of customers who modify the core theme files, it ends up causing more harm than good.
Just like core WordPress files, theme files should never be modified. It’s a big no no and not supported per our terms of service. We will, however continue to provide a list of all files changed/added/removed (compared to the previous version) in our release notes.
What If I’ve Made Theme File Changes?
You won’t be able to use the two click updater. If you do, it will blow away any customizations you have done. Part of the benefit of this change is to encourage our customers to build child themes and plugins instead of modifying our theme core files. This is the correct way to extend any theme – just like you wouldn’t modify core WordPress files.
In general, the direction our products are heading is similar to how WordPress is structured. A robust “framework” or “platform” that is designed for easy upgrades and add-ons. We want to empower the community and allow our ecosystem to continue to flourish by encouraging the development of plugins and child themes.
What’s the Correct Way to Make Changes?
Some customers would like to change the style and functionality of our themes. You can do it the same way you would with WordPress – using hooks and child themes. Our API has over 75 hooks built in and support child themes.
Extend our themes by means of plugins and child themes. Don’t know how to create a plugin? Check out this WordPress Codex page on how to get started.
Added Bonus
In addition to these changes, we’re also providing a daily development version of all our themes. This means customers who want to live on the edge will be able to download the latest development version even before it’s released to the public! You get a sneak peek into new features and the latest changes checked into our repositories. You can also help us QA to ensure any issues are resolved before we tag off a new release.
To quote WordPress from their nightly build page,
Development of WordPress moves fairly quickly and day-to-day things break as often as they are fixed. This high churn is part of our development process that aims to produce the most stable releases possible.
With that being said, keep in mind that what we provide is a development version and may be unstable so we strongly discourage using it in a production environment. You’ll find these dev versions available for download on your customer dashboard.
Stage Your Changes
WordPress users in general are quick to pull the trigger anytime a WordPress core, theme, and/or plugin update is available. Just like WordPress, the new AppThemes two-click update makes it easy to upgrade but tread with caution. Some updates can cause problems with others. This typically occurs with plugins after a theme has been updated.
Here’s our advice and general best practice:
It’s surprising how many people run a business without a staging site. If you fall into this category, please setup a staging site. It’s just an exact replica of your live site – a sandbox that allows you to test things before updating your production site. If your host provider allows add-on domains, it shouldn’t be too tough to setup. The WordPress Codex has a tutorial on “Moving WordPress” which can help you get started. Essentially all you need to do is setup another instance of WordPress and then import your theme and data.
We’ve seen too many people get burned or go in panic mode when they update their live sites only to discover it breaks. How the heck do you roll back? Exactly. Stage it first. It’s like an insurance policy. Measure twice, cut once. You’ll be glad you did, later.
That about wraps it up. We look forward to improving your upgrade experience. If you have any questions or concerns, please let us know below.
Comments (13)
Great addition.
A good way to be inform of updates & easily set them up.
🙂
Hi, i see you are working hard to make some of your themes better, however, please keep working with vantage, at least release the beta version, we can get it from there 😉
We are definitely working hard on Vantage. The “two click theme updates” is an example of something that we’re building for Vantage and then extending into our other products.
“Just like core WordPress files, theme files should never be modified”
I agree with that statement but unfortunately in some instances the ClassiPress theme doesn’t allow certain functions to be overwritten in the child theme.
This is very annoying because it leaves but no choice to modify the parent ClassiPress theme.
@Mister X, let us know which pieces and we can always add another hook.
Thanks for the follow up David.
I haven’t been working on a ClassiPress project lately so not every function is fresh in my mind, but off the top of my head I recall all the functions in theme-emails.php.
I just got back from a trip and am catching up here.
A few Questions on the Updater:
1) Is this new process EXACTLY the same as a PATCH, only automatically?
2) What is the LOGIC used to check a site’s installation of ClassiPress and apply the relevant files?
3) If I look at the manual Patch files between one version and the next is this the exact same list of the Automatic Updater files that will overwrite each previous version?
4) You have made no reference to Child themes of Classipress. I modify existing files and do not bother with Child themes but I imagine this is an issue for many folks. How does the Updater adjust to Child themes or is it applicable to Child themes of ClassiPress?
Another question on Bleeding Edge Classipress:
Isn’t there a way to see the issues described that have been affected or repaired by the Development team?
Testing the new issues of Classipress is testing completely blind, loses its effectiveness if we don’t know what has been changed from issue to issue and cannot direct ourselves to test those issues for effective repair or enhancement.
On WordPress builds this has been an open area for years. You know what you are testing because the code changes are outlined and the issues are discussed.
For licensed users this ought to be part of the process of testing the new offline updates and would speed up the development cycle’s focus.
Vienna, what we have been doing recently is inviting customers to test a fix via forum threads where a bug or issue is first reported. All themes now have developer versions that are available via the customer dashboard. The developer versions are the latest development work completed on a project. Once a solution is created, an announcement is made in the relevant thread (sometimes we tweet it). Users can then download the dev version and test.
We came up with this method of testing as it gets testable solutions to people who care most about a problem at a time when it is pertinent to them.
There will be more improvements to how we communicate important announcements to customers and how we test products.
I made many changes on the code core so the “two click” update it’s not gonna work for me but it’s good news for those who don’t change the code.
We really encourage everyone to make child themes instead of modifying code. While updates can possibly conflict with child themes or plugins, it is much easier to update the plugins and child themes. Modifying the core AppThemes code effectively locks you into a version of our themes and makes it difficult to enjoy the benefits of new features, bug fixes and security updates.
Shannon, who are you posting the Development Builds for? What is the purpose?
You responded to my previous question with this:
“Vienna, what we have been doing recently is inviting customers to test a fix via forum threads where a bug or issue is first reported.”
Please understand that this answer simply says, “We are not doing anything special to help developers out”.
I looked back and saw that as of a few minutes ago there were 4764 entries in that forum. I am an old hand at forums, Shannon, and you know that I have made quite a few suggestions, trying to be helpful as to how Appthemes can streamline certain communication processes.
The giant amorphous Forum, which you do not name, but which I assume is: Forum: Using ClassiPress – Questions & Troubleshooting is, as you know, for Classipress problems regarding installs of the official release. It is hardly the place to also dump Development Version “reports” and track them.
If you go to the extra effort to post and release Development versions for us to check on then WHY do you neglect or have no intention of giving us a Specific place to just talk about the Development issues?
My biggest problem is that in the succession of Development Classipress releases that I have studiously checked and tested the developers never take the trouble to put in a very specific list of changes and files affected in the Changelog file!
I had to run the last Development release, 7, on November 25, every single file, through Diff just to see what was DIFFERENT from Development 6. And now for version 8, which seems to be December 2.
I look into the Changelog.txt and I see the last entry in October for 3.1.5 10/7/2011 in reference to the main 3.1.5 release, nothing for Development versions.
We are now into the 8th edition of Classipress Development version and no attempt has been made to document anywhere what is different: files, issues reported and resolved.
I cannot find this information on the Appthemes site, I cannot find this in the Changelog.
For those of us who care enough to examine the “bleeding edge” and go through that hassle to help with testing why can’t you care enough to accommodate us with some relevant helpful information where we can easily find it?
At any rate, now I have to again, run every folder through Diff just to spot what files actually have changes, minor or major.
Is my request too much to ask?
Thank you, guys and gals.
@Vienna
The purpose of the development builds are to test issues when they are most relevant. We are not looking for users to understand the code changes that were made, we simply want to get solutions into as many test environments as possible and then get feedback.
Further, notification for testing solutions are made in the relevant threads – usually the thread where the original issue for a given solution was first posted. We decided that this would be the best way to reach people most interested in a specific issue at a time when the issue is most important to them.
This is just a partial solution which will be expanded upon in the future. We will be implementing more systems and procedures that bring more customers to the important issues that we are discussing in the forums. In general, improving how the forums work will be an ongoing project here at AppThemes.
As for creating changelogs for the developer versions, that is not something that we have plans to implement – at anytime. The developer versions are compiled from our working repositories. They are automatically updated every hour. Whatever the developers are working on at that moment goes into the developer versions. A prepared changelog is not meant to be a part of the developer versions. As stated above, ware not looking for users to understand the code changes that were made, we simply want to get solutions into as many test environments as possible and then get feedback.
Further, development versions are not meant for production. Their purpose is strictly for testing.
If there is a specific issue that you want to find code changes for, please feel free to request that in the relevant thread.
I hope this answers your concerns. We always appreciate the feedback you give us, Vienna.
Thanks
Shannon
Discussion is closed.