Jump to content

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

From Sugar Labs
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 11: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.