It is official that the Anahita 4.3 Embryo release is now in the master branch and we are currently using on on our live website. From this point we will be further bug fixing and polishing the code towards a stable Birth release.
Anahita 4.3 is the first stand alone Anahita codebase that doesn’t have any Joomla code in it. We no longer have an administration back-end. It is all happening in the front-end and developed using the native Anahita framework. Since version 3.0 that we started removing the Joomla code from Anahita codebase, it’s been reduced by 40% in size even though we’ve been adding new features such as hashtag, mention, and location graphs.
There will be more updates regarding this release on our blog, so stay tuned.
While we were putting the upcoming Anahita 4.3 under vigorous testing, we discovered a bug which is also in the current release of Anahita. This bug doesn’t affect existing installations, but only those who are trying to install Anahita for the first time.
The problem happens when Anahita is trying to send out the first activation email and since the reply-to email is missing in the newly created configuration file, the mail library throws an error and as a result the first user – which is also the super admin – doesn’t get logged in.
We have recently switched to using SwiftMailer library in Anahita since the 4.2.3 release. This bug was the result of a logical error in our code which integrates SwiftMailer with Anahita.
While this issue isn’t affecting the existing Anahita installations Run the following command in your Anahita installation to get the updates:
ps: Anahita 4.3 embryo release is just around the corner
The #NoJoomla hashtag has been a common theme in the Anahita tribes and our social media posts. What’s the story behind it? It’s nothing mean towards the Joomla! project. We are just removing all the remaining legacy Joomla code from Anahita. The version 4.3 will be a lightweight stand alone social networking infrastructure. This is an important milestone for us!
To tell you a bit about our history, we started developing Anahita as a commercial extension for Joomla! CMS. After few releases, we realized that Joomla was imposing constrains on Anahita’s architecture. Building a social network within a content management system is like trying to start a democracy within a dictatorship. We needed to break out of the constrains and that’s how the diversion started.
What were the constrains imposed by Joomla?
A CMS provides a topdown and hierarchal environment. Content is created and published by a small group of admins, editors, publishers, and writers. They get to decide what is published and how it is presented. Content is often organized in a one-to-many tree structures and taxonomies. In other words, a few people produce and control the content production for many consumers. Content is managed in order to be delivered to the consumer.
In a social network people are the admins of their own profiles or the ones they manage (groups, pages, events, etc.). Leadership is earned and everybody gets to produce content. Relationships of people, places, and things in a social network are primarily many-to-many by default. In this architecture, content find its way out to the end users via social graph and story feeds.
A gradual evolution
To overcome those obstacles we needed to make changes to the Joomla’s architecture. First we started offering Anahita as a Joomla distribution bundled with Anahita extensions. Then in every new release we chiseled away from Joomla code and replaced it with native Anahita code. We’ve been doing that for the past few releases. In the next release Anahita, there will be no Joomla! code left.
Several years ago having a stand alone Anahita was nothing but an ambitious idea, but now it is going to be a reality. We have done most of the essential work. The codebase has been reduced by over 25%. The Anahita database has only 7 tables upon installation.
This wasn’t an easy as merely deleting files. A lot of functionality which was relying on Joomla’s core libraries had to be rebuilt using Anahita code. Due to interdependencies, deletions had to be done strategically. All of that had to be done in multiple releases in a seamless and transparent fashion so people who were using Anahita for their projects wouldn’t experience any interruptions.
Anahita 4.3 will have no Joomla code and from that point we can focus on specializing Anahita as a social networking infrastructure for open data and open knowledge.
Our gratitude to the Joomla project
Joomla provided an ideal platform for us to start the Anahita project, crowd fund it, and distribute it. It provided a lot of the building blocks that we didn’t have to develop at the time. However a living project must evolve and change. We are thankful to the Joomla project and community for helping us make it this far. Not to mention that we learned quite a lot through this process. The knowledge we gained was one of the most essential outcomes and it will guide us as we move the Anahita project forward.
Also our special thanks to RocketTheme who gave us the MissionControl template which was used for the Anahita administration back-end until version 4.2. We have completely removed the administration back-end in the upcoming release, because all the site administration is now done in the front-end.