Thanks for the clarification Sneha! I think it makes more sense to me now.

Thanks and Regards,
Gourav Shenoy

From: Sneha Tilak <[email protected]>
Reply-To: "[email protected]" <[email protected]>
Date: Thursday, July 27, 2017 at 12:21 PM
To: "[email protected]" <[email protected]>
Subject: Re: Apache Airavata's Sharing Service

Gourav,

Thank you! To answer you questions,

1. If I'm not wrong, the idea was to keep this service separate of the PGA. 
Also, as a long term goal, we want to shift things to Django. As for your 
question, the sharing service is a part of Airavata's backend. When it comes to 
group management, the PGA will have to redirect to the sharing UI.
2. Yes, there will be a separate SDK service. The sharing service has it's own 
data models (it can be found under the sharing registry model). We would just 
have to modify the existing thrift file to generate the sharing service stubs 
as well to generate the SDKs. And as for the replication, I spoke to Supun and 
he told me that you've already implemented the functionality to sync the user 
information between the two databases using message publishing. With this 
service, the group information will be stored only in the sharing registry. The 
sharing registry will get updated with a subset of the user information from 
the main registry. This is already implemented. Since the group information 
needs to be present only in the sharing registry, there is no need for 
replication.

Supun/Marcus, please correct me if I'm wrong.

Thanks,
Sneha Tilak

On Thu, Jul 27, 2017 at 11:37 AM, Shenoy, Gourav Ganesh 
<[email protected]<mailto:[email protected]>> wrote:
Hi Sneha,

Thanks for the elaborate email detailing the requirements. I had 2 
questions/need clarifications:


1.       You mentioned building a new Django UI for accessing the sharing 
service – how will this be integrated with the existing Laravel based PGA 
portal? Will this sharing service portal be redirected to from the PGA portal? 
Please correct me if I’m getting something wrong here.

2.       Have we decided to create a separate SDK service (similar to 
profile-service) for sharing? If yes, then how do you plan to go ahead with the 
Thrift data models – use existing or create new? Also, if I followed the 
discussion correctly, we plan on using the sharing-registry directly via the 
service and not create local database (which would need event based 
replication) right?

Once again, great work and excellent progress!

Thanks and Regards,
Gourav Shenoy

From: Sneha Tilak <[email protected]<mailto:[email protected]>>
Reply-To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Date: Wednesday, July 26, 2017 at 4:44 PM
To: "[email protected]<mailto:[email protected]>" 
<[email protected]<mailto:[email protected]>>
Subject: Re: Apache Airavata's Sharing Service

Hi dev,

After meeting with Marcus and Supun, the following was decided:

1. A new UI (Django) with Python controllers to the backend.
2. Refer to Grouper APIs and UI for reference (but improvise on the UI as 
Grouper is very boring).
3. Implement group management with basic functionalities such as add, view, 
modify, etc.
4. Consider only flat groups for now (we can move on to nested groups 
eventually).
5. The UI will directly call the sharing registry service of Airavata.
6. Once the functionality is implemented, we can move on to authorization and 
other security aspects.

There are two use cases to be considered:

1. User, once logged in, can view the groups they are the owner of (with view 
and edit options) and the groups they are a member of (with view and leave 
group options) and they can also create a group after which they can add users 
to the group (similar to the sharing feature for experiments in PGA).
2. Admin, once logged in, can perform similar operations (like the User) and 
also some additional operations like creating an interface, etc.

I have decided to start with Django and understand the UI implementation for 
Internet2 Grouper.

Let me know if anyone has any concerns or suggestions regarding the above.

Regards,
Sneha Tilak

Regards,
Sneha Tilak

On Thu, Jul 20, 2017 at 1:34 PM, Sneha Tilak 
<[email protected]<mailto:[email protected]>> wrote:
Hi dev,

A new feature that we are working on with the future release of Airavata is its 
sharing service - the ability of a user to create groups within the gateway in 
order to share their experiments and projects. This is the work proposed in 
Supun's paper that was presented at the PEARC17 conference earlier this month. 
The current status is that the back-end work for managing groups within 
gateways is done. We need to introduce an interface for users and admins to 
create and manage the groups through the Airavata PGA.

We need to start by including management of user level groups and then 
eventually move on to domain level groups. The methods would basically include 
- create group, update group, check if group exists, get group by group ID with 
inclusion of more methods which retrieve user groups based o some search 
criteria. The combination of group ID and domain ID while group creation acts 
as primary key.

Let us know if anyone has any specific concerns or suggestions for the sharing 
service.

Regards,
Sneha Tilak


Reply via email to