As an initial POC, we will be using the existing profile endpoint in Drupal to build up the base of the user object to be returned. We should map all fields except the ECA, which we will be calculating ourselves. We will need to have a set of credentials internally so that we can send a bearer token to get the email as well, which won't be available otherwise.
For an initial POC, we will want to remove the email entirely, as the mechanism to validate if the user can request it does not yet exist. That will be taken care of once 0.7.x releases in the coming weeks.
Designs
Child items
...
Show closed items
Linked items
0
Link issues together to show that they're related or that one is blocking others.
Learn more.
For added clarity, we are looking to replicate https://api.eclipse.org/account/profile/malowe in Quarkus. In the beginning, we will be requesting data from that API and serving it through this new API as a base. Upgrades to change the datasource will be made once the new API from drupal is available.
The new profile endpoint on accounts.eclipse.org will only return data that we track in that website. The goal of this new Quarkus API will be to aggregate user data from different data sources such as accounts.eclipse.org, foundationdb, ldap,eclipsedb...
Data you can expect from the new accounts.eclipse.org profile endpoint
{ "uid": 9, "name": "cguindon", "first_name": "Christopher", "last_name": "Guindon", "twitter_handle": "chrisguindon", "org": "Eclipse Foundation", "job_title": "Lead Web Application Developper", "website": "http://www.chrisguindon.com/", "country": { "code": "CA", "name": "Canada" }, "bio": "Hello world! When I am not at a computer, which is rare, I spend my time playing the drums, watching hockey or at the top of a hill snowboarding. I am also very passionate about music and live concerts!", "interests": [ "Snowboarding", "webdev", "php", "javascript", "Drums" ]}
Data that we need to fetch from different data sources
{ "mail": null, // LDAP "eca": { "signed": true // FOUNDATION DB }, "is_committer": true, //FOUNDATION DB "friends": { "friend_id": 6104 // Eclipse database },}
Since the new API does not exist, you can use the existing endpoint to fetch data that you can expect from the new API. The idea is that you will simply need to update the URL from api.eclipse.org/account/profile to accounts.eclipse.org/account/profile once it's ready.
Not in the scope for this POC.
forums post
I will try to deprecate this functionality in Q1
Project Relationship
The data here should be available in the foundation DB
Gerrit review count
This requires fetching data from Gerrit API
Mailing list subscriptions
I believe this data is available in the eclipse database. However, we might want to use the new mailing list API for this.
We will be keeping the endpoint the same. Way too many services integrate with this and it would be a nightmare to update. In the future, we may move this but for now, at least we will maintain the status quo.