IBM Worklight 6.0 - Worklight Starter Dojo example broken? - dojo

I've installed Worklight 6 in an instance of Eclipse Juno and I am wanting to migrate working apps into it from Eclipse Helios and Worklight 5. I am running into some strange problems, possibly because of the transition to Dojo 9 or maybe the new directory structure of the resident Dojo files. So I decided to start with the examples. I use Dojo in my apps, so I downloaded the WorklightStarter_DojoMobile eclipse project and imported it. I did the 'build and deploy' step, and also deployed the WorklightStarterAdapter.
I am trying to run the app in the browser simulator and it appears to be busted. I get the 'about' view but no feeds. I ran it with Firebug and the console shows a lot of peculiar errors.
I won't paste in the network links but a lot of files are not found:
WorklightStarter_DojoMobile/apps/services/preview/WorklightStarter_DojoMobile/android/1.0/default/cordova_plugins.json not found
WorklightStarter_DojoMobile/apps/services/preview/WorklightStarter_DojoMobile/android/1.0/default/dojo/core-web-layer.js not found
WorklightStarter_DojoMobile/apps/services/api/WorklightStarter_DojoMobile/android/init unauthorized
/WorklightStarter_DojoMobile/apps/services/preview/WorklightStarter_DojoMobile/android/1.0/default/dojox/mobile/themes/android/android-compat.css
Procedure invocation error. White spaces are required between publicId and systemId. Failed to parse the payload from backend (procedure: HttpRequest) with transformation...

Indeed, the Worklight Starter Dojo Edition is not fully compatible with Worklight 6; instead, you can use the Dojo examples from the training materials.

Related

"Failed to Deploy Artefact error" in Eclipse Mule ESB project

I'm trying to run a trivial http echo app against the 3.50 CE runtime and I get the following stack trace(s) when I try to run
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Failed to deploy artifact 'default', see below +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
java.lang.NullPointerException
at org.mule.module.launcher.DefaultArchiveDeployer.guardedDeploy(DefaultArchiveDeployer.java:274)
...
Exception in thread "main" java.lang.NullPointerException
at org.mule.module.launcher.DefaultArchiveDeployer.addZombieApp(DefaultArchiveDeployer.java:325)
Additional context:
I've just started working with Mule (using the Eclipse Plugin). I initially had the trial package which is configured for Enterprise edition and I had that working with some of the trivial examples - hello world and echo.
I then downloaded the community runtimes and changed the targets on the projects, at that point I had been getting No Application Name errors, and I tried rebuilding them as new projects with CE targets from the start.
I also had been running them as mule applications, but this page
https://developer.mulesoft.com/docs/display/current/Studio+in+Eclipse
seems to indicate I must use maven ( I've set that up - although the automatic POM management doesn't seem to be working) but I still get the above failure.
There's no indication of why it's failing, as far as I can tell my projects output is valid.
Any suggestions welcome.
For what it's worth this is working now (fixed it shortly after posting the question even though it's been a blocker since yesterday).
If anyone else runs aground of the same issue..
I wasn't using the latest Community Edition runtime so I upgraded using the eclipse plugin install from (http://studio.mulesoft.org/r4/studio-runtimes).
I think this might have had something to do with it as I had previously been using the r4 plugin (http://studio.mulesoft.org/r4/plugin) with the Eclipse hosted 3.5 CE. Possibly the plugin is not backward compatible with the Runtimes.
basically once I completed the install and restarted I upgraded my project to use the new CE (changing the project setting and the flow xml). It worked first time.
Oddly all my Mule-Maven options have disappeared, but that's a separate question.

Application cannot be imported; it is either an invalid one or it contains specific features that are not supported

I followed the recommended solution:
IBM Worklight v6.0 - Error while adding an application to the Mobile Test Workbench
still got the error even though my jdk seems to be already correct
I didn't see any errors in the test workbench mobile client log (emulator), which log should I be looking at?
I suppose that you are using Android 4.4 and not Android 4.4W or 4.4L which are not yet supported. And you should have made recently an update of the Android SDK tools to version 23 (you can verify by opening the SDK Manager)
Google has modified in this release the way the tools are organized and this made MTWW regressed when instrumenting.
There is a workaround: copy <android-sdk-dir>/build-tools/20.0.0/zipalign[.exe] to <android-sdk-dir>/tools.
Dominique
I had same problem. You may need hotfix or uptdate to RTW8.6.
https://www-304.ibm.com/support/docview.wss?uid=swg21678859

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).

Unable to set up jquery mobile project with worklight 6.1

