As part of a SaaS Enablement project we are currently working on for a customer using Oracle JET, a requirement came up to present an hierarchical data set – in a way that quickly provides an overview as well as allows access to detail information and the ability to focus […]
Frontend technology
Oracle JET – Filtering Rows in Table with Multiselect and Search Field Filters
A common requirement in any web application: allow the user to quickly drill down to records of interest by specifying relevant filters. The figure overhead shows two way of setting filters: by selecting from the [limited number of] existing values in a certain column – here Location – and by […]
Integrating Vue.js in ADF Faces 12c Web Application – using HTML5 style Document Import
Vue.js is a popular framework for developing rich client web applications, leveraging browsers for all they are worth. Vue.js has attracted a large number of developers that together have produced a large number of quite interesting reusable components. ADF Faces is itself a quite mature framework for the development of […]
Get going with Node.js, npm and Vue.js 2 on Red Hat & Oracle Linux
A quick and rough guide on getting going with Node, npm and Vue.js 2 on a Enterprise Linux platform (Oracle Linux based on RedHat Linux) Install Node.JS on a Oracle Enterprise Linux system: as root: curl –silent –location https://rpm.nodesource.com/setup_8.x | bash – and: yum -y install nodejs (in order […]
Using Vue.JS Community Component in My Own Application
In a recent blog article, I fiddle around a little with Vue.JS – Auto suggest with HTML5 Data List in Vue.js 2 application. For me, it was a nice little exercise to get going with properties and events, the basics for creating a custom component. It was fun to do, […]
Auto suggest with HTML5 Data List in Vue.js 2 application
This article shows data (News stories) retrieved from a public REST API (https://newsapi.org) in a nice and simple yet attractive Vue.js 2 application. In the example, the user selects a news source using a dropdown select component. I was wondering how hard – or easy – it would be to […]
First encounters of a happy kind – rich web client application development with Vue.js
Development of rich web applications can be done in various ways, using one or more of many frameworks. In the end it all boils down to HTML(5), CSS and JavaScript, run and interpreted by the browser. But the exact way of getting there differs. Server side oriented Web applications with […]
Server Sent Events from Node.js to Web Client – pushing user command line input to all Subscribed Browser Sessions
Node can push messages to browser clients, using WebSockets and the simpler Server Sent Events (SSE) mechanism. We will use the latter in this article – to push updates (event) to all subscribed browser clients. The browser loads index.html from the Node.js server. This file contains a JavaScript fragment that […]
Getting ADF Data in a Jet Component (2)
In my previous blog I explained how to get ADF Data in a Jet Component, this was done by iterating through a ViewObject and rendering a component per element in the View Object. When you want to use the DVT’s from Oracle Jet, this won’t do the thing, because you […]
Getting ADF Data in a Jet Component (1)
Oracle JET has been around for a while, and at this moment we are investigating what it would take to integrate JET with our existing ADF Application. In the current ADF application we want to make a dashboard in JET, however we still need to know for what project we […]
Node.js application using SSE (Server Sent Events) to push updates (read from Kafka Topic) to simple HTML client application
This article describes a simple Node.js application that uses Server Sent Events (SSE) technology to push updates to a simple HTML client, served through the Express framework. The updates originate from messages consumed from a Kafka Topic. Although the approach outlined in this article stands on its own, and does […]
ADF Faces Client Side Event Bus – Use ServerListener to engage Server from Consuming Fragment for programmatic Partial Refresh
In a recent article (Client Side Event Bus in Rich ADF Web Applications – for easier, faster decoupled interaction across regions), I proposed an approach for a client side event bus in ADF Faces Web Applications – as light weight, straightforward, simple alternative to contextual events. The article demonstrated how […]
Client Side Event Bus in Rich ADF Web Applications – for easier, faster decoupled interaction across regions
The challenge is well known: our ADF Faces Web application is composed of various taskflows that have been developed as stand alone, encapsulated units that can be used and reused in various contexts. These taskflows can have come from third parties, remote development teams, other applications are we may have […]
Executing command line scripts from the Oracle Forms client – using WebUtil
Our challenge: we are building the new ERP system – a pure HTML5 browser based application in Oracle ADF. This application replaces the current Oracle Forms based application. For more than a year and a half – the users will have a hybrid situation on their hands: some of their […]
Oracle JET – Refer to ViewModel from HeaderTemplate in ojTable – and easier debugging of KnockOut code
While developing a Oracle JET application against APIs on Oracle Service Bus interacting to JD Edwards and Oracle Transportation Management, we ran into a challenge. In the table (ojTable) that we had included in a page, we wanted to have column filters – fields in each column header where the […]
How to run a demo with Microsoft Hololens and share your screen
I was fortunate to use the Microsoft Hololens for a couple of days to experiment and prepare for a demo. Here are some practical tips for doing a demo with this device. This is a short instruction on how to use the Microsoft Hololens for demo purposes. For heavy usage […]
Revelation at Oracle OpenWorld 2016: MCS is Multi Channel Service (as well as Mobile Cloud Service)
While web applications and mobile apps are the common channels for user interaction, they are not the only ones. Oracle is recognizing that fact and as a result MCS (Mobile Cloud Service) is undergoing some changes that may earn it a new name: Multi Channel Service. MCS – launched in […]
Oracle’s portfolio for Custom Application Development – snapshot taken at Oracle OpenWorld 2016
Custom applications with a user interface can be categorized along various dimensions. Is the user interface a front end for a system of record or a system of change or innovation? What about the users: trained power users or very occasional visitors? What is the purpose of the system, such […]
Karma testing with code coverage for Oracle JET part 2
In part one of this series of blogs you set up the configurations needed to start testing your Oracle JET application. Grab the project you made, now it is time to actually do the testing. Have something to test. Our application is not really doing anything now, so let’s add […]
Karma testing with code coverage for Oracle JET part 1.
This is the first blog in a series of two blogs about Karma testing (with code coverage) for Oracle JET. This first blog will help you with setting up the files in the project to get karma up and running. The second blog can be found here and will show you […]
Reusing JET Composite Components in JET, ADF, MAX and ABCS – W3C Web Component Style
This is a short article about a big topic. About how JET Composite Components – small or pretty substantial – can be reused and integrated, not only in other JET applications (or components) but also in Oracle ADF applications and Application Builder CS. JET Composite Components are based on the […]
First steps in deploying Node.js on Heroku
Recently, I used Heroku to deploy a website in the great wide open! In this blogpost I want to tell about my first steps using Heroku, including the rookie mistakes I made: so you don’t have to make them. Heroku in a nutshell: “Heroku is a cloud platform that lets […]
Login with OAuth2.0 using AngularJS 1.5 componentrouter and Node.js
For one of my projects I need my users to log in to an 3rd party api (in my case strava) using oauth2.0 Framework of choice: AngularJS 1.5 in plain javascript, with the Angular 1.5 componentrouter. Since I have apikeys which I do not want to be known the the […]
Access the original calling context in a callback function in TypeScript
While working on my Ionic 2 application, I made use of the exif.js library (for extracting meta-data from image files). Some of the key functions in this library are called and passed a callback function that is invoked when the image has been analyzed. From this callback function, I wanted […]
Using and including a 3rd party JavaScript library in an Ionic 2 and Angular 2 [typescript] application
While working on a Ionic 2 (and Angular 2) application, I needed to make use of a 3rd party library (exif – https://github.com/exif-js/exif-js – to be exact, a JavaScript library for client side image analysis). This article describes the few steps I learned I had to go through in order […]
Creating (near) native mobile web app (aka progressive web app) for iOS with Ionic 2
It has been a long standing ambition of mine to create an app that I could run on my iPhone. This weekend I finally realized that ambition – in what turned out to be a surprisingly simple fashion. Using various tutorials, tips from colleagues and the Ionic 2 framework, I […]
Force Text to UpperCase in RichInputText as the user is typing (make sure the cursor stays in one place)
The challenge is simple: users of an ADF Faces web application are only allowed to enter uppercase characters into a field. We want to help them by turning any lowercase character they type into its uppercase equivalent – as they are typing. And we of course need to make sure […]
Using Angular2 on top of Oracle 11g
Adding Angular 2 to an existing ADF application Reality sometimes can be a bit surprising. The desire to build a new module using Angular 2 on top of an existing ADF 12.1.3 application for example probably wouldn’t be the first thing you would expect. But hey, with AMIS’ strong background […]
Intro into ServiceWorkers
The first baby steps.. This is the first of a three part blog series. Each of these blog posts explain a small part of the ServiceWorker API. In this part, we begin with the basics. Even though ServiceWorkers are still a ‘working draft’, they are here to stay. Firefox, Chrome […]
Caching with a ServiceWorker
Next up, caching.. This is the second part of a three part blog series. You can find the first part here. In this part, we will talk about caching. Ok, so we’ve seen: How to register a ServiceWorker What you can do to intercept an HTTP request How to answer […]
Navigating through an ADF editable table with arrow keys
For a client that uses a lot of ADF editable table I was exploring the possibilities of navigating through an editable table with the arrow keys. They often need to edit values in one column for all the rows in the table. The only way to do that now is […]
Introducing: The Client Side Event Bus in Oracle JET for decoupled interactions across templates, view models and modules with Knockout Postbox
Well organized exchange of client side events has been something of a holy grail for client side web development to me. I do not like these direct interactions between components that should not even know about each other. On the other hand – earlier this week I could not find […]
Master – Detail synchronization in an Oracle JET rich client application against a REST API
In a recent article (Extend Oracle JET with Table on REST API and Deploy to Node.js in Application Container Cloud) , I have described how I created a data bound Oracle JET application with a rich JET table component that reads its data from a REST API (that gets it […]
How to: Use Polymer Webcomponents in Angular2
This post explain how to use a polymer webcomponent in an Angular2 app. We use the google maps component as an example. For instructions on the demo app, see the bottom of this post. The files of the demo application: demoApp Getting started Open the files of the demo app […]
Extend Oracle JET with Table on REST API and Deploy to Node.js in Application Container Cloud
In this article, I will describe how I took the Oracle JET Sample application that I deployed to Node.js – locally and in the Oracle Application Container Cloud-and extended it with a new tab containing a table component that is data bound to a collection populated from a REST API […]
Setting environment variables using Gulp.
For the project I am working on we have three different environments, which have their own database and users. We don’t want this login credentials to be in our git repository, and we also don’t want to manually adjust the credentials every time we do a release to another environment. […]
Consuming a REST service from your ADF 12.2.1 application
With the release of ADF 12.2.1 in the fall of 2015, Oracle finally added support for declaratively consuming a RESTful web service that responds in JSON format. Until then, processing JSON from a rest web service was only possible using Java. The ability to consume and process the web service […]
Developing for and Deploying an ADF Web Application to the Oracle Public Cloud (DBaaS and JCS)
In several recent articles, I have discussed first steps with Oracle Public Cloud Services: First steps with Database (DBaaS) in the Oracle Public Cloud Opening ports for access to DBaaS instance from the public internet (and from on premises laptops!) Getting started with Java Cloud Service (JCS) on the Oracle […]
Dynamic table in ADF 12c
A while ago I decided to create an ADF page based on a dynamic table, and I found that, although there are quite some articles about the subject online, I still faced some challenges while implementing such a solution in ADF 12c. These challenges, however, can be solved easily when […]
Reflections after Oracle OpenWorld 2015 – Content & Process (or Collaboration & Engagement)
This article gives an overview of some of the most eye catching stories from Oracle OpenWorld 2015 around Process and Content, aka Collaboration & Engagement. It discusses Line of Business user oriented cloud services such as OSN, DCS, PCS and Sites CS as well as on premises products such BPM […]