Anahita Project

The #Anahita #project management group. Visit https://github.com/anahitasocial for more information about Anahita code and how to get started.

Stories

Rajkumar Mundel

Rajkumar Mundel and Rastin Mehr commented on the topic

Any Specific date for the release of 1st version of Anahita-ReactJS

Any specific date for the release of 1st version of Anahita-ReactJS ?

Thank you :)

Sure :)
You are doing brilliant work :). Cheers :)
Rastin Mehr liked this
Thank you!
Rajkumar Mundel

Rajkumar Mundel and Rastin Mehr commented on the topic

Any Specific date for the release of 1st version of Anahita-ReactJS

Any specific date for the release of 1st version of Anahita-ReactJS ?

Thank you :)

:) Thank you for quick reply :). Yes I am eagerly waiting for Anahita React to use on Anahita on my phone as a web app :)

This part is still not started - "back-end code to APIs only" ??

Thank you :)
Rastin Mehr liked this
Likewise here. We aren’t reducing the back-end to APIs until the React App is stable and in good shape to replace the current UI.
Rajkumar Mundel liked this
Rastin Mehr

Rastin Mehr commented on the topic

Any Specific date for the release of 1st version of Anahita-ReactJS

Any specific date for the release of 1st version of Anahita-ReactJS ?

Thank you :)

Rastin Mehr liked this
I wish I could tell, but we are solving a lot of design patterns for the first time and it's hard to come up with an estimate. Social networks are as complex as they get when it gets to applications, they can be quite... Read More
I wish I could tell, but we are solving a lot of design patterns for the first time and it's hard to come up with an estimate. Social networks are as complex as they get when it gets to applications, they can be quite elegant too. We are already using the Anahita React as a reference for a lot of our internal projects. We're going to keep building until it is ready. Quite likely as a new template for Anahita until it is stable enough, then we'll proceed with reducing the back-end code to APIs only. That's going to be fun! Read Less
Rajkumar Mundel

Rajkumar Mundel started a topic

Any Specific date for the release of 1st version of Anahita-ReactJS

Any specific date for the release of 1st version of Anahita-ReactJS ?

Thank you :)

Rastin Mehr liked this
Rastin Mehr

Rastin Mehr shared a photo

Spruced up media cards and added actions #Anahita #Hackathon #ReactJS #MaterialUI
Rajkumar Mundel liked this
Rastin Mehr

Rastin Mehr shared a photo

Spruced up story cards with array of objects or subjects #Anahita #Hackathon
Rastin Mehr

Rastin Mehr shared a photo

Added Notification subscribe/unsubscribe and Medium Delete actions. The design pattern for actions workflow is coming together. #Anahita #Hackathon
Rastin Mehr

Rastin Mehr shared a note

Looks like we found a way to have reusable actions in both browse and read views of Anahita React. It works so well that we can even have Owner Actor follow/unfollow or block/unblock on story items... Read More
Looks like we found a way to have reusable actions in both browse and read views of Anahita React. It works so well that we can even have Owner Actor follow/unfollow or block/unblock on story items. Going to implement the additional actions next. The code can be made DRY, but we aren't going to do that yet. We want to see all the patterns emerge and then we'll come up with higher order function design patterns to make the cod reusable. https://github.com/anahitasocial/anahita-react #Anahita #ReactJS #ReduxJS #SoftwareDesignPatterns Read Less
Rajkumar Mundel liked this
Rastin Mehr

Rastin Mehr shared a photo

Like/Unlike actions are working. Furthermore, revised a design pattern of handling actions in browse views. The Follow action implementation is also another example. #Anahita #Hackathon #ReactJS #ReduxJS #MaterialUI
Ildemaro  Martinez Jr

Ildemaro Martinez Jr and Rastin Mehr commented on the note

