Friday, April 4

Using Dynamic Converter on demand with RIDC Client

Goal

Using Dynamic Converter with XML und XSLT to convert parts of an XML-File on demand controlled by the client.


Environment

WebCenter Content 11.1.1.7
XML und XSLT Files
Java Client using RIDC


Add application/xml as Config Conversion Formats


Upload XSL



Define Dynamic Conversion Rule 



To add a new rule you must provide a criteria. 


Dynamic Converter Samples

XML and XSLT Samples could be download from OTN


Java Client


More Information

Oracle® Fusion Middleware Services Reference Guide for Oracle Universal Content Management

4.5.3 GET_DYNAMIC_CONVERSION

http://docs.oracle.com/cd/E21764_01/doc.1111/e11011/c05_core.htm#BABIBFBA

Thursday, March 27

WCP (11.1.1.1.8) Using Navigation Model with Content Query


Goal

Using Content Query with Navigation Model in WebCenter Portal and specify your own content presenter template online.


Environment

WebCenter Portal 11.1.1.8
(Sub-)Portal created with the Portal Template
Some Documents to Display  in a Folder

How to get the FolderID for the CMIS Query ?






Add a CMIS Query to the Navigation Model



CMIS Query with the correct FolderID



IN_TREE - Parameter:

     ucmserver - Content Server Connection

     IDC:Folder/{dCollectionID}


Define our own Content Presenter Template on the Navigation Page




Add a Parameter:

templateView - oracle.webcenter.content.templates.default.detail

The Name of the templateView could be found in the Content Presenter Assets. Select the Asset and show the properties. You get the following informationen:



The view-id is the Parameter you are looking for and by the way no JDeveloper-WebCenter-Portal-Round-Trip-Development is needed !  

Thursday, March 20

How to detect as UCM Greenhorn the right Content Type Property Names for the Content Presenter

Rule #1

Build-In-Property begin always with + Attribute in CamelCase

Sample: WebExtension = dWebExtension

Rule #2

Custom-Property begin always with + Name of the Information Field from Configuration Manager [in CamelCase]

Sample: Comments = xComments



If you have Oracle Database Background and the development machine is yours, you can try following select statement to bring this information into you JDeveloper. 

select column_name,data_type from dba_tab_columnswhere table_name = 'REVISIONS' or table_name='DOCMETA'order by column_name;


Content Presenter Template




Additional Documentation

Tuesday, July 23

JDBC 12c: Do you reimplement Forms with PL/SQL Types in ADF ? You should look at Database 12c first !

Many customers who want to go  the next step in their Oracle technology strategy towards ADF have  a lot of Forms and PL/SQL Code in the back.

One of a widely used design pattern in Oracle Forms is the use of PL/SQL Types (type mytyp of employees%rowtype, type mytbl table of mytyp) to build up a clean interface between Forms and the Database.

Before Database 12cR1 there was no way to use this PL/SQL Types with the Oracle JDBC drivers. Beginning with the JDBC 12.1.0.x and the 12gR1 database now this is possible.

So you don't need anymore to write or generate PL/SQL Types to SQL Object Types and back again.

Often time the tool JPublisher is used for this part of code generation.

So here my test drive:

Environment 

- JDeveloper 12cR1
- Oracle Database 12cR1
- JDBC Driver 12cR1
- HR Schema

1.) Database Code with PL/SQL Type 



JDeveloper 12c

First of all the new JDeveloper doesn't use the 12c JDBC driver out of the box. So you have to bring the JARs by yourself into the Classpath. Do not replace the old driver in oracle.modules - path. This was a no go for me. Separate the things !


You need: ojdbc7dms.jar and orai18n.jar (7 for JDK  / 6 for JDK 6)

For more informationen about JDBC 12c with WLS 12c and 10.3.6 take a look at MOS Article: 1564509.1

1.) Use JDBC 12c with JDeveloper 12c



For the test drive put the JDBC driver in front of everything to be sure the right classes are used by the class loader. Maybe you setup up a JDeveloper Library. 

2.) Java Sample Code



3.) Output



Conclusion 

I tried the same with Database 11gR2 Express Edition and i got the following error:

SQLException invalid name pattern: ….

I think this feature is only available with Database 12cR1. 

So if your timeline allows you to bring Database 12c in your project and you have  a lot of PL/SQL Types inside your Database you should have to think twice. Maybe you can save all the plsql wrapper code with Database 12c.

More Information

Oracle® Database JDBC Developer's Guide - 12c Release 1 (12.1)

Friday, July 19

DOAG DEV 2013 - Continuous Delivery in ADF Projects

I'm so busy at rainy day's, that i miss to post my presentation from DOAG Development 2013 in Bonn.

I speak about needed architecture in ADF Projects to continuous delivery features.

 
More test drive and details can found on the blog from my college Andreas Koop.

Friday, November 23

DOAG2012: ADF Software Factory

Thanks to DOAG for a great conference, again. This year i speak about ADF Software Factory.

So take a look..



Tuesday, October 23

ADF Mobile Samples are still there...

Yesterday Oracle has released ADF Mobile. So if you are familar with ADF you can jump right into and build some nice test drives.

But what is with all the special mobile features ?

Using sqlite, get a Picture, send a SMS....


To quickstart this greate feature take a look at the following directory:

jdev_install/jdeveloper/jdev/extensions/oracle.adf.mobile/Samples 

You will find the PublicSamples.zip - File. If you have installed the extension.  


:

CompGallery
This application serves as an introduction to the ADF Mobile AMX components by demonstrating all of the components. Using this application, you can change the attributes of these components and see the effects of those changes in real time without recompiling and redeploying the application after each change. See generally Chapter 8, "Creating ADF Mobile AMX User Interface."

:

JavaDemo
This application demonstrates how to hook up your UI to Java beans. It also demonstrates how to invoke EL bindings from Java using the supplied utility classes. See also Section 8.10, "Using Event Listeners" and Section 9.2, "Understanding EL Support."
:




DeviceDemo
This application shows you how to use the DeviceFeatures data control to expose such device features as geolocation, e-mail, SMS, and contacts, as well as how to query the device for its properties. See also Section 9.5, "Using the DeviceFeatures Data Control."
You must also run this application on an actual device, because SMS and some of the device properties do not function on an iOS simulator or Android emulator.



GestureDemo
This application demonstrates how gestures can be implemented and used in ADF Mobile applications. See also Section 8.4, "Enabling Gestures."

:

HR
This human resources application is a CRUD application that demonstrates a variety of real-world application techniques. It uses a local SQLite database to store its data. The application persists the data between each startup and is based on the default HR schema that ships with all Oracle databases. See generally Chapter 11, "Using the Local Database."
By providing layouts for both iPad and iPhone, this application demonstrates how different types of user interfaces can share the same data model. There are a variety of other patterns demonstrated in the application as well.


Tuesday, September 11

[fix] Enable User Customizations across Sessions using MDS can break your popup


Issues

Enable User Customizations across Sessions using MDS can break your popup

Viewlet

Environment

JDeveloper 11gR2 (11.1.2.0.0 - 11.1.2.2.0)

ADF Features

Using af:popup




Enable User Customizations across Sessions using MDS




Reproduce

1.) Start tablePopup.jsf
2.) Login into the app with weblogic - Account
3.) Scroll down the table (more than 25 rows)
4.) Try to open the Popup with the ToolbarButton

Expected behavior 

Enable User Customizations across Sessions using MDS should not have negative impact on the application.

Fix

Using af:popup with autoCancel = "disabled" produced this issues. Set this property to "" or "enabled" is a fix for this issues. (BUG 11057528)



Thursday, September 6

Using Oracle EM 11g FMC and ADR 11.1.1.6.0 with JDev 11.1.2.2.0


Goal

Using Oracle EM 11g FMC and ADR 11.1.1.6.0 with JDeveloper 11.1.2.2.0 - Software


Environment

OL 6.2
JDeveloper 11.1.2.2.0 - Software


Software

OTN: ADR libraries 11.1.1.6.0 (Application Development Runtime)


Patches

MOS: 5912518 - OPatch v11.1.0.0.1
MOS: 13656274
MOS: 6880880 - OPatch  v11.1.0.9.7 
MOS: 13656372


References

MOS: How To Install the ADF Runtime Libraries 11g Release 2 in WebLogic Sever 10.3.5 / 10.3.6 ? [ID 1328698.1]


Install ADR 11.1.1.6.0

[oracle@endvm software]$ unzip ofm_appdev_generic_11.1.1.6.0_disk1_1of1.zip 
:
[oracle@endvm software]$ cd Disk1/
[oracle@endvm ~]$ export JDK_HOME=/usr/jdk1.6.0_33


[oracle@endvm Disk1]$ ./runInstaller 
:
Set Oracle Middleware Home =  /u01/app/oracle/product/11.1.2/middleware inside OUI.


Install OPatch Version 11.1.0.0.1

a) For Standalone JDeveloper/Standalone WLS install type:
   Download the latest version of OPatch(11.1.0.0.0)via BUG 5912518 from My
   Oracle Support (formerly Metalink).
 
   Patch: p5912518_111000_GENERIC.zip
   Please follow the instructions to install this patch.
 
b) For OUI (WebCenter/SOA/Classic/etc) install type:
   Download the latest version of OPatch (11.1.0.9.4 or higher)via BUG 6880880
   from My Oracle Support (formerly Metalink).

[oracle@endvm software]$ export JDEV_HOME=/u01/app/oracle/product/11.1.2/middleware/jdeveloper/
[oracle@endvm ~]$ export JDK_HOME=/usr/jdk1.6.0_33
[oracle@endvm software]$ unzip p5912518_111000_GENERIC.zip
[oracle@endvm software]$ mv 5912518/OPatch/ $JDEV_HOME/
[oracle@endvm ~]$ export ORACLE_HOME=$JDEV_HOME
[oracle@endvm ~]$ cd $ORACLE_HOME/OPatch

[oracle@endvm OPatch]$ ./opatch lsinventory -jdk $JDK_HOME


Install Patch 13656274

[oracle@endvm jdeveloper]$ cd /home/oracle/software
[oracle@endvm software]$ unzip p13656274_111160_Generic.zip
[oracle@endvm software]$ cd 13656274
[oracle@endvm 13656274]$ export PATH=$ORACLE_HOME/OPatch:$PATH
[oracle@endvm 13656274]$ export ORACLE_HOME=/u01/app/oracle/product/11.1.2/middleware/oracle_common


Install OPatch Version 11.1.0.9.0 (6880880)

Patch 13656372 requires OPatch version 11.1.0.9.0.
The OPatch version being used (11.1.0.0.1) doesn't meet the minimum version required by the patch(es). Please download latest OPatch from My Oracle Support.
[oracle@endvm software]$ rm -rf /u01/app/oracle/product/11.1.2/middleware/jdeveloper/OPatch/
[oracle@endvm software]$ unzip p6880880_111000_Linux-x86-64.zip
[oracle@endvm software]$ mv 6880880/OPatch/ $JDEV_HOME/


Install Patch 13656372

[oracle@endvm software]$ unzip p13656372_111160_Generic.zip[oracle@endvm 13656372]$ cd ..[oracle@endvm software]$ cd 13656372/[oracle@endvm 13656372]$ opatch apply -jdk $JDK_HOME


upgradeADF

[oracle@endvm bin]$ cd /u01/app/oracle/product/11.1.2/middleware/oracle_common/common/bin
[oracle@endvm bin]$ ./wlst.sh

wls:/offline> upgradeADF('/u01/app/oracle/product/11.1.2/middleware/user_projects/domains/test.adf.domain')Target Library "jsf#2.0@1.0.0.0_2-0-2" to JRF "AdminServer"wls:/offline>exit()

Exiting WebLogic Scripting Tool.

Exception: java.lang.ClassNotFoundException: javax.faces.application.ProjectStage

<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
<06 .09.2012=".09.2012" 18:32="18:32" mesz="mesz" uhr="uhr">
java.lang.ClassNotFoundException: javax.faces.application.ProjectStage


Solution

You have not upgrade the Domain !


Test



Wednesday, September 5

root can do everything except: ojdeploy

Issues

NPE at org.apidesign.netbinox.JarBundleFile$2.getLocalURL running OJDeploy as root

Environment

OL 6.2

OJDeploy (11.1.2.2.0)
Hudson 2.x inside Tomcat 7.0.29

Features

Call OJDeploy from Ant Script with Hudson Job



Conclusion

Why i run into this pitfall ? 

I deploy Hudson into Tomcat and configure quick and dirty Tomcat as a service executed by root.
Running Tomcat as installation user oracle works perfect!

May be interesting for someone who trap in the same NPE pitfall.

Monday, September 3

[Solved] Enable User Customizations across Sessions using MDS can break your Application


Issues

Enable User Customizations across Sessions using MDS can break your ADF Application

Viewlet

Environment

JDeveloper 11gR2 (11.1.2.0.0 - 11.1.2.2.0)

ADF Features

Using af:foreach and af.accordion for dynamic UI



Enable User Customizations across Sessions using MDS


Deactivate all persistent options for showDetailItem




Reproduce

1.) Start homeForEach.jsf
2.) Login into the app with weblogic - Account
3.) Try to open a af:showDetailItem - Component inside af.accordion     

Expected behavior 

Enable User Customizations across Sessions using MDS should not have negative impact on the application.

Solution

A solution to this issues can be found on the ADF EMG Tracker.

Friday, August 17

JDeveloper: Run extension throws NPE at com.apple.laf.AquaMenuPainter.paintMenuBarBackground on Mac OS X

Yesterday i run into some NPE  problems by running my new JDeveloper extension on my mac.

  
Today i found a solution / workaround inspired by the forum post from kevin_angus. You have to add the following Parameter -Dapple.laf.useScreenMenuBar=true  to the JVM for start the second JDeveloper IDE. Normally this happens in the jdev-Darwin.conf file. So i add this parameter in the Project Properties / Run Configuration / Launch Settings / Java Options  section.



So it works...but maybe it should be fix in 12c :). Are your interesting in development your own JDeveloper Extension, than take a look at my ADF News Session.

Wednesday, August 15

ADF News Session: CI and OTPC

By the way i miss to post my last ADF News Session from July 2012 about Continuous Integration and Oracle Team Productivity Center. Content is in German.

Almost two years of ADF News Session in Germany


Did you know that have emerged in this period more than 60 German-language presentations and demos? So there all available for free if you interested. All you need is a free login to the Oracle ADF Community workspace. More information could be found here.

Sunday, July 1

The Times They Are A-Changin'

Hello,
it's been a bit quiet in the blog. The reason for this is that I left my old company. As of today I am working as CEO and consultant for the enpit consulting OHG.

What does this mean?

I hope more adf community and maybe interesting things around Oracle Fusion Middleware.

Tuesday, January 17

ADFTalk Session 2 is out

Session 2 shows how to regenerate a existing ApplicationModule build up with our JDeveloper Wizard. 



Friday, January 13

Move Oracle Team Productivity Center (11.1.2.1) Server Component to new Weblogic Instance failed

Goal
Move Oracle Team Productivity Center (11.1.2.1) to new WebLogic Server Domain with existing OTPC Repository.

Environment
JDeveloper 11gR2 (11.1.2.1.0)
Oracle XE with OTPC Repository (11.1.2.1.0)
Weblogic Server 10.3.5 (Integrated inside JDeveloper)

Download
Oracle Team Productivity Center (11.1.2.1)

Todo
1.) Install JDeveloper
2.) Start and setup integrated Weblogic Server
3.) Run OTPC Installer to use existing Repository and deploy OTPC Server Component to new Weblogic Server Domain.

Installation – Step 3
c:\temp\java –jar tpcinstaller.jar
image
Choose: Next

image
Select: Team Productivity Center Server
Choose: Next

image
Input Username: tpc
Input Password: *****
Choose: Test Connection

image

Attention
Recognize the equal versions !
This information is current. our OTPC Repository is Version 11.1.2.1.38.60.81. We want only install the new Server Component.
image
Choose: Next
image

Error
I get this error and the only option i can choose is Canel.
Choose Next show Step 3 again.

Monday, January 2

ADFrc: Why my table is not stretched ?

Introduction
Within my ADF Project Session 3 last month in the exercise of the ADF layout strategies was one of the most common questions:

Why is the table (using the available columns) are not stretched to 100% of the width and height?


Issues

Simon: "I use PanelStretchLayout but the table is not stretched !"
Mentor: "Check your site structure for flow layout!"

image 
One of the most common causes for this appearance is the fact that the layout concept has changed from stretch to flow without the developer has to get it.

Once a UI Component is further thrown into a facet Oracle JDeveloper adds a PanelGroupLayout automatically.  This change the stretch concept to flow. Maybe the developer will add a headline.

Image(20) Image(21)

Solution

Stretch will change into Flow if more than one component is part of the subtree!
Verify your layout in the Structure Panel, even if you do not dare JDeveloper!


Issues
Rudolf: "I use StretchPanelLayout but nevertheless, the columns of my table is not spread over the entire width!"
Mentor: "Do not think in HTML and CSS (width: 100%) - think in components."



image

If an area is stretched, the UI Component is scaled, but not automatically all other UI Components in the subtree. I.e. In this case, the CollectionPanel is scaled to a width of 100%. As each column of the table should be widened, is not defined.

Solution

image 
Use ColumnStretching property to define a strategy to fill the empty space !





af:table Oracle Fusion Middleware Tag Reference for Oracle ADF Faces (11.1.2)
Geometry Management
This component can be stretched by a parent layout component that stretches its children, e.g. panelStretchLayout. When stretching this component, the only valid setting for autoHeightRows is "-1".
When NOT stretched, autoHeightRows="0" can be used to size the height to the fetch size, which is similar to dimensionsFrom="children". Please refer to 'autoHeightRows' attribute for more information. Use the columnStretching attribute to configure stretching of the children column components

image
References
JDeveloper Workspace
Oracle Fusion Middleware Tag Reference for Oracle ADF Faces (11.1.2)

Wednesday, December 21

DOAG@Talk with Duncan Mills

Christian Schwitalla (DOAG Head of Development SIG / tools) has spoken with Duncan Mills on the future of development tools from Oracle. The interview is here.

Tuesday, December 20

Some presentation over the year’s

image Last week i upload some of my presentation from different events to slideshare. The main topic over all presentations is projects with Oracle ADF. From start the first project up to  reimplementation Oracle Forms Application with Oracle ADF. The presentations are in german, but i think the concept and UML Diagramms are easily translate to other languages or use maybe Google Translate :).

Challenges in converting from Oracle Forms to Oracle ADF

My Presentation from German DOAG SIG Development meeting in April 2011. Topic: Migration , Methodology, Analyse, Oracle ADF, Best Practice

Application lifecycle in ADF Projects

My presentation from German ICIS User Group meeting in Mai 2011. Topic: ALM, Oracle ADF, Best Practice

Encapsulation, the requirement for software modernization?

My presentation from German InnoZent meeting in Mai 2011. Topic: Architecture, software mordernization, Best Practice

DOAG 2010: ADF Faces RC Best Practice

My presentation from German DOAG 2010 conference in Nov 2010. Topic: Architecture, Oracle ADF, Best Practice

DOAG 2010: SOR - Service Oriented Reporting

Presentation from German DOAG 2010 conference. Topic: Architecture , Oracle ADF, Integration Oracle BI Publisher, Best Practice

Input and Views about Oracle ADF

My presentation from German DOAG RT Bremen meeting in October 2010. Topic: Oracle ADF, Oracle ADF Desktop Integration.

Oracle ADF Active Data Service from German ADF News Session

My presentation from the ADF News Session Season 2010.

German ADF News Session: Mein erstes ADF Projekt

My Presentation from German ADF Community News Session web conference in Feb 2010. Topic: Oracle ADF, How to start, Best Practice

SE 2010: how we do it

My presentation from German SE 2010 conference in Feburar 2010. Topic: Business Application Development

DOAG SIG Development: BI Publisher and Oracle ADF

Presentation from German DOAG SIG Development meeting in July 2009. Topic: Oracle ADF, Integration Oracle BI Publisher, Best Practice

DOAG 2006: More than Dept and Emp mit JDeveloper and ADF

My presentation from DOAG 2006. Topic Oracle ADF, Best Practice

Well there is no presentation from DOAG 2011. Why ? This year I have presented an Oracle ADF live demo. One part of this live demo you can see here: