Adobe PhoneGap Build and WKWebView - uiwebview

I have recently found an issue with videos not being able to be selected on an application I built on iOS 10.3.x. Upon doing research, it looks to be an issue with UIWebView. However, other people have suggested using WKWebView, and upon looking at Apple's website, WKWebView is the new standard, and supported on iOS 8+.
Does anyone know if Adobe PhoneGap Build default builds with UIWebView? How can I implement WKWebView, and what type of impact can it have?
Thanks!

On build.phonegap.com, you simply add the following to the config.xml file:
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
If you are using Angular 1.x use the following:
<allow-navigation href="http://localhost:8080/*"/>
<feature name="CDVWKWebViewEngine">
<param name="ios-package" value="CDVWKWebViewEngine" />
</feature>
<preference name="CordovaWebViewEngine" value="CDVWKWebViewEngine" />
<plugin name="cordova-plugin-ionic-webview" spec="1.1.16" />

Related

Blazor Shared Components not rendered

I have a problem, and I can't find a solution. This question is maybe already solved a couple of times, but it's hard to find a working solution for my constellation.
I'm using Blazor wasm 3.2.0-preview3.20168.3'. My goal is to move my components in a shared library to use it across my projects.
The problem is my components are not going to be rendered if I'm moving them into a shared library, so the tag <alert><alert/> is not resolved. The browser displays <alert><alert/>.
If they are in the main project, everything is working fine.
In the main project in "_Imports.razor" the dependencies are imported
#using BlazingWebShared.Services
#using BlazingWebShared.Component
My library .csproj looks more or less like this (not including comments etc):
<Project Sdk="Microsoft.NET.Sdk.Razor">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="3.2.0-preview3.20168.3" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Build" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="3.2.0-preview3.20168.3" PrivateAssets="all" />
<PackageReference Include="Microsoft.AspNetCore.Blazor.HttpClient" Version="3.2.0-preview3.20168.3" />
</ItemGroup>
</Project>
Does someone have an idea what I'm doing wrong? Or can someone share a library I can use as a blueprint?
Thank you very much for your time and help.
The line
<AddRazorSupportForMvc>true</AddRazorSupportForMvc>
tells me that you checked "support for pages and views" when you created your Razor Class Library (RCL). Make a new one without that check. You get a very different project setup with or without that checkmark. Amongst other things it will target the wrong platform, core 3.x instead of standard 2.x
And don't forget that you also have to import the .css and maybe .js files from the RCL into your _Host.razor or Index.cshtml . See this answer for that.

Log4j - configuring AsyncAppender in log4j.properties

I've seen tons of materials on how to use AsyncAppender in log4j.xml. However, I can't use a xml configuration, as I'm using Jboss Fuse - and this technology only allows .properties configuration.
Is there a way to translate the following configuration to .properties?
<appender name="async" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="500"/>
<appender-ref ref="console"/>
</appender>
I'd imagine that a solution looks somewhat like that:
log4j.appender.async=org.apache.log4j.AsyncAppender
log4j.appender.async.appenders=console
According to documentation, this is not possible in property configurer:
https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PropertyConfigurator.html
However, as I'm using Jboss Fuse and Jboss Fuse is using ops4j pax-logging, it has been solved and the configuration I submitted
log4j.appender.async.appenders=console
does work in Jboss Fuse

DocuSign Java client with Wildfly 10

I'm wondering whether anyone had an exprecience in deploying the DocuSign Java Client on WildFly 10?
DocuSign jvaa SDK depends on Jersey 1.19, while the wildfly 10 supports RESTEasy out of the box > is it possible to disable RESTEasy ?
Or will it be safe to use the RESTEasy as an JAX-RS implementation (instead of the Jersey 1.19)?
Thank you.
Will answer by myself: excluding the wildfky subsystem "jax-rs" in jboss-deployment-structure.xml works fine:
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.2">
<deployment>
<exclude-subsystems>
<subsystem name="jaxrs" />
</exclude-subsystems>
</deployment>
....
</jboss-deployment-structure>

How to use JSF version specified in POM (and not app server one)?

My application server is Glassfish 3.1.1, using Mojarra 2.0.3 FCS (as far as I know). I want my application to use JSF 2.1.2. I've already found the correct artifact to use in my maven build.
Now, how can I make sure the JSF classes are loaded from this artifact, instead of following "classical" delegation to Glassfish libvrary classloader (which will load JSF 2.0.3 and generate ClassNotFoundException for my omnifaces/richfaces additional components) ?
In general, how to override a specific Java EE artifact from an archive is application server specific. In case of GlassFish, if I'm not mistaken you can use the following in WEB-INF/glassfish-web.xml:
<glassfish-web-app error-url="">
<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />
</glassfish-web-app>
What also works is replacing the jar in [glassfish home]/glassfish/modules. This is exactly what the JSF build script does as well, so it should be guaranteed to work.
Do note that if you go from something as low as 2.0.3 to a current version, you'll see that there has been a change from 2 jars to 1 jar. So in that case in [glassfish home]/glassfish/domains/domain1/config/default-web.xml and [glassfish home]/glassfish/lib/templates/default-web.xml remove the entries jsf-api.jar and jsf-impl.jar and replace them by a single javax.faces.jar.
Perhaps an even easier alternative is to download the latest version of GlassFish (3.1.2.2).

Common.Logging for custom built log4net

How can i configure the Common.Logging->log4net which log4net built with a different .snk file?
when i want to build the Project it looks for log4net that has a PublicKeyToken=1b44e1d426115821, but mine is different. I tried to identify my log4net assembly as below. that doesn't work.
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net,Version=1.2.10.0, Culture=neutral, PublicKeyToken=XXXXXXXXXXXX"/>
thanks
Have you made Common.Logging reference your version of log4net and then rebuilt it (Common.Logging)?
I suspect that you will have to open the Common.Logging.Log4Net project and change the reference to log4net from the log4net that Common.Logging redistributes to your log4net. I think that you should then be able to rebuild Common.Logging and you should also be able to reference your version of log4net in the configuration.
UPDATE...
Another idea would be to write your own log4net factory adapter. Just use the exact source code from Commom.Logging's log4net factory adapter project. There is not really much code there. In your project, reference your own log4net. Configure Common.Logging to use your factory adapter. I don't know that this option is any more or less attractive than rebuilding Commom.Logging with your version of log4net, but I thought I would mention it anyway.

Resources