You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
DIRAC communities that need to develop a diracx-web extension will need to create new interfaces to interact with their services.
They will focus their efforts on building new components upon the existing diracx-web ones.
Here I present a potential solution.
I think it would make sense to create an npm package from /src/components and /src/hooks , that would contain all the diracx-web components, layouts and applications.
Running a diracx-web extension would then consists in:
creating a new React/NextJS project
importing the diracx-components package
developing new components
organizing components in the src/app (I don't think that the diracxsrc/app directory can be reused so it has to remain very simple)
We can either create 2 repos:
diracx-web-components: current /src/components and /src/hooks
diracx-web: imports diracx-web-components and implements /src/app
Implement a library diracx-web-components that can be imported in other projects (Feat extensions #179)
Develop an example of extension with a comprehensive documentation (Feat extensions #179)
Provide a CI example (.github/workflows/extension.yaml) building the extension, running e2e tests, deploying (? not sure if it is possible as it needs diracx-web-components to be released on npm). This is needed (i) to safely update the extension, (ii) provide an example of CI (which should be also documented) for the developers of the web extensions.
DIRAC communities that need to develop a
diracx-web
extension will need to create new interfaces to interact with their services.They will focus their efforts on building new components upon the existing
diracx-web
ones.Here I present a potential solution.
I think it would make sense to create an npm package from
/src/components
and/src/hooks
, that would contain all thediracx-web
components, layouts and applications.Running a
diracx-web
extension would then consists in:diracx-components
packagesrc/app
(I don't think that thediracx
src/app
directory can be reused so it has to remain very simple)We can either create 2 repos:
diracx-web-components
: current/src/components
and/src/hooks
diracx-web
: importsdiracx-web-components
and implements/src/app
Or use tools like
Lerna
to manage multiple "projects" from the same repo (I did not investigate much though): https://lerna.js.org/docs/getting-startedAny opinion about the described solution?
Plan:
diracx-web-components
that can be imported in other projects (Feat extensions #179).github/workflows/extension.yaml
) building the extension, running e2e tests, deploying (? not sure if it is possible as it needsdiracx-web-components
to be released on npm). This is needed (i) to safely update the extension, (ii) provide an example of CI (which should be also documented) for the developers of the web extensions.The text was updated successfully, but these errors were encountered: