Posts

Showing posts from April, 2019

OJET: Inter-Module communication in TypeScript Template

Image
In this post I bring another example on how to Communicate Modules using the Oracle JET - TypeScript Template based on the Oracle JET Cookbook: InterModule Communication From now and so on will create multiple examples using TypeScript for those who are not familiar with it and wants to turn the Cookbook examples into TypeScript :). The example ( ojet-typescript-list-detail ) can be found as usual in my GitHub repository: https://github.com/DanielMerchan/ojet-examples This example is a bit different compared to the Cookbook example where the modules are not running at the same time within a Module. This example is built as described in the following images: Customers module acts as the Wrapper Module. It coordinates when to load the list and detail modules. Customers module makes use also of signals npm module for communication between Customers-List, Customers-Detail. Explanation of the Example customers.js is the coordinator responsible module for: initiali

OJET: Bug with Routing in TypeScript Template

Image
Oracle JET supports officially TypeScript for your application development. OJET CLI does NOT include templates which uses by default TypeScript. However, in the Oracle website they provide an starting point template in case you want to use TypeScript. JET TypeScript Starter Template - Web NavBar In my GitHub you can find the app fixed: ( ojet-typescript-template ) https://github.com/DanielMerchan/ojet-examples The application has a minor bug in its Router configuration which makes the following strange behaviour: If you copy any module URL such as http://localhost:8000/? root=incidents in your browsers it always load the default module which is the dashboard Why? How to fix it? In the TypeScript template there is a duplication of the Router configuration. You can find a self.router.configure in: root.ts which acts as the "main.js" of the Oralce JET Out-of-the-box basic templates created with OJET CLI appController.ts which is the appController.js of t

WCP/ADF to OJET: ADF Model to OJET Common Model

Image
This is a post of the series Oracle WebCenter Portal to Oracle JET . In this case I will make another comparison between Oracle ADF Model and Oracle JET Common Model API . WCP to OJET How is the Oracle ADF Model It is not bad to remember that Oracle ADF is based on Java Server Faces 2.2 (Jakarta EE / Java EE). Oracle ADF adds to plain Java Server Faces the following features A Rich set of UI components -> ADF Faces A Model layer to abstract the interaction bewteen the Pages (UI) and the Model. -> ADF Model An implementation of JPA known as Business Components for consuming data from a Database -> ADF Business Components In Java Server Faces , the Model is implemented by Managed Beans as shown in the following Figure. JSF Model - Managed Beans In Oracle ADF , also can be used the ADF Model layer based on the withdrawn JSR-227. This layer is also known as the Binding Layer . The ADF Controller links a Page ( ADF Faces ) to a PageDefinition ( ADF Mo

WCP/ADF to OJET: ADF MVC vs OJET MVVM

Image
This is a post of the series Oracle WebCenter Portal to Oracle JET . In this case I will make another comparison between Oracle ADF and Oracle JET Architectures . Maybe this should be the second and not the third post, anyway here it is. WCP to OJET Oracle ADF is based on MVC (Model-View-Controller) Oracle ADF is a Java EE framework based on JSF 2.2 (Java Server Faces) which implements the pattern Model-View-Controller , but extending the classic Model of plain Java Server Faces based on Managed Beans. Oracle ADF introduces the ADF Model layer ( also known as the Binding Layer ), which was intended to be standarized (JSR-227) to be the way for data binding and access from the view to the sources of data, however it never was approved. The ADF Model abstracts the access to the business services independently of the data source (SOAP, REST, JPA) Knockout (library used by Oracle JET) is based on (Model-View-ViewModel) Oracle JET is a Toolkit which uses Knockout JS

WCP/ADF to OJET: WCP to OJET cheat sheet

Image
This is a cheat sheet of how to migrate Oracle WebCenter Portal artifacts to Oracle JET. WCP to OJET WCP -> OJET Cheat sheet  WCP + ADF Oracle JET Oracle WebCenter Portal OJET Application Oracle WebCenter Portal Navigation OJET Router / Routing ADF Skin OJET Theme ADF Declarative Component / Taglib OJET Web Component ADF Faces Rich UI Component OJET UI Component ADF Bounded Task Flow (Region) / Portlet OJET Module ADF Model OJET Common Model ADF Logger JS “Third Party Library” NPM Module for Logging ADF Security Custom Security Java Resource Bundle (ojL10n) JS Resource Bundle Java Proxy Client + POJO JS Factory / JS Class OJDeploy Grunt (or Webpack) Maven Npm (Node JS Package Manager)  

WCP/ADF to OJET: ADF Controller Task Flows / Portlets to Oracle JET Modules

Image
This is the second post of the series Oracle WebCenter Portal to Oracle JET. In this case I will talk about how to move ADF Task Flows or Portlets in Oracle WebCenter Portal to Oracle JET. WCP to JET ADF Bounded Task Flows and Portlets in Oracle WebCenter Portal The most common way of promoting re-usability in WebCenter Portal Pages is by embedding "widgets" built by using: Oracle ADF Bounded Task Flows based in Page Fragments which can be embedded in a Portal Page as an ADF Region ( <af:region> ) Portlets 2.0 (based on JSR 286) which are consumed remotely by using WSRP 2.0 (Web Service Remote Portlet) specification. Portlets can be based on ADF by using the ADF Portlet Bridge or based on any other Portlet technology. In the above image, you can see there is: A Portal Called Test. Currently in the Page called Home of the Portal Test . The Page has been configured with two components: The Activity Stream Task Flow The Page Traffic Analytics P