SoC socialnetworking

From GeeklogWiki
Revision as of 14:46, 5 February 2009 by Dirk (talk | contribs) (Typos and such)

Jump to: navigation, search
(Return to the main idea page for the Google Summer of Code)

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

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.