Child pages
  • 2021.06 Whats new
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

NG2 Client

More improvements to it and components and packages ported over.

Now all the component and services have there NG2 code in there own git hub repo as NG2/angular library.  This means that the release of the package now contains the ng2 sources/distribution of that package.

So before you can start the NG2Client now you need to update the packages itself to have the component sources, we are in the process to also release all the ported packages over. Without a new version of a package with the NG2 code, NG2 will not run.

We added in the console view a console page: NG2 Build console, where you can see the progress of the build that needs to be done before an NG2 Client can be started.

Because the packages that you install now contributes a angular library now to the code of NG2, we really need to do really build it, in the previous version (2021.03) we shipped all ported components in 1 big package, but this is not the case anymore.

For source projects (so webpackages coming directly from git as webpackage projects) we still are searching for a nice way how to handle that, this is not fully supported in the first RC of 2021.06

Upgraded libs

upgraded eclipse (to 4.19) and many other java libraries.

upgraded build in tomcat to 8.5.64

upgraded shipped java to 16.0.1

upgraded chromium browser to 76, turn it on by default now on all platforms

inmem hsqldb driver updated to 2.5.1 and it by default now uses a different url: jdbc:hsqldb:mem:_sv_inmem;hsqldb.tx=mvcc
The transaction level was set to mvcc because we did encounter locks when dropping temp tables for a user.
this can be overriden with setting a servoy.propertie "server.inMemory.URL" back to "jdbc:hsqldb:mem:_sv_inmem"
see : http://www.hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_mvcc for more info
All our in memory tables are specific to a single client so they are not access in a transaction by different connections at all.
So it should have minimal effect. Its just that we try to avoid locking when we are changing/create/dropping whole tables when we are shutting down clients.
But it could be that this has the reversed effect in some scenario's so then you need to place the url back.

Performance flags

we added 3 performance related properties in 2021.06 (the first was already in 2021.03):

servoy.foundset.statementBatching (default false, same behavior as in previous version of Servoy)

This tries to merge all insert statements of the same datasource into 1 batched sql statement.
This has a side effect that suddenly multiple records are inserted as if you are in a transaction (they are done in 1 commit)
And if 1 fails all will fail (be in the failed records and not saved) because we don't know which one was the problem.
In a none transaction mode until the one that failed would be inserted anyway,
in transaction mode also none would be inserted but only the one that would fail would be in the failed records.

servoy.foundset.verifyPKDatasetAgainstTableFilters (default true, same behavior as in previous version of Servoy)

If this is set to false then foundset or controller loadData(datasetOfPk) will not requery the database if there are table filters defined for that datasource.
So if you feed in a pk that shouldn't really be visible to the user that will not be filtered out anymore, so you are responsible for feeding in correct pks

servoy.foundset.optimizedNotifyChange (default true, different behavior as in a previous version of Servoy)

This should not have side effects so the default is changed to be more optimized.
But if there are problems that related foundset are not updated correctly with databroadcast (of new records) of other clients this can be set back to false.
This property optimizes the notifications of new records to all the loaded related foundsets for that datasource.
It builds up an index so we know much faster that for this inserted record we only have to notify a small set of RelatedFoundset instances instead of going over all of them to test if this new record maybe belongs to this set.


Other

Log4j enhancements for more keys that are usable in a logging line: [SVY-16019] Log entries for org.sablo.websocket.WebsocketEndpoint or org.sablo.BrowserConsole ont have a clientid and solutionName property set - Servoy

Boostrap tablesspanel is deprecated and replaced by a core Tabless panel (inline with other form component containers)


  • No labels