Under the hood - are dll shared by outsystems platform extensions?

Under the hood - are dll shared by outsystems platform extensions?

  
When one or more extensions use the same class library dll (same version), will outsystems detect (hash finger print of the dll or by some other method) and say ok this new extension is using the same dll that already exist on outsystems platform - lets reference the single dll file, instead of duplicating the same dll over and over again for each and every dll/same version?

Hi Robert,

Depends on the platform version you're using but if your're above 7.0.1 than yes it will.
The platform places the dlls/jars on a repository folder and creates symbolic links to them in the bin folder of your applications.

Cheers,
Guilherme
Guilherme Pereira wrote:
Hi Robert,

Depends on the platform version you're using but if your're above 7.0.1 than yes it will.
The platform places the dlls/jars on a repository folder and creates symbolic links to them in the bin folder of your applications.

Cheers,
Guilherme
 Guilherme,

Does this mean when there are more than one extension that reference the same dll file, lets say, Newtonsoft.Json v6.0.8 (.NET framework 4.5), will outsysems have only 1 copy of Newtonsoft.Json.dll in its repository or will there be multiple copies of Newtonsoft.Json.dll (of the same version)?

Now, What happens when there are more one extension using the same class library dll but of different versions? (You might have some extensions with out dated reference to older dll, and some using newer dll)
Hi Robert,

To answer your question (and make sure I tell the truth) I did a quick test exactly with that dll with two apps and an extension which includes it :)

     


I only used one version and only have one copy on the repository folder with symbolic links on each app.

About different versions I'm not exactly sure what the behavior would be but I recommend you do a quick test and share your finding with us.

Cheers,
Guilherme


To answer the second part of the question: a random one wins. So it is not deterministic if the same file exists in more than one extension.

Also if you use the platform REST features (that also uses that json dll) the platform version of the dll always wins.

Regards,
João Rosado