Date: Fri, 29 Mar 2024 10:56:01 +0000 (UTC) Message-ID: <65965716.11015.1711709761488@911f0a1bad02> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_11014_1219901255.1711709761488" ------=_Part_11014_1219901255.1711709761488 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The developer is based on = Eclipse 4.17 (2020.09) which requires Java 11, we ship wi= th Java 15.0.2
This is the first release that als= o has NGClient2 shipped with it. This is a first beta release of NGClient2 = that is now fully based on Angular 11 (not AngularJS).
This change has effect on all the components (and services) because thes= e needs to be rewritten based on the Angular framework. We ported our= servoy-default, servoy-bootstrapcomponents, most components of servoy-extr= a and some components of bootstrap-extra. This wil be an ongoing thing thro= ughout the this release (until he final) and in other releases done this ye= ar (2021.06 and later)
Currently those Angular packages are backed in, but you do need to insta= ll the NG1 packages that you want to use of those 3 packages. Because the d= esigner and also the script editor (code completion) is still build around = those. The Servoy Component or Service Projects to make components are not = suited yet for making NGClient2/Angular packages. This will be looked at in= a later release (the same goes for porting also the designer over).
Some services like ngutils,dialogs and the keylistener are also ported. = Fontawesome is shipped by default because the core now also uses icons from= that library, this is because NGClient2 is build on Bootstrap 4.6 and Boot= strap 4 removed glyphicons.
Styling/theming can be a bit different in NGClient2 compared to NGClient=
1 because we are now build on top of Bootstrap 4 but also because some comp=
onents are now a bit differently build up in the browser so existing select=
ors could not match on them. Some components are also now quite different b=
ecause of the underlying library change, like the Datepicker. Also the S=
ervoy Theme is still work in progress. (still is for a bit)
With RC2 we added a special Servoy theme for NGClient2,= the best way to start using this for testing NGClient2 but not disrupting = also NGClient1 is to make a copy of your solution stylesheet, if you styles= heet is named "mysolution.less", make a copy and name that copy "mysolution= _ng2.less". If you startup a NGClient2 then when serving out the stylesheet= , Servoy will check if there is a "_ng2" variant of the given solution styl= esheets name. In that "mysolution_ng2.less" stylesheet you can then point t= o another copy: @import 'custom_servoy_theme_properties_ng2.less'; you= can make, and that properties less file then points to the new "2021.3.0_n= g2" Servoy theme file. This way if you start the same solution in NG1 you w= ill just be served out the normal less/css file including our ng1 servoy st= ylesheet through 'custom_servoy_theme_properties.less' and starting in in N= G2 we will serve out another set of stylesheets and a different Servoy them= e file. After this you can then start tweaking the NG2 look in the "_ng2" s= olution stylesheet.
You can switch to test NGClient2 by changing the URL in the browser afte= r you started an NGClient1 /solutions/[solutionname]/index.html = =E2=86=92 /solution/[solutionname]/index.html. So remove the last "s" from = "solutions". You can also change what the client should launch by default i= n the preferences. then you can go back by adding an "s" to "solution".&nbs= p;
The WAR Exporter in the developer and command line also do have an optio= n to export the NGClient2 runtime inside the WAR so you can also test this = in a test or staging server.
Some default stuff are not ported over at all, like the old table and li= stview form views. Its very likely those will never be ported over to NGCli= ent2
We like to have feedback, especially on components or services that are = already ported but are behaving differently or are not looking the same.&nb= sp;
Upgraded for NGClient a few core javascript packages to the latest relea=
ses: (https://support.servoy.com/browse/SVY-15881=
)
1> Angular to 1.8.2
2> JQuery to 3.5.1
3> Angular trans=
late to 2.18.4
and the html area (default and servoy extra package) upgraded TinyMCE to= 5.7.0
Added support for the Content Security Policy header 'frame-ancestors' (=
https://support.servoy.com/browse/SVY-15870)
T=
he default value is 'self' so it only allows embedding of NGClient on the s=
ame host. This can be changed on the admin page.
This property could onl=
y be set by using headers (not <meta> tags in the html page itself)So we moved all CSP headers to use header tags instead of a meta tag.
Streaming files api on the File Plugin (https://su=
pport.servoy.com/browse/SVY-15658)
plugins.file.streamFile(...) is a=
dded so no need anymore to read files fully in to memory.
It can stream =
any file on disk that you want, you only need to explicitly say that in ser=
voy code (give a file path)
SQL Case When support in the query builder. (https:= //support.servoy.com/browse/SVY-3358)
SQL keywords are now more relaxed, stuff that needed to be quoted are no=
w defined per database (https://support.servoy.com/br=
owse/SVY-15676)
But your are still allowed to use them. Only keyword=
s that are also illegal to use in scripting (like "function") are still not=
allowed.
Besides this if a specific database needs some other names to =
be quoted you can provide your own now through a servoy property:
server=
.1.quoteList=3Dname1,name2,name3
We changed the way what you can test against WebComponents a bit in jsun=
it tests (https://support.servoy.com/browse/SVY-15816=
)
this only really applies to the solution model part, for testing a=
ctual ui components a E2E test is needed (a browser)
This could have a s=
ide effect that the jsunit test runner now expects to have sablo and ngclie=
nt jars it its classpath.
We adjusted the software factory build script:=
https://github.com/Servoy/software_factory_build_scripts/commit/90=
853bd0e2b77f367366bb0881cfbc9e1f5d475c
So it could be that if you ha=
ve your own or copied it from there you need to change this also on your en=
d.