New Approach for Developing and Distributing Anahita

The Anahita Co-founders Rastin and Ash

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 ?

Anahita command line

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!

4 Replies to “New Approach for Developing and Distributing Anahita”

  1. Too Much Trouble. can’t you guys simply make it simple ? why you giving so complicated situation. you want to return to the era of microsoft DOS 3.1 ? is it ?

  2. @james on the contrary, command line has never been more popular with hackers and developers. We have been using command line tools ourselves all along to deploy and develop Anahita code and apps. We’ve now perfected those tools and made them available to all the Anahita developers and administrators.

  3. @ Rastin, @Arash
    As a relative newbie I am eager to learn more faster. I would like to say thank you both very much. You are moving in the right direction. I appreciate the effort your making here.
    Well done.

  4. @Scott Timmons thank you for the kind words. We will be providing tutorials and materials to help you learn and adopt the new tools, because they are essential to successfully maintaining a scalable social network.

Comments are closed.