Welcome to Geeklog Sunday, October 22 2017 @ 09:57 am EDT


BBushey

Anonymous
curious
Hello everybody, for those of you who don't know me I'm Bill and I am one of the Summer of Code kids. This summer I am looking to add some social networking abilities to Geeklog. I'm hoping to use this thread as a place to discuss various aspects about the social networking project.

Right now I am working on a list of features to aim for and perhaps some use cases. I already have a pretty good list from my SoC application, but I figured I would open up the floor to discussion before I start coding away at features people don't want :doh: . The list right now looks like this:
  • View that allows users to edit their privacy settings for non-friends, friends, and each group.
  • View displaying an aggregated news feed of the activities of a user's friends and groups.
  • View that allows a user to create a group
  • View that allows a group administrator to add/remove users and to manage shared entities for the group.
  • An extended profile view page that displays more information to friends and/or group members and allows friends to message each other.
  • A Social Networking API that allows developers to use the new social networking features
  • Documentation

The application list also includes updating some plugins to use social networking and to implement Google's OpenSocial API, however right now I am just trying to focus on the core needs of the project. Also, since the original application was written with GL 1.3 in mind, now that I am moving to GL 2 I am not sure what plugins are available and ready to be updated.

Also, I am curious about where people feel this code should go. My 'good design practices' side wants to make this a plugin. However, since so much of this project revolves around permissions and authorization, in addition to the fact that many plugins could benefit from these features, I am getting the feeling that some mucking around in the core code may be needed.

Status: offline

beewee

Forum User
Full Member
Registered: 05/08/2003
Posts: 969
Location:The Netherlands, where else?
Perhaps a small hint: one of my former developers made a kind of dealerlist plugin a few years ago, which required adapting the normal profile pages. He made a plugin which overruled the profile pages when activated, but still used the normal user database. This way you could mix the present user data with extra data without changing the core.

Also have a look at Elgg.org, and see how simple you can embed tags in the template to show several things and new plugins/modules over there.

BTW: are you working on a plugin for GL 1 or GL 2 ?
Dutch Geeklog sites about camping/hiking: www.kampeerzaken.nl | www.campersite.nl | www.caravans.nl | www.caravans.net

Status: offline

BBushey

Forum User
Newbie
Registered: 27/05/2008
Posts: 3
Location:Ogdensburg, NY
Humm, so I kind of did this thread backwards.... I started the thread and then got an account Confused . Kind of wish I had done it the normal way.

Thanks for the information beewee, I'll take a look at Elgg.org. Also, the Social Networking stuff is going to be in GL 2.

Status: offline

BBushey

Forum User
Newbie
Registered: 27/05/2008
Posts: 3
Location:Ogdensburg, NY
Ok, so I put together a few use cases. For the most part they cover the the usage of basic features within the Social Networking system, with the last use case being a more involved usage of groups.

#################################################################
Use Case: Creating a Group

Summery: A user goes though the process of creating a group.

Actors: Bob

Preconditions: Bob has logged into the site.

Events:
  1. From his profile view, Bob clicks the Create a Group button.
  2. Bob is taken to the Create a Group view, where is he presented with the following fields and options to fill out:
    • Name of the Group
    • Description of the Group
    • Joining the Group Requires Administrator Permission?

  3. Bob fills out the fields and clicks OK.
  4. A new group is create with Bob as an administrator, using the values Bob entered.


#################################################################
Use Case: Adding a Friend

Summery: A user goes though the process of adding another user to his list of friends.

Actors: Frank, Clarissa

Precondition: All actors are already registered for the site and logged in when needed.

Events:
  1. While viewing Clarissa's profile, Frank clicks the Add as Friend button.
  2. An email is sent to Clarissa asking if Frank may become her friend.
  3. Clarissa accepts Frank's friendship, making them friends of each other.
  4. An email is sent to Frank notifying him that Clarissa is now his friend.


#################################################################
Use Case: Viewing News Feed

Summery: A user views his feed of activities from his friends and groups.

Actors: Samson

