Skip to main content

Posts

Showing posts from 2018

How to use node-red to interact with twitter

Recently I had to setup an application that was able to read twitter and, based on some predefined keywords,  had to reply to specific tweets. I decided to have a look at node-red to set this stuff up. It proofed to be rather straightforward and easy to implement. The hardest part was to get approval for a twitter developer account. In this post I describe how I used node-red and how I implemented the interaction with twitter.
What is node-red, and how to use it? Node-RED  (https://nodered.org/) is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.  You can use node-RED in many ways, but for the purpose of this demo I decided to run it in a docker image. I used the way described here (https://hub.docker.com/r/nodered/node-red-docker/), as this is a no…

Chatbots: What time is it?

Just a short blogpost describing a solution that I needed for the bot that I'm currently developing. This bot has a typical requirement doing different things during office hours and after closing time. As such I need to know when the user is invoking the bot. Here's how I ended up doing this.
What time is it?The developer guide has a section on how to use Built-In FreeMarker Date Operations (see resources below). That is a very resource. I started with using the 'now'  variable, combined with date time. That should return me exactly what I want.
So in oBotML that looks like:
Unfortunately when I use 'now' to get access to the date-time, it will return the date-time of the server that hosts the actual Bot. This means I cannot use that date-time because it is not the correct date/time of the user's location.
After doing a bit of research, I found that the profile property enables your bot to recognise a user’s name, local, and local time. 
Although the developer…

JET 5.1: How to integrate a chatbot in your JET application.

Recently I have been working on a customer chatbot project. Although it was not a direct requirement, I decided to look into embedding the chatbot in a web application too. You will never know what the future brings. It struck me that is I could not find any blogposts related to this topic. The only thing is a youtube video by Oracle PM (see resources below) describing how to do this.

There can be several reasons as why this has not been blogged about:
Nobody is doing chatbot integration in a Javascript UI yet.Oracle Documentation is clear enough.It is very simple so why bother blogging. Anyway, despite of any of these reasons, I decide to write a post on this topic, so that at least I can refer to this myself whenever I need it. So here it is: How to integrate a chatbot in your JET application. This post does not go into the details of creating a chatbot, it just explains how to integrate one in you JET application (or any other Javascript application fo that matter).
What do you nee…

JET 4.1 : How to Setup a Functional Application Architecture

This week I had some interesting Oracle JET discussions with a couple of developers at one of our customers. One of the things was regarding the inline use of CSS that I found in the Views of the Modules. I didn't think that made sense so, after asking, I was told that this was because they did not find a way to use specific CSS per module. The question was if it was possible to use one specific CSS per Module in an Oracle JET Application. Besides that I thought it might also be useful to put everything that belongs to a module in its own folder. That could help developers to get a better understanding of the structure of the application. Besides that it is more like the structure of Oracle JET Composite Components where also everything that belongs to that component is under one folder.

Obviously this should be possible by explicitly loading a CSS in the view of the module. Geertjan already blogged about it : https://blogs.oracle.com/geertjan/referencing-css-from-an-oracle-jet-m…

JET 4.1 : How to use toastr to show non-blocking notifications

NOTE: As of Oracle JET Version 5.0, the below can be achieved by Oracle JET's oj-message component, as described here :
http://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=messages&demo=pageInline
_________________________________________________________________________________
Today I had to implement a mechanism to show user notifications in the Oracle JET application that I am currently working on. One could show a simple popup to tell a user that changes have been saved, or even use a javascript alert to do that. There are also other, more sophisticated solutions that work pretty well. These can be found here:
http://jsjim.blogspot.nl/2016/05/toast-and-growl-notifications-with.htmlhttp://likeahouseafire.com/2016/05/05/popup-message-box-for-jet/ The authors mention "toast" like notifications. Although the implementations in the above mentioned blogposts work fine, I wondered if there wasn't an easier, more configurable solution. 
After a b…

ADF 12.2.x : Conditional Showing Message Instead of List of Values Popup

Today I had to fix an issue in one of our ADF applications. For those of you working with ADF (as I do too occasionally) this might be valuable, so I decided to share this. The application is based on an old Oracle Forms applications and I had to implement the following functionality:

FRM-41830 : List of Values contains no entries.

In other words (more ADF like) : If you are about to render a List of Values and that List of Values contains no rows, just show a message instead of showing the List of Values.

In this post I will describe how I was able to implement this although it turned out to be a challenge.
Below are the steps that I took. Note that the Application can be downloaded from GIT.

1) I use a UI pattern where we use readonly table and do edits in a popup. That means that any List of Values will add an additional popup to the UI.



2) The List of Values that I use in this sample only shows entries where the minimum salary is less then the employees current salary. Not that …