The birth of Anahita with !Joomla

We finally put the exclamation mark before Joomla (pun intended). We now present you the first standalone Anahita with no Joomla! code in it. The new 4.3 Birth release has a smaller codebase and better performance.

A bit of history

Anahita started as an extension for Joomla! CMS. After a few releases, the Joomla architecture was constraining us from building a lightweight and flexible graph architecture and social networking platform. To address that issue we started making changes to the Joomla code to make it more flexible for our needs. The result was the Anahita 2.2.4 which was made available as a Joomla distro.

But that wasn’t enough. Since Anahita 3.0 we have been taking out Joomla code until now that there is nothing left of it in the 4.3 release.

Anahita codebase size since version 2.2.4
Anahita codebase size since version 2.2.4

This release took a while to happen, but as the diagram shows, it was worth it. Right now, Anahita’s codebase is about 11mb which is about 38% smaller than the version 3.0. The performance has also improved quite a bit as a result.

What else is new?

In addition to the bug fixes and architecture improvements you will also see the following features in the Anahita 4.3 release:

1. Site settings and configuration tools

Anahita's own site settings component
Anahita’s own site settings component

We have completely removed the administration back-end and instead added a new component which is only accessible to the Super Admins for configuring an Anahita installation. If you are the super admin, login in the front-end and under the Viewer’s drop down menu select the option Site Settings to configure: System Settings, Apps, App to Actor assignments, Plugins, and Templates.

2. Stronger password encryption

Anahita is now using the built-in php password_hash() and password_verify() methods which use a stronger one-way hashing algorithms for encrypting user passwords.

3. PHP7 support

php7 provides significantly improved performance and security. Anahita code is now fully compatible with php7 and we are using it on our production server. For best results we recommend you to upgrade your php.

Using OPCache and APCu you can further speed up the performance of Anahita. Make sure that you have enable those settings.

How to upgrade

Since we have removed Joomla from Anahita, the file structure has been changed. You need to run a few extra commands to rebuild your installation. We have provided upgrade instructions for you to:

  1. Upgrade your custom Anahita apps
  2. Upgrade your installation

PLEASE make a database dump before you proceed with any upgrades. This way if anything goes wrong through the process, you won’t lose your data. There’ll be no way back if that happens.

Post your questions on the Tribe Support group if you came across any issues.

What’s coming next?

More items in the Anahita 4.* roadmap have been crossed out. The focus of Anahita 4.4 release will be MobileFirst design and usability which means designing for mobile devices first and then for the desktop users.

In the new Architecture, the server side code will mostly provide a RESTful API and the client side will be responsible for constructing the user interfaces and communicating with the API.

All the user interfaces for registered users will be rebuilt using  javascript frameworks such as ReactJS or VueJS with Material Design user experience. This means less php and more javascript in Anahita.

You may also see some new features added to Anahita such as ability to share posts on multiple profiles and showing a preview when a link is posted.

Let the 2017 Anahita hackathon begin!