Friends and members

I hope this is the right group for this.  For the ELGG network I have planned, I'm going to need to differentiate between various types of friends.  I'd like some sort of friend-type.  For example, a friend might be a colleague, a family member, fraternity brother, etc.  I envision using groups to represent not only social groupings but also businesses. A member of a group might be a customer, employee, creditor, etc.  I imagine this would be some sort of plugin that adds this kind of differentiation. 

  • relationship type ( friend, colleague, family, fraternity, sorority, abc, xyz );


  • Yes.   Do you now if this is something planned in an upcoming version?  I searched plug-ins and didn't find anything. 

  • Can't his be achieved by Groups?

  • Maybe I'm not looking at it right? If it already exists can you provide some more detail (I'm a newbie).  I don't see anything in the current group module other than the normal description / tags/ fields.  A group-type would be nice as would a relationship-type for members. 

  • This is confusing me, and I'm used to creating high-level Object Oriented systems! I suspect it's just a matter of semantics.

    There's a lot of useful cross-talk regarding roles, permissions and relationships between entities at the moment, much of it mine for various reasons. The way I'm used to seeing it is that members can have relationships which are not necessarily governed by roles and permissions, but also roles which do confer certain permissions (the whole point of having roles).

    For example, you might have a brother (the relationship), and your role might allow you to enter a bank (a permission). However, his role permissions might also allow him to remove money from the bank as well as enter it, while yours does not. (Ain't that always the way?!) So, you both have a relationship, but that relationship does not concern what happens at any particular bank. Of course, various roles might give different permissions to one or both of you at all or only specific banks.

    This is important, because members may wish to tag themselves as part of a family, or specifically as brothers. People could then perform a search for members in a family, or brothers who belong to a group, eg., fishermen. Brothers have no special permissions as such, but anyone who happens to be someone's brother may of course be granted one or more roles which do confer various permissions.

    Now, colour me dumb, but I can't see how to express relationships, and also roles and permissions, in terms of Elgg's methodologies. Groups don't 'do it' for me, as anyone can belong to a Group if given permission by the Public or Private setting. The simple relationship of belonging to a Group doesn't allow me to confer any kind of role or permissions on members just because they belong to the Group, so the relationship is tentative at best, and of little value. For example, if the Group is "family" and Public, it basically should be called The Human Race, as there's no real way of identifying a member as someone's brother or sister, but also identify them as belonging to certain groups of individuals who might be, say, bakers or/and dancers.

    If I create groups of type Family, Baker, Dancer, etc., how do I identify a member as a dancing baker who happens to have a brother? They can belong to group Baker, and also Dancer, and also to a Family - but while they can bake and dance, what about their inter-family relationships?

    Ok, so that's what's swimming around in my head at this moment, but on to the real world task of building a social network, in this case, one I'm currently working on. I may be missing the point due to perceptions and semantics, so can anyone tell me how I can use Elgg to;

    • Build an 'open' social network where new members have the role+permission to create only one new group of their own.

    • Allow any member, regardless of role/permissions, to join any public group, as well as any private group if permitted by a member of said private group (or group moderator - another role!)

    • Allow members to be identified as having any one of a number of relationships with other members, without that affecting roles and permissions in any way.

    Please do tell me if I'm not making sense, but this conceptual model is what I was trained to use, and have done in serious commercial and industrial software systems for some years. I can do all this and more, using this kind of model, in almost any other system, eg., Drupal, WordPress+BuddyPress, Pligg, and perhaps also Joomla (didn't like it), Moodle (haven't tried it), etc.

    There's something enticing about Elgg, but it doesn't seem to give me the tools to do the above, which is just the very basics to be getting on with. As I say, perhaps I'm missing the point of how it's actually done in Elgg. One thing I am sure of is that I don't want to have to write a handful of plugins and become entangled in all that implies, when I just need to build a social network with currently available Open Source tools. Am I asking too much of Elgg as it stands right now..?

  • @Guys

    ;-) Have a look at Friends Collections - simple, effective way to handle "friend types", "group types", "anything types"...

  • @Dhrup; Thanks for the pointer, but I can't find this module. Found others which appear to relate to it, but not one called Friends Collections.

  • LOLZ ;-O It's not a PlugIn but an built-in feature of Elgg's "Friends".

    Just click on Friends and on left hand side you'll see

    There you can create "collections" of friends, e.g. a collection named "Family" - then put any friend into that collection ;-) and so on....

  • @Dhrup; Ah - see? I knew I was going around in circles. Thanks. Now I have to look at permissions granted to friends and collections of friends...

  • I shoulda thought of this feature earlier.. not thinking. Exactly what you want, hwappi Elgging ;-)

Feedback and Planning

Feedback and Planning

Discussions about the past, present, and future of Elgg and this community site.