Difference between revisions of "Summer of Code/2013/Social Sugar project"

From Sugar Labs
Jump to navigation Jump to search
(→‎TODO: add meta-data to buddies done!)
(→‎Work done: Week ending Jun 28th)
Line 9: Line 9:
 
* read about GObject, gconf and some PyGTK.
 
* read about GObject, gconf and some PyGTK.
 
* am able to read social_ids from BuddyModel, access them in Group/Network views, send data through telepathy.
 
* am able to read social_ids from BuddyModel, access them in Group/Network views, send data through telepathy.
 +
 +
Week ending Jun 28th
 +
* Social ids are taken from webservices' Account models.
 +
* Working on User Interface for mini profiles. See notes from [[#Mini Profiles|Mini profiles UI discussion]].
  
 
=== Adding social ids ===
 
=== Adding social ids ===
Line 16: Line 20:
  
 
To create mini profiles in group view, we can add a social_ids dictionary to BaseBuddy model in addition to other properties like nick and color. social_ids is a mapping of `service key` : `uid`.
 
To create mini profiles in group view, we can add a social_ids dictionary to BaseBuddy model in addition to other properties like nick and color. social_ids is a mapping of `service key` : `uid`.
E.g. <code>{'/desktop/sugar/user/social/project_sharing_website': '19348r93jfioaf', '/desktop/sugar/user/social/another_service': 'adfjafp1asdf'}</code>
+
E.g. <code>{'project_sharing_website': '19348r93jfioaf', 'another_service': 'adfjafp1asdf'}</code>
  
social_ids can be stored in gconf. As multiple social_ids are added, we will have a gconf file that looks like this:
+
These social_ids will be obtained when a user adds his account to webservices module.
<code language="xml">
 
  <gconf>
 
    <entry name="project_sharing_website" mtime="1370907925" type="string">
 
        <stringvalue>19348r93jfioaf</stringvalue>
 
    </entry>
 
    <entry name="another_service" mtime="1370907925" type="string">
 
        <stringvalue>adfjafp1asdf</stringvalue>
 
    </entry>
 
  </gconf>
 
</code>
 
  
These social_ids will be obtained when a user adds his account to webservices module.
+
=== Mini Profiles ===
 +
* Small cloud icon around buddy with same colors (if social_ids is not None)
 +
* Expanded view (mini profile)
 +
** The small cloud icon expands into a thought cloud.
 +
** Displays one item from each webservice at a time, rotating.
 +
* Each service should support a GET info by public user ID.
 +
* Service plugin will implement service call and widget content.
  
 
== TODO ==
 
== TODO ==

Revision as of 12:43, 28 June 2013

This page tracks the progress of Akshit Khurana's GSoC project: "Social Sugar". More details about the project can be found on proposal page.

Work done

  • checked out previous work done: on webservices, journalx and sugar-network.
  • added social_ids to BuddyModel, still working on integration to access them in group view.
  • reading about GObject and Python GTK

Week ending Friday Jun 21st

  • read about GObject, gconf and some PyGTK.
  • am able to read social_ids from BuddyModel, access them in Group/Network views, send data through telepathy.

Week ending Jun 28th

  • Social ids are taken from webservices' Account models.
  • Working on User Interface for mini profiles. See notes from Mini profiles UI discussion.

Adding social ids

What are social ids?

Social IDs identify a user on external platforms uniquely.

To create mini profiles in group view, we can add a social_ids dictionary to BaseBuddy model in addition to other properties like nick and color. social_ids is a mapping of `service key` : `uid`. E.g. {'project_sharing_website': '19348r93jfioaf', 'another_service': 'adfjafp1asdf'}

These social_ids will be obtained when a user adds his account to webservices module.

Mini Profiles

  • Small cloud icon around buddy with same colors (if social_ids is not None)
  • Expanded view (mini profile)
    • The small cloud icon expands into a thought cloud.
    • Displays one item from each webservice at a time, rotating.
  • Each service should support a GET info by public user ID.
  • Service plugin will implement service call and widget content.

TODO

  • see how comments work and think which new methods we should need to get our "interactions" information

Code

socialsugar branch on my sugar fork on github.