Skip to content
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

Convert forklift-ui pages to console pages #25

Closed
yaacov opened this issue Aug 24, 2022 · 0 comments · Fixed by #33
Closed

Convert forklift-ui pages to console pages #25

yaacov opened this issue Aug 24, 2022 · 0 comments · Fixed by #33
Assignees
Labels
enhancement Categorizes issue or PR as related to a new feature.

Comments

@yaacov
Copy link
Member

yaacov commented Aug 24, 2022

Issue:
Forklift UI pages are designed for stand alone application, some features and optimizations are geared to take full advantage of strengths and weaknesses of this architecture.

Moving forward to using openshift SDK [1] inside the console [2] we need to adjust both visual look, and coding patterns. We should leverage as much as possible the capabilities of the SDK, and align our visual appearance, coding patterns and design goals with the console.

Console design goals [ from console github page [2]]:

The console is a more friendly kubectl in the form of a single page webapp. It also integrates with other services like monitoring...

Unlike the forklift-ui whose goal is to provide easy to use UI, the console main agenda is to stick to what kubectl can do.
For example:
"educate users": a user can go to the web-console, learn how to create the provider secret and resource, and then using this knowledge, continue and create gitOps or other automation.
"easier to use kubectl": users the want to create a migration plan will have a nice form, that will guide them, instead of having to write the YAML.

Visual aspect
The forklift-ui is visually different then the console, although both use patternfly [3] they differ in table design and single resource view/edit pages.

Moving forward to a plugin look, we want to align better with the console look, for example: using single resource pages, instead of the "edit" modal the forklift ui is using.

Coding patterns
forkilift-ui by design integrate it's own "fetch/cache/mutate" client that influence the code design to use context patterns, where we use {wrapper { consumer} }. the console approach is using hooks that influence the design to be a fetch->mutate->render flow, as a plugin in the console ecosystem we should adept to using the hook approach.

[1] https://github.com/openshift/dynamic-plugin-sdk
[2] https://github.com/openshift/console
[3] https://www.patternfly.org/v4/

References:
Console coding examples:
https://github.com/openshift/console/blob/e65c93b383d067f6fa2834880721b83e4bc1c0bd/frontend/public/components/pod.tsx#L967
https://github.com/openshift/console/blob/master/dynamic-demo-plugin/src/components/ListPage.tsx
https://github.com/openshift/console/blob/e65c93b383d067f6fa2834880721b83e4bc1c0bd/frontend/packages/kubevirt-plugin/src/components/cdi-upload-provider/upload-pvc-form/upload-pvc-form.tsx#L82

Console visual examples:
table-colomns
console-table

@yaacov yaacov added the enhancement Categorizes issue or PR as related to a new feature. label Aug 24, 2022
@yaacov yaacov linked a pull request Aug 31, 2022 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Categorizes issue or PR as related to a new feature.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants