Closed haricane8133 closed 11 months ago
Added one more place where the change needs to come in. See point (4)
Raised the PR here - https://github.com/Netflix/conductor/pull/3722
This issue is stale, because it has been open for 45 days with no activity. Remove the stale label or comment, or this will be closed in 7 days.
This issue was closed, because it has been stalled for 7 days with no activity.
This issue is fixed now. The PR - https://github.com/Netflix/conductor/pull/3722
Describe the Feature Request
Conductor UI's built static files, are designed to be hosted at the root of any domain
There are many scenarios where this isn't possible, and the app must be hosted in a sub route of a domain
react-scripts
, the tool used to build Conductor UI, accepts a field called "homepage
" in thepackage.json
.Using this,
react-scripts
derives the correct relative paths to be used inindex.html
.But this alone doesn't work as there are three more places where the change must come in
BrowserRouter
from the packagereact-router-dom
routes the links assuming that the app has been hosted at the root of a domain. Clients need to pass a property calledbasename
with the correct sub route.plugins/fetch.js
are made to/api
, again assuming that the app has been hosted at the root of a domain.logo.svg
fromplugins/AppLogo.jsx
, also assumes that the resource is served at the root of the domain.components/NavLink.jsx
, also assumes that the resource is served at the root of the domain.Describe Preferred Solution
Before build, clients must be able to easily customize Conductor UI with the sub route at which they are going to host Conductor UI
The 'homepage' field is used by
react-scripts
anyway. It would be great if Conductor UI can read this one property too, and make required changes in the above mentioned 3 places, so that Conductor UI can truly be hosted and served from any base route, with a simple config change from the client.The default, when 'homepage' field is not given in
package.json
, must be the usual Conductor UI default/
.Describe Alternatives
The alternate for a client consuming Conductor UI is to make all the changes themselves, every time there is an update in Conductor UI repo, that they must take in.
Having this feature merged to Conductor UI would make it extremely easy for clients to configure!