XPages Goes ResponsivePadraic Edwards | 2 weeks ago | Comments
As was recently announced, Bootstrap is
now part of the OpenNTF XPages Extension Library, added in release 10.
The ExtLib includes a new plugin that contains Bootstrap 3.2.0, providing
new renderers for the XPage core controls, the ExtLib controls, and two
new Bootstrap themes. An added benefit of supporting Bootstrap is
that the ExtLib now includes jQuery 2.1.1, giving XPages developers the
power to use jQuery in their apps as well.
As most XPages developers know, Responsive Web Design has become an essential
part of the web development world. Not only does it allow developers to
build an app which delivers an appropriate form factor for everything from
a desktop browser to tablet to smartphone, but it also delivers a more
modern looking UI. Bootstrap is one of the most popular responsive frameworks
and there has been a lot of blogging about how to use it in XPages applications
in recent times.
In 2013, the Bootstrap4XPages project was released on OpenNTF, allowing
XPages developers to create Responsive applications by installing a Bootstrap
library. But now that Bootstrap is part of the XPages ExtLib, it is easier
than ever to use Bootstrap in XPages. So, go get the latest version of
the XPages Extension Library (v901_00_10) and get responsive!
To get you going, Brian Gleeson from the XPages team in IBM has created
this video about making your XPages apps responsive:
Latest Release of Extension Library Brings Bootstrap, jQuery, Responsive Design and MorePaul Withers | 1 month ago | Comments
For the XPages community, this week has
seen some significant announcements and releases on OpenNTF. Indeed, I
don't think it's hyperbole to say this is the most significant addition
of functionality since the Extensibility API and the Extension Library
itself. Covering everything was a webinar yesterday reviewing progress
on the Extension Library this year. If you missed it, the webinar is available
Library was at the core of the
announcements. The latest release has come hot on the heels of bringing
the RDBMS components from ExtLibX into the core Extension Library. This
release brings another significant project into the core, namely Bootstrap4XPages
to offer responsive web design. It uses Bootstrap 3.2.0 and jQuery 2.1.1,
although jQuery can also be used without needing to use a Bootstrap theme.
One point to note is that in the current release the Select2 control is
not included, but this release of the Extension Library can co-exist with
Bootstrap4XPages. This all means extension to the Application Layout wizard.
On top of all this additional functionality, there are about 100 bug fixes.
The most significant announcement around
the Extension Library is that the source code is also available on GitHub.
This is significant because it is now easier to fork the Extension Library
code AND merge in changes as and when they're released. Not only that,
but pull requests can be submitted, allowing the community to get involved
in fixing and enhancing the Extension Library. The slide outlining the
process is below.
But there has also been a significant
change in the structure of the project, namely using Maven as a build management
system for continuous integration. This means the Eclipse projects that
comprise the Extension Library have been reorganised and need to be installed
in Eclipse differently. It also means that an additional package of the
Domino runtime jars needs to be available.
This is the reason behind the other
major release on OpenNTF this week from the IBM XPages developers, namely
Domino Update Site for Build Management.
And as that wasn't enough additional functionality, there will also be
another project coming soon to OpenNTF to allow localization translations
to be processed and submitted.
Hopefully many developers are already
familiar with plugin development, but many will not be familiar with Maven.
So it's worth taking a few moments to cover how to set up your environment.
1. The first step is to install Eclipse
for RCP and RAP Developers. The
good thing about Eclipse is you can install multiple versions. I'd strongly
recommend the latest version, Luna, because the relevant Maven plugins
are automatically installed.
2. Install XPages
SDK for Eclipse RCP project from
OpenNTF into Eclipse. This is an Update Site, so it's the same underlying
process to install in Eclipse as it is to install the Extension Library
(or any other OSGi plugin) into Domino Designer. The main difference is
that instead of File > Application > Install, you select Help
> Install New Software.... Once installed and Eclipse has restarted,
you will need to point to your Notes and Domino install locations in Window
> Preferences, ensuring the tick is enabled to automatically create
JRE. Then switch to the Domino or Notes JRE, changing the compiler settings
when prompted to Java 1.6. By choosing the relevant JRE, it can be used
for debugging and compiling OSGi plugins. Without it, any use of Domino
classes (e.g. Session, Database etc) would throw errors.
3. In Preferences, go to Target Platform
and click Add. Select Template and choose Domino Install Target
or Notes Install Target.
3. Download the IBM Domino Update Site
for Build Management and unzip it to C:\UpdateSite. If you can't
unzip it to that location, you can unzip it to a different location. But
you'll need to amend any references in projects to it. The only one for
the Extension Library is in pom.xml in the com.ibm.xsp.extlib.parent project.
4. For building in Eclipse you will
need some additional plugins for Maven and Tycho. The good news is all
you need is already installed in Eclipse Luna or gets installed when you
install the Extension Library.
Now you're ready to debug or extend
the Extension Library.
5. Open the Extension Library on GitHub.
6. Click the Fork button and fork into
a GitHub repository of your own.
7. Pull down a local repository from
your GitHub repository. Most Domino developers use SourceTree
for interaction with GitHub. You can clone a repository and point to the
URL of your GitHub repository.
8. Import the plugin projects into Eclipse.
There is a significant difference for importing any plugins that use Maven
(they're easy to spot because they will include a pom.xml in each plugin).
You need to select File > Import, then choose Maven > Existing
9. When prompted to setup Maven plugin
connectors, do so. These are the tycho plugins required for Eclipse to
kick off the maven build process.
10. To build, just right-click the com.ibm.xsp.extlib.parent
project and select Run As > Maven Install. All projects in the
Extension Library will be built directly in Eclipse.
notes.jar is a restricted jar file.
So if it's not already been changed, you will need to go to Window >
Preferences and go to the Java > Compiler > Errors/Warnings
and in the Deprecated and restricted API section change Forbidden
reference (access rules) from Error to at the highest Warning.
OpenNTF at November User GroupsPaul Withers | 1 month ago | Comments
Next week two board members, Christian
Guedemann and Nathan T Freeman, will be representing OpenNTF at DanNotes.
On Wednesday 14:30 Christian and Nathan will be presenting a session together
entitled "OpenNTF and open source for developers", detailing
plans for OpenNTF over the year to come.
On Thursday, there are three more sessions
by Nathan or Christian:
09:30 OpenNTF, Graphs, and Revolutions
by Nathan T Freeman
Problem: Your Domino domain has thousands
of isolated data silos with unstructured documents, increasing index demands
and limited data types. Solution: The OpenNTF Domino API can flatten your
entire Domino environment into a single Graph database, enforcing schemas,
eliminate views, and allow almost unlimited data types, turning your Domino
servers into a secure enterprise data service. All with free, open source
software and all right now. Come see how you can join this revolution.
11:30 Developing for Developer -
The art of plugin development by Christian Guedemann
XPages development is becoming more
and more common and commodity. But there are new ground to claim and the
extensibility of the XSP platform allows developer to develop for developers.
But how to start? What are the common pitfalls? And how to build an extension
that has an influence to the community? Lets have an open and interactive
discussion according the approach that we have taken for POI4XPages and
the XPages Toolkit.
13:30 "It worked before"
– JUnit Testing in XPages by Christian Guedemann
Writing clean code is a form of art.
Writing clean code that works, is the high target. But how can I be sure
that my last change not affects functionality of existing code?
Test-driven Development (TDD) is a way
of developing application that covers this ground. Thanks to the new org.openntf.junit.xsp
plugin, this way of developing application is now available for XPage developer.
Learn how TDD can be used in XPages
projects and why the use of TDD has a positive effect of the presenters
work-life balance. Get first hand experience how TDD has worked in a huge
project and how the employees could be engaged. Get inspired to use TDD
in your next project to produce clean code that works.
OpenNTF will also be beer sponsor at
DanNotes, a first step in raising the profile of OpenNTF at user groups.
So any attendees wanting to learn more about OpenNTF, find out how to become
more involved in the community or wanting to discuss OpenNTF should seek
out Christian or Nathan. Per Henrik Lausten, who recently stepped down
as board member but is still involved with the community, will also be
attending as one of the organisers of DanNotes.
It has been a busy week for User Group
meetings. Christian has been speaking about OpenNTF at SNoUG, the Swiss
Notes User Group. Christian spoke on test-driven development at DNUG in
the developer track. That track was managed by Oliver Busse, who recently
joined the OpenNTF board. Also speaking at DNUG was Niklas Heidloff, another
former board member.