-
Notifications
You must be signed in to change notification settings - Fork 2
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
Rewrite the Central Dashboard in Angular #38
Comments
cc @davidspek |
/priority p3 |
Agree, this is extremely important in terms of maintainability and making it accessible for people to contribute to the central dashboard. KFServing and Katib web apps are also Angular. |
@thesuperzapper could you elaborate more on this? The Central Dashboard is fundamentally different from the CRUD web apps, so there's minimal code that could be leveraged from the common code of the CRUD web apps. I'm very skeptical about even considering to put the effort on such a huge effort, considering the very minimal benefits it would provide. |
@kimwnasptd I am aware that CRUD is not similar, but I believe there will be common stuff which can be shared if all the web apps are written in the same framework. But fundamentally, the main benefits are:
I am aware it's going to be a bit of work to do a rewrite, but this work will only get bigger as we start adding features to Central Dashboard. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. |
Reopening this as a central location for us to track work on rewriting the central dashboard in Angular. There was a good discussion in kubeflow/kubeflow#6332 until it was closed, the main takeaway was that we need a design doc (possibly in the form of a proposal) that outlines the following things:
/reopen |
@thesuperzapper: Reopened this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/lifecycle frozen |
We had a discussion with @kimwnasptd @sanjshres in today's Notebook WG meeting, and this is a summary. Next Steps
Functional Requirements (by page)
|
An update on this. Before talking about how to break down the frontend changes we'll need to discuss how to actually have some Angular code in the first place. Right now the Polymer frontend and NodeJS backend code are tightly coupled inside the As a first step I propose that we create a new centraldashboard-angular/
backend/ # The current NodeJS backend code
frontend/ # The new Angular frontend code
manifests/ # The current manifests
Dockerfile
Makefile
README.md Lastly, a reminder that the scope of this effort is to keep the current backend code as is (for now?) and only focus on rewriting the frontend part in Angular. |
After some discussion we had with @orfeas-k we will do the following next steps, for establishing an Angular codebase that we can start working collaboratively on:
|
/priority P2 @kimwnasptd should these updates be tagged as P1 for v1.7 ? |
@jbottum I don't think this effort will have progressed to the point we could recommend users to try it out for 1.7. So I wouldn't tag this as P1, but definitely P2 |
IFrame URL tracking (change detection)ContextOne of the key functionalities of the CentralDashboard is the communication between itself and the This communication can be broken down into the following parts:
* We consider that values for the sidenav menu in centraldashboard's configmap contain only relative URLs. Implementation detailsPart 1This is easily done by using Part 2After trying many different approaches, we ended up simplifying the implementation by checking the Options that were also considered:
Part 3We use See this PR for more technical implementation details. |
Two questions :
|
@wg102 we are definitely open to more contributions, if you are interested in helping, we should probably discuss a plan so people don't waste their efforts. It looks like @orfeas-k is no longer actively making PRs, so It you want to look at the current state of Please comment here, after investigating the current state (to help us understand how much work is left), or join the next Notebooks WG meeting to show us. |
It's wonderful to see some traction on this! @wg102 welcome! It seems like the rewrite project was pretty far along. Hopefully @orfeas-k can provide a summary of where things were left off. Just for context, I believe the initial goal was to implement a new fronted that has feature parity with the old (current) one. We had a few aspirational goals such as making sure that the sidebar menu is configurable and has drop down/nested items support, or that it's collapsible with a nice icon only / icon+text mode. Not sure how much of that was already done |
@wg102 @thesuperzapper @StefanoFioravanzo Good to see some traction on this as well. I 'll try to allocate some time in the coming days to get up to speed again and summarize the state so this can handed over to someone, since I did not have the time to work on this during the past many months. |
Current stateThings that have been done until now:
Note that there are PRs (linked to this issue) that were not mentioned since they are minor fixes/steps along the way. Multi userAs the PRs mention in KF version PR and Add namespace selector PR, at the time of coding this, my understanding was that no distribution uses multi-user and single-user values anymore from the backend API endpoint What's leftFrom the above description, the things that seem to be left are:
That's my best estimation and reality shouldn't be too far from that. That being said, I think that although the fundamentals have been set. there is still quite some work to be made. ContributingThese are my 2 cents. I 'm really glad to see that this is moving forward and I 'm happy to provide any more guidance to someone that works on it. Regarding:
Since we 're contributing to a new project that is not being used by Kubeflow right now, contributing directly to master would not cause any harm. |
/transfer dashboard |
@thesuperzapper: The label(s) In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
@thesuperzapper Regarding the remainder of the tasks in the last comment I have the following questions:
I was also wondering what the plan would be to test out the completed Angular rewrite in parallel with the Polymer version of the dashboard and how the Angular rewrite would eventually be planned to be rolled out. |
/kind feature
Currently, most of our web apps use Angular (CRUD Jupyter/Volumes/Tensorboards), however the Central Dashboard is written in Polymer.
In the interest of consistency and maintainability, we should rewrite the Central Dashboard in Angular.
cc @kubeflow/wg-notebooks-leads
The text was updated successfully, but these errors were encountered: