- Technology White Paper
- Getting started with your first application
- What's New in IBM Worklight v5.0
- Worklight Development Environment Installation Guide
- Worklight Installation Forum
- Worklight Developers Forum
- Worklight App Center
- and finally, the user documentation
Social Collaboration and Mobility
Penning my thoughts specially for the IBM Tech Forum 2012 participants.
Worklight v5.0 .. there has been quite a buzz in developer community since it's release last month. So, what is it? Just another tool - nah! It's actually a platform that covers the mobile app development that includes app dev tools, app management tools, a dev environment and a standalone server to test apps.
There is a developer edition that's free to download to play with and get started. So, what are you waiting for? Probably, how to get started? For sure, there are hordes of links on the web to get you started with, though, here's a ready reckoner for readers:
All thoughts are of my own, and doesn't relate to IBM or any of it's intention. All copyrights are trademarks are of the respective owners.
vtiwari4 27000466DJ 978 Visits
vtiwari4 27000466DJ 620 Visits
This is Mervin Thomas from Maarga Systems. In this blog, I am answering the questions which were asked during the following event, which happened on 2nd May 2012.
You can see the presentation and demo link here.
The Questions and answers follows:
Can we use lotus script in an XPage, If so, how
We cannot directly code LS in XPage, but the code you wrote in Lotus Script agents can be called from XPages. Make sure that you do not have any UIclasses inside the Lotus script agent as this wont be supported by Xpages. You have a variable named 'database' which represents the notesdatabase class.
var ag:NotesAgent = database.getAgent("agentName")
Here if any parameters need to be passed to the agent you can pass it through the document.
If you have UI code in your existing agent, you will have to refactor or separate UI or split to separate functions.
Is XPages close to java technology?
Yes. XPages is built on JSF framework and hence it is very much similar to Java. Still we can have Lotus Notes agents (as mentioned in previous answer), We can use Notes classes in Java and SSJS as well. In SSJS, we can also use the formula language. You will be able to see the XML code which is the source, but on a build(like compilation) these will be converted to .java files. The Xpages editor is also based on eclipse editor. Here,please note, Xpages are case sensitive
How do we integrated thru Rest ?
You can integrate to REST using extension libraries. more information can be found on openNTF and extension library
Please see more details here : http://www.openntf.org/blogs/openntf.nsf/d6plinks/NHEF-8JGGPE
How easy it is in XPages to do relational database connectivity?
it is pretty easy. we have been connecting to sql server for 1 of our client. Their data is stored in SQL server we use to connect to them, even as images, and that are pushed to portal. This link explains you one of the method http://www-10.lotus.com/ldd/ddwiki.nsf/dx/xpage_integration_rdb.htm. I will share an other link from Paul Calhoun (http://iamlug.org/iamlug/IamLug2010.nsf/0/4157F9B285855BEC8625770F0053CA57/$FILE/iamlug.xml.jdbc.xpages.calhoun.pdf) if that helps.
How does 8.5.4 /Social edition play role in Lotus Live /Cloud?
Can we put the XPages applications on Cloud/LotusLive? If yes .. how?
From a cloud perspective, we have the ability to provide a domino server in the cloud and run xpages from there. IBM launched Smart Public Cloud Platform for Business in Q2 2011. Niklas Heildoff said his blog runs on IBM smart cloud. He has also mentioned how to set up instance and to connect to it. Please see this link : http://heidloff.net/home.nsf/dx/04122011020116AMNHE93V.htm
8.5.4 is expected to release on Q4 2012. Currently we are in 8.5.3
Can we export and importXPage using DXL or any other method?
In the source tab of the XPage itself, you can see the XML. You need not export or import. You have two tabs, design and source tab. Design tab you design the custom controls and in the source tab you can see the generated XML. In this case, you do not have to import or export to DXL. if you copy an XMLfor a control from some other XPage and paste it in source code tab of your XPage, you will be able to see the change in your design(this is recommended only for advanced developers).
How good is XPages from performance standpoint?
Performance is very better compared to traditional notes in web. It again depends on how we design our application. For instance, we had a view with large number of documents, which took a lot of time to display. And when the view was made as purely back-end view, the performance improved drastically. There are other performance parameters as well. HTTPJVMMaxHeapSize in your notes.ini is one of them. You can increase them to a reasonable level.
There are new techniques which we can use from extension library and open NTF, but how you put it together really matters. In a normal notes application, if you add a date field to the view, it can slow down your notes application. Similarly in XPages, we have DOs and DONTs. DOs increase the performance while DONTs decrease it. It is now possible to very clearly pin point what and how things are happening. You have the http server and different methodologies to see how well your application is performing, which XPage is loading slow and which code is taking too much time in the browser as well as server.
Do we have any tool to migrate the existing LN Notes/Web applications to Xpages.... if not any standard guidelines?
What will be the impact while converting existing notes client application to xpages?
No tool migrates your notes to XPages 100%. Most of them can change your design to a good extent. where as you will have to refactor the programming side tailoring to your platform.
GBS has come with a tool called Transformer. Maarga has a XPILOT/XFactory methodology which include tools that can accelerate the processes to migrate to XPages.
About guidelines I would say: have good coding standards, write scalable and maintainable code,have configuration documents instead of hard-coding and design UI based on your platform. If you develop for multiple platforms, plan your UI upfront
Is XPage for notes client, web or for mobile?
Xpage is 1:4. You write the application once and you can call it from Notes client, Web browser or mobile platforms. When dealing with multiple platform, concentrate on your design. Width of ipad is not the same as width of an iphone or android. And again landscape and portrait mode differs. Where as orientation change is not in browsers or notes client. For this you can write device specific codes as well. You will be able to identify in which platform you are running from the getUserAgent() method in the context.
Can we embed Xpages in forms?
I do not find a need to embed xpages in forms. Xpages as a whole runs in Notes client. If you are trying to preview the form in browser or client, you can try encoding the url of the xpage to a container.
Can we integrate Xpages with external databases and use it with DECS, LEI, DCR & LS:DO?
DECS and LEI are methods to transfer notes data into RDBMS. Most well designed applications would have these transfers isolated from UI. If so, then the existing code can be easily reused for XPages application as well. Instead of DCR and LS:DO there are other methods for connecting Xpages to RDBMS.
A 100 year old company. A 60 year old venue. A collaborative event to make the best out of XPages - the latest in Lotus technology.
Presenting IBM XPages Code-a-thon.
We were five developers from different backgrounds and organizations putting our coding skills to test. After an initial puzzle session to energize the grey cells, we sat through a brainstorming session to list out the possible ideas to collaborate on. We, and the members of the organizing team, put forth ideas that we hoped would materialize post the event. After an hour of discussion and weeding out the not-so good ideas, we judged the Social Profile Aggregator as the winner. We saw a lot of potential in this idea because of the utilities that it had to offer.
Machines were set in place and software was installed. We gulped down some coffee and began coding.
We put together the architecture of the entire app and designed a workflow. We zeroed in on LinkedIn, the professional network and divided our tasks. After two days of hard work and camaraderie, strangers had become co-creators of an app!
Can't thank IBM enough for giving us this opportunity to learn, code and experience.
The app can be downloaded here: http://ibm.co/I8T7QV
Prem Piyush Goyal
India Software Labs
IBM India Pvt Ltd