Its been a while since the crowd funding of the Git Updater module finished. Don’t worry, we did not forget about the module, we have actually made some great progress with the module and are ready to start sharing the beta version of the module. The Git Updater module will usher in a new era of thirty bees. Since many people are not familiar with how the update process works, let me explain it a bit.
In the current update process to update thirty bees, we need to create what are called file actions. We have a huge list of file actions for every file in the thirty bees repository. This list needs to be updated on every release. So in the end, we end up with a list of different version, which you can see on our current api here, https://api.thirtybees.com/updates/channels/stable.json which download the whole thirty bees package, and use the list of file actions that are manually generated that you see here, https://api.thirtybees.com/updates/packs/thirtybees-file-actions-v1.0.8.json
It currently takes about a day to build and package a release this way. Essentially what is being done with our current updater, is re-inventing the wheel. This system is bulky, it comes with a lot of overhead, and is quite slow. There really is not need to download the whole package of thirty bees if only 100 files are being updated.
Introducing the Git Updater module
This is the module that our loyal community brought to life with crowd funding. It is nearing completion and has already started being beta tested on our forum. So far the feedback for the module has been great, it is working as it should, and it is working amazingly fast. The module actually gives a lot more flexibility than any other updater module.
Bugs are a fact of software. Nothing is more frustrating than updating and introducing a new show stopping bug. It is complicated and time consuming to restore, or roll back to the previous version of the software that does not have the bug.
Whats even worse than this scenario? When there is a bug that the new version fixes, but a bug it adds, then the day after the release the new bug is fixed. This means you either live with one bug until the next release, or you have to figure out how to manually add the patch.
Why am I talking about these scenarios? One, because they are very common in software, the second is because this is exactly what the new Git Updater fixes. Lets take a look at the new module. Installed the new module looks like the image below.
The module does not use a configuration screen like most modules, it adds a new menu item to the side navigation. The main reason is we want to move things off of the module page.
When you open the module, this is what you are currently presented with.
The module interface is pretty simple, all you have to do is select the version of thirty bees that you want to upgrade or downgrade to, then click the compare button. The compare button uses our git mirror to check which files have been changed between the two versions and outputs a list. You can see this below.
You can see from the image that between version 1.0.5 and version 1.0.8 of thirty bees there have been 913 file changes, 109 new files have been added, 95 files need to be deleted, and there are 11 files that should not be in the installation.
If you look at the first image, you can also see there are versions that you can select from. Like below.
This means as soon as there is a bug fix, you can deploy it to your shop. This setting lets you use the latest commits from the repository, before a build is made, making it truly a bleeding edge. Now, this is only recommended for merchants or developers that know what they are doing, but it does give you the option to be as up to date as possible.
Conclusion
All of these reasons are why we are pushing development of this module so heavily. It will allow merchants and developers to be able to upgrade, downgrade, and patch their shops in the most effective ways, allowing them to focus on selling and not finding a developer to manage their shop.