ibm portlet 8.0 (JSR 286) device detection - portlet

I've been working on a IBM portal 8.0 and JSR 286. My requirement is to detect whether the request is coming from a PC Browser or Mobile or Tablet. I'm not using Web experience factory. It is just basic portlet project.
Please someone suggest is there any way (any helper classes or any other mechanism) for the device detection in IBM Portlet 8 (JSR286).

You can use jQuery in your portlet's jsp to detect the type of device. Otherwise there are other options available at detectmobilebrowsers.com

Related

AEM- IOS app integration

I have an IOS app which I need to integrate with AEM. Can anyone guide me, how to do it.All I can see with adobe documents is to use phonegap and build app using it.
There are 3 things you can do:
Build a native app the queries AEM server and gets content as needed. In this case you might want to expose certain rest services for your app to consume.
Build app using the AEM mobile library or phone gap - for this you will have to create an new mobile app in AEM that uses angular JS and phonegap enterprise to build your app. In this case AEM allows you to manage the content independently
https://github.com/Adobe-Marketing-Cloud-Apps/aem-phonegap-starter-kit - this is a good starting point for it. Checkout the code and run the maven command. It will build a phonegap app for you that you can build by configuring PGE in the build configurations
You can use AEMMobile. Primarily targeted towards creating independent content like magazines and catalogues for your site. AEMMobile is a fresh take at Adobe's Digital Publishing Suite. Here it allows you to create a website without having to write any code. Everything happens on the AEMMobile portal

Worklight integration to IBM Forms

Is it possible to integrate Worklight hybrid apps to IBM Forms ?
Or is it at least possible to invoke a remote web page url during (not startup) app usage and return to the app on completion using some page events.
Btw, I'm aware of the Forms -> Portal -> Worklight integration. But that too seems to be when the entire app is just a container for the Portal web application.
Regards.
Not sure exactly what is supposed to happen after you "invoke the remote web page", so w/out knowing this I can think of right now two approaches:
Use Cordova's InAppBrowser to open an external URL w/out exiting the application
See this training module: Integrating server-generated pages in hybrid applications (sample app)
There are a number of different ways to include/launch server side content in a Worklight app. The challenge is always communication between the Worklight app and the server side app.
Putting the server side content in an IFrame allows message passing between the server based app and the worklight app, but IFrames work very badly on mobile platforms. You end up with all sorts of scrolling, layout and scaling headaches.
If direct communication isn't required, then there are a number of options that are fairly easy to implement. I have a blog post looking at different methods of including server side content in a Worklight app here.

wikitude architect framework

Does anyone know how to load the actual architect.js file. In tutorials there is a script tag with the value of source attribute equal to "architect://architect.js". What kind of url is that? Apparentrly a web browser cannot load it.
The architect:// protocol identifier is used only when running in Wikitude World Browser, ARchitect Mobile Viewer or within the SDK. It fails in a desktop browser, which is the expected behavior.
If you want to try/test/debug your ARchitect World in the desktop browser you will have to include the ARchitect Desktop Engine (ADE) which can be found at ADE/ade.js.

Native Mobile browser based apps

Wondering if someone could point me in the right direction, as I am unsure of the correct terminology. I am looking to create a mobile website, which loads in a browser based application (iPhone, Android).
I have seen this done before. For example, the bank of america application is actually installed via the App Store, however, it is simple a browser window that loads the Bank of America mobile site (which is built to look and function like an app).
I find this to more cost-effective, as developing a mobile app is less intense, as opposed to developing applications for 2-3 different mobile platforms.
Can someone provide insight into the terminology or methods used to accomplish this? Looking for articles, examples, etc.
Thanks in advanced!
I would suggest to use IBM Worklight.
Worklight is an Eclipse-based visual development and server platform for mobile apps. Using Worklight and popular open technologies, you can build, test, deploy, and manage your smartphone and tablet apps for iOS, Android, Blackberry, and Windows Phone devices, with maximum code reuse and per-device optimization.
Worklight supports open technologies such as HTML5, CSS3, JavaScript, Apache Cordova, and popular JavaScript frameworks such as jQuery, Dojo Mobile, and Sencha Touch.
Worklight offers extensive runtime libraries and client APIs that expose and interface with native device functionality.
Worklight includes a browser simulator so you can test and optimize the user experience of your mobile content on varying mobile devices.
Worklight consists of an IDE (Worklight Studio), a Java-based server, device runtime components, a web-based console for managing deployments, and an application center.
for more info see
http://www.ibm.com/developerworks/mobile/worklight/getting-started.html
Take a look at PhoneGap or Appcelerator, two of the bigger names in this "native wrapper" technology.

Lotus Native Application on iPhone

How can i make a lotus application an iPhone native apps?
For e.g: eLeave.
The submit or approve action button in the form was created using lotusscript. So how can it work in iOS ? I have no idea how can i extend my lotus application to an iPhone Native Apps. Someone had suggested to use either SOAP or REST via HTTP to communicate between iOS and domino. But i don't even know what can i do with SOAP in my apps.
Pls help.
The suggestions along the lines of SOAP or other HTTP-based access to the data are correct. Since you can't just port a Notes app to the iPhone (for a variety of reasons) or use the Notes Java API classes (since the iPhone doesn't have Java), some form of HTTP access is your best bet. Either traditional Domino web access via forms or XPages are most likely the best way to go, since then you can write your UI in Designer. If you don't want to or can't do that for whatever reason, you're on the hook for writing the UI for your iOS app separately and then connecting to Domino via Web Services or REST functionality.
SOAP Web Services are probably what you want. They have the advantage of being supported directly in Designer - you can create a Web Service Provider in LotusScript or Java in much the same way you would write an Agent or Script Library. You would have to write methods to access and update the data you want, but it would also mean you have full control over what happens. You could re-implement your form-submission code as a web service call that takes the changed data as parameters and then does whatever manipulation you want and creates/saves the document.
It does depend on the version of Lotus/Domino you are running. This could be a start XPages Mobile Controls I am not sure about the "native"here. This is XPages, web based.
Based on your comment, I know of one native application TSAzr. This application uses XPages as web-services on the domino server. A bit more info can be found here dominoGuru
Your follow-up suggests that a mobile-optimised web application will not cut it, and that you want a native application. This means writing a new iOS application, end of story. There are different ways to go about this of course—e.g. you could build a web app and then wrapper it using something like Appcelerator Titanium, or PhoneGap—but ultimately, you need to write something.
As #Jesse Gallagher has already stated, Notes applications can't be ported directly to an iOS device. Apart from anything else, a Lotus Notes client application is a proprietary data store (NSF) sitting within a C and C++-based client built and compiled for the relevant underlying platform (Win or OS X). There is no direct analogue for iOS other than re-coding your app (of course, you could re-use the existing Lotusscript business logic via web service calls, as detailed in earlier answers).