Disable Direct Update for worklight6.1 development platform - ibm-mobilefirst

Right now i am developing an app on remote DEV server. Every time when i update the code (js,html,css etc) then test on the device locally. There is a popup to force me to update the app. But my app need to connect DEV server for testing some backend feature like login.
DEV server is a remote Websphere running WL6.1 for development purpose. Why i need it because my app connect to some web services like Auth server via internal environment (actually is VPN). And those services i cannot set up easily in local environment. That makes using localhost for development is not really possible.
My problem is feeling the development process not really handy. Every time i change the code and want to run on the devices. I need to upload the .wlapp via console. It takes time! Everyday i change the code thousands time. That's why i need a solution.
And now i am seeking for 2 possible ways:
Auto push the .wlapp to remote server when i run and build. Can ANT do that? i read the Doc and find it's a bit of complicated.
Disable Direct Update. Actually i do a tricky hack inside worklight.js to override this feature. But i think it is not a good solution. So, is there any server config can switch the that off?
And i read this thread IBM Worklight - How to disable Direct Update?
Not working.

From what you are describing, things seem to work exactly as they should.
You have your local Worklight Development Server (that's the Worklight Studio plug-in you've installed in your Eclipse).
You have a remote server - here I am presuming this is actually some application server with Worklight Server deployed on it (that is, not the plug-in, but an actual installation of the server component) as well as your deployed project's .war file.
If that's not your setup, you need to think again about your 'testing setup'.
Auto push the .wlapp file to remote server. So the dev server always
keep the latest resource. Not to force me "update" the older version
on the server.
No. You can't do this. You need to manually build your app with the correct connectivity settings for the remote server via Run As > Build Settings and Remote Target.
In addition to the native project that will now contain these connectivity settings for the actual app, you will also have a .wlapp file in the bin folder. You will need to manually deploy it each time you're changing your app's contents. That's why you do development testing in the local development server... when moving to a remote server, that's for QA/UAT/PROD purposes usually.
Just disable this annoying feature in DEV environment.
You will need to do this in both servers via their respective Worklight Console as described in the question you've linked to, so that once you deploy the .wlapp file, it will not send a Direct Update request.
Instead, you'll need to manually re-install the app each time.
I suspect you didn't do this action on the remote server?
If you did, then you need to explain your setup, as the only thing you've wrote about was its name... "dev".
No. You need to manually deploy the .wlapp to your remote server.

Related

Direct update not working when dynamically changing server url during runtime- MobileFirst 7.1

I have implemented dynamically changing server URL at runtime. I followed the instruction given in this link. The results were good I was able to connect different servers basically development servers like MFP Server in eclipse. But direct update does not work when a new server is connected. Similarly, if I try the same thing with stand-alone servers like our QA or UAT, then direct update works.
How can I make the direct update work for development servers?

Internet Connectivity To worklight apps

I am using worklight 5.0.6 in Eclipse juno on Windows 7.
I made a simple form filling app. I am deploying this app on my PC, Making it a worklight server. I am accessing it from the instance of the app which is running on my phone.
It works fine as long as my Phone and PC are on the same network, that is, on local LAN.
But when I change the network to Internet, the app is not able to connect to the worklight server - which is, again, my PC.
My Questions are:
Where should i put the public IP address to access the worklight server?
Should i change the worklight version to make it work?
Also, I read solutions that you gotta run the "Build and deploy on remote servers" But i couldn't find the option for it, what i found was "Run on Server"
But i really don't know how to proceed after that.
Should i change the worklight version to make it work?
You should upgrade your Worklight from 5.0.6 to a later release regardless of the connectivity problem - it is a very, very, old release.
Also, I read solutions that you gotta run the "Build and deploy on
remote servers" But i couldn't find the option for it, what i found
was "Run on Server"
This is not related to what you are facing. This option is meant to be used as you prepare to move the development environment (the developer workstation) to other environments, such as QA, UAT and Production. This feature is meant to change the connectivity settings in the application. Again, not relevant for you at this time.
But when I change the network to Internet, the app is not able to
connect to the worklight server - which is, again, my PC.
The problem you are experiencing is expected. There is your PC, which acts as the local server, connected to the Internet via your router. And there is the device, also connected to the same network via the router.
As you disconnect the device from the local network, it is no longer able to connect to the server, which is still in the local network.
If you want that work still, you'd need to setup a server with an external IP address that your device will attempt to connect to, and be able to route the request to the Worklight Server... in short, in a development environment it is expected that you will be on the same network.

How to test application using app authenticity enabled on remote worklight server?

We are trying to test our IBM MobileFirst Platform Foundation-based mobile application with IBM Rational Test Workbench MobileTest version 8.7.
One issue we are running into is that the testing fails due to application authenticity tests failure when trying to test against a remote worklight server. We tried to test it locally and that works. However, we are wondering if turning off the app authenticity is the only way to test using a remote worklight server. If anyone knows of any setting etc to get around the issue without having to turn off app authenticity every time we test on a pre-production build ( using remote server ) please let us know. It will be a great help.
There are no settings.
I can think of two ways:
Either authenticity is enabled, and the server and client are properly setup for the authenticity challenge to successfully pass...
Or you disable it for example by temporarily commenting out the wl_authenticity realm from the used security test in the authenticationConfig.xml file (which is located inside the .war file that was deployed to the remote server). Once done testing, uncomment it and re-start the server.

How to deploy a local eclipse worklight project in cloud server?

I developed an android based hybrid app in the IBM MFP-7.0., My app is fetching the data from the Java service which is running in Tomcat Server. Here the app adapters are running in my local system MFP server to get the data from the Java service, So that I can only run the app in my local system android emulator. Now, we want to deploy the app in the cloud so that we can give this app to our users. Can some body help me how to run our MFP app in the cloud? Is it required to place eclipse in the cloud to run my MFP server like the way I am running in my local system?
Thanks in advance.
It looks to me like your understanding is completely lacking in this subject matter. Also note that this question has got nothing to do with programming.
You need a host machine. On this server you will run an application server (Tomcat, WebSphere Full profile, WebSphere Liberty profile - either single or a farm, depending on your required network topology and security & scalability needs).
On this application server you deploy MobileFirst
You will also need a database
This host machine needs to be accessible (with appropriate security) to the public Internet so that it could serve apps installed in end-users' devices
The application needs to be configured to send requests to the server (or to any front-side server like a Load Balancer, again, depending on your topology)
The generated application needs to be submitted to an App Store so that users could download and install it on their devices
I suggest that you will do some reading before asking any question. Since you're using IBM MobileFirst, start by reading the user documentation: http://www-01.ibm.com/support/knowledgecenter/SSNJXP/welcome.html

how to setup worklight on public http server

I am building worklight project using eclipse environment when i run the project , i need to connect my tablet to local network then only i works for me for all the server updates and all.
I just want to move worklight server on http server which i can access using http://publicurl/anyprject which runs on apache. Now i want to work on eclipse but whenever i deploy the project it should deploy on public so that i can access it from anywhere.
Just tell me the process and what the thing i need to move on public server.
Since you've come here to ask a question, please also take a moment to write properly structured and coherent sentences in English. This will only benefit everyone and you will get a better answer, and faster too.
Try the following:
Instead of choosing Build All and Deploy, try choosing Build for Remote Server; there you should input the external (public) IP address of your machine. Next, run the generated project in your device. This should allow it to connect to the Worklight Server.
Note that both the Worklight Server (or rather, the machine that hosts it) and the device must be on the same network, in this case - connected to the public Internet.
Based on your comment, you can:
I would seriously try to open your own machine to public access
If not possible, I would try to move to develop on the Linux machine instead
If not possible, then you must install Worklight Server on the Linux machine and whenever you make changes to the project - deploy the updated .war, .wlapp and .adapter files to your installation on the Linux machine
Build the app with Build for Remote Server so that it will connect to the Linux machine instead of the local development machine
Step 3 above means you'll need to maintain 2 development environments, which is not so easy.
If you are during development, you should aspire for options 1 or 2; in other words, create a proper development environment. In Mobile, this requires public Internet access (usually).
Are you a stand alone developer, Business Partner or a Customer of IBM?