+1
On Sun, Dec 6, 2020 at 10:00 AM Nicolas ADMENT <[email protected]> wrote: > Hello, > > +1 > > I think this is the best time to make this change and simplify APIs. > > Regards, > > > Le mar. 24 nov. 2020 à 09:59, Matt Casters <[email protected] > .invalid> > a écrit : > > > Dear friends, > > > > I've come across an architectural thing I don't like in the Hop codebase. > > Yes, I know, one more of those... > > > > Conceptually the thing I've always chased after was the separation of the > > metadata (model), the way we interact with it (viewer) and the execution > > engines that work with the metadata (controller). On the whole this > works > > fine and we achieve that goal. > > Where things become a bit murky is when we apply variables and parameter > > values to metadata. > > It's a very convenient thing to do since you can just ask a piece of > > metadata to resolve a variable expression and change for example > > "${HOSTNAME}" into something like "localhost". > > However, it forces anyone using the Hop API to create cloned copies of > all > > the metadata because it now has a state and it's no longer safe to > > re-use by other code pieces. > > > > I realize that a change like this is pretty big but I do think it would > > make the code and the API cleaner with an easier time fixing bugs and > > adding features as a bonus. > > The changes required are pretty much passing in IVariables in a lot of > > places. Some instability and a lot of testing would be required. > > > > On the one hand I feel like it's longer term goal and on the other hand I > > think now's the right time to do it. > > > > Let me know what you think! > > > > Cheers, > > Matt > > -- > > Neo4j Chief Solutions Architect > > *✉ *[email protected] > > ☎ +32486972937 > > >
