Niklas Heidloff | 6:23:32 AM Tuesday, May 15, 2012 | Comments
I've just contributed two snippets that
show how to access StackOverflow and Redmine. In both cases you need the
com.ibm.xsp.extlibx.sbt plugin from the extension library, but you don't
need to deploy the web security store database.
There is an API sbt.GenericService that you can use to access both Json
or XML based REST services. Additionally there are convenience APIs sbt.XmlNavigator
and sbt.JsonNavigator to easily parse the data.
This snippet shows how to access issues from Redmine.
Additionally the social enabler comes with the data sources restJsonData
and restXmlData. The advantage of these data sources is that you get built
in functionality like caching. For StackOverflow this was important since
StackOverflow didn't like the amount of requests issued from XPages.info.
The following snippet shows how to read the latest xpages tagged questions
from StackOverflow. It also uses a busy indicator that is shown while reading
the data.
Niklas Heidloff | 6:11:50 AM Thursday, May 10, 2012 | Comments
Yesterday I described
how to bring up XPages in IBM Connections in fullpage mode. However this
solved only half of the problem. Since XPages are embedded in iFrames there
is some more work necessary so that the iFrames are resized when the sizes
of the browser windows change.
Watch this short
video to see what I'd like to achieve from a user experience
perspective.
Essentially the iFrame with the XPage should always take up the maximal
real estate. The width of the iFrame should be set to 100% in the widget.xml.
However when the height of the iFrame is set to 100% it doesn't work. One
reason is that XPages can change their heights, for example when the browser
window width is changed. Another reason is a timing issue. In order to
show the XPage an HTTP post is done which takes a moment. When the parent
sets the iFrame height initially it doesn't know the initial height of
the XPage.
In order to solve this I used the HTML5 window.postMessage functionality
which allows communication from the embedded iFrame to the parent even
if the two pages are not located on the same domain. I've submitted the
snippets to XSnippets.
I'd like to add some more samples and add everything then to the XPages
for Connections project.
Niklas Heidloff | 7:19:55 AM Wednesday, May 9, 2012 | Comments
I've worked recently on integrating some
XPages into IBM Connections. Last year I created a project
on OpenNTF that shows how to do this. Essentially the XPages need to be
wrapped in iWidgets (xml files) so that they can be added to the users'
home pages and the profiles and community pages.
When I did this again now I figured a problem when displaying the XPages
in full page mode. Below is a workaround for how to get it working.
Just to give you some more context: On the community overview pages widgets
are displayed in "view" mode with less real estate.
When you click on an entry in the left navigator the pages are opened in
"fullpage" mode.
In order to make this work you need to define your own iWidget xml descriptor.
The version generated by Designer does not add the full page mode. Here
is a snippet of an iWidget descriptor with both modes.
In order for the XPages runtime to understand the fullpage mode you need
to add three lines of code in domjs/dojo-1.4.3/ibm/xsp/widget/layout/xspScopeClass.js.
Update: Please read
this to learn how to resize the iFrame with the XPage automatically
when browser window sizes change.
Niklas Heidloff | 6:41:31 AM Wednesday, April 25, 2012 | Comments
In my last blog
entry I mentioned that I want to publish instructions for how
to use XPages in Worklight.
"It is currently not supported to point the Worklight app against
a remote web server, e.g. an XPage. However this is important so that XPages
developers can continue to use Domino Designer and the XPages mobile
controls to build the web parts of their apps. The Worklight team is aware
of this requirement. I spent some time to figure out what changes need
to be done to the Worklight app to make this work (at least for simple
scenarios) so that XPages developers can start playing with Worklight.
I've created a video with instructions that I'd like to publish soon."
So here is the video. Again, please note that this is not a supported configuration
at this point and I don't have answers regarding licensing yet.
Niklas Heidloff | 12:37:34 PM Thursday, April 19, 2012 | Comments
At the beginning of this year IBM acquired
Worklight,
a mobile application platform to build, deploy and manage HTML based mobile
apps, hybrid apps and native apps.
There is plenty of documentation describing Worklight, e.g. this deck for
a quick overview.
There is also a YouTube
channel with several good videos, e.g. "WorkLight
Overview", "Native,
Web or Hybrid Mobile Apps?" and "Using
PhoneGap and Worklight for Mobile App Development in the Enterprise".
Additionally there are more
videos on Worklight.com as well as product
documentation.
The general concept of Worklight is to build as much functionality of mobile
apps as possible with standard web technologies. Only if web technologies
cannot be used native code is used in hybrid apps. I think this brings
together the best of both worlds. The same general idea is used by the
open source framework PhoneGap.
Worklight comes with PhoneGap but extends it by providing more functionality
like push notifications, encrypted storage, manageability, etc.
At this point Worklight requires developers to put all web resources (the
one HTML file plus JS files, css, etc.) in the native/hybrid app. These
web applications can then talk to server backends using an adapter
framework. So this configuration can be used by Domino developers
who want to access data from NSFs using the Domino REST APIs.
It is currently not supported to point the Worklight app against a remote
web server, e.g. an XPage. However this is important so that XPages developers
can continue to use Domino Designer and the XPages mobile controls
to build the web parts of their apps. The Worklight team is aware of this
requirement. I spent some time to figure out what changes need to be done
to the Worklight app to make this work (at least for simple scenarios)
so that XPages developers can start playing with Worklight. I've created
a video with instructions that I'd like to publish as soon as some more
people will have reviewed it.
This will open up great capabilities for XPages developers:
- Mix
and match of native and web pages
- Invocations
of native code from web apps
- Push
notifications
- Offline
access
- Encrpyted
cache
- PhoneGap
out of the box APIs as well as PhoneGap
plugins
- Common
controls
Niklas Heidloff | 6:35:09 AM Friday, April 13, 2012 | Comments
Jerry Cuomo is an IBM Fellow and the WebSphere
Chief Technology Officer. I watched the other day a great presentation
from him about technology trends for 2012. Fortunately he's published a
lot of this presentation on DeveloperWorks and Facebook so that I can share
this.
Jerry gives an overview of the top 10 trends for 2012 as he sees them in
his blog.
From there he links to different Facebook
pages for details and to allow interaction. There is also a complete
paper based version.
The reason I blog about it is because some of his trends are closely related
to what I'm working on.
For example one of his trends is Social
Business. I won't repeat everything Jerry writes here, but just
the fact that it's on his list shows the importance of social business
for IBM overall.
One area I worked on some time ago and would like to work on more again
is Mobile
which is another one of Jerry's top 10 trends. Jerry talks about an IBM
Mobile platform for both mobile web apps and native apps: "While we
aspire to provide a development experience of write-once, run on many devices,
using open web technologies, like HTML5 and JavaScript, we also know we
must provide value for customers writing native applications as well. Hence
our Mobile Technology includes an IBM component that installs on the mobile
device, providing a growing number of value-added capabilities." In
this context I've spent some time recently to learn Worklight.
Expect some blog entries about this soon.
Another app dev related trend is Business
API Management. I blogged
about this some time ago. From Jerry: "This trend is about harnessing
Web APIs to grow your business. As the web expands beyond just the browser
to mobile phones and connected devices (like your next car, for example!)
there is a need for solutions that can help your businesses cope with this
exponentially increasing demand for services and data on the web."
Niklas Heidloff | 7:27:41 AM Tuesday, March 20, 2012 | Comments
Several people have asked me why IBM uses
the Dojo Toolkit
as the client side JavaScript library and not other, maybe more popular,
frameworks like jQuery. My colleague Chris Mitchell explains this very
well in this short video. Essentially Dojo is focussed on enterprise applications
as opposed to consumer facing web sites. The Dojo toolkit is a big package
of different pieces of functionality which are treated as a whole with
a common versioning, licensing and testing. It also provides functionality
like accessibility and globalization.
There are some more videos on DeveloperWorks
about mobile topics. For example in this video
Chris provides an overview of the Web2.0 & Mobile Feature Pack.
Another question people ask me is why IBM invests into PhoneGap.
My colleague Bryce Curtis explains this and the IBM engagement in PhoneGap
in this video (starting at 12:10 min). PhoneGap allows building hybrid
mobile apps using the web application development model. As opposed to
other mobile frameworks it supports all standard techniques (HTML, JavaScript,
CSS, etc.) and not only JavaScript APIs paired with proprietary UI models.
Niklas Heidloff | 1:21:32 PM Tuesday, March 13, 2012 | Comments
In case you missed the announcement yesterday.
There is a new a new community, and an accompanying set of integrated product
demonstrations, designed specifically for IBM business partners.
IBM Business partners can download these
pre-configured and ready-to-show demonstrations:
- IBM WebSphere Portal
- IBM Connections
- IBM Sametime
- IBM Quickr
- IBM Domino
- IBM Traveler
- IBM Forms
- IBM Web Content Management
To get started, visit the partner Demo Community @ http://bit.ly/ICSDemos.
Niklas Heidloff | 9:38:08 AM Monday, March 12, 2012 | Comments
Recently I've read some interesting articles
about Web APIs and how they open up new business opportunities. The resources
below explain this much better than I can, but in summary the web has become
more than surfing to pages via browsers. Instead web APIs often cause more
traffic to sites than direct page visits.
An example is Twitter.
Twitter gets 10 times more traffic through APIs than the website. Another
example is Amazon
who also get more traffic through their web services than the website.
programmableweb has among other things a directory of web APIs. The growth
of web APIs is amazing. As of today they list 5339 APIs.
I like how Sam Ramji describes this new era in this great video:
I started to read two blogs where you can find a lot of more details about
this topic. The apigee
blog has not only great articles but also several webinars/videos.
The other blog is the programmableweb
blog.
In order to consume these web APIs in XPages you can use the Social Enabler
which comes with the extension
library. There is a video showing the social enabler in action.
Niklas Heidloff | 8:19:02 AM Monday, March 5, 2012 | Comments
Recently I visited the IBM business partner
IT works unlimited.
They use the XPages
Mobile Controls from OpenNTF for some of their projects.
One reference is the customer KG
Deutsche Gasrußwerke. Read the success
story.
IT works unlimited told me that the apps have been developed with the older
version of the mobile controls from OpenNTF since the projects started
before the newer version of the mobile controls in the extension library
became available but they thought that the new version would have made
it even easier for them.
Additionally they have built a free app for iOS which can be downloaded
from the Apple
app store. This launcher app allows storing the Domino password
locally (AES256 encrypted) so that users don't have to log in for every
mobile Domino app and iNotes.
 .
|
|
|