Events:
  1. Samson logs in.
  2. Samson navigates to the news feed view.
  3. Samson reads the news feeds, which includes information such as:
    • Samson's friend Adrian joined the group “Rocky Fans”
    • Samson's friend Mark sent Samson a message
    • An administrator of one of Samson's groups, “Rambo Fans” has posted a group wide message about the latest Rambo movie.
    • A member of Samson's group “Rambo Fans” named Henry has left the group.
    • Samson's friend Margret has made a post in a thread entitled “Stallone's Brilliant Directing”



#################################################################
Use Case: Adjusting News Feed Settings

Summery: A user adjusts the settings for her news feed.

Actor: Maureen

Precondition: Maureen has already registered for the site and is logged in.

Events:
  1. Maureen navigates to the News Feed Control view.
  2. Maureen is presented with the following fields (possibly divided into sub-views) that can be edited:
    • Default Friend settings
      • Notify when a friend sends you a message
      • Notify when a friend joins/leaves a group
      • News Feed options from plugins*

    • Default Group settings
      • Notify when a group member sends you a message
      • Notify when a new member joins the group
      • Notify when a group member leaves the group
      • Notify when a group wide message has been sent
      • News Feed options from plugins*

    • News feed settings for specific friends**
    • News feed settings for specific groups**

  3. Maureen makes changes to her news feed settings and clicks the Save button, saving her settings.


* News feed options from plugins would be the options that the plugin has made available to the Social Networking system.

** News feed settings for specific friends/groups would contain the same fields as the default settings for friends/groups with values set for that specific friend/group.

#################################################################
Use Case: Adjusting Privacy Settings

Summery: A user adjusts settings concerning what information is made available to other site users and site groups.

Actors: Lando

Precondition: Lando has already registered for the site and is logged in.

Events:
  1. Lando navigates to the Privacy Control view.
  2. Lando is presented with the following fields which he may edit:
    • Default Friend settings
      • Allow friends to send you messages
      • Notify friends when you join/leaves a group
      • Privacy options from plugins*

    • Default Group settings
      • Allow group members to send you messages
      • Notify group members when you leave the group
      • Privacy options from plugins*

    • Privacy settings for specific friends**
    • Privacy settings for specific groups**

  3. Lando makes changes to his privacy settings and clicks the Save button, saving his settings.


* Privacy options from plugins would be the options that the plugin has made available to the Social Networking system.

** Privacy settings for specific friends/groups would contain the same fields as the default settings for friends/groups with values set for that specific friend/group.

Note: When Lando joins a group, he will also be given the option of notifying group members that he has joined the group.

#################################################################
Use Case Name: High Roller

Summary: A user of a gambling site would like to create a group for high stakes gamblers, and use the group to hold online high stakes poker games as well as have discussions amongst the high rollers.

Actors: Diane, Fred, Mike, Susan, Herb

Preconditions:
All actors are already registered for the site and logged in when needed.
The forum and poker plugins exist.
The site already has forum and poker plugins installed.

Events:
  1. Diane creates a group named “High Rollers” with the intent of only having members who Diane considers to be high stakes gamblers. While creating the group she enables the option that requires her approval before any individual can join the group.
  2. Diane adds a poker room via the poker plugin to the High Rollers group. Only members of High Rollers have access to this poker room.
  3. Diane adds a forum to the High Rollers group so that members of the group may have open discussions. This forum is not accessible by non members and does not appear in any forum lists that are viewable by non group members.
  4. Diane adds Fred and Susan as a members of High Rollers.
  5. An email is sent to Fred and Susan asking if he/she accepts the membership.
  6. Fred does not accept the membership and does not become a member of the High Rollers group.
  7. An email is sent to Diane notifying her that Fred did not accept her invitation.
  8. Susan accepts the membership and is now a member of the High Rollers group.
  9. An email is sent to Diane notifying her that Susan accepted her invitation.
  10. Mike sees the High Rollers group and clicks a button to join the group.
  11. An email is sent to Diane asking for permission for Mike to join the group.
  12. Diane decides to allow Mike to join and clicks the appropriate button, making Mike a member of the High Rollers group.
  13. An email is sent to Mike notifying him that hi is now a member of the group.
  14. Herb sees the High Rollers group and clicks a button to join the group.
  15. An email is sent to Diane asking for permission for Herb to join the group.
  16. Diane decides not to allow Herb to join and clicks the appropriate button.
  17. An email is sent to Herb notifying him that he is not a member of the group.

