Bug 343602 - [identity] add support for retrieving Gravatar information
Summary: [identity] add support for retrieving Gravatar information
Status: RESOLVED FIXED
Alias: None
Product: z_Archived
Classification: Eclipse Foundation
Component: Mylyn (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows 7
: P2 enhancement (vote)
Target Milestone: 3.6   Edit
Assignee: Kevin Sawicki CLA
QA Contact:
URL:
Whiteboard:
Keywords: contributed, plan
Depends on:
Blocks: 345826
  Show dependency tree
 
Reported: 2011-04-21 13:48 EDT by Mik Kersten CLA
Modified: 2011-05-17 01:09 EDT (History)
7 users (show)

See Also:


Attachments
Gravatar model class (2.84 KB, text/plain)
2011-04-22 12:31 EDT, Kevin Sawicki CLA
no flags Details
Utilities and constants (5.36 KB, text/plain)
2011-04-22 12:33 EDT, Kevin Sawicki CLA
no flags Details
Interfaces (5.50 KB, text/plain)
2011-04-22 12:36 EDT, Kevin Sawicki CLA
no flags Details
Interfaces (7.40 KB, text/plain)
2011-04-22 12:46 EDT, Kevin Sawicki CLA
no flags Details
messages and properties (2.20 KB, patch)
2011-04-22 12:48 EDT, Kevin Sawicki CLA
steffen.pingel: iplog+
Details | Diff
Gravatar model class (2.84 KB, patch)
2011-04-22 12:49 EDT, Kevin Sawicki CLA
steffen.pingel: iplog+
Details | Diff
Utilities and constants (5.36 KB, patch)
2011-04-22 12:50 EDT, Kevin Sawicki CLA
steffen.pingel: iplog+
Details | Diff
Interfaces (7.40 KB, patch)
2011-04-22 12:50 EDT, Kevin Sawicki CLA
steffen.pingel: iplog+
Details | Diff
Gravatar store (7.65 KB, patch)
2011-04-22 12:51 EDT, Kevin Sawicki CLA
steffen.pingel: iplog+
Details | Diff
UI patch with image and display callback (8.16 KB, patch)
2011-04-22 15:05 EDT, Kevin Sawicki CLA
no flags Details | Diff
screenshot (12.43 KB, image/png)
2011-05-15 15:44 EDT, Steffen Pingel CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mik Kersten CLA 2011-04-21 13:48:42 EDT

    
Comment 1 Chris Aniszczyk CLA 2011-04-21 15:09:09 EDT
We already have some of this code in the GitHub code base.

https://github.com/eclipse/egit-github/blob/master/org.eclipse.mylyn.github.ui/src/org/eclipse/mylyn/github/ui/internal/AvatarStore.java

See Avatar* related classes. It would be nice to have something in the Mylyn Commons UI code base to do this work.
Comment 2 Kevin Sawicki CLA 2011-04-21 15:44:35 EDT
I created a general purpose Gravatar Eclipse plug-in last month: https://github.com/kevinsawicki/eclipse-avatar

I would be more than happy to contribute it to Eclipse/Mylyn.

It supports gravatar lookup by id or e-mail address and maintains a persistent store of cached images.
Comment 3 Mik Kersten CLA 2011-04-21 18:18:41 EDT
Chirs, Kevin: That sounds great.  Chris' blog post on the GitHub editor reminded me that we had shelved this for too long, and that Gravatar now seems to be enough of a clear winer with open source portals to use their service for identitiy.  We can then make API so that third parties can plug in their own identitiy services, or use an ALM server's identity service.  Fyi, we have some related itentity work happening on the Reviews side, which will also provide API to commons.  

Kevin: So you're willing to contribute this to Mylyn Commons?  If so, Steffen can coordinate with you on the contribution.  

Steffen: Is it still feasible to take contributions for Indigo?  I think this would be nice to have for Indigo and seems quite straightforward to integrate.
Comment 4 Kevin Sawicki CLA 2011-04-21 18:22:22 EDT
Yes, I'm willing to contribute this to Mylyn Commons.
Comment 5 Chris Aniszczyk CLA 2011-04-21 18:25:23 EDT
I would take some time to think about how the UI should be displayed. Should it
be like what is done with the GitHub related tooling? Or should we have a hover
popup when hovering over someone's name via a PopupDialog? There are a few
approaches, not sure which one would be the cleanest yet.
Comment 6 Mik Kersten CLA 2011-04-21 18:49:37 EDT
Chris: We discussed this briefly on today's Mylyn call.  My sense is that what we can do immediately is to place a person's image on the upper-right of the task editor like with GitHub, since we have real-estate available.  I think we should avoid doing the left for now as many connectors use that for priority or other status icons.  Then we can consider where else in the UI we can leverage this.  The tooltips that you suggest are a good candidate, and prevent turning the task editor into a visually-overloaded TweetDeck.  Comments tend to have some free horizontal space on wider displays, so we may actually get away with showing an image on every unfolded comment.  Or we could add a list of images to the Collaborators/CC list, along the lines of Outlook 2010 (http://www.grouppolicy.biz/wp-content/uploads/2010/02/Outlook2010_PeopleView_thumb.jpg) though this may imply creating more API, as that part of the UI is often customized by connectors.  

Kevin: Great to hear that you're willing to contribute.  Steffen should be able to do some of the task editor pieces.  I looked at your implementation and given the conciseness of the implementation, it looks like we can get away without doing a CQ for this if you submit a few 250 line patches and we wire up the pieces after the fact.  If you're interested in ongoing contributions of this sort this would also help move you on the way of commit rights to Mylyn Commons.

So whose image should we show on the upper-right?  In email tools it always seems to be the "from" person.  But on a task/bug/issue, there's a question of whether the assignee is more appropriate than the Reporter.
Comment 7 Kevin Sawicki CLA 2011-04-21 19:14:57 EDT
Should I just post the patches to commons.ui plug-in in a new package?
Comment 8 Mik Kersten CLA 2011-04-21 19:20:42 EDT
Yes, that sounds good.  Steffen may have some additional feedback on how we name the package.  I'm thinking org.eclipse.commons.mylyn.identity as the API package and org.eclipse.mylyn.commons.identity.gravatar as the integration.  We will probably want to use org.eclipse.mylyn.commons.repositories so that we get all the nice UI for storing and managing credentials.
Comment 9 Kevin Sawicki CLA 2011-04-22 12:31:19 EDT
Created attachment 193920 [details]
Gravatar model class

Adding first patch
Comment 10 Kevin Sawicki CLA 2011-04-22 12:33:37 EDT
Created attachment 193921 [details]
Utilities and constants

Adding second patch
Comment 11 Kevin Sawicki CLA 2011-04-22 12:36:42 EDT
Created attachment 193922 [details]
Interfaces

Adding third patch
Comment 12 Kevin Sawicki CLA 2011-04-22 12:46:04 EDT
Created attachment 193923 [details]
Interfaces

Second interfaces patch.
Comment 13 Kevin Sawicki CLA 2011-04-22 12:48:49 EDT
Created attachment 193924 [details]
messages and properties

Adding fourth patch
Comment 14 Kevin Sawicki CLA 2011-04-22 12:49:39 EDT
Created attachment 193925 [details]
Gravatar model class
Comment 15 Kevin Sawicki CLA 2011-04-22 12:50:05 EDT
Created attachment 193926 [details]
Utilities and constants
Comment 16 Kevin Sawicki CLA 2011-04-22 12:50:42 EDT
Created attachment 193927 [details]
Interfaces
Comment 17 Kevin Sawicki CLA 2011-04-22 12:51:55 EDT
Created attachment 193928 [details]
Gravatar store
Comment 18 Kevin Sawicki CLA 2011-04-22 12:53:08 EDT
I have attached 5 patches to be applied in the following order:

* Gravatar model class
* Utilities and constants
* Interfaces
* messages and properties
* Gravatar store
Comment 19 Kevin Sawicki CLA 2011-04-22 15:05:26 EDT
Created attachment 193940 [details]
UI patch with image and display callback

Adding UI patch
Comment 20 Mik Kersten CLA 2011-04-27 03:12:22 EDT
Kevin: Apologies, I just realized that Steffen has started vacation.

Rob: If you can give this a quick review please go ahead, otherwise let's wait until Steffen is back on Monday.
Comment 21 David Green CLA 2011-05-10 13:24:25 EDT
Nice work! Things to consider:
* Connectors may pass back gravatar hashes in their data model, so the API should support retrieving images by the email address and alternatively the Gravatar hash, depending on what's available
* The patches grab the default Gravatar image size, and resize it on the client.  Gravatar supports requesting a specific image size, so we may want to consider passing the image size in when requesting the image data.
Comment 22 Steffen Pingel CLA 2011-05-14 16:35:43 EDT
Great patches, Kevin! I have applied the core portion (o.e.m.commons.identity) to cvs head and created bug 345826 to track the UI integration for the task editor.
Comment 23 Steffen Pingel CLA 2011-05-15 15:44:58 EDT
Created attachment 195674 [details]
screenshot
Comment 24 Mik Kersten CLA 2011-05-17 01:09:18 EDT
Excellent, great stuff guys!