During the last 2 weeks our focus has been on ways to deploy #Anahita using #Docker and #Kubernetes on cloud platforms such as #AWS we're going to make this happen and it will be a great milestone ... Read More
During the last 2 weeks our focus has been on ways to deploy #Anahita using #Docker and #Kubernetes on cloud platforms such as #AWS we're going to make this happen and it will be a great milestone for Anahita. Read Less
Hello Rastin: any progress/approximate timeline on this? We want to deploy #Anahita using #Docker and #Kubernetes and are waiting for official Anahita DK8s tools
Rastin Mehr
Rastin Mehr
February 13 2019 Permalink
Don't wait for us, build one of your own. We first want to build the Anahita React app, then reduce the back-end code base to APIs only, then we build the DK8 tools for the new architecture. Right now we don't want to... Read More
Don't wait for us, build one of your own. We first want to build the Anahita React app, then reduce the back-end code base to APIs only, then we build the DK8 tools for the new architecture. Right now we don't want to build DK8 tools for the existing release only to throw it out later. Read Less
Rastin Mehr

Rastin Mehr shared a photo

This weekend we performed more work on #Anahita stories in our #ReactJS app. Implemented localization, container to construct story messages. Also performed some refactoring and UI adjustments. Most of Anahita React development work isn't about building features, but finding new software design patterns for a complex graph architecture system. This will be our ongoing obsession. #Anahita #Hackathon
2 people liked this
Rastin Mehr

Rastin Mehr shared a note

For this week's #anahita #hackathon the focus is on elaborating the story cards and finding good design patterns for story actions.
Rajkumar Mundel liked this
Rastin Mehr

Rastin Mehr shared a note

This weekend we further refactored the Anahita-React app containers and components. Worked on basic implementation of story cards and story title. Also added a list of utility functions for parsing... Read More
This weekend we further refactored the Anahita-React app containers and components. Worked on basic implementation of story cards and story title. Also added a list of utility functions for parsing an entity's url, portrait, and cover. #Anahita #Hackathon #ReactJS #MaterialUI Read Less
Ildemaro  Martinez Jr

Ildemaro Martinez Jr and Rastin Mehr commented on the note

We're still working on devops and release engineering options for Anahita. We've been deploying two #kubernetes #cluster to #AWS during the last few weeks. All paving the way to build #Docker and #... Read More
We're still working on devops and release engineering options for Anahita. We've been deploying two #kubernetes #cluster to #AWS during the last few weeks. All paving the way to build #Docker and #k8s deployment tools for #Anahita. I appreciate your patience. Read Less
hello Rastin: any progress/news on officialAnahita DK8s
image+tools?
Rastin Mehr
Rastin Mehr
January 17 2019 Permalink
The DK8 is on hold for now until the Anahita React app has some progress.
Rastin Mehr

Rastin Mehr shared a note

The first #Anahita #Hackathon in the new year started by cleaning up the code in Anahita React repository. We are going to focus on the React app until it is ready and discover new design patterns ... Read More
The first #Anahita #Hackathon in the new year started by cleaning up the code in Anahita React repository. We are going to focus on the React app until it is ready and discover new design patterns that work best for Anahita. Through this process, the back-end API will be improved too. Read Less
Rastin Mehr

Rastin Mehr shared a note

Some improvements are done to the Stories API. The owner field was missing from the story objects. Also for the total number of stories the getTotal() method returns an arbitrary number 777. The qu... Read More
Some improvements are done to the Stories API. The owner field was missing from the story objects. Also for the total number of stories the getTotal() method returns an arbitrary number 777. The query that calculates the total number is processing intensive and useless since users won't request for more than several hundred records anyway in extreme cases. Stories now load a tad bit quicker as a result. Implemented the proof of concept Stories container in our react app. We'll continue working on the stories next week. #Anahita #Hackathon Read Less
Rastin Mehr

Rastin Mehr commented on the Article

Where Is Anahita Heading To? The Action Plan

Where is Anahita heading to? The Action Plan

I started an article reflecting on Anahita's history and goals. It was supposed to be just a paragraph, but it grew to become an independent blog post. Apparently, I like to ramble on when it gets ...

Read More

