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.
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.
We had a new Birth release last week and people have testing and reporting bugs. The 4.2.1 release provides fixes for all the reported issues:
1. fixed issue which was preventing authentication with email instead of username
2. fixed issue which was including search and composer js files twice
3. feature: site admins can now manually add new locations to be used by the community
4. feature: recently added tags can now be shown for hashtags and locations
5. refactored the code in com_tags and com_medium components
How To Update?
Make a back up of your files and database
Run the following command in the root of your Anahita installation
We’ve just tagged the 4.2.0 Birth release on Github and thanks to financial contributions of 3 companies in Anahita tribes, we have finally implemented the location graph and search in the core framework. This feature was planned for future releases, but due to popular demand we decided to implement it ahead of time.
How to upgrade
make a file and database backup of your Anahita installation and then enter the following commands in the root of your Anahita installation to upgrade:
Please note: If you have a custom template, you need to rename the directories html/com_html/content to html/com_pages/page because the component com_html has been renamed to com_pages.
Here are the updates in the Anahita 4.2.0 Birth release:
Tag actors and media nodes with locations
In this release actors and media nodes can be associated to location nodes. In Anahita you can associate more than one location to an actor or media node. Locations have unique urls that display recent and top nodes associated with them. Checkout these location pages: