Hi,
I just updated to 2020.03 for a client’s solution that is running on 2019.3.1 and there seem to be a few problems for me with FontAwesome stuff.
I had a problem that for all the places where I had placed the ‘servoyextra-fontawesome’ component and set the ‘facials’ I was just using
fa-envelope fa-2x
to set the class, but this wasn’t working correctly after update, but luckily I realised that I just needed to change it to
fa fa-envelope fa-2x
(i.e. making sure to have
fa
at start of each one (took a while to go thru all forms…)
2) BUT, the main problem I now has is that I am using a lot of ‘servoyextra-table’ components and using the ‘styleClassDataprovider’ that uses a calculation that returns a CSS style and these aren’t working now. I have set various CSS styles in this form
and then have the calc return ‘editicon’, but it’s not displaying the FA icon correctly now.
Please can someone tell me how this should work now??
Thanks
Rafi
What is the Servoy recommended way to substitute FA pro for the supplied FA free. I have tried numerous ways but every one keeps getting reverted back whenever there is an update to any of the Web Packages that require the FontAwesome component. We have a license for FA Pro and would very much like to use it without the hassle of having to recreate things every time.
The function utils.bytesToBase64() seems to be removed.
We use the svyUtils-module and the function scopes.svyCrypto.getHash() uses utils.bytesToBase64(), so this doesn’t work anymore.
Is there an alternative for this function? Or will there be an update for svyUtils soon?
var bytes = utils.stringToBytes(“test string”);
var string = utils.bytesToBase64(bytes);
application.output(string)
var bytes2 = utils.base64ToBytes(string);
var string2 = utils.bytesToString(bytes);
application.output(string2)
I updated to 2020.03 and now I can’t start the Smart Client on some machines (Windows 10 and Windows2016 RDS).
Errors in the Java log:
CacheEntry[https://172.20.1.55:8443/servoy-client/BOSS.jnlp]: updateAvailable=true,lastModified=Wed Apr 15 10:04:19 CEST 2020,length=-1
storing the cache in C:\Users\Administrator.servoy\libCache\172_20_1_558443 (null)
The jnlp files resources are not the same, downloading it
CacheEntry[https://172.20.1.55:8443/lib/j2db.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:52 CEST 2020,length=1304605
CacheEntry[https://172.20.1.55:8443/lib/jabsorb.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:54 CEST 2020,length=57215
CacheEntry[https://172.20.1.55:8443/lib/js.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:56 CEST 2020,length=494714
CacheEntry[https://172.20.1.55:8443/lib/BrowserLauncher2.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:54 CEST 2020,length=17998
CacheEntry[https://172.20.1.55:8443/lib/slf4j-jdk14.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:57 CEST 2020,length=7345
CacheEntry[https://172.20.1.55:8443/lib/MRJAdapter.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:57 CEST 2020,length=23583
CacheEntry[https://172.20.1.55:8443/lib/slf4j-api.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:57 CEST 2020,length=20107
CacheEntry[https://172.20.1.55:8443/lib/l2fprod-common-outlookbar.jar]: updateAvailable=false,lastModified=Wed Apr 08 21:32:58 UTC 2020,length=37556
CacheEntry[https://172.20.1.55:8443/lib/fs-parser.jar]: updateAvailable=false,lastModified=Wed Apr 08 21:32:58 UTC 2020,length=81504
java.util.zip.ZipException: no current ZIP entry
at java.util.zip.ZipOutputStream.write(Unknown Source)
at java.util.zip.DeflaterOutputStream.write(Unknown Source)
at java.util.zip.ZipOutputStream.writeInt(Unknown Source)
at java.util.zip.ZipOutputStream.writeLOC(Unknown Source)
at java.util.zip.ZipOutputStream.putNextEntry(Unknown Source)
at java.util.jar.JarOutputStream.putNextEntry(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.writeEntry(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.UnpackerImpl.unpack(Unknown Source)
at com.servoy.bootstrapper.Pack200Wrapper.unpack(Pack200Wrapper.java:93)
at com.servoy.bootstrapper.JarDownloader.run(JarDownloader.java:55)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Suppressed: java.util.zip.ZipException: no current ZIP entry
at java.util.zip.ZipOutputStream.write(Unknown Source)
at java.util.zip.DeflaterOutputStream.deflate(Unknown Source)
at java.util.zip.ZipOutputStream.closeEntry(Unknown Source)
at java.util.zip.ZipOutputStream.finish(Unknown Source)
at java.util.zip.DeflaterOutputStream.close(Unknown Source)
at java.util.zip.ZipOutputStream.close(Unknown Source)
at com.servoy.bootstrapper.Pack200Wrapper.unpack(Pack200Wrapper.java:95)
… 4 more
trying to download again: https://172.20.1.55:8443/lib/commons-codec.jar
CacheEntry[https://172.20.1.55:8443/lib/PBKDF2.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:58 CEST 2020,length=6048
java.util.zip.ZipException: no current ZIP entry
at java.util.zip.ZipOutputStream.write(Unknown Source)
at java.util.zip.DeflaterOutputStream.write(Unknown Source)
at java.util.zip.ZipOutputStream.writeInt(Unknown Source)
at java.util.zip.ZipOutputStream.writeLOC(Unknown Source)
at java.util.zip.ZipOutputStream.putNextEntry(Unknown Source)
at java.util.jar.JarOutputStream.putNextEntry(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.writeEntry(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.NativeUnpack.run(Unknown Source)
at com.sun.java.util.jar.pack.UnpackerImpl.unpack(Unknown Source)
at com.servoy.bootstrapper.Pack200Wrapper.unpack(Pack200Wrapper.java:93)
at com.servoy.bootstrapper.JarDownloader.run(JarDownloader.java:55)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Suppressed: java.util.zip.ZipException: no current ZIP entry
at java.util.zip.ZipOutputStream.write(Unknown Source)
at java.util.zip.DeflaterOutputStream.deflate(Unknown Source)
at java.util.zip.ZipOutputStream.closeEntry(Unknown Source)
at java.util.zip.ZipOutputStream.finish(Unknown Source)
at java.util.zip.DeflaterOutputStream.close(Unknown Source)
at java.util.zip.ZipOutputStream.close(Unknown Source)
at com.servoy.bootstrapper.Pack200Wrapper.unpack(Pack200Wrapper.java:95)
… 4 more
trying to download again: https://172.20.1.55:8443/lib/fs-commons.jar
CacheEntry[https://172.20.1.55:8443/lib/prompt.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:33:00 CEST 2020,length=7435
CacheEntry[https://172.20.1.55:8443/lib/xstream.jar]: updateAvailable=false,lastModified=Wed Apr 08 23:32:59 CEST 2020,length=129755
java.util.zip.ZipException: no current ZIP entry
var bytes = utils.stringToBytes(“test string”);
var string = utils.bytesToBase64(bytes);
application.output(string)
var bytes2 = utils.base64ToBytes(string);
var string2 = utils.bytesToString(bytes);
application.output(string2)
why do you think that is removed?
My bad! I used a different installer than I thought…
thats weird, not sure why that is i think those 2 files that it complains about didn’t really change for 2020.03 (maybe other signing but we already had that new signing also for 2019.12.1)
we do check if the pack works for jars on the server side (we pack and try to unpack there also again to see if it validates)
But for some reason that i guess works (else we didn’t send the pack file) but a certain clients can’t unpack it
Maybe this is because of some differences in java version server/client (and between clients)
But Pack200 will be gone because it is already fully removed from Java14, so from that java on (server or client side) you can’t use pack200 at all anymore
Yes, that’s really weird Johan.
Signing should not be that problem because I always sign the files after updating. Furthermore the Java version was not changed after the Servoy update.
I have Pack200 deactivated and according to your information it makes no sense to activate it, since it will be removed from Java 14 anyway.
Since upgrading to 2020.03 we are getting a lot of warnings in the log similar to the following:
WARN com.servoy.j2db.util.Debug - Filter is created using a custom query without using the sql-modifier, this will be removed in a future version of servoy, please use operator 'sql:in'
I located the lines that produced this warning and changed the addTableFilter operator from ‘IN’ to ‘sql:in’ and this removed the warning. Two observations on this:
There is nothing in the release notes or documentation that mentions this and certainly no mention of any “sql-modifier” in the wiki
When I first tried to fix the issue I changed the operator to ‘SQL:IN’ as it had previously been ‘IN’. This failed completely. Why can I put ‘IN’ in upper or lower case and it works but as soon as I add the sql-modifier it has to be in lower case?
Have just updated to 2020.03 from 2019.12 by checking for updates and installing from there. When prompted upgraded my current workspace. After Servoy starts Solution Explorer has an error. Any ideas on how to fix this and get working again?
Could not create the view: com.servoy.eclipse.ui.views.SolutionExplorerView
java.lang.Exception
at org.eclipse.ui.internal.ViewReference.createErrorPart(ViewReference.java:114)
at org.eclipse.ui.internal.ViewReference.createPart(ViewReference.java:100)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:300)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:338)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:1002)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:967)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:139)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:408)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:331)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$1.run(PartRenderingEngine.java:547)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:531)
at org.eclipse.e4.ui.workbench.renderers.swt.ElementReferenceRenderer.createWidget(ElementReferenceRenderer.java:73)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:1002)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:662)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.StackRenderer.showTab(StackRenderer.java:1297)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:105)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:680)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:140)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveRenderer.processContents(PerspectiveRenderer.java:51)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.showTab(PerspectiveStackRenderer.java:82)
at org.eclipse.e4.ui.workbench.renderers.swt.LazyStackRenderer.postProcess(LazyStackRenderer.java:105)
at org.eclipse.e4.ui.workbench.renderers.swt.PerspectiveStackRenderer.postProcess(PerspectiveStackRenderer.java:64)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:680)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
at org.eclipse.e4.ui.workbench.renderers.swt.SashRenderer.processContents(SashRenderer.java:140)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.workbench.renderers.swt.SWTPartRenderer.processContents(SWTPartRenderer.java:72)
at org.eclipse.e4.ui.workbench.renderers.swt.WBWRenderer.processContents(WBWRenderer.java:665)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:676)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:768)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:739)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:733)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:717)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1086)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1049)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:660)
at org.eclipse.ui.internal.Workbench$$Lambda$130.0000000000000000.run(Unknown Source)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:559)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:154)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:137)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:107)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
this needs a fresh install pointing to your workspace
We already investigated this, and there is no way to recover this, somehow eclipse broke the installation when updating (it deletes a plugin that shouldn’t be deleted)"
we couldn’t also find a fix for that by making the update “better”
A installation like that would always result in a bad installation
With Servoy2020.03 some jar file collisions with Servoy plugins:
Google2 plugin : httpclient.jar (collision was introduced a bit longer ago), jackson-core.jar.
Servoy Jasperreports: jackson-core.jar and some jackson related jars.
Can those plugins (and maybe others?) be aligned with the shipped Servoy2020.03 jar files?
After upgrade to Servoy2020.03 (Tomcat 8.5.5) we are getting x-frame errors when running servoy-webclient at the moment we use dialog windows.
In Chrome empty screen with message: Blocked by policy for x-frame options. I think Tomcat (security) defaults have changed in 8.5.