Anahita Atrium

Anahita Atrium's Topics

Heath Golub

Heath Golub

November 27 2011

Attempting a new (networking) site and looking for the "right" starting point

Hello All,

Though I have been a user of social networking sites, I have never implemented or maintained my own. Recently, I was asked to build a "social" site for a new client. Now, my first instinct was to build a custom site from scractch (that is the C# developer in me) ... but then figured that there had to be an easier, better way. That idea ultimately led me to Anahitapolis and othre FOSSlike solutions. 

I've spent a few hours reading various discussions (including topics 43685, 47784, & 41115) while also trying to compare Anahita to elgg and JomSocial (no, I won't be asking about those other platforms :)

My question is is it possible and how difficult (in general) would it be to modify an exisiting or create a new social app for Anahita that provided a supervised friending system. Similar to the "two levels of users post" my site would not only need to have the a few distinct levels of users, but the upper level of users, would need to control all the interaction graphs for the lowel levels of user. Now I realize that this is not very social, but here is a situation where it would make sense (and using this scenario would fit my business requirements) ...

Consider the interaction of an adult night school (now I don't need to worry about attendance or grades, I just want the "social aspect", so classroom software is not quite right) where we have auditors, students, teachers, and administrators (w/ a principal of course). Anyone could register to audit a course. Once someone is an auditor, an administrator could promote them to a student, teacher, or administrator (this is based on paying a fee or getting hired of course). Auditors would only be able to see content from an administrator, while students in the same class, would have free interactions via posts and PMs (when available) and other discussion and could themselves create groups for the class. Students would only "see" or be able to interact with other students that are in the same classes as them -or- if a company sends a number of employees to take a class, all the students from the same company would be able to see each other. Cross teams could also be created, like special interest groups .. math and chess club for example. A student in the math club could interact with other students in the math club OR those in their class, but not those that are only in the chess club. (I think this explains the basic idea.)

Basically the administrators would control and supervise all the interactions of the auditors, students, and teachers; while the teachers could only supervise their respective students.   Could the Anahita framework be a good start for creating this type of social network? Would it be considerably difficult to create this functionality (since I have avoided PHP like the plague)?

Apologies for the long winded post. Any ideas/suggestions would be appreciated. Thanks and all the best. #anahita #social #networking #engine

Rastin Mehr
Rastin Mehr
November 28 2011 Permalink
Hi @Heath welcome to Anahitapolis. Sorry for the late reply we have been hard at work coding the Anahita 1.6 and also there have been many questions in the Premium groups this weekend.
Coding your "social" site from ground up is certainly not impossible but quite a bit of work. It is very much like coding your own operating system. That is how the Anahita project initially started. We had many business projects and ideas in mind, but none of the existing solutions could live up to the task and even the best of them couldn't handle the complex social networking scenarios in a simple fashion. That is why we initiated the Anahita project and decided to share the code with others as well to build the infrastructure for their projects.
The vision that we have for Anahita to become the Linux of social web. The same way that an operating system tells the mother board how to be a computer, Anahita will be the social layer that tells the Internet how to be social. Anahita provides a framework to build your custom social apps and a platform to host them. 
As for the Anahita framework, it provides an MVC framework and it also follows domain driven design. Social Networks are made of nodes and edges where stories and messages propagate around in the network of nodes and edges. That is where the Anahita's Nodes-Graphs-Stories Architecture comes in. When you build applications for Anahita you can use the existing nodes such as Actor, Medium, or Story nodes. You can also create your own nodes by adding new behaviours to a basic node using mixins.
Anahita's framework is specialized for building social apps.

As for the efficiency our goal is to make it possible to write social apps that require as little code as possible. Our applications are generally quite light. For the next release of Anahita they contain up to 50% less code. You can read the Q3 report here:
To package the Anahita 1.5 release we have used some CMS parts using a modified and stripped down version of Joomla to contain the Anahita framework and apps. As we develop forward for every release, we will be replacing the cms parts with components written using the Anahita's native framework and api. That means Anahita will get even lighter, faster, and more flexible over time.

As for your business logic we have to get down to what you are trying to accomplish. If you feel comfortable you can post your questions on the Premium groups once you sign up. If not we also offer premium packages that are bundled with private consulting sessionss to help you develop a strategy for your project, find the shortest path to build it, and we can also audit your code for you.
Heath Golub
Heath Golub
November 28 2011 Permalink
Thanks for the reply! I can see that you love what you do. Think I will be looking forward to the 1.6 release!

I realize that you have a lot of work to do and need to focus on the premium tribe, so I do appreciate your replies. But without releasing any details, do you think it would be possible to create a "monitored/moderated" friends list using Anahita (and is that something you would even want to consider doing)?

If it is even possible, then I see no reason for not becoming a premium member. But to join and then find out that it is not possible, would probably just cost me a job. (Even though it is just a side-gig!)
Rastin Mehr
Rastin Mehr
December 03 2011 Permalink

do you think it would be possible to create a "monitored/moderated" friends list using Anahita (and is that something you would even want to consider doing)? 
To answer that question we first need to know about the approach you have in mind in order to monitor and moderate friends lists. How are you going to monitor and moderate your friends? against what? to prevent what? and what is the definition of a friend in the Lead-Follow-Mutual model?

Would you please be able to describe some specific examples and case scenarios?

Powered by Anahita