worklight 5.0.6 - Error when deploying apps to local server - ibm-mobilefirst

I have just upgrade my Eclipse client running Juno to Worklight 5.0.6 developer edition (5.0.6.20130311-0918)
The projects upgrade fine, but when building them and deploying to the local worklight server I get a constant 'persistency data access problem' This occurs across all of my projects and has only been seen since the update.
Any idea on what is causing this problem and how to solve?
I would add a screen shot of the issue but I am not allowed

Based on your comment - in 5.0.6, the database schema has changed, so you have missing tables now. In the Developer Edition of Worklight, upgrade is not supported (this is handled when purchasing a license and using the IBM Installation Mananger for installing Worklight).
Do you mean "HSQL"? What is "Web SQL?"
In any case you will need to clean your database so that it will be re-created, this time with the missing tables.
If you use the default database provided by Worklight (HSQL), go to your Eclipse Workspace and delete the WorklightServerHome folder. Then, re-build your application.

Related

com.ibm.worklight.admin.common.util.exceptions.TimeoutException

MobileFirst 6.3.0.00 Studio Plugin. Working in development server for Maximo Anywhere. Unable to deploy Adapter.
I am presented with "Adapter deployment failed: UndeclaredThrowableException" in the MobileFirstConsole.
I look at the MobielFirst Development Server and I see "CWWKX0204E: Unable to parse Throwable from server error stream".
Further down I see "java.lang.ClassNotFoundException: com.ibm.worklight.admin.common.util.exceptions.TimeoutException"
I have rebuilt the MobielFirstServerConfigFolder multiple times at the direction of others and this does not seem to solve this particular problem. I have searched my system and I in fact cannot locate this file.
Where should it be? and what is normal procedure for shoving it into its little home?
Thanks in advance.
Perhaps using the latest available v6.3 iFix will help.
As an IBM customer you can connect to IBM Fix Central, search for "mobilefirst platform", select 6.3 as your release version and download the latest available Studio fix.
Install it in fresh Eclipse that uses a new workspace and import your project into it. Start the server and deploy the adapter.

MobileFirst Eclipse not detecting changes

I have recently updated my eclipse mobilefirst studio to 6.3.0.00-20150106-1717
There after when I make any changes in HTML/Css/Js the changes are not reflected in the worklight we based simulator. Inorder to get the changes on the weh based simulator, i have to use run as -> run on mobilefirst development server.
In the previous version before this update what all changes in HTML/CSS/js was immediately reflected in the web based worklight simulator
Please advice
Update: the fix is now available from either IBM Fix Central or by updating from Eclipse Marketplace.
Duplicate of: MobileFirst Platform 6.3 - web resource changes do not get applied
This is a known regression. A fix will be available, soon.
Check back for updates in either IBM Fix Central, or via Eclipse > Help > Check for updates in the near future.
There is no local workaround.

Best practices to maintain different Worklight Studio patch versions

Whenever there is a new update of the worklight studio available in the eclipse market place I install it to get the latest fixes. When I restart eclipse after installing an update, Worklight triggers some kind of process to update my project to the new version. During this process worklight does some black voodoo and updates some files.
I suppose that once I commit these files, the entire team should download and install the new update from the eclipse market place? Because it can't be a good idea to work with an old version of Worklight Studio on a project that was already updated to work with a newer version.
Are there any best practices on this topic?
Is it a good idea to update your worklight studio on a regular base? I'm not talking about minor or major versions, just a new patch which is available in the eclipse marketplace. Take for example an update from platformVersion="6.2.0.00.20140701-1500" to platformVersion="6.2.0.00.20140724-2139"
If you choose to stick with one specific version, how do you distribute this to new members in your development team? Should you keep a copy somewhere? And what happends then if you need a fix?
I suppose that once I commit these files, the entire team should
download and install the new update from the eclipse market place?
Because it can't be a good idea to work with an old version of
Worklight Studio on a project that was already updated to work with a
newer version.
If you do not work alone, and you upgrade your Worklight Studio version (which then does "black voodoo" and updates the project's files) and you then deliver your changes to your SCM, then yes - your team members must upgrade their Worklight Studio plug-in as well.
Are there any best practices on this topic?
As a Worklight development team member, my advise is: if we publish a fix to Eclipse Marketplace / IBM Fix Central - yes, install it.
That said, you can also review the list of fixed bugs ("APARs") in IBM Fix Central and decide whether you'd like to upgrade your installation.
Before doing so, you can opt to first install this fix in a new Eclipse and workspace and make sure your project is not getting broken. If you feel all is OK, upgrade your main development environment and instruct your team members to do the same, then, migrate the project using the new Worklight Studio version and deliver your changes to the SCM.
If you choose to stick with one specific version, how do you
distribute this to new members in your development team? Should you
keep a copy somewhere? And what happends then if you need a fix?
Branch your code in the SCM based on the version? But why create headache...

Worklight Direct Update doesn't work when wlapp built outside of studio

We have a worklight i/OS hybrid application built and deployed to the worklight console using RTC jazz team build and the ant-builder ant tasks (6.1.0.1). The ipa packaging is done on a separate machine, though using the same level of Worklight Studio (6.1.0.1).
I've compared the wlapp files that are generated, and they are basically identical except for some whitespace characters (tabs, line feeds), probably due to the different environments (Windows vs AIX), and the following:
index.html
"WORKLIGHT_NATIVE_VERSION": "3921556017",
"WORKLIGHT_PLATFORM_VERSION": "6.1.0.01.20140311-2356",
"WORKLIGHT_NATIVE_VERSION": "1475155033",
"WORKLIGHT_PLATFORM_VERSION": "6.1.0.01.20140311-2356",
deployment.data
native=3921556017
native=1475155033
However, the direct update never happens when the wlapp is updated on the server.
on the WL.Client.connect call, the following json comes back as part of the response
gadgetProps":{"directUpdate":{},"ENVIRONMENT":"iphone"}
What are we missing here? What can be preventing the direct update from triggering?
Any help would be greatly appreciated.
The 6.1.0.1 iFix version 6.1.0.01.20140518-1532 from IBM Fix Central seems to have resolved this problem for us.
And what if you are not using ant, but rather built the project in Worklight Studio straight to Xcode from then install the .ipa and test Direct Update. Does it work?
From your question it is not clear whether or not you've confirmed one or the other.
Regardless, since the v6.1.0.1 build you are using, several Direct Update-related fixes were introduce; one with close proximity to the error you mention (directUpdate:{ }), so I suggest to to open a PMR in order to receive the latest available iFix (not yet available at IBM Fix Central).

How to update manually Worklight from 6.1.0.0 to 6.1.0.1 (corrupted IIM install)

I have some server with corrupted WL 6.1.0.0 install - the IIM does not show it in history, so I can not apply a fixpack in traditional way.
I need to update WL 6.1.0.0 to 6.1.0.1, in some non-traditional way.
Initially I thought that FixPack 001 major task is to update in /opt/IBM/Worklight/WorklightServer/ files worklight-ant-builder.jar, worklight-ant-deployer.jar, worklight-jee-library.jar (besides WAR application update, which I don't need - we don't use App Center Console, and WL applications are built with Studio 6.1.0.1 - no need to update)
I planned to copy the JAR files from the updated server, but comparing with another server which was updated (via IIM) to 6.1.0.1 I see that these files are just the same (however About menu tells 6.1.0.1 server version).
App Center Console is not used on the 6.1.0.0 server (actually I uninstalled it via WAS web admin console)
So, my question is: how to update WL 6.1.0.0 to 6.1.0.1 manually, possibly in non-supported way?
I'm not familiar with a manual way, however you should probably read and execute the recommended steps that are written in this user documentation topic: Upgrading from Worklight Server V6.1.0 to V6.1.0.1 in a production environment.
Highly suggested to also take a look at the parent topic.