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. 

  • I absolutely love that featuer of elgg it's heavily under-documented and under-used in my mind. Something we have that facebook doesn't (release clause:haven't used facebook in over a year perhaps they updated)

    If you want to take it further use Brian's MT Activity Tabs. It's nice, but doesn't work on my 1.6.1 :(

     

  • LOLZ FB ? I am forced to visit FB b/c my baby sisters, nephews, nieces, grandchildren, grand nephews/ nieces.. abt 80 of these chilluns.. all think that FB is so kewl. I'm just biding my time for Elgg 1.8+ so that I can release the ChandGang.Com on them and then they'll dump and run to Gramps ;-)

  • @Callum....
    browse thru http://docs.elgg.org/wiki/Main_Page and the various sub-sections there -- there is mucho mucho "OVER" documentation available for anyone who wants to spend the time to read thru and study ;-) cheers....

  • I know this might sound odd to those used to Elgg, but finding and using the Friend Collections isn't very intuitive in Elgg so far. It probably will be in 1.8, though I only gave 1.8 a quick look.

    The issue of member control isn't addressed though, leaving an Elgg site open to potentially serious abuse, and inter-member abuse. These are issues I'm having to take very seriously, as previously mentioned.

    As one or two helpful community members have said, Elgg is meant to be extensible via modules - a very sensible way to develop a software tool, as the core remains compact and stable. However, module development hasn't yet grown to anywhere even vaguely close to that of say, Drupal, so for a developer to address the 'missing bits' means a lot of time building things from scratch. A bit like deciding to build a house, and then going and making your own bricks one by one before you can start putting up the basic walls.

    Many people on the web tend to be destructive in ways they wouldn't chance face-to-face in real life, making strict member and group control an essential requirement for social networking software. It doesn't exist in Elgg yet, and after planning how it might be added it's not looking like a good road to go down.

    I'm not giving up on Elgg by any means, but have returned to the most powerful tool yet available to build the main site I'm working on at the moment, and will watch Elgg's development with interest. Certainly the community has more of an enjoyable, helpful and relaxed atmosphere than most others, and just chatting about things here has helped me focus on practical solutions to issues facing our new development. So, my thanks for all the input!

  • @Dhrup; Just for clarity if it's needed, here's what I mean about relationships, which Elgg doesn't have in Friend Collections. Relationships need to be meaningful in different contexts, or basically you're left with a 'member only' list of what they consider to be relationships - ok for a hobby site, but not a lot of practical use in more complex real world applications.

    image

    And creating any type of new relationship you wish to;

    image

    This method means that complex relationships can be defined in very simple ways, and more importantly, those relationships can then be used in various views which admins and normal members can manipulate to display exactly what they want. You may notice that Operations can be performed for relationships too.

    This sort of thing applies even more so to roles and permissions, without which you basically have members able to rampantly do as they please on your site, or use the hammer-to-head method of not allowing them to do anything at all in certain areas. Well, unless you spend a heck of a lot of time and effort coding, time which could be better spent on other things.

  • @Michael - I'm afraid, but you planning also rather simply relations (direct p2p). Really (REALLY!!!) working complex SocNet have to have ability to construct more complex (mirrored from real-life) relations

    For my projects (which I want to see Elgg-powered, because for now Elgg is best iteration) I must implement (for example)

    Team <- Role in Team <- Member (many2many relations) (Agile commands)

    User -> tag -> /Expert on tag/ User (with relation-defined actions) (Expert Groups)

    which I'll not be able to get with your relationships model, AFAIS

    Maybe we have to build most power system, which everybody will use in only needed for situation part?

  • Hi Alexander. My example with relationships is just one aspect, and the basic question always comes around to having fine control over what users can and cannot do, something which is essential to most social networks (though pretty much ignored by many). In the case of relationships, it's not only the matter of your model, but what practical operations and view grouping can be performed upon the relationships of entities/members. It becomes complex as more people ask for different views of data, and a simple "Here are my Friend Collections" doesn't do much beyond simply allowing a user to say what he/she calls such groups and who's in them from their point of view.

    In other tools, such relationships are not fixed; someone can be a friend and a fan, though one relationship is reciprocal, while the other is one-way. (And they don't have to be manually listed in each Collection, but just tagged as a friend + fan + whatever). Each relationship can then be used to manipulate data in different ways for the same member(s). Roles, as you mention, add to this and allow very complex relationships based upon what the person does, and is permitted to do in the system. (The image examples in my previous post are only one tiny section/aspect of relationship control, by the way).

    Beyond relationships, fine-grained control of user permissions, and wide-ranging options within such control structures, is absolutely essential. As I've said elsewhere, one very simple aspect of this is allowing a new user to only create one single group, with various factors determining if and when they're allowed to create more groups, and how many, for what purpose, etc. These are the kind of things I need to do, and Elgg looked very good in many respects, but the answer to "How do I make it do this?" is very often, "You can write a plugin, or pay someone to write one for you".

    If I seem to be labouring a few points, it's only because I'm still in the site design stage, and have spent a couple of weeks looking at different options for construction, as well as future maintenance and expansion of functionality. It's all helping, I have to say!

  • My example with relationships is just one aspect, and the basic question always comes around to having fine control over what users can and cannot do

    But this questions is more "Roles and Permissions" model than "different types of relations between different entities", I suppose

    essential to most social networks

    In some, I'll say - because most public well-known SocNets prefer "unordered anarchy" model (and it's obviovus - it require less maintenance work)

    a simple "Here are my Friend Collections" doesn't do much beyond simply allowing a user to say what he/she calls such groups and who's in them from their point of view

    Yes, it is only different presentation layers, not processing layers -  and I see it as weakness of basic model, where only one type of user-useful relation currently present: "I can easy read..."

  • Follow-up

    the answer to "How do I make it do this?" is very often, "You can write a plugin, or pay someone to write one for you".

    You miss one more answer "Fork Elgg". I think (sometimes) about this, for this and for slightly different reasons (poor i18n and templater)

  • @Alexander; You make some interesting points, and one phrase in particular has given me reason to pause and think; "unordered anarchy".

    I have been feeling very constrained by what various people giving input require, and in particular, lots of concerns about UK law. We now have a ridiculous amount of unnecessary and trivial laws which usually don't help prevent anything bad happening, but which keep the red-tape crowd in cushy jobs. People - and especially businesses - are afraid to cough or pull the wrong face in case they get sued.

    Today (and it may only be for today!) I'm going to build the thing in Elgg for real, and make it fully functional, ignoring all the "must do" and "should not do" directives just to see what I have in front of me later on. As I don't watch football, it'll give me something to do while everyone's glued to the TV shouting, "Ennnngerrrrlaaaaannnnnd!"

    Regarding forking Elgg: gawd, no! It'd become a nightmare of coding and fixing, which I think is best kept within a group of core developers and a community of programmers and enthusiastic hackers. But as you say, the option is always there. I've noticed that few forked projects continue for very long though, or if they do, they tend to have a small following.

    So... where did I put my modules...

Feedback and Planning

Feedback and Planning

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