Ever since we released the first version of Anahita, we and other developers had to deal with the lack of proper tools for efficient development, testing, and distributing our code. We were constantly testing different solutions such as JDEV, Ruby GEMs, Capistrano, Custom Command Line component and Bazaar to optimize our development and distribution process. About few weeks ago, we realized the problem was that we were trying to find a solution within the constraint of a legacy mindset of Joomla, so we decided to completely let go of that and start our own path.
Proper Code Distribution
Up until now we were distributing our code with zip packages that were installed either through Bazaar or Joomla legacy package manager, however starting Anahita 3.0, we will removed the Bazaar and the extension manager and no longer distribute Anahita and extension using legacy zip packages and instead rely on the Composer Dependency Manager for PHP for distributing Anahita and its extensions. Composer is a brilliant dependency manager for the PHP developers to distribute, share and manage their codes.
Reliable Code Update
In the previous versions we used to offer one-click updates for Anahita and its extensions using Bazaar. However since Bazaar itself was built on top of the Joomla extension manager, it was facing the same shortcomings. There was no real dependency and proper version checking between extensions and Anahita and since the updates were applied through browser we often faced server timeouts especially if the size of the packages or migrated data were larger. Also since building, testing and distributing packages would often take a considerable amount of time it would have delayed our releases even further.
All those issues are now solved using the Composer tool. With one single command, Composer can update Anahita, its extensions all of their dependencies properly without ever timing out. Since the Composer works with Git repositories out of box, there’s no more need to package our code for distribution anymore. You just tell Composer which version of Anahita you need and Composer will magically installs Anahita with all of its required dependencies.
Reliable Data Migration
In almost every release we’ve had quite a lot of data migrations. We used to apply these migrations through Bazaar and they sometimes timed out and resulted in corrupting the data. However now we are providing command line tools for proper database migration without the risk of database corruption happening.
What does this mean to you ?
At this time all the above features are only available through command line. If you are a developer and familiar with modern development tools and frameworks then you should not have any problems adopting this new approach as it provides better tools for you to develop and distribute your code.
If you are not a developer or uncomfortable using the shell command line, we are working to offer a web interface that would provides some of the necessary features such installing and updating Anahita in the future. Until we figure that out, you need to start learning a few commands that will help you install and manage your Anahita installations.
Migrate to the new Version from an older Version
If you have an older version of Anahita and would like to migrate to the new version we have prepared a guideline on how to do it for you.
We want to know your opinion
This is a big change and whether you love it, don’t mind it, or hate it we would like to know your concerns and opinions. Please leave us a comment!