We are pleased to announce the availability of Servoy 2023.3.3_LTS (release number 3845)
See 2023.3.3_lts_fixes for the list of fixes for this release since 2023.3.2 (where this release is build on top of)
This version is available through the download site
or through the update site URL: http://download.servoy.com/developer/lts
If you want to use the LTS release enable the above LTS update site and disable the ‘latest’ update site so you only update to LTS updates.
Thanks to the Servoy team for the Servoy Developer 2023.3.3_LTS version. One thing I noticed: In the problems tab it reports "Project ‘xy’ has no explicit encoding set. And there are 2 warnings for function createFolder in svyDataUtils.js, and function Logger in svyLogManager.js.
huber:
Thanks to the Servoy team for the Servoy Developer 2023.3.3_LTS version. One thing I noticed: In the problems tab it reports "Project ‘xy’ has no explicit encoding set.
that is an eclipse warning (not directly servoy)
but you can quick fix that (but i think then you get a bit os specific (like windows encoding))
i think its better to just set that encoding to UTF-8
Thanks for the tip, unfortunately it does not solve the warnings. By default both radio buttons were set to “Inherited from container (UTF-8)” and “Inherited from container (UNIX)”.
Setting the radio buttons explicitly to other: UTF-8, and other: UNIX did not make any difference, as it already inherited these settings from the container.
To be sure I understand the change from bootstrap theme to alpine theme for ng-grids (AG Grids) that means for an ng-grid component the styleClass has now for example to be set to “ag-theme-alpine” and both the NG1 style file selector as well as the NG2 style file selector have to be changed to ag-theme-alpine?
In the styleClass property, I have sometimes combinations of two styles, like “ag-theme-bootstrap bottomBorder” which work for NG1, but not for NG2. Is this not supported anymore with alpine?
And last question, what means in the 2023.03 (LTS) docs under UI/CSS changes:
AGGrid (nggrid) dropped the theme (bootstrap) completely and is now fully on alpine (Possible breaking for your NGGrid styling) So we adjusted our stuff to also be on that including our theme, so make sure you update to the 2023.03 theme if you use the Servoy theming.
for ng1 we stopped upgrading the aggrid library at v21.2.2 (released on 27 feb 2019), so there
nothing changed related to themes, it is still uses ‘ag-theme-bootstrap’;
for TiNG we are trying to keep-up with the latest aggrid library, lts using v29.2.0 (released on 21 mar 2023),
but as recently aggrid dropped completely ‘ag-theme-bootstrap’, we also needed to change the theme, so we switched
to ‘ag-theme-alpine’ but this is ONLY in TiNG;
now for your questions:
for TiNG you must use ‘ag-theme-alpine’ for style, there is no more ‘ag-theme-bootstrap’ in lastest aggrid libs;
for NG1 you don’t need to do any changes, ‘ag-theme-bootstrap’ should work fine, for convenience, if ‘ag-theme-alpine’ is
set as style, we just map that to ‘ag-theme-bootstrap’ at runtime, so you don’t need to constantly change the styles,
if you’re running both NG1 & TiNG;
‘ag-theme-bootstrap bottomBorder’ in NG1 should be replaced with ‘ag-theme-alpine bottomBorder’ for TiNG - this should work fine,
if not, fill in a case, so we can investigate;
it means that, in TiNG, if you have in the solution stylesheet changes that are targeting the grids, that were created when the TiNG
grids still used ‘ag-theme-bootstrap’, those may not work, and may need to be adapated to the new default ‘ag-theme-alpine’
It could be fixed by using Quick Fix in the problems tab and seems to be a persistent fix.
jcompagner:
huber:
Thanks to the Servoy team for the Servoy Developer 2023.3.3_LTS version. One thing I noticed: In the problems tab it reports "Project ‘xy’ has no explicit encoding set.
that is an eclipse warning (not directly servoy)
but you can quick fix that (but i think then you get a bit os specific (like windows encoding))
i think its better to just set that encoding to UTF-8
Thanks a lot for your explanations, which help vey much, especially to know that you translate the ag-theme-alpine back to ag-theme-bootstrap for the NG1 client.
The translation doesn’t (seem to) work for a combination of two styles. For example, setting the styleClass property of a Data Grid (Servoy NG-Grids) to:
ag-theme-alpine bottomBorder
and having the following 2 style sheet selectors in the NG1 style sheet:
nullifies the .ag-theme-bootstrap, i.e. ignores the font-weight: bold (and of course any other settings in this selector).
Interestingly, setting the styleClass property to: ag-theme-bootstrap ag-theme-alpine bottomBorder, makes the font-weight reappear. But this of course is not a solution.
As an information, I get following 2 warnings in the Problems tab of Servoy Developer 2023.3.3:
Description Resource Path Location Type
The function createFolder(Object) is not applicable for the arguments (plugins.file.JSFile) svyDataUtils.js /svyUtils line 1085 JavaScript Problem
The function Logger({name:String, effectiveLevel:Level, log:function(Level, AbstractMessage)},[AbstractMessageFactory]) is not applicable for the arguments ({parent:LoggerConfig, isRoot:Boolean, children:Array<LoggerConfig>, loggerLevel:Level, appenderCache, name:String, externalLogger:Logger, appenderCacheInvalidated:Boolean, effectiveLevel:Level, appenders:Array<{appender:AbstractAppender,level:Level}>, additive:Boolean},AbstractMessageFactory) svyLogManager.js /svyUtils line 1171 JavaScript Problem
huber:
As an information, I get following 2 warnings in the Problems tab of Servoy Developer 2023.3.3:
Description Resource Path Location Type
The function createFolder(Object) is not applicable for the arguments (plugins.file.JSFile) svyDataUtils.js /svyUtils line 1085 JavaScript Problem
The function Logger({name:String, effectiveLevel:Level, log:function(Level, AbstractMessage)},[AbstractMessageFactory]) is not applicable for the arguments ({parent:LoggerConfig, isRoot:Boolean, children:Array, loggerLevel:Level, appenderCache, name:String, externalLogger:Logger, appenderCacheInvalidated:Boolean, effectiveLevel:Level, appenders:Array<{appender:AbstractAppender,level:Level}>, additive:Boolean},AbstractMessageFactory) svyLogManager.js /svyUtils line 1171 JavaScript Problem
Servoy Packages are updated to the latest.
this is a known issue, and already fixed.
The problem was that the docs for the plugins where for some reason not fully correctly generated.
you can fix that by downloading: https://build.servoy.com/latest/servoy_ … update.zip
and then unzipping the application_sever\plugins
and use copy our plugins in that zip over yours.
Thanks a lot for your explanations, which help vey much, especially to know that you translate the ag-theme-alpine back to ag-theme-bootstrap for the NG1 client.
The translation doesn’t (seem to) work for a combination of two styles. For example, setting the styleClass property of a Data Grid (Servoy NG-Grids) to:
ag-theme-alpine bottomBorder
and having the following 2 style sheet selectors in the NG1 style sheet:
.ag-theme-bootstrap .ag-header {
font-weight: bold;
}
.bottomBorder {
border-bottom: 2px solid red;
}
nullifies the .ag-theme-bootstrap, i.e. ignores the font-weight: bold (and of course any other settings in this selector).
Interestingly, setting the styleClass property to: ag-theme-bootstrap ag-theme-alpine bottomBorder, makes the font-weight reappear. But this of course is not a solution.
as there is no ‘ag-theme-alpine’ in NG and no ‘ag-theme-bootstrap’ in TiNG, and you want to run your solution in both, the only way to do this I think is like you wrote, setting the styleClass property to: ag-theme-bootstrap ag-theme-alpine bottomBorder; I’m not sure why you say that ‘this is not a solution’?
Coming from SC to NG1, and later on to NG2, we have to run both NG1, and NG2 for development purposes. Isn’t that the normal way (if you don’t start from scratch directly to NG2)?
In your reply from August, 21, 1:55pm, you say in 1. that Servoy maps the selector ag-theme-alpine to ag-them-bootstrap. So I understood, I can set in the styleClass property of the form ag-theme-alpine and Servoy maps it for NG1 at runtime to ag-theme-bootstrap.
If I have to set both ag-theme-bootstrap, and ag-theme-alpine, then I have to sometime in the future, when NG1 is obsolete, remove any ag-theme-bootstrap (in the styleClass property) in every form using an NG-Grid. This would be quite a lot of work.
Also, if there is only ag-theme-alpine without another style, the mapping seems to work. The problem arises when having more than one selector set in the styleClass property.
I can change that, to do a replace of ‘ag-theme-alpine’ also when there are more classes specified, but when NG1 will be obsolete you will still have ‘ag-theme-bootstrap’ in your solution stylesheet,
that you will need to cleanup, like
We very much appreciate it if you can change that and do a replace of ‘ag-theme-alpine’ also when there are more classes specified.
We have 2 different style sheets for NG1 and NGTi, as you (Servoy) offer an automatic switching when the style sheet is named “solution.less” for NG1, then Servoy looks for “solution_ng2.less” for NGTi. So the cleaning looks very easy as the style sheets are separated.
Would be enormous helpful if the solution would find its way into Servoy Developer 2023.3.4.
We very much appreciate it if you can change that and do a replace of ‘ag-theme-alpine’ also when there are more classes specified.
We have 2 different style sheets for NG1 and NGTi, as you (Servoy) offer an automatic switching when the style sheet is named “solution.less” for NG1, then Servoy looks for “solution_ng2.less” for NGTi. So the cleaning looks very easy as the style sheets are separated.
Would be enormous helpful if the solution would find its way into Servoy Developer 2023.3.4.
Thanks and regards,
Robert
the fix is in the component, and it is just released (Servoy NG-Grid 2023.3.4) - you can update to it via SPM
jcompagner:
this is a known issue, and already fixed.
The problem was that the docs for the plugins where for some reason not fully correctly generated.
you can fix that by downloading: https://build.servoy.com/latest/servoy_ … update.zip
and then unzipping the application_sever\plugins
and use copy our plugins in that zip over yours.
Copying the content of the downloaded application_server/plugins folder in my Servoy Developers plugins folder DID SOLVE the function createFolder(Object) warning, but NOT the function Logger warning.
Upgrading to this version, but not yet developing w/ TiNG, and when trying to export the .war file, I’m getting the error:
could not create/copy the Titanium NGClient resources
I’ve found the other complaints of this error from previous version releases and I believe my configurations are correct (some of which are probably not even relevant to the .war export):
Window → Properties → Servoy:
Start NG Client should launch the Titanium NG Client (I’ve Unchecked this checkbox)
Open forms with the Titanium NG Client form designer (I’ve Unchecked this checkbox)
War export:
Export NG1 Client resources (by default…) (I’ve Checked this checkbox)
this is weird not sure what happens on your system there
because npm is found because “npm install” and so on do work fine (and npm runs on top of node)
(it does run it from C:\Users\Darren\my_workspace_202303.metadata.plugins\com.servoy.eclipse.ngclient.ui\node-v18.14.0-win-x64\node.exe)
but then “ng” (so the angular compiler) suddenly reports that “node” is not found but that is used just before that just fine with the various npm commands we fire.
maybe you can retry once but first remove "C:\Users\Darren\my_workspace_202303.metadata.plugins\com.servoy.eclipse.ngclient.ui" that whole dir and let it generate it again.
Else do you have stuff like node/npm installed in your system? or do you have “angular/cli” (ng) globally installed? (which all shouldn’t really matter i also have that locally on my machine and that doesn’t interfere)