Status: offline

beewee

Forum User
Full Member
Registered: 05/08/2003
Posts: 969
Location:The Netherlands, where else?
Your cases seem OK to me, stating I'm hardly experienced with social media. IMHO it's quite important that webmaster can choose how the information is presented to the visitor, or all GL sites will still have the ordinary 3 column look for the next 100 years. It would be nice if they can use all their inspiration to make an attarctive site.
Dutch Geeklog sites about camping/hiking: www.kampeerzaken.nl | www.campersite.nl | www.caravans.nl | www.caravans.net

Status: offline

Blaine

Forum User
Full Member
Registered: 16/07/2002
Posts: 1233
Location:Canada
Hi Bill,

This looks good and it's important as you have scoped to first have the friends management capability implemented as all the other sharing and access control features in a social network depend on sharing content with friends.

As you have noted:
- members need to be able to approve the friends invite
- members need to be able to grant access/share content with friends

Members profiles could be extended to allow a member to select what information is shared with public and friends.
Members could add custom fields or plugins add fields to profiles

It would also be a good idea to allow a member to create muiltiple friends lists so they can easily change what they share with work,school and family.

There are a number of active projects underway to allow social networking sites to be able to share/import in friends from other sites. If I have setup my friends on facebook then it would be nice when I sign up on mysite.com to easy reference my facebook friends and share my content with them automatically. Google is trying to establish this as well with their recent Friend Connect - This article links you to Facebooks API and approach as well.
Geeklog components by PortalParts -- www.portalparts.com

Social fan

Anonymous
Please do some CASE STUDIES ( See below ) and NOTE THAT Essentially three things are needed :

============
User Profile
============


A profile page that
- lists friends and their icons ( with 'more' link )
- lists the groups or communities that the user is associated with and their icons ( with 'more' link )
- lists my recent activities or a minifeed
- ability to send comments or scraps on profile page and my ability to reply to those without leaving my page (ajax based) [see orkut] and to see 1:1 comments [ see facebook]
- ability to add as friend or report / block this user
- ability to edit/delete any comment made on my profile or any comment made by me on otheres profile
- abilty to pm

extras - ability to add voice or video comment, ability to show latest photos or youtube in profile page as an option, ability to im

Note : Friendship - one way approval is the norm these days. A asks B. B approves and both are friends, and show up in the profile page


==============
Social Groups
==============

The Group Creator is the Group Admin, can transfer editorship to anyone, can determine whether the Group is private, subscription-after-approval, or instant subscription.

She or he should be able to edit/delete any new post / comment made in a Group

A Groups SHOULD ESSENTIALLY HAVE its miniforum, event calendar and polls, and an album

extras - ability to add jpgs, audio, video to posts in group forums



===============
Privacy Options
===============

Anything I do I should have the ability to set as private | visible to friends only | visible to public
This applies to profile, my album, my blog postings., which activities to be shown as site feed etc
Socialengine.net has done this ideally - you can open an a/c and see this.

