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
