Hi Dinuka, Thank you for your email. In regards to your questions:
1) Why are we developing a separate application for the admin features. I think we could append these admin features also to the same code base [1]. As per my understanding, it'll be just about adding some javascript code to enable these features. More than that, it's a way to reuse all the other common components (Login, sign up, home etc.) So, the reason the Admin portal is a separate application because it was decided lately. But, now we are planning on merging it. 2) Is there a reason for using the Django service layer between the client and the custom apis? Just curious to know. The reason we are using Django as a service layer because we have a hybrid codebase. Again, we are planning on improving the architecture overall. 3) Should the tenant creation be allowed for both admin and normal users? I can see there's a tenant approval process allowed only for admin users. I wonder if there is a reason for having an approval process? Yes, we have tenant creation process for both the admin and the normal users. After creating the parent tenant, custos admin needs to check the redirect URI to check if the request is made from the actual client. Also, we can create child tenants that does not require Custos Admin approval. Please let us know if you have any other questions. Sincerely, Bhakti Narvekar From: Dinuka Desilva<mailto:[email protected]> Sent: Sunday, October 18, 2020 9:54 AM To: Narvekar, Bhakti Sunil<mailto:[email protected]> Cc: Airavata Dev<mailto:[email protected]>; Ranawaka, Isuru Janith<mailto:[email protected]> Subject: [External] Overall architecture and deployment of Custos Admin Portal This message was sent from a non-IU address. Please exercise caution when clicking links or opening attachments from external sources. Hi Bhakti, I have few questions here. Correct me if I am wrong please. 1) Why are we developing a separate application for the admin features. I think we could append these admin features also to the same code base [1]. As per my understanding, it'll be just about adding some javascript code to enable these features. More than that, it's a way to reuse all the other common components (Login, sign up, home etc.) 2) Is there a reason for using the Django service layer between the client and the custom apis? Just curious to know. 3) Should the tenant creation be allowed for both admin and normal users? I can see there's a tenant approval process allowed only for admin users. I wonder if there is a reason for having an approval process? Regards, Dinuka [1] https://github.com/apache/airavata-custos-portal On Sat, Oct 17, 2020 at 9:07 PM Isuru Ranawaka <[email protected]<mailto:[email protected]>> wrote: ---------- Forwarded message --------- From: Narvekar, Bhakti Sunil <[email protected]<mailto:[email protected]>> Date: Fri, Oct 16, 2020 at 9:29 PM Subject: Overall architecture and deployment of Custos Admin Portal To: [email protected]<mailto:[email protected]> <[email protected]<mailto:[email protected]>> Cc: Ranawaka, Isuru Janith <[email protected]<mailto:[email protected]>>, Isuru Ranawaka <[email protected]<mailto:[email protected]>> Hello Everyone, We are planning to integrate Custos Portal with Custos Admin portal. I would like to share the overall architecture for Custos Admin Portal and the architecture for Custos Portal will be explained by Isuru. Overall Archirecture: The Custos Admin portal is implemented using Django and Vue.js. Below is the working for Custos Admin Portal: 1. A user/admin can register/login into the system. 2. If a user logs in, he can perform the below specified actions: * Request new tenant - The user enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client. * List all tenants - The user can view all the tenants that he has created so far. If he clicks on the clickable link, he can view all the details for a tenant. 3. If an admin logs in, he can perform the below specified actions: * Request new tenant - The admin enters details like client name, email, redirect URL, etc to create a new tenant. Once a tenant is created successfully, Custos ID and Custos Secret are displayed for the client. * List all tenants - The admin can view all the tenants that he has created so far. On clicking the clickable link, admin can perform the three functions - edit, approve or decline. [cid:17537355117d497bc331] Deployment: The portal is deployed on centos using Apache and mod_wsgi. The link to view the admin portal is -> https://dev.portal.custos.scigap.org/ Sincerely, Bhakti Narvekar -- Research Software Engineer Indiana University, IN
