no i really think you see it wrong
depedencies are as all depedencies the root gets depedencies of its children
the children never should see the parent…
thats how it works everywhere for example in a java dependency file (mvn pom.xml file) that “root” (the solution) says i depend on module “a” and “b”
then “a” and be has no idea that the root uses “a” the root can only use “a” but not “a” can never see or use “root”
What you seem to describe is completely something else that solution (which is special module) and modules are, those are just encapsulation of code.
I already told you that components are a bit special, and that is kind of a bad design, thats not the proper way todo it, but components are kind of outside of the solution/module structure, they kind of belong the the complete environment where you deploy on.
(and as i said we had that before, components where in the “resource” project, which is purely looking at how it should be way more correct, but this had drawbacks for a lot of deployments (like modules that can be installed in a lot of different solutons))
to have another sample, we have a svyUtils module that we ship, and you can install that and use that then in your root solution (or any module that also installs that svyUtils as a depedency)
How can that svyUtils know already the root?? it has many many roots, any solution of any customer that installs that module into its solution (the root)
So to re-iterate, the idea in Servoy is that all of the modules point towards the Solution so the Solution can see everything correct?
no a solution point to a module (has that as a refences) so that the solution can use the module
this is by the say not always “solution” → “module” but can also be “module A” has “module B” as a dependency and because of that A can use stuff from B (but B doesn’t see A its just used by A)
So if you don’t really do anything in Solution (what you see as the root) and do everything in Modules then that is fine, but Modules should just has other modules as depedencies so they can be used
You kind of seem to see as the root Solution as something that binds it all together… That is not true, what binds it all together is the resouces project (what is your server in the deployment)
there you can have multiply solutions that you run that all are using a lot of (shared) modules.
But the server environment of all those solutions is the same for all the solutions, and in that environment that is for example the database servers, but also all the component, plugins and services
But the root solution is just like any other module, its the same thing.
There is no difference between a module of a solution or the solution itself.