I started an article reflecting on Anahita's history and goals. It was supposed to be just a paragraph, but it grew to become an independent blog post. Apparently, I like to ramble on when it gets to talking about Anahita. You can find the published article here:

TL;DR after building a learning management system for an old-school education company, I was inspired to build a more democratic and distributed online learning and knowledge sharing platform. I left my job, focused on my new company, grew a team, got down to coding. At the time we thought social networking was the solution to all humanity's ailments, but then alternative facts, click-bait content, and extremist ideas started spreading around on mega giant social media. After some reflection, we decided to focus on building tools for open science and data. Our goal is to make Anahita the lightest viable unit required to set up a knowledge sharing and collaboration platform. We want brutal minimalism to be at the core of our design philosophy. 

So as for the action plan, here is what's happening:

Nooku/Koowa Code Refactor

UPDATE: this is already done in Anahita 4.4.0

We are still using some code from Nooku Framework, named Koowa. We're going to merge them all with Anahita framework and take out every bit that isn't being used. We've been doing this quietly in every maintenance release. We expect this refactor to be done in the next couple of maintenance releases.

Separating Client and Server apps

We are developing an Anahita React app which will be the web-based user interface for Anahita. We are also using the React Material UI to build the user interfaces primarily for mobile users while accommodating desktop users too.  A lot of concepts and code used in this app can later be reused in custom mobile or desktop apps for Anahita. Through this process, we are also improving Anahita's RESTful API. The development will continue until we have most of the existing features in the React App, plus some improvements. 

Reducing the server side to APIs only

In the current codebase, Anahita renders most of the user interfaces in the server side and then it uses JQuery to fetch or post data or animate the user interface elements. JQuery is like stick and stone technology in comparison to React or mobile application development frameworks. We are going to get rid of server-side rendering altogether and remove every bit of library and code in Anahita responsible for rendering HTML pages. The Anahita PHP codebase will only provide a RESTful API to a graph architecture on top of a relational database. This API can be extended by installing Anahita apps. This will further reduce the size of the Anahita code base which is currently around 11MB, but we estimate to be cut to half.  

Specialization

Anahita is a platform and framework. We want it to be specialized enough to function as a graph architecture for developing knowledge sharing apps and services. Meanwhile, we refuse to turn it into a specific product for a specific case scenario and specific target audience. Productization may result in a short-term gain, but it'll take away Anahita's ability to evolve and adapt in an ever-changing environment. With that in mind, we want to build apps and tools that are commonly used by researchers, scientists, and collaborators. For example: 

  1. A Kanban board in the Todo app. 
  2. Publishing tools for Articles. 
  3. Native support for Video files either in the Photos app or an independent Videos app. 
  4. Native support for web links with previews.
  5. Ability to upload and share documents
  6. Integration with Google Drive, Dropbox, Github, and data visualization services
  7. OAuth consumer and supplier
  8. Private Messaging
  9. Integration with chat and video streaming services such as https://tokbox.com
  10. user onboarding workflows
  11. LMS apps for creating and managing courses, classrooms, and learning objects
  12. Data visualization tools

Devops and Release Engineering 

I think there is no need to explain why we need to start using Docker and Kubernetes technologies as well as other continuous integration and deployment tools. Having proper release engineering tools in place will make Anahita deployment easier on cloud computing platforms such as AWS, Azure, or BlueOcean. 

Questions, comments, feedback? Let me know in the comments please.

#Anahita #ActionPlan #RoadMap #Vision

Read Less
3 people liked this
Rastin Mehr
Rastin Mehr
November 18 2018 Permalink
Heads up: the Nooku/Koowa Code Refactor is done in Anahita 4.4.0 and we're now focusing on the Anahita React app. In the meantime we're researching and prototyping the best ways to build Devops tools for Anahita. This... Read More
Heads up: the Nooku/Koowa Code Refactor is done in Anahita 4.4.0 and we're now focusing on the Anahita React app. In the meantime we're researching and prototyping the best ways to build Devops tools for Anahita. This requires knowing how the Anahita file structure and app distribution going to be in the upcoming releases, which is why we aren't rushing into building Docker and Kubernetes tools yet. Read Less
Rastin Mehr

Rastin Mehr published a new Article

Anahita 4.4.0 Birth Release Is Now Available

Anahita 4.4.0 Birth release is now available

We just tagged this release on Github. It doesn't provide any new features, but some significant changes in the core framework has happened that are essential for those of you who are building cust...

Read More

We just tagged this release on Github. It doesn't provide any new features, but some significant changes in the core framework has happened that are essential for those of you who are building custom applications for Anahita. 

How to upgrade

We have merged all the parts that we were using from the legacy Nooku and Koowa frameworks and removed most of the unused code. This has made the Anahita framework API consistent everywhere. So basically:

  1. All classes and objects prefixed with "K" or now prefixed with "An"
  2. All instances of "koowa" in the identifiers are now "anahita"
  3. All instances of "KOOWA" constants are now "ANAHITA"
  4. In the www/configuration.php file, "AnConfig" is now "AnSiteConfig". That's because once we merged the KConfig classes as AnConfig, it interfered with the AnConfig in the config file.     
IT IS IMPORTANT that you update any custom apps or templates in your existing Anahita installation to reflect those changes. There are no database schema changes in this release, so you are ok on that front. To update your existing installation just run the following command in the root of your Anahita installation:
$ composer update

If you had any questions or issues, please start a topic in the Tribe Support group so we can help you. Same goes if you discovered any bugs: https://www.getanahita.com/groups/107732-tribe-support

Here is the CHANGELOG for those who care: https://github.com/anahitasocial/anahita/blob/master/CHANGELOG.md#anahita-440

What's next

We can now fully focus on separating Anahita Client and Server applications. We are currently developing the Anahita React app and refining the RESTful APIs in the server side code. You can read this blog post to learn more about the action plan: 

Enjoy the consistent Anahita framework API

#Anahita #BirthRelease #Framework #Nooku #Koowa

Read Less
Unknown Person liked this
Rastin Mehr

Rastin Mehr shared a note

We just tagged Anahita 4.4.0 on github. Could you please do an test install and report issues if you found any. I'll publish an announcement in the Atrium later today. Thank you! #Anahita #BirthRel... Read More
We just tagged Anahita 4.4.0 on github. Could you please do an test install and report issues if you found any. I'll publish an announcement in the Atrium later today. Thank you! #Anahita #BirthRelease Read Less
Rastin Mehr

Rastin Mehr commented on the Article

Welcome To All Consistent Anahita Framework

Welcome to all consistent Anahita framework

We just reached an important milestone for Anahita. All the Nooku Koowa code which was being used are merged with the Anahita framework and most of the unused code has been removed. 

Our framework ...

Read More

We just reached an important milestone for Anahita. All the Nooku Koowa code which was being used are merged with the Anahita framework and most of the unused code has been removed. 

Our framework is now nice and consistent and no more confusions between "K" and "An" prefixes as well as "koowa" and "anahita" identifiers. Now all the class prefixes are "An" and wherever we had "koowa" it is "anahita". 

This release will be tagged version 4.4 because all your custom apps need to be updated to accommodate the recent changes. 

Our special thanks to the Nooku team for we couldn't have made it this far without their framework. 

Now while we're at it, could you please test installing from the master branch and let me know if everything is working properly? Thank you! 

#Anahita #Framework #nooku #koowa

Read Less
Unknown Person liked this
Rastin Mehr
Rastin Mehr
November 18 2018 Permalink
An important reminder: AnConfig should be AnSiteConfig in the configuration.php file. That's because KConfig is now AnConfig and it was conflicting with the former AnConfig in the configuration file. It's a simple fil... Read More
An important reminder: AnConfig should be AnSiteConfig in the configuration.php file. That's because KConfig is now AnConfig and it was conflicting with the former AnConfig in the configuration file. It's a simple file edit so we don't bother automating it. Read Less

Photos View All

Articles View All

Topics View All

To-dos View All

Powered by Anahita