-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Frontend Support for Policy Management #76
Comments
@arunanshub Please pick this up as the next item. @insaaniManav Please work with Arunanshu and explain the data model for Policy Group, Policy and Rules that will help him design the UI for the same. @arunanshub Please create the pages with mock data quickly and lets do a review before you do backend integration. |
@arunanshub Following are my initial feedback:
I think we should do the Policy Management first because Policy Management should have similar Wireframe i.e.
But I think we will probably have a separate page for Policy Management because it will be done independent of Policy Group management. |
@abhisek Alright got it. My current plan of action is:
Open questions:
|
Yes. They should be separate page. Policy management is independent operation from policy grouping. In fact policy group depends on "existing" policies in the system. To keep things simple, we must allow users to easily list, edit, create policies. Policies are a bit complex because they have embedded list of Rules. Rule is an entity of its own but is contained within a Policy only. |
@abhisek This is what the initial draft of policy group page listing looks like. I'll move on to view/edit policy group page. Also, what's the relationship between a policy and a rule? |
@abhisek The "View/Edit Policy Group" group looks like this. It's still a WIP so any feedback is appreciated. For now, I'm yet to pass "name" and "description" from parent component to form component. |
@arunanshub Looks in the right direction. Would prefer the full management workflow with mock data to provide meaningful feedback. This means, as a user:
Hope this helps. |
No. 3 can be done in 2 ways:
Since we don't have a breadcrumb set up, I've implemented a back button, but there is one small caveat. If let's say you visit the page For now I'm working on item No. 5. Note I haven't finalized the route names yet. We'll discuss it once the pages are done. |
@abhisek Create new policy group page. |
@abhisek This is the (incomplete) 'create policy' page. I've added all the fields except for rules. currently working on it. Meanwhile do you mind reviewing the UI? |
@arunanshub Not sure about the |
@abhisek The |
@abhisek This is what the rule component looks like. Multiple rules can be added, and it follows the protobuf schema. Do you mind checking it out for yourself? Any feedback would be very helpful 🙏🏻 |
@abhisek Made rule collapsible for ease of access. |
@abhisek Edit policy page with mock data! Feedback would be appreciated 🙏🏻 |
@arunanshub Following are some feedback
To achieve this, we can perhaps make
Under this, add a new Policy button should allow user to select an existing policy to attach to the group. Not create new policy. New policy creation should be done through Here are the routes:
Policy is related to Policy Group only through attach / detach operation (many to many relation). Apart from that, they are independently manageable. |
@abhisek applied your suggestions. This is what the "Attach Policies" dialog looks like. On desktopOn mobile |
As a completion for our policy management feature, we need to add frontend support to:
This is a larger feature because it needs building multiple pages, components (re-used across pages?) and interactivity within the frontend application. The expected user behaviour is as following:
Group Management
Delete
from the Policy Group action dropdown to delete a Policy Group. We should have confirmation before deletion. SeeAPI Keys
List pageView Details
from the Policy Group action dropdown to go to Policy Group details pageNote: It seems like we have dependency on
Policy Management
before we can implement Group Management because we need a List of policies available in the system to be able to attach to the GroupPolicy Management
Policies
page from DashboardCreate / Edit policy
real
entity whilerules
are embedded inside them.Rules
does not exist without Policy. Sorules
are edited within policy component.To keep things simple, we can just allow adding a new rule or deleting a rule during edit policy page. Saving a policy involves calling our backend API to create / update the Policy with all its currently associated rules.
Note: There is a possibility of race condition / inconsistency here because a single policy may be edited by 2 users and will lead to last update win situation. We will solve this probably in future using resource versioning.
The text was updated successfully, but these errors were encountered: