SoC socialnetworking

From GeeklogWiki
Jump to: navigation, search

This idea page for the Google Summer of Code has been superseded by a new project idea: Social Networking Support (SocNet). This project outline is therefore only of historical interest and you can not apply for this project in future instances of the Google Summer of Code. Please see our ideas page for a current list of GSoC project ideas.


Incentive

Geeklog does not have any current core features for individual members to develop their own trusted friends list so they for which they can share content with.

Goals

Geeklog has the idea or Groups which the site Admin can setup but users can not define their own groups or list of friends. Users would need to accept the invitation to join another members group but once joined they could view each others private content as determined by the content owner.

Sites like Facebook do this well and can be a model for what is needed. Users should be able to define multiple access control profiles so not all friends have to be give the same access to a users content.

  • Develop Trusted Members interface and control/access to trusted content
  • Add new GL API support for plugins to use new features
  • Extend Member profile page to have "Add to Friends" link if not a friend

Use Cases

  • Users features or blocks can be added so that I can easily monitor new updates to the site by my friends or watch list.
  • A user could create a private MediaGallery Album and then setup access to their friends list.
  • The forum could allow users to post new topics that are only seen by the author and their friends and only their friends can reply to.

Optional Ideas

  • Support for XFN (XHTML Friends Network)
  • Support for APML (Attention Profile Markup Language)

OpenSocial

This project could lay the groundworks for adding support for OpenSocial in the future. The problem with OpenSocial is that the requirements are very complex and that the current reference implementation is only available under the Apache License, which is not compatible with the GPLv2 used by Geeklog.

Level of Difficulty

medium

This project will require someone to spend time understanding how Geeklog maintains permissions and its permission related functions. This could be implemented as a plugin but I suspect changes to the core SEC_ functions may be needed to extend the new permission checks.

As noted, new APIs need to be created so other plugins can use the new features so this is not likely a plugin by itself but extensions to the core code.

UI changes will be needed to integrate these new features so a user can manage their friends list and different access profiles.