Hi everyone,
We are trying to deploy on a customer DMA a solution that consists of a low-code app that queries the Object Manager Definition/Instance.
We want to automate the deployment as much as possible.
I'm wondering if it's possible to import the DOM definition without having to use the DOM import option on the DOM editor.
Also, to activate the soft-launch options, we need to restart the agent and IIS restart. Is this also possible to automate within the package logic?
Thank you,
Ana
There is currently no easy-to-use way to export a DOM model and deploy it to another agent in an automated way. There is however something on the horizon that will make this very easy in the future.
This, of course, does not help you now. Currently, there are a few ways on how this could be approached, but as suggested by Tom & Jochen, this will involve some custom code in the installation script of a .dmapp package.
You can either create some custom import logic that will read the DOM data from JSON/files & send them to the server using the DOM helper (that is what the extracted DOM editor code does that Jochen suggested), or you could code the entire DOM model deployment in a script. The latter is the most robust but would require you to write code that instantiates & builds all DOM configuration objects (SectionDefinitions, DomDefinition etc.) in C# and sends them to the DOM manager on the server. Depending on the size of the DOM model that was already built (using the DOM editor I assume), it could require quite some extra work.
In terms of the soft-launch question. It is possible to adjust the soft-launch file from a script since it is just an XML file. But like Michiel already warned, take great care when enabling these. Unfortunately, there is no way around the restart. (may depend on what soft-launch features are enabled, but in general, almost all need the restart.)
I had exactly the same idea: to be able to use the DOM editor to import DOM definitions for an install package.
It's not ideal, but I opened the source code of the DOM Editor and found a class called "DomImporter" which I copied over to my own install package repo (with a few small tweaks). With a companion files repo I make sure a .zip export package of my definitions is present on a fixed location and via the install package I was able to import it perfectly.
Note that this is not ideal because when changes are made to the DOM Editor, you own install repo doesn't receive those changes automatically...
With regards to the soft launch options, as mentioned by Tom and Michiel, be careful. But maybe you could do a check in the install script on the DMA version + required softlaunch options and halt the installation if requirements are not met? (never tried this myself)
Hi Ana. It's possible to include an installation script in the package. The DOM definitions can be imported using that script. With some code the soft-launch options file can also be adapted, but not sure if that's actually recommended. Keep in mind that activating new options requires a system restart for them to take effect.
It’s indeed a workaround that should be used very carefully. Thanks for bringing it to our attention, it was maybe not clear enough from my answer.
In addition to Tom’s answer, I believe you have to be careful here. The documentation defines “Make sure you validate soft-launch features on your staging platform, and do not activate them on your production system unless you have synced with Skyline to make an assessment on the risk.”.
If it is (or would become) the intention to publish the package on the Catalog, I doubt that letting the installation script adapt the soft-launch options file is recommended.
https://docs.dataminer.services/user-guide/Reference/Soft-launch_options/SoftLaunchOptions.html