I am unable to set-up a IBM Worklight project involving jquery-mobile. Here are my environment details:
eclipse Version: Juno Service Release 2 (32-bit version since I am using jre1.6.0_41)
Worklight version: 6.1.0.01
jquery-mobile: 1.3.1
I can create a new worklight project (called MyLab1) and associate jquery-mobile CSS and JS files to it. However the problems are:
The default .html file gets created as index.html (under 'apps->MyLab1->common') while my expectation is it should be MyLab1.html (as per the training material I have from IBM Worklight)
The 'Mobile Navigation' pane is completely blank while my expectation (again as per training material) is I will see a 'page(default)' control there
Whenever I try to create a new control (under 'Mobile Navigation' pane) I get the error 'Mobile Navigation controls cannot be added to the current page. This feature is only enabled for projects which have jQuery Mobile or Dojo mobile available'
I do not see any option (under eclipse menu) to start or stop Worklight sever (that comes with Developer studio version)
I am fairly new to Mobile application development space (just started with IBM worklight set up this week) and given the above issues I believe I may be doing something fundamentally wrong.
Starting Worklight 6.1, it is very much expected for a new application filenames' to be main.js, main.css and index.html.
Additionally, while you can do the adding of jQuery Mobile by yourself, you should instead use the wizard Worklight Studio provides for you.
This way not only will the files you choose be added properly to your project, but the HTML file will be updated accordingly as well (HEAD references, initial jQuery Mobile template in the body element).
The Palette view should then also list the relevant jQuery Mobile widgets you can use in your app.
Please follow the Worklight 6.1 training modules if you intend on using Worklight 6.1.
My impression is that you are reading the Worklight 5.0.x training modules.
To start or stop the Worklight Server, you need to open the Servers view and click either the play or stop buttons.
Use the keyboard shortcut Ctrl+3 and write "server".
Everything works: http://i.stack.imgur.com/K1G8O.png
I found the solution after trying out a few things. It turned out that WL-6.1.x doesn't work well with JRE 6 (32 bit) and eclipse Juno (32 bit) combination. Once I switched to JRE7/Juno-64 bit; things apparently started to work (for now at least).
Thanks Idan for your helpful comments

IBM Worklight 6.0 - Dojo library uses localhost after deploy

I have a Worklight 6.0 project that uses the new Dojo 1.9 libs, I created an external dojo project, like the documentation suggested, then, in the main project properties, under "Dojo toolkit", it references this dojo19 project.
The project works on the local server, then I did "Run As" | "Build for Remote Server...", and entered the correct domain:port and context path, clicked Build, the *.wlapp files were updated. (I've also updated the settings for publicWorkLightHostname / publicWorkLightPort / publicWorkLightProtocol in the "Environment Entries for Web Modules" in the installed war to match the remote server names/port/protocol.)
But, after deploying both war and -all.wlapp file, accessing the app I get JS errors when it tries to refer to the dojo19 library:
The page at
https://<myIP>:9443/<myproject>/apps/services/www/ /mobilewebapp/default/IODMobile.html
ran insecure content from http://localhost:64441/dojo19/<myproject>/IODMobile/mobilewebapp/dojo/nls/core-web-layer_en-us.js.
The dojo19 is the project name in my Worklight developer workspace that I referred to above.
Why is it trying localhost? Seems there's a missing step here in deploying the dojo library project into Worklight.
Where are you trying to preview the application when you get the error message?
See the changes in Dojo in Worklight 6.0
If launching the application in emulator/simulator/device, see Billy Rowe's answer in this question
Partial copy/paste:
Step 1: Verify your application works in the Mobile Browser Simulator
with Provide Library Resources checked. If the Console log is showing
resources being served from the server, then these have to be copied
to your application before deploying to AVD or a device
Step 2: After you think you have all Dojo/resources within your
project, uncheck Provide Library Resources and test it again in MBS.
If it fails in MBS, then something is missing in your application that
is in the library/server. You can check Provide Library Resources and
retest to see if it shows you what that is. Not all resources are
shown, e.g. if there's a missing CSS file.
Also I would suggest to do all of this in the Development environment (that is, in Eclipse) before starting to deploy the .war file and .wlapp file etc... (which, BTW, I hope you're doing based on the new instructions for Worklight 6.0)
In the information center, it will show you how to uncheck the Provide Library Resources in the Console Log.
I think what you're running into is:
1) Something is being served from the Dojo Library/Server
2) A bug in 6.0 that used "localhost" instead of the IP of the host (your machine running eclipse). This is fixed in the 6.0 iFix. With this fix, you can run your app external to Studio and still use the Dojo Library/Server. Without this fix, you must have everything you need within your app.
Can you install the iFix and let us know if that fixed the problem?