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

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 ==