Allowing any comment or post to my private folder or share privately with a friend ( see esnip's quick list)



================
Also
================
Please note that for any successful social web
By the way individual BLOGS and ALBUM are a must - Please have a look at Invision blog and perhaps the Geeklog journal plugin may be revived in these lines for blogs




==========================
CASE STUDIES
==========================

Researching the available scripts and actual sites HELP a lot and you understand user expectations and the ways user operate and behave in thse social webs

See drupal.orgs drupal 5x + Friends and OG module - [ free download, installation, testing takes less than five minutes] - drupal.org , a site based on this - http://teamsugar.com/

See joomla's Community Builder and Groupvibe - http://www.groupjive.org/ [ free download, installation, testing takes less than five minutes]

See xoops http://www.xoops.org/modules/repository/singlefile.php?cid=97&lid=1668&com_id=39325&com_rootid=39325&com_mode=flat&com_order=0#comment39325 [ free download, installation, testing takes less than five minutes]

See boonex dolphin [ free downloadd, installation, testing takes less than five minutes] -
http://www.boonex.com/products/dolphin/download/ , site based on this - http://www.boonex.us/

See elgg.org [ free downlaod, installation, testing takes less than five minutes] -

See postnuke - http://www.singleinja.com/post/index.php?name=FriendFinder or phpizabi

VBB and IPB have also excellent social profile, and please also take a look at socialengine - http://community.socialengine.net/iamintoit/

Since you are from google summercamp , googles orkut has actually ideal and practical functionalities in their social web Orkut. Please review it, and any social web needs the ability to add social applications also in near future ( like orkut and opensocial gadgets or facebook and its social apps )

Two things NOT to be missed are
** how orkut handles profile, profile comments or scraps AND Groups
** minifeeds as in http://community.socialengine.net/iamintoit/

Most of the downloads are free and it is worthwhile to spend at least a day in studying those as well as some real sites. mainly Google's orkut in this respect.

The other thing is very fast development and deployment as drupal, joomla, xoops , boonex all are working very rapidly in the social area and if geeklog wants to get some users from them or new users in this arena quick releases are needed.
The feature list does not mean a cluttered software but means admin's ability to turn things on or off as needed as some features may be very essentail to some while not needed by others.

Social Fan

Anonymous
Addendum to above ( others may add here )

- Extended Friends page as noted above
- Ability to use youtube codes anywhere I like
- Userpoints **** - this seems to be necessary in incentive based social webs
- Instant messengers or chat features
- Invite only social web ( if determined by admin )
- Abilty to add tags to any content eg picture, blog, profile and tag cloud - seems another necessary thing thse days
- tagging photos in any photo ( hypermarking sqaure areas of photo with words )
- quick list to see new contents by me | comments I made | comments I got
- good search features , groups only search for groups


No mood

Anonymous
@Blaine : friends Connect has been declined by facebook and rightly so
as it is Google playing dirty monopoly.
If I can do many things ( which I will be otherwise doing by visiting facebook ) by sitting at Google, why should I visit facebook ? The thing boils down to that you visit site A, and do what you would have done at site X, Y , Z by sitting at A ................ ( what about ads that will not be seen by visitors at x, y, z ) ... this is simply not done :wink:

Status: offline

BBushey

Forum User
Newbie
Registered: 27/05/2008
Posts: 3
Location:Ogdensburg, NY
Ok, here is a listing of the various views I am thinking of for this

Your Home
  • Link to View Your Friends
  • Link to View Your Groups
  • Link to Edit Privacy Controls
  • Link to Edit Your Profile
  • Link to View Your Profile
  • Newsfeed


View Your Friends List
  • Link to Create a Friend List
  • Tab for each friends list (Work, School, etc...) showing
    • Lists all friends in a list, with icon to the left of their the name and additional links to the right: Edit Privacy Controls, View Profile, Send Message



View Your Groups
  • Link to Create a Group
  • Link to List of All Groups
  • Listing of all the groups you belong to


Edit Privacy Controls
(Takes a reference to a friend, friend list or group, in which case the controls are for the friend/friend list/group)
(If no reference then edit default controls, with a tab for non-friends, friends, and groups)
  • Have an indication of who's/what's controls are being edited
  • For a friend or friend list
    • Allow to send you messages
    • Notify when you join/leave a group
    • Plugin Privacy Controls

  • For a group
    • Allow members to send you messages
    • Notify when you leave the group
    • Plugin Privacy Controls

  • For Both
    • Have a tab that the user can use to control what is visable in Your Profile



Edit Your Profile
  • Basically the current profile editor with the following additions:
  • Ability to add fields to your profile


Create a Group
  • Name of Group
  • Description of Group
  • Joining requirers Administrator Permission?


View Group
(Takes a reference to a group)
  • Name
  • Descrption
  • Group Picture (if applicable)
  • Place to read/write group wide messages
  • Place for group entities
  • Box with following links
    • If not a member: Link to Join a Group
    • If a group admin: Link to Edit Group



Edit Group
(Takes a reference to a group and a group part)
  • Ability to edit group name, description, picture
  • Ability to add/remove members


Webmaster Admin
  • Can turn on/off
    • Social Networking
    • Friends Lists
    • Groups




ironmax

Anonymous
I'm not really that big of a fan on social networking, however my wife is and some of the things that I've seen is problems where a user that was added by another user and then this new user had changed things on the originals users account page that was not authorized.

I can see that adding a spiderweb of friends on the list but there needs to be a way that each one of these down link users, get the proper auth to be in that group. n There also has to be a way to block them if problems arise, such as a hate monger, malicious user to be banned by the person that let them in the group. When banning, perhaps an email or notice can be sent to the admin informing why this user was banned, maybe a separate link that could be put net to the ban button, like ban/inform admin button.

As for layout. I think that there should be a way to turn on/off each block of content no matter what column its in. Should also be a way to add new blocks from a list of offerings. Would be nice to also be able to place these blocks where ever the user wants them. Theming the blocks independently would also be an option for the site admin. If theming is to be considered by the individual user, maybe a way for them to visually select from a set of predefined color sets.

From what I've seen and heard others asking for the most is being able to customize their theme.

Michael

Status: offline

rastereyes

Forum User
Newbie
Registered: 22/04/2008
Posts: 2
hopeful
Upon finding these posts concerning the focus of the Summer of Code being Social Networking, I became excited. Now, several months later, I am even more pleased to see the feedback from other Geeklog users suggesting necessary functionality for the proposed social features. Great Case Study suggestions as well.
As the owner of a Geeklog-based social web site, I would love to become a beta tester for GL2.0 given the additional functionality. If the release is out of beta, how easy is the upgrade from 1.4.1 ?

Thanks for the assistance,
_rastereyes Smile

Status: offline

Dirk

Site Admin
Admin
Registered: 12/01/2002
Posts: 13073
Location:Stuttgart, Germany
Quote by: rastereyes

As the owner of a Geeklog-based social web site, I would love to become a beta tester for GL2.0 given the additional functionality. If the release is out of beta, how easy is the upgrade from 1.4.1 ?


Geeklog 2 has been renamed to AptitudeCMS. It probably isn't in state where you want to run a site off of it yet. For details, I'd suggest you contact Tony.

bye, Dirk

Status: offline

janebush08

Forum User
Newbie
Registered: 13/01/2009
Posts: 1
Who is tony? how to contact?

Status: offline

Dirk

Site Admin
Admin
Registered: 12/01/2002
Posts: 13073
Location:Stuttgart, Germany
Just follow the link to AptitudeCMS above. The website has a list of contacts.

bye, Dirk

www/www.aptitudecms.org

Anonymous
PropelException: Unable to open PDO connection [wrapped: SQLSTATE[HY000] [2002] Can't connect to local MySQL server through socket '/var/run/mysql/mysql.sock' (2)] in /var/www/www.aptitudecms.org/prod/plugins/kernel/system/pear/propel/Propel.php on line 612
Call Stack
# Time Memory Function Location
1 0.0004 646456 {main}( ) ../index.php:0
2 0.1294 14287152 aptitudecms\plugins\kernel\system\plugin\Plugin->__construct( ) ../index.php:77
3 0.9603 14648648 aptitudecms\plugins\kernel\system\plugin\Plugin->startSession( ) ../Plugin.php:186
4 0.9683 15325872 apteno\dao\Propel->getConnection( ) ../Plugin.php:252
5 0.9683 15325872 Propel::getConnection( ) ../Propel.php:179
6 0.9683 15326456 Propel::initConnection( ) ../Propel.php:526

All times are EDT. The time is now 09:57 am.

  • Normal Topic
  • Sticky Topic
  • Locked Topic
  • New Post
  • Sticky Topic W/ New Post
  • Locked Topic W/ New Post
  •  View Anonymous Posts
  •  Able to post
  •  Filtered HTML Allowed
  •  Censored Content