Developer Tools
JDeveloper
last updated: Oct. 20, 2011
Oracle JDeveloper and Application Development Framework 11g Release 2 (11.1.2.1.0) is a minor bug-fix update to 11.1.2.0.0. There are hundreds of new features and thousands of bug fixes. For a list of new features in 11g Release 2, and specific customer bugs fixed in the update release see the What's New document on OTN.
This document describes known issues with the release. If and when new issues are discovered they will be added to this document. Please also use the JDeveloper community discussion forum on OTN for questions and answers and to let us know what you think!
One very important note about this version is the fact that it is released off-cycle from Oracle Fusion Middleware. While this allows the
team to bring the product to market faster, there are a number of critical implications.
1) There is no design-time or runtime support for SOA and WebCenter components in 11g R2
ADF 11g Release 2 is intended primarily for customers who are building stand-alone ADF applications. If your business requirements entail the use of ADF in conjunction with Oracle SOA Suite or Oracle WebCenter, it is recommended to use the latest, fully integrated 11g Release 1 of Oracle Fusion Middleware (currently 11.1.1.5.0 at time of publication), including Oracle JDeveloper 11g Release 1.
2) There is no stand-alone installation of the Application Development Runtime component in 11g R2
ADF 11g Release 2 needs to be installed as a patch on top of of an existing 11.1.1.5.0 Application Development Runtime installation. The steps for upgrading 11.1.1.5.0 server to run 11.1.2.0.0 ADF applications is described later in these release notes, and documented in the Administrator's Guide for Oracle Application Development Framework.
Note: JDeveloper should always be installed in a new MIDDLEWARE_HOME.
Please read the installation guide for details on system requirements and specific installation instructions for various platforms.
Some additional steps are required to install JDeveloper on Mac OS beyond what is documented in the installation guide. Please refer to the installation guide (http://download.oracle.com/docs/cd/E24382_01/install.1112/e17074/toc.htm) for additional details on installing JDeveloper for Mac OS X.
1. Make Java 6 the default VM.
2. Create a symbolic link for classes.jar
An additional step is required to successfully run applications on Mac systems that have Java for Mac OS X 10.5 Update 4 installed (8681385):
When you click "Access documentation online" on the QuickStart window (accessible from the Start Menu), you are taken to the Oracle Fusion Middleware 11g Release 1 (11.1.1.4) documentation library. The link should take you to the Oracle Fusion Middleware 11g Release 1 (11.1.1.5) documentation library, which is available at: http://download.oracle.com/docs/cd/E21764_01/wls.htm.
When opening a workspace that uses JSF technology, we migrate the application to JSF 2 by doing the following:
The JSF version packaged in 11.1.2.0.0 has been upgraded to 2.0 which may cause applications using the exact-match flag set to true
to fail to deploy. The solution is to set exact-match to false. JSF 2.0 is backwards compatible with previous versions and should not
cause any problems.
A couple of new enhancements in the structure pane were introduced, particular to assist when dealing with large, complex tree structures:
When using JDeveloper through VNC Viewer, pasted data originating from the VNC client will not be available to the hosted JDeveloper process. To synchronize JDeveloper with the system clipboard, switch focus from JDeveloper to another application, and then back to JDeveloper again.
A JDK bug will sometimes prevent keyboard input into Swing password fields. You may be able to click in the field but you cannot enter a string or use navigation keys such as the Tab key. This occurs on 64-bit Red Hat Linux systems.
You may encounter this issue when you are using:
The workaround is to issue the following setenv command before you launch the IDE or Quickstart.
class="code-java">setenv LC_ALL en_US
In previous releases, JDeveloper was configured by default to check the timestamp of files on disk for opened projects at startup.
If modifications are found, JDeveloper synchronizaes the project contents with the version that is on disk. For performance reasons,
the default setting for this option has been changed in this release.
With this setting off, it's possible for the contents in the JDeveloper project to be out of date with respect to files on disk if those files
have been modfied by another program. To refresh the project contents (you can select multiple projects at once in the navigator), use
the View > Refresh command. Alternatively, you can modify the setting in Tools > Preferences, Environment tab by checking the option
to Check for Externally Modified Files on Startup.
If you migrate your IDE settings from a previous release, you will continue to have the same behavior as you are accustomed.
We do not currently support the use of the JSFC attribute with HTML tags.
A redeployment of an ADF BC web application is delayed for 60 seconds because of a wait time for the datasource to be removed. This is a performance regression compared to previous JDeveloper versions because of a change in the ADF BC layer to use WLS datasources - which is a best practice.
Usages of packaged procedures and functions from outside the package are only listed when you use Find Usages on the definition in the package spec. Usages of packaged procedures and functions from within the package body are only listed when you use Find Usages on the definition in the package body. The usages are not listed together.
Methods in Type bodies may not be correctly identified when you use Goto Declaration or Find Usages.
When you first create a new view in a live database on a database diagram, the relational usage that the view has on a table is shown as NOT LOCATED. The workaround is to save the diagram and either use View > Refresh, or close the diagram and reopen it, and the relational usage will be shown correctly.
The persistence format of .generate files changed between JDeveloper 10.1.3 and JDeveloper 11.1.1.4.0. If you are migrating from earlier releases to JDeveloper 11.1.1.4.0 as part of the migration to JDeveloper 11.1.2.0.0 and you have .generate files, then you need to force any .generate files to be saved by JDeveloper 11.1.1.4.0 in the new format. The way to do this is to open the .generate file and make a change to it, then click OK to save the file.
If you generate offline database objects from an offline database to a SQL script, and in the Choose Operation page you select Override Schema, an error is reported.
The workaround is to generate the SQL script without selecting Override Schema and specify a different schema by editing the generated SQL file.
Alternatively, rename the schema in the offline database before generating the script. In this case you need to check Prefix object name with schema name on the "SQL Script Options" page.
JDeveloper does not look at the value of CLASSPATH or JAVA_HOME to determine its classpath or jdk; it stores this information in proprietory locations. The WebLogic domain installation scripts, however, extend the supplied value of the CLASSPATH and JAVAHOME variables, and WebLogic domain creation will fail if JAVAHOME contains ')' or CLASSPATH contains a space. The former happens when, for example, the 32bit JDK is installed in its default path, for example: C:\Program Files (x86)\Java\jdk1.6.0_18. The latter if an application such as Apple QuickTime adds itself to the to the CLASSPATH environment variable, for example:
CLASSPATH=.;C:\Program Files (x86)\QuickTime\QTSystem\QTJava.zip
In either of these cases, creation of the Integrated WebLogic Server domain fails with a message similar to:
[waiting for the server to complete its initialization...] \Java\jre6\lib\ext\QTJava.zip was unexpected at this time. Process exited.
The workaround is to install the JDK in a path withpout ')', and remove the Apple QuickTime entry from the classpath,
and restart JDeveloper.
If you migrate an application that contains web.xml with <form-login-config> from JDeveloper 10.1.3.5, it may fail with validation problems when it is run on Integrated WebLogic Server.
To fix this, open web.xml in the source editor and add "/" in front of "login.html" and "error.html" in the login-config tag. For example,
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>
The ADF Runtime will be installed into a standalone application server by applying an Opatch bundle on top of a PS4 11.1.1.5 version of the Application Developer shiphome. In the event that additional patches are needed or desired in addition to the Sherman 11.1.2 patch (for example, if an additional patch is needed for another component in the Application Development Runtime shiphome), those patches will need to be installed separately.
Important Note: The patch is intended to be applied to an Application Developer shiphome only. Applying the patch to a different shiphome (for example SOA Suite or WebCenter) is not supported.
wls:/offline> upgradeADF('/scratch/jdoe/oracle/jdeveloper/system11.1.1.5.37.60.32/DefaultDomain')
Target Library "jsf#2.0@1.0.0.0_2-0-2" to JRF "DefaultServer"
Parameter 1 (Required) - DomainLocation - Domain to be upgraded
Parameter 2 (Optional) - JSF Library Name. Defaults to jsf.
Parameter 3 (Optional) - JSF Library Spec Version. Defaults to 2.0.
Parameter 4 (Optional) - JSF Library Impl Version. Defaults to 1.0.0.0_2-0-2.
> wsadmin.sh -conntype SOAP -port portnumber -user username -password password
> ADFAdmin.upgradeADF('DefaultCell', 'OracleCellFederatedNode', 'OracleAdminServer')
Parameter 1 (Required) - Cell
Parameter 2 (Required) - Node
Parameter 3 (Required) - Server
Parameter 4 (Optional) - JSF Library Name. Defaults to jsf.
Parameter 5 (Optional) - JSF Library Spec Version. Defaults to 2.0.
Parameter 6 (Optional) - JSF Library Impl Version. Defaults to 1.0.0.0_2-0-2.
Unless they are operating on the same schema avoid creating multiple top-down web services in the same project as each successive top-down service may overwrite the ObjectFactory class created by the previous one if generated into the same package.
When using later builds of the JDK the large majority of the soap web services functionality no longer works due to a change in the JDK,
you can work around this by pulling an earlier version of the JDK or getting hold of the patch attached to the bug via support.
If you see this message you can increase the amount of PermGen allocated by editing .../jdeveloper/jdev/jdev.conf to increase the value
from 256M to 288M.
When calling conversational web services from HTTP Analyzer, the request message headers for the 'continue' methods need to be manually updated with the conversation id that is specific to that particular conversation. This value is available from the response SOAP message of the method that starts the conversation.
From the response message of the conversation start method, copy the xml tags similar to the one below:
<conv:ContinueHeader xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/">
<conv:conversationID>uuid:701f9f3d434bfc98:-3f39a0ef:11c4b649fd4:-7fff</conv:conversationID>
</conv:ContinueHeader>
From the HTTP Content tab in HTTP Analyzer, insert the above tags within the header element of the SOAP request message, as below:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header>
<!- other header elements-->
<conv:ContinueHeader xmlns:conv="http://www.openuri.org/2002/04/soap/conversation/">
<conv:conversationID>uuid:701f9f3d434bfc98:-3f39a0ef:11c4b649fd4:-7fff</conv:conversationID>
</conv:ContinueHeader>
</env:Header>
<env:Body>
<!- message data details ->
</env:Body>
</env:Envelope>
When using JAX-RPC web services deployed to weblogic using the generators in JDeveloper you may have
trouble with method signatures that contain "bare" array types.
For example:
public class Hello
{
public String[] list();
public String[] echo(String[] value);
public void process(int[] values);
}
These will either not deploy or when deployed will not work properly with errors complaining about mapping issues. There are a few workarounds for this problem:
It is not possible to successfully invoke a JAX-RPC style conversational (stateful) web service deployed in weblogic server from a JAX-WS style proxy client. The design time JAX-WS proxy creation does not currently warn the user if the supplied WSDL document contains conversational behavior advertisement. Even though the tool leads to a successful generation of JAX-WS client artifacts, invoking the service from this client results in a SOAPFaultException. Only the conversation 'start' methods will get executed successfully. Invoking any other conversational methods after a conversation 'start' method will result in error.
The workaround is to use a JAX-RPC style proxy client to call a stateful service deployed in the weblogic server.
The fix for this is available from ARU patch 13573106.
It is not possible to run a Toplink database web service provider secured with an OWSM policy that requires a keystore. There is likely
to be a XML read error thrown from the OWSM layer on the server side. Though there is no workaround for this specific issue, securing
the provider service with a simple username token policy that does not rely on a keystore for credentials would make it work.
For a web service provider with no WSDL associated with it, any policy attachments on it are not enforced by the server. In order to warn the user from deploying such a service, JDeveloper puts up a warning on the code editor when such a scenario is detected. The workaround for this problem is to keep a WSDL for the provider service and attach it to the service using the 'wsdlLocation' annotation parameter.
You might notice a "{{org.xml.sax.SAXNotRecognizedException: http://javax.xml.XMLConstants/feature/secure-processing
}}" exception when using the PUT or POST operation on a Jersey resource that is co-located in an application that contains any ADF components or any project that overrides the default XML parser to use the one that is part of the XDK. This is caused by WLS bug 12543845 where an invalid configuration property is store and causes all further XML parser instances to fail.
The workaround is to disable the part of Jersey that sets this proper with a servlet init param:
<servlet> <servlet-name>jersey</servlet-name> <servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.config.feature.DisableXmlSecurity</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
This should only be applied if the user knows for sure they are using the XDK otherwise this will open up a possible security whole.
With the deprecation of JAX-RPC in the Java EE 6 platform, this will be the last major JDeveloper release (ie the 11g release set) where the generation of a JAX-RPC style web service will be supported in the JDeveloper web service design time. Therefor, in the next major release set (currently scheduled to be 12c), the JAX-WS and JAX-RS standards will be the web service standards supported by the JDeveloper
web services design-time and there will be no support for the generation of web services that conform to the JAX-RPC standard.
When creating a web service on an EJB session bean, you must manually update the parameter name and return name annotations with the type before generating the associated WSDL file to add to the project.
By default, the @WebParam name is set to "arg#", and the return type is not generated in the annotation. Before you generate the WSDL file, you must do the following for each method:
For example, say you created a web service method with the following annotation:
@WebMethod public Employee getManager(@WebParam(name = "arg0") Departments dept) {...}
You would need to manually edited the method to look like this:
@WebMethod public @WebResult(name="Employee") Employee getManager(@WebParam(name="Departments") Departments dept) {...}
Note that this workaround does not work with methods that have multiple parameters of the same type, or if the underlying artifacts
(EJB, XSD) are not local to the project.
If you are upgrading from PS5 or another release of JDeveloper you may find exceptions of the following form when using code that accesses https connection or configures code that might access network connections.
java.lang.IllegalStateException: SSLContextImpl is not initialized at com.sun.net.ssl.internal.ssl.SSLContextImpl.engineGetSocketFactory (SSLContextImpl.java:145) at javax.net.ssl.SSLContext.getSocketFactory(SSLContext.java:260) at oracle.jdevimpl.credential.LazySSLContextSpi.engineGetSocketFactory (LazySSLContextSpi.java:67) at javax.net.ssl.SSLContext.getSocketFactory(SSLContext.java:260) at
This is generally caused because the user has altered the default HTTPS settings, probably the trust store, to point to a certificate file that
no longer exists. (In the cases we have seen this is because they point to the cacerts file from a previous install that has been removed)
You can resolve this problem by resetting the HTTPS settings in Tools->Preferences->Credentials->HTTPS Credentials->Default.
A tool restart might be required.
You will find that a @WebServiceProvider that is also a EJB @Stateless object will fail to start up properly and it will fail with the
following error.
<Aug 19, 2011 3:20:45 PM IST> <Error> <HTTP> <BEA-101020> <[ServletContext@32421865[app:Application2 module:/Application2-Project1-webapp path:/Application2-Project1-webapp spec-version:null]] Servlet failed with Exception java.lang.NullPointerException at weblogic.wsee.jaxws.WLSServletAdapter.publishWSDL(WLSServletAdapter.java:239) at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:166) at weblogic.wsee.jaxws.HttpServletAdapter.get(HttpServletAdapter.java:193) at weblogic.wsee.jaxws.JAXWSServlet.doRequest(JAXWSServlet.java:93) at weblogic.servlet.http.AbstractAsyncServlet.service(AbstractAsyncServlet.java:99) Truncated. see log file for complete stacktrace
When editing a spring bean definition you might experience hangs as the code incorrectly tries to download files from the internet.
(In particular datatype.dtd) You need an active network connection to make use of the Spring tools or apply the patch described
in bug 12712872.
The plugin for the Hudson continuous integration system is available in two locations:
You can install or update the Hudson plugin through the Hudson user interface. From your running installation of Hudson, select Manage Hudson > Manage Plugins, then select the appropriate page from the list of plugins.
In releases prior to 11.1.2.1.0, users of Bugzilla were required to download and install two modules - SOAP Lite and Test-taint - which were necessary for third-party tools to connect to Bugzilla. This was necessary for Team Productivity Center, which used XML-RPC to connect to Bugzilla. Beginning with JDeveloper 11.1.2.1.0, XML-RPC is no longer used for Team Productivity Center to connect to Bugzilla.
For JDeveloper deployments, the Fast-swap feature of WebLogic is disabled by default. Fast-swap allows eligible class file changes to be visible in the application run-time by simply refreshing the browser. See this WebLogic Fast-Swap document for more details. Class file changes are copied to the running application when the source file is built.
Enabling Fast-swap:
<operation name="equals"> <input message="tns:equals" /> <output message="tns:equalsResponse" /> </operation>
It is important not to use WSDL's generated from the server in this mode when publishing WSDL's to third parties to consume. This will represent an incorrect version of the service and may in certain cases prevent the client from functioning properly. The extra methods may also not be secured properly which might imply some compliance problems depending on the back end data.
java.net.URISyntaxException: Illegal character in opaque part at index 11: zip:D:/With Space/Application77/lib/DependentLib.jar\!/dependentlib/DependentLibClass.class
A workaround is to place the application or JAR file in a directory with a URI that does not contain spaces.
WLS Hot Reload does not reflect changes made to adfm.xml. You need to redeploy your application if following changes are made.
Application Module failover can interfere with the passivation triggered from Hot Reload. It is recommended to disable Application Module failover when working in Hot Reload mode.
For example, a new view criteria is added to a view object to narrow the query result but same rows are returned. This is the expected behavior as Hot Reload saves your previous state and tries to restore your refreshed state with the same data. The query changes will
take effect in a new login session.
Hot Reload is turned on by default when the application is run in the Jdeveloper's integrated weblogic server. To implement the feature ADF runtime checks for modifications to any cached definitions at the beginning of a web request. Based on the size of the project it may slow down the performance of the application. Please note that this is not an issue when the application is deployed to an external weblogic server. If you don't plan to take advantage of the Hot Deploy feature it can be turned off by editing the Project Settings->Java EE Application->Integrated WLS commandline and appending the jvm property -Doracle.jdeveloper.adrs=false.
ADFdi does not support variables in the page definition declared with the syntax of variableUsage. (6377073)
If the developer creates variableUsage in the ADFdi-related page definition, it will produce NullPointerExceptions
in the server at runtime.
Workaround is to instead create variables using the <variable> element in the page definition.
The property inspector and expression builder features in the ADFdi Designer are driven off of the saved component metadata. As a result, there are some known issues when dealing with new objects or values. In each case, the work-around is to save the object and then re-open.
Sample issues:
Empty Forms (bug 8651633, 8651645)
An Excel form cannot be configured to use ADF List of Values components which use model-driven list bindings if the form's bound
iterator is expected to contain zero rows. Workaround: configure the ADF List of Values component to use a "dynamic" list binding instead.
Solution: Navigate to a web page from the same application using Internet Explorer. This action will install
the certificate locally. Subsequent attempts to use the integrated workbook will succeed.
The following known issues may be encountered when working with the ADF Read-only Table Component.
To avoid these issues, consider using the ADF Table component in a read-only configuration.
IE8, IE9 note: Compatibility View mode must be off.
For a listing of all supported browsers, see Supported Platforms section.
(http://www.oracle.com/technetwork/developer-tools/jdev/jdev11gr2-cert-405181.html#Browsers)
The profiler file logger can be used only in a non-portal environment on FF and IE browsers with at least 1.5._06 JRE on the client box and privilege to write to the user home directory. The resulting file format is subject to change without any notice and not intended to be used with any xml parser tool. In order to use the feature, the user has to accept the certificate.
This error happens due to bug 6875866 (HotSpot compiler bug in String.indexOf() using SSE4.2 instruction-set on new Intel chips).
Workaround is to add this line to the JVM options: -XX:-UseSSE42Intrinsics, then remove the cached CSS file,
e.g., $APP_TMP_FOLDER/public/adf/styles/cache/blafplus-desktop-ezog8j-en-ltr-gecko-1.9.1.8-cmp.css
restart WLS, clear your browser cache and everything should be working.
Please note that the bug should be fixed with jdk6.18b02, but we see it on 6.18b07
Application developers must be cautious when assigning access keys to menus. Hot keys may be intercepted by various browsers or even the operating system. One such hotkey, ALT-D, will send focus to the address bar in both IE and FireFox 2. For this hotkey, we have removed the references in our demos. But many more hotkeys may be restricted so it is a good idea to try them out on all of your supported browsers.
If Active Data Service is enabled in an application, there are certain ADS pages (/adwwls/wls.ads and adw.jspx) that should not be cached.
If Oracle Web Cache runs for the application, need to add cache rule to exclude pages with name of /adwwls/wls.ads or adw.jspx.
In previous releases, ADF Faces components expect applications to use primary keys on the model data objects that are pre-populated for new records and do not change with any record updates. This limitation has been removed from the current release except for the case where the affected row is not in UI range while its key is changed programatically in a backing bean.
The Application View Cache won't work for any page where the rendering of the component tree causes the structure of the component tree to change temporarily. Since this is often the case and the application developer has no way of telling when this will occur, USE_APPLICATION_VIEW_CACHE should never be used. It also only helps initial render performance and does not help the session size.
New Window Detection logic onlyvworks in Rich Client applications, but not in Trinidad applications For Trinidad applications, the following parameter should be added in web.xml to disable New Window Detection logic.
<context-param> <param-name>oracle.adf.view.rich.newWindowDetect.OPTIONS</param-name> <param-value>off</param-value> </context-param>
The table component has some known issues in emailable page mode.
ADF Faces components do not support persisting customization changes to MDS if the component is contained inside of (anywhere in the subtree of) af:forEach or af:iterator tags. This limitation is because, while such structure results in multiple component copies in the view tree, they have a single representation in the jsp documents.
Because of a limitation in the IE userData persistence behavior (see Supported Platforms section for details), the userActivity data for previous requests may be partially or sometimes completely unavailable when accessed from pages with a different URL than when it was originally saved.
Due to the lack of support in model to convert data of type java.util.Date to java.sql.Date, a runtime error will occur if
java.sql.Date is specified as NDType in the calendar page definition file. Please use the supported types instead:
In this release we start to support user specified window names. A user can launch a window and give it a name, and we will continue
to use that name if it's valid. Currently the supported character set for window name is : [a-z][A-Z][0-9]_
Until recently there were limitations with skinning icons that -tr-rule-ref and -tr-inhibit were not supported. Further, the skin properties were not inherited from base skin for icon selectors. We fixed these limitations to make the icon selector behavior consistent with general skinning style selectors. Now that we inherit the skin properties for icons, if there were 'content' and other properties like 'width' and 'height' set, and you override just the 'content' property in your custom skin, you would inherit the 'width' and 'height' from the base skin. While this is a change in behavior, it is a change in right direction. If this behavior is not desirable, skinners can use -tr-inhibit to inhibit some properties or 'tr-inhibit: all' to inhibit all properties before overriding the 'content' property.
This issue arises if you use the popup component with a region and use the setPropertyListener tag to establish the activation of the region. The setPropertyListener tag with a popupFetch type will not be invoked for the initial fetch establishing the initial content delivery. This is because the markup that defines the setPropertyListener tag is defined within the popup's body. With the option to defer creating the children, the body is not processed until the first fetch for content. The popup fetch event listener (setPropertyListener) is processed in the Apply Request Values phase prior to when it is created in the Render Response phase. The workaround is to use the "popupFetchListener" method expression (PopupFetchEvent server-side event) to establish state that would have been established using the setPropertyListener.
It is recommended that the application developer add a validation rule for situations where the Error Message returned by the RichText Editor would include the text contained in the RichText Editor and that text may be large enough to not be properly displayed by the browser.
Due to the issue in Jthe SF reference implementation (2048), Facelets applications running in clustered environments will lose state after failover. End users experiencing error messages after faiover should be advised to refresh the page.
The JSF version packaged in 11.1.2.0.0 has been upgraded to 2.0, which may cause applications using the exact-match flag
set to true to fail to deploy. If your application is being opened or used for the first time in 11.1.2.1.0, and you did not previously
implement the solution before when using 11.1.2.0.0, then this solution is provided: The solution is to set exact-match to false.
JSF 2.0 is backwards compatible with previous versions and should not cause any problems.
A new JDeveloper editor is available starting in 11.1.2.0.0 for creating and editing ADF skin files. The core features include:
If you develop an ADF Skin that extends the new Fusion Simple family of skins (for example, fusionFx-simple-v1.desktop) that you want to apply to an 11.1.1.4 or 11.1.1.5 web application, you must also add the fusion-simple-skin.jar file to your web application. The fusion-simple-skin.jar file contains the Fusion Simple family of ADF skins that you extend for these releases (11.1.1.4.0 and 11.1.1.5.0). You download the fusion-simple-skin.jar file from http://java.net/projects/jdev-extensions/downloads/download/skins/fusion-simple-skin.jar.  
;
For information about how to add this JAR file to your application, see the Importing ADF Skins from an ADF Library JAR section in the Skin Editor's User Guide.
The ADF Faces components in the component palette were reorganized into new accordions and display groups. This was done to assist users in locating and identifying components more efficiently and effectively by making the organization more predictable and usable. The reorganization will also accommodate the addition of new components in the future.
Previously, one was only able to utilize a single page template in their page (chosen during the creation of the page). Also, one was not able to include another page template while creating a page template definition. That restriction has been removed and a new Template item is now available in the component palette which can be DnD'ed onto either a page template definition or a regular page. A dialog will appear prompting the user to choose a page template to point to. With this new feature, the ability to nest page templates is now possible.
The ability to convert between various ADF Faces layout components was reintroduced in 11.1.2.0.0 (specifically, decorativeBox, group, panelAccordion, panelBorderLayout, panelBox, panelFormLayout, panelGroupLayout, panelHeader, panelList, panelSplitter, panelStretchLayout, panelTabbed, showDetailHeader, and toolbox). For cases that cannot be resolved algorithmically, a new Convert dialog will be shown to prompt the user for direction.
Starting with JDeveloper 11.1.2.0.0, duplicate entries of view instances that appear in the application module .xml file, will be reported as an error during compilation. This is a new compiler behavior that is intended to prevent users from creating corrupt XML definitions. If you migrate an application into JDeveloper 11.1.2.0.0 or later, the duplicate XML elements will fail to compile after migration has been completed. In this case, you will need to edit the XML definition to manually remove the duplicate entries and then continue to build the application. Duplicate view instance usages appear in the application module definition like this:
<ViewUsage Name="MyViewObject" ViewObjectName="com.model.view.MyViewPackage"/> <ViewUsage
When you enable an application module to support EJB Session Bean, we no longer generate the Configuration for testing in integrated server. You can create the bc4j.xcfg entry for testing by following these steps:
Now you can deploy the EJB Session Bean and select the new configuration (Type=EjbWls) to run the Tester.
In this release the Extension framework as been changed. It is now based on an OSGi framework and extension written for previous
releases will not run out of the box in this new release. Please read the new Developers Guide for JDeveloper Extensions under
Help --> Table of Contents
When running Jdeveloper in Japanese Windows MUI machine, you may find some Japanese Character are displayed as square, it's caused
by the font used by Jdeveloper UI is not installed in the MUI env.
This font issue does not exist in Native Japanese Windows machine and Linux machine.
The user must update and rebuild the OHW help application, because the ohw-rcf-webapp.zip configuration file has been updated in 11gR2. For more information about the ohw-rcf-webapp.zip configuration file, see "Understanding OHW Deployment" in the Oracle Fusion Middleware Developer's Guide for Oracle Help.
Follow these steps to update the OHW help application:
1. Copy the helpset files and the configuration files from the old OHW help application to the new OHW help application location.
2. Update the web.xml file and add the following servlet mapping information.
<\!-\- Route the OHW-RC resources through the resource servlet. \--> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/ohr/*</url-pattern> </servlet-mapping>
The following example shows a sample web.xml
<context-param> <param-name>org.apache.myfaces.trinidad.CHANGE_PERSISTENCE</param-name> <param-value>oracle.adf.view.rich.change.FilteredPersistenceChangeManager</param-value> </context-param> <filter> <filter-name>trinidad</filter-name> <filter-class>org.apache.myfaces.trinidad.webapp.TrinidadFilter</filter-class> </filter> <filter-mapping> <filter-name>trinidad</filter-name> <servlet-name>Faces Servlet</servlet-name> </filter-mapping> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> <servlet> <servlet-name>resources</servlet-name> <servlet-class>org.apache.myfaces.trinidad.webapp.ResourceServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/adf/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/afr/*</url-pattern> </servlet-mapping> <!-- Route the OHW-RC resources through the resource servlet. --> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/ohr/*</url-pattern> </servlet-mapping> <!-- configuration for product1 help front servlet --> <servlet> <servlet-name>product1</servlet-name> <servlet-class>oracle.help.web.rich.OHWServlet</servlet-class> <init-param> <param-name>ohwConfigFileURL</param-name> <param-value>/helpsets/product1/ohwconfig.xml</param-value> </init-param> <load-on-startup>2</load-on-startup> </servlet> <!-- configuration for product2 help front servlet --> <servlet> <servlet-name>product2</servlet-name> <servlet-class>oracle.help.web.rich.OHWServlet</servlet-class> <init-param> <param-name>ohwConfigFileURL</param-name> <param-value>/helpsets/product2/ohwconfig.xml</param-value> </init-param> <load-on-startup>3</load-on-startup> </servlet> <!-- servlet mappings for the OHW-RC front servlets --> <servlet-mapping> <servlet-name>product1</servlet-name> <url-pattern>/product1/*</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>product2</servlet-name> <url-pattern>/product2/*</url-pattern> </servlet-mapping> <!-- OHW-RC servlet filter definition and mappings --> <filter> <filter-name>OHWRCFRequestFilter</filter-name> <filter-class>oracle.help.web.rich.OHWFilter</filter-class> </filter> <filter-mapping> <filter-name>OHWRCFRequestFilter</filter-name> <servlet-name>Faces Servlet</servlet-name> </filter-mapping>
The user can now build and run the OHW help application.
1. In em.war file (inside em.ear) update web.xml to include the following servlet mapping:
<!-- Route the OHW-RC resources through the resource servlet, where resources is org.apache.myfaces.trinidad.webapp.ResourceServlet configured as shown in web.xml shown above. --> <servlet-mapping> <servlet-name>resources</servlet-name> <url-pattern>/ohr/*</url-pattern> </servlet-mapping>
2. Copy help pages from
oracle_common/modules/oracle.help_5.0/ohw-rcf-webapp.zip to
oracle_common/sysman/archives/applications/11_1_1_0_0_emcore.war
3. Bounce the server and open the OHW help application again. It will work this time.
ADF Faces users can typically produce accessible table content by specifying column headers for every column in their AF:table. However, in certain complex cases, such as when the AF:table contains total or subtotal rows, the cell containing the labels for these rows may be inappropriately associated with the containing column's column header. For example, assuming a column contains employee names and has the header text "Employee Name", a cell containing the text "Total" will be inappropriately identified to screen reader users as being an "Employee Name". In order to avoid confusion, such cells should not be associated with any column header. ADF Faces does not provide any mechanism for suppressing column headers for such cells.
When interacting with an AF:table, AF:tree, or AF:treeTable, using the up/down arrow keys to change the selection can result in a round trip to the server. ADF Faces already optimizes to reduce the number of round-trips by only sending a single request at a time, and also by dropping requests for intermediate selection states that occur while a request is outstanding. However, in some cases keyboard users may find the current behavior inefficient, since a request is sent to the server as soon as the request queue frees up. Ideally, no request would be sent until after the user has reached the item that they intend to select - ie. until after the user has paused keyboard activity for some short period of time.
Currently read-only input components, such as AF:inputText, are rendered by ADF Faces as plain text. As such, there is a loss of information that may be meaningful to screen reader users - ie. screen reader users have no way to determine that the text in question corresponds to a input control. In addition, since plain text content is not included in the tab navigation order, screen reader users may fail to recognize that this read-only content is present on the page.
When opening the visual editor you may not be able to see all the toolbar functions available and there is no visual indication
[... or =>] that more toolbar functions are available. You can, however, expand the window wider to see them all.
When viewing a page preview from the visual editor using the default browser users should:
This option will now be keyboard accessible.
When working in a facelet and attempting to drop a JSF html message component onto the page, a dialog appears to allow the user
to specify the ID to which to attach the message. The workaround is to use the Property Inspector to change the 'for' property of h:message.
Oracle Corporation | Worldwide Inquiries: | Copyright © 1997,2009, 2010, 2011 Oracle and/or its affiliates. |