The new Anahita Delivers Location Graph and More

Anahita Location Graph

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:

$ composer update
$ php anahita site:symlink
$ php anahita db:migrate:up

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.

What’s new?

Here are the updates in the Anahita 4.2.0 Birth release:

Tag actors and media nodes with locations

Photo Locations - Anahita Location Graph

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:

Search nearby actors and media nodes

Nearby Search - Anahita Location Graph

We have incorporated location graph with Anahita global search so you can search the nearby actors and published media.

List top and trending locations

Top and Trending Locations - Anahita Location Graph

Top and trending locations are calculated in real-time based on the number of location graphs created within specific period of time.

Integration with google maps and location api

For the current implementation of Anahita location graph we are using Google’s map and location api for geocoding, rendering maps, and autocompleting places names during a search.

We’d like to be able to support OpenStreetMap and we have done the initial work to integrate with their service too, but we have left this feature for future releases.

Easy to use maps and locations API

Anahita provided easy to use behaviours and template tags so you can use location graph and maps with your custom apps. For example:

<?= @location($photo) ?>

renders a photo’s locations

<?= @map($locations) ?>

renders a map to display a list of given locations

As we mentioned before, all actors and media nodes are now geolocatable by default.

Improved Implementation of Masonry Layout and InfinitScroll

Anahita Masonry Layout and Infinite Scroll

Since Anahita 4.1 that we switched to JQuery as our javascript framework, we used a CSS only masonry layout. That was a very bad idea. CSS only masonry doesn’t populate the columns from left to right and instead populates columns top to bottom which completely changes the order of items. To fix that problem we have written a masonry layout javascript code.

We also improved the InfinitScript implementation and optimized the pre-fetch and rendering process. Now the masonry layouts render correctly and InfinitScroll is smooth and efficient.

Mark Actors as Verified

This is a simple but highly requested feature which enables site admins to mark an actor profile as Verified. A verified account shows a little checkmark next to the name. Depending on the context of your social network a verified account could mean a verified identity, a premium account, or whatever you define it to be.

The Articles app

com_pages is now com_articles and called the Articles app. We did that because it made more sense and we couldn’t do this before as a result of name conflict with a legacy joomla component named com_articles. Likewise com_html has been renamed to com_pages, because it made more sense that way!

Other Improvements

  1. Improved overall tagging architecture for hashtags, mentions, and location graphs
  2. Fixed a bug which lead to creation of duplicate edges of same kind. The patch prevents that from happening. There is also a migration script in version 4.2.0 which removes all the duplicate edges from your database.
  3. Fixed all the reported bugs since the last release

What’s Next?

Looking at the Anahita 4.* Roadmap we’ve had significant progress.

To jump ahead a little, in version 4.4 we will be reworking all the UIs and APIs. That would be mobile first UIs that use a more sophisticated javascript framework as well as more refined and organized RESTful APIs.

The next release which is the version 4.3 is focused on transition to 4.4. The most essential work would be:

  1. removing all the legacy code from the codebase. We still have some Joomla code left in Anahita and they need to go.
  2. removing the administration back-end and rebuilding them in the front-end
  3. further architectural improvements such as treating Anahita Stories as independent entities from the nodes and improving the Story feeds.

Acknowledgements

The following organizations contributed financially to the implementation of location graphs in Anahita:

The following tribe members contributed bug fixes and updates in this release:

and special thanks to the rmd Studio team who is the driving force behind Anahita project.