Officially support react development in plugins, what are the missing parts?
Client-side routing with plugins support
owner: @amirfefer
status: review process, close to being merged.
PRs:
- https://github.com/theforeman/foreman/pull/6936
- https://github.com/theforeman/foreman/pull/6882
- https://github.com/theforeman/foreman/pull/7186
- https://github.com/theforeman/foreman/pull/7158
Redux middlewares to communicate with the API
owner: @Ron_Lavi and @MariaAga
status: Work in progress
PRs:
- https://github.com/theforeman/foreman/pull/6739
- https://github.com/theforeman/foreman/pull/7157
- https://github.com/theforeman/foreman/pull/7121
Forms Infrastructure
owner: @Ondrej_Prazak
status: review process, close to being merged.
PRs:
Modals Infrastructure
owner: @jeremylenz
status: work in progress
PRs:
@theforeman/env - Development environment for foreman core and plugins.
owner: @amirfefer
status: Work in progress
Github: https://github.com/theforeman/foreman-js/tree/master/packages/env
PRs:
@theforeman/builder - Build production and development bundle files for foreman core and plugins.
owner: @sharvit
status: Work in progress
Github: https://github.com/theforeman/foreman-js/tree/master/packages/builder
PRs:
Milestone reached, react development should officially supported by now
Estimated to the middle of January
What’s next? (just my idea, nothing official)
- Add bulk action support to
Table
component, see UX improvement - bulk delete things, maybe general bulk actions - Add usage example for a Table/Index page in React
- Add usage example for an Edit/Create page in React
- Update the “how to create a plugin?” documents
- Come up with good tutorials about react development in plugins
- Add async import support to the vendor project
- Move the assets pipeline stack to webpack (css and js)
- Replace UI ruby gems with React implementations, see Legacy JS - things we might want to remove/replace at some point
- The ToastNotifications uses wrong practices, need to redesign and stop using jquery there
- Move organizations handling from katello to foreman
- Deprecate or update
jquery
- Switch from
npm
toyarn
- Replace the loading indicators with an approach similar to
react-loadable
- Introduce client support for `websockets’
Want to contribute?
If you would like to contribute to the effort or just want to work on UI/JS feel free to reach out and we can set it up together.
Also, feel free to disagree or add your suggestions, any feedback would be appreciated.
Thanks!