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)?