Anahita Birth Release 4.1 is now available

Writing the announcement for #Anahita 4.1 Birth release

Whenever we reach a new milestone in our journey, it feels amazing and we cannot wait to tell you all about it. So what was accomplished during the last 4 months?

  1. all the mootools code has been removed and the entire javascript library of Anahita has been rewritten from ground up in JQuery.
  2. tinyMCE editor has been removed and instead we have developed a custom HTML5 editor that is very lightweight
  3. improved how content is rendered in posts
  4. simplified and improved the social graph API
  5. new drag’n drop multiple file uploader in the photos app
  6. HTML5 form verifications
  7. further user interface improvements for mobile and desktop users
  8. cover images for Actor profiles

I am going to tell you how to upgrade to Anahita 4.1 first and then go through the 7 items one by one:

How to upgrade to version 4.1

Before you start:

  1. If you have developed custom themes, apps, or components that contain javascript code based on mootools, you need to rewrite them using JQuery.
  2. Make sure you make a back-up of all your custom code as well as a fresh data dump of your database.

Now to update your installation:

First you need to clear the APC cache on your server. Go to the administration backend of Anahita and Global Configuration. Turn off cache and save. This will clear the APC cache.

Now open your command line shell and SSH to your server. Change directory to the root of Anahita installation and run the following command:

composer update

After the command finished executing, go to the administration back-end, global configuration, and turn on the cache again.

Clear your browser cache and go to the front-end of your site. Upgrade is done.

If you experienced any problems during your update, please post your questions on the Anahita Tribe Support group so the tribe members can assist you.

What’s new in Anahita 4.1?

Let’s go through them one by one:

1. Goodbye mootools, hello JQuery

Anahita’s javascript library was originally developed using the mootools library. It served us well, but then JQuery improved a lot and became massively popular. To the point that if we wanted to continue using CSS frameworks such as Bootstrap or ZurbFoundation, we had to switch to JQuery.

So we rewrote the entire javascript library in Anahita using JQuery. The new library is 20% smaller and much more efficient. Anahita UIs are now lighter and snappier than before on both desktop and mobile browsers.

2. Goodbye TinyMCE, hello new lightweight HTML5 editor

The new lightweight HTML5 editor for Anahita

TinyMCE works great on content management systems, but it isn’t an ideal choice for a social network where everybody can create rich text content. So we developed a lightweight HTML5 editor based on the bootstrap-wysiwyg codebase. The new editor can even be used on mobile devices.

This is the first release of our HTML5 editor and it will become even lighter and more efficient in the upcoming releases of Anahita. Of course the TinyMCE codebase has been completely removed.

3. Improved how content is rendered in posts

The PTag plugin is removed. We have also stopped supporting rich text in the Topic comments.

Code snip in the rich text content is no longer supported; instead a gist plugin is added which can render GithubGist urls within a post.

For security reasons, we are no longer allowing a and img html tags to be added by the users, because malicious links can be hidden as images or links. Instead urls are automatically parsed as links and photos must be uploaded via the photo app and when the url is inserted within a post, it gets rendered as a photo. This way you can always make sure that the source is always from your storage server.

While you are upgrading to this release, a migration script cleans out a lot of the existing content stored as html. You may lose some of the custom a and img tags that you have. We had no other choice. We learned that supporting those tags was a bad idea so we made changes.

4. Simplified and improved the social graph API

While we were implementing the JQuery code for social graph actions such as: follow, unfollow, block, unblock, add follower, and remove follower; we realized that the API needed to be simplified and improved. If you are developing javascript or native mobile apps, you’ll find the new API to be much more intuitive.

5. New multiple file uploader in the Photos app

Drag'n Drop multiple image uploader

Drag'n Drop multiple image uploader

You can now drag’n drop images files and upload them. It is currently being used it in the Photos app. It is even mobile friendly. We still haven’t used this feature in the composer of photos app and the uploader for the actor avatars. We will deliver that to you in one of the Anahita 4.1 maintenance releases.

6. HTML5 form verifications

HTML5 form validations in Anahita

HTML5 form validation is supported in most modern browsers so we decided to remove all the form verification javascript code and let the browsers do the work. We are still doing some remote validation for fields such as username and email in the sign up and account management forms.

7. UI improvements for mobile users

Yes we have done lots of those little adjustments to our code to improve the mobile experience on Anahita. We are also using a new media viewer which allows swiping images on touch screens.

Please note that in Anahita 4.2 we will be rebuilding all the user interfaces primarily for mobile devices. That is because mobile devices are increasingly becoming the primary method of accessing social and knowledge networks, so it makes sense to design for mobile first and desktop next.

8. and one more thing …

Actor profile cover

Since this release was mostly about underlying code, we wanted to add something more visual; a cherry on the top before packaging this release.

We added cover images to the actor profiles. You can currently upload covers on a person or group profile. If you have developed any custom actors, they will automatically inherit this feature from Anahita.

Special thanks to these great people

  1. Johan Janssens, our advisor
  2. Nick Swinford, who contributed to the development of 5 JQuery plugins in Anahita
  3. Scott Timmons, who helped us by testing, breaking things, and letting us know about it
  4. Our great team at rmdStudio
  5. The wonderful LaunchAcademy members in Vancouver who are always available to help out

What’s next?

We are going to move on to the Anahita 4.2 development as quick as possible. The focus of Anahita 4.2 is MobileFirst and rebuilding all the UIs primarily for mobile devices.

After that, the focus of Anahita 4.3 will be removing all the legacy Joomla code left in Anahita and delivering a lean and mean social networking platform for building apps and services.

Don’t miss an update

don’t forget to:

  1. Follow us on twitter @anahitapolis
  2. Like us on facebook facebook.com/anahitasocial
  3. Fork us on Github.com/anahitasocia/anahita
  4. Join the Anahita Tribe