This is Part 3 of a series of videos that illustrate our solution to implementing CKEditor 4 in our XPages application. You can find links to all of the videos in Part 1. In the last video I showed how we were transferring the content of CKEditor 4 into an XPages control. In this video I show how the copied HTML is saved into the document as MIME which is really what you're after when im[...]
This is Part 2 of a series of videos that illustrate our solution to implementing CKEditor 4 in our XPages application. You can find links to all of the videos in Part 1. In this video I show the technique we used to transfer the HTML content from the CKEditor into a standard XPages Multiline Edit Box control. The technology behind this is something those of us in the business call "Java[...]
Russell Maher wrote a very interesting article about using CKEditor 4 in XPages, but the current solution requires to change to HTML files directly on the server.
Last Fall we needed to implement a better rich text editor for iPad users and found CKEditor 4 addressed the issues we had with the currently installed CKEditor and also met our needs. This series of videos provide a look into the technique we used and the steps required to make it work.
In the last post, I showed how to create and move DOM elements dynamically. In this post, we’ll look at a great use case for that functionality — using loading images to improved the perceived responsiveness of the page.
Today I wanted to add an attribute to the <BODY> element of my XPage. After some testing I found a solution by overwriting the method encodeHtmlBodyStart. To do this, you have to extend the class ViewRootRendererEx2
The first challenge in my Life Without xPages was to get at my Domino data. With the Domino platform that is not really an issue as there are many ways to get data, and by data I mean JSON. If the web were a country, JSON would be the coin of the realm!
Since introduction of Headless designer tech-preview in Domino Designer 9.0.1 many people started to think about build automation. Now is time to try it with Jenkins - popular free build automation server.
With the Optimized Partial Refresh you can do a lot of nice things: If only a part of the form is sent to the server, only this part of the components in the JSF component tree will be processed. This means that only submitted values are applied, coverted and validated, which can result in less server usage and a better performance.
Inspired by the last post of Mark, I have created a small CSJS snippet which allows to optimize the behaviour of a Partial Refresh.
With the last version of the OpenNTF Extension Library (Version 9.0.1.v04) the community released yet another milestone of a modern framework for application development for our beloved platform. In this release the "Single Page Application Wiazrd" was just put to the next level that makes it much easier to create a mobile intrerface for "legacy" Notes applications with just a few clicks - without any coding at all!
Marky Roden has published an excellent post on the difference between what’s good for developers and what’s good for users over at his Xomino blog. I wanted to give my reply due consideration, and spent a bit of time thinking about why there’s this dichotomy of interests. And I ultimately realized that in order to do the topic justice, I would have to develop both solutions and compare.
Most developers (certainly myself!) are lazy. We look to re-use code and write the briefest code we can. Sometimes it backfires!
In a previous post I discussed the problems with using jQuery selectors in an xPage. I wanted to make a simple function to overcome the issue in xPages. The crux of the solution is to create a jQuery object representing the dynamically created xPage input field id
In the last post, we looked at changing the styles and classes of DOM elements dynamically with Dojo. In this post, I’ll show how you can move elements around on the page and insert new elements dynamically. Both of these methods are available without including any additional dojo modules in XPages. Moving DOM Elements with […]
In this article I will discuss the potential issues of using using a Partial Refresh in XPages and how developer addiction and dependency on it is bad for users. This is the hardest blog post I have written – and I have written and destroyed it about 5 times before this one. Too many times I have come across what I consider to be poor design choices. I am always motivated to write when I am annoyed and rant and whine about how the over use of Partial Refresh is easy for XPages developers and bad for users.
I had an XPage project where I needed to call some web services to get some information and after reading on different blogs my hopes of getting this to work was almost null. But sometimes knowing your history helps and I remembered how I started to create subforms using dxl for several years ago and that almost everything is stored with in the design note. So I started to think, does the built in web service consumer create the code inside the design element and yes it did. Great!
Paul Hannan has uploaded a new release of the XPages Extension Library. "This release is the fourth IBM Notes Domino 9.0.1 version of the XPages Extension Library (ExtLib) to OpenNTF.
We recently saw how to select DOM elements with dojo.query(). In this post, I’ll show how you can change class names and styles of the selected elements. Adding and Removing Classes If you have classes already set up in style sheets, you can use dojo to easily add or remove class names.
How are you handling exceptions in your web applications? Does your team have a strategy or do you just deal with failures as they come up? If you’re like most development teams, you just deal. Whenever something breaks, it’s an emergency. Customer runs into a problem, you get called in. You dig through the logs to quickly find the culprit and you look like a hero.
To access the event parameters of an event within your actionListener, you have to access the source object of your actionEvent object. When doing the same for an action, you have to access the UIComponent from the actionEvent. This blog post contains example code.
I got a new job last summer and it’s been quite a culture shock. First shock, huge Domino infrastructure. Second shock, even though they have Domino 8.5.3 servers, no xPages.
One of the most popular Connect 2014 sessions from the Application Development track is AD503: XPages Mobile Development in IBM Domino 9.0.1 and Beyond. In the presentation, speakers Eamon Muldoon and Tony McGuickin from IBM take attendees through building and debugging XPage applications for the tablet and smartphone.
Part of my gamification methodology is to create as interactive of a user interface as possible to deliver an adaptive user experience to the customer. This helps with onboarding and educating a user to a new process or new business logic without the need to bring them into a classroom or create formal training.
I’ve been doing a lot of development here lately implementing and tweaking a REST service for redpill Now to get some better performance from the service. During this evolution I’ve come to a few conclusions about how best to handle the delivery of data via a REST service and thought this might be useful to others.
In the OpenNTF API chat, I was reminded yesterday of how terribly broken DateRange retrieval is in Java. Specifically, though you can create date ranges and use them in view lookups, retrieving them from documents or view entries is FUBAR.