OOW16: What is new in ADF

It was not hard to find the ADF sessions this year at Open World, mainly because there was really only one session. Shay his session about new features in JDeveloper & ADF. It was worth seeing who would show up in the room and to be honest, it was quite crowded for an ADF session. 

JDeveloper came out in June 2016, however, this new JDeveloper is only a Patch Set, so mainly bug fixes and not much news compared to last year. Last year I already wrote a blog entry about the JDeveloper

ADF Business Components Triggers
These are simple hook points, in both the Entity Object level as wel as the View Object level, just like we know from the database. You can for example create a BeforeDelete trigger or an AfterInsert. 

You can write this in groovy, JDeveloper even has syntax support for that now and will also do a type check on the groovy code.

ADF Remote Regions
The ADF Remote Regions were already in JDeveloper as well, however, you might have done a small Proof of Concept and came to the conclusion not to use this. Well, the latest patch set included a lot of bug fixes on the remote regions, so if you ever had a good usecase for this it might be worth reconsidering. 

New DVTs
There are again some new Data Visualisation Tools as well:

Next Release
There was a little bird saying something about, however, I could not find anything official on this, so we have to sit tight wether we will get an other PatchSet or a release. 


OOW16: Oracle JET

Since last year at Open World, the Oracle JET team has been quite busy and it has been for the better. There has been quite some development, some great blogs and even a free online course (MOOC). A quick update of the cool features I have seen.

First of, lets start easy, you can see how your layout looks on different devices. No rocket science and not something shockingly new, but pretty cool they now support this.

When in the Cookbook, you can select the device on the top right, and you will see the preview directly in your browser.

Next to that, they have redone the Cookbooks, so the page looks new and refreshing, but that is not all, there is a new section 'Composite Component', in Cookbooks you can find it under Framework:

In here they introduce the concept of CCA: Composite Component Architecture. The concept of writing reusable pieces of UI, that can be embedded as an HTML element. This might sound familiar, this is something HTML5 and web components try to achieve as well.
The good news is that JET can now create HTML5 web components and even better, Oracle will put effort in making all current available JET components into HTML5 Web Components.

JB has created a cool example of how that can work. If you go to the advanced tab of the Composite Component page, you will see a memory game, like this:

You can find all the code to create this component on this page, however you can also consume it as a web component. JB explains this on his github account as well, you can see how the development effort will go down, mixing different JET components. After installing, when consuming the web component for the memory game, this is all the HTML code needed to embed on your webpage:

- The Oracle JET page
- Web Components
- JB’s github
- CCA : Composite Component Architecture
- Memory Game Page

JDeveloper Shortcut Keys: Reformat All Files in your Project

When writing Java code, it is a good practice to reformat your code before committing it to a source control system. In JDeveloper, you can put this in your save actions, however, JDeveloper will then also reformat all your XML code, this is not always what you want, plus it is a lot slower than reformatting only the Java code.

When in your Java file, you can use the right mouse menu, or the shortcut keys to reformat the java file you are currently working on, this is 'Ctrl' + 'Alt' + 'L' on windows or '' + '' + 'L' on mac.

However, when you change something in your code style, you probably do not want to go by every file individually to reformat the code. Good thing is that JDeveloper can also reformat a whole project at once.
This is not really well documented and it is not in the right mouse window either, but when you select a project in your Application Window and press the shorcut key for reformat, JDeveloper will reformat the whole selected project for you.

JDeveloper Shortcut Keys: Select in Application Window

In more complex projects with a lot of files, you can sometimes lose track of where the files are located. This can be helpful if you have your files saved in a logical package structure. After looking up a file, for example by using the Go to File shortcut key, it might be helpful to know where this file is located.

Well, in JDeveloper there is a shortcut key to find the file in your Application Window. This is 'Alt' + 'Home' on windows or '' + 'Home' on mac. 

As you can see the file is selected and displayed in the Application Window.

Collapse All in the Flow Trace

With more complex BPM and/or BPEL processes, debugging the flow trace can be kind of slow. However, if you know what you are looking for, there might be a trick to help you get where you want to be quicker.

The flow trace can be very long and scrolling through it, or even scrolling all the way to the end can take quite some time. But there is a right mouse menu if you click the icons on the left. So if you mouse click the mediator we see, called ‘RequestHandler’, there will be a popup menu: 

If you select the ‘Collapse All Below’ option in the menu, it will as you might expect, not only collapse the mediator, but it will collapse all the children and their children. Meaning, once collapsed, you can expand them one by one, going to the correct subprocess where you want to be. 

This means, in complex processes, you can get to where you want to be a lot quicker, because the flow trace performance a lot better with all the items collapsed.  

JDeveloper Shortcut Keys: Go To File

I have been noticing that a lot of developers are either struggling with finding files in JDeveloper or taking a long time to open all the packages and browsing to the files. However, JDeveloper has a lot of shortcut keys that come in handy.

First of, a shortcut key to 'Go To Java Type', I think most developers know this one. It is the 'ctrl' + '-' on windows or '⌘' + 'J' on mac, you will get this window:

However, did you also know the search is CamelCaseSensitive? It is a very neat trick, imagine you have connected your ADF sources and want to look up the PageFlowScopeMap in the 'org.apache.myfaces.trinidadinternal.context' package.
You can open the 'Go to Java Type' screen and start typing page, but a lot of java classes will come up:

As said the search box understands CamelCase, so if you instead start typing the fist capital of each CamelCase word, in this case 'PFSM' (PageFlowScopeMap) JDeveloper will understand:

How cool is that?

Now this is not where it ends, instead of only searching for Java Types, you can search over all your files in JDeveloper, using the shortcut key: 'ctrl' + 'alt' + '-' on windows or '' + '' + '-' on mac. The following window will popup:

In here you can search for any file, but again you can also search CamelCase, for example, in case I want to search my ViewControllerBundle.properties file:

Now, in both windows you can also use wildcards (*), however the CamelCase will not work in combination with a wild card anymore.

Goodbye & Thanks to MN; Hello TFG

Time flies when you’re having fun, it feels like I only recently started working at MN, but truth be told, it is already 9 years ago. I started as a Junior Oracle Developer at MN after my bachelor degree and in these 9 years I became an all-round Fusion Middleware developer and solution architect within this company.

A great company, lovely colleagues and always a technical challenge ahead. I could certainly enjoy another 9 years at this company, however, it is time to take the next step. Not because I do not enjoy working at MN anymore, but because I am ready for a new challenge.

I want to thank MN for all the great times and for giving me the opportunity to develop myself in all these years.

What new challenge lies ahead? After some consideration, I have decided to become self-employed as an independent contractor as part of the The Future Group cooperative

I like to give a special thanks to Wilfred, who introduced me to The Future Group and over the years became my partner in crime and a great friend.  

I am very excited to be part of this group of Oracle Specialist and work closely with the people I have come to appreciate and respect within the community.