They point the finger at me.. again!

Oracle ADF 11gR2 Development Beginner’s Guide – Published!!

Posted in ADF, ADF Faces, ADF UI by vtkrishn on April 26, 2013

Book Details

Language : English
Paperback : 330 pages [ 235mm x 191mm ]
Release Date : April 2013
ISBN : 1849689008
ISBN 13 : 9781849689007

Reviewed by : Frank Nimphius, Sten E. Vesterli
Author(s) : Vinod Krishnan

Topics and Technologies : All Books, Oracle Applications, Beginner’s Guides, Enterprise, Oracle

This book is intended for beginners who know a little about Java programming and would like to learn how to develop rich web applications using the Oracle Application Development Framework.

http://www.packtpub.com/oracle-adf-11gr2-development-beginners-guide/book

Chapter 1, Installing and Configuring Jdeveloper IDE – This is the first time you are working with Jdeveloper, Where do you start?  - In this chapter you will learn how to install and configure Jdeveloper IDE, how to work with the IDE.

Chapter 2, Getting Started with ADF – you don’t know what is ADF? You would love to see a running example – You will learn the basics of Model-View-Controller Architecture, How ADF fits into the MVC patter, learn the components of ADF, building a simple ADF application.

Chapter 3, Understanding the Model Layer- Do you know how Business components work, can we explore? – You will learn about ADF Business components and how it works, familiarize with the components..

Chapter 4, Validating and Using the Model data- How will you do validation for your model? Learn how to write business logic declaratively, learn the groovy expressions, and manage transactions and exposing the data.

Chapter 5, Binding the Data- Do you know how to expose the model data to the UI layer? This chapter teaches how to use the data control and bind the data for the user interface.

Chapter 6, Displaying the Data- Do you want to design your page? You will learn how to display the data in the UI using layers and components.

Chapter 7, Working with Navigation Flows-  You would love to pass information from one page to another, but how? – Learn how to use the page flows and activities pass parameters and about ADF lifecycle.

Chapter 8, Layout with Look & Feel – Do you see your page good for the user? You will learn how to style the page and make it presentable.

Chapter 9, Implementing Security – You would love to secure your page, don’t you? This chapter will help in securing the page that you have created, Allow and restrict access for different roles and groups.

Chapter 10, Deploying the ADF Application – How do you make your application available to your friend? This chapter will help you deploy the application to the server.

Chapter 11, Advanced Features of ADF – Now you know the basics, what’s next? – Advanced features of the ADF11gR2 framework is explained in this chapter.

About these ads

ADF Mobile Development

Posted in ADF by vtkrishn on April 5, 2013

I have written a page on ADF mobile here

https://blogs.oracle.com/vtkrishn/entry/adf_mobile_development_introduction

Tagged with: , , ,

Android Development Tutorial

Posted in ADF by vtkrishn on April 5, 2013

Nice tutorial on Android development is here

http://www.vogella.com/articles/Android/article.html

Tagged with: ,

Pre order your copy today – Oracle ADF 11gR2 Development Beginner’s Guide

Posted in ADF, ADF Faces, ADF UI by vtkrishn on March 22, 2013

Book Details

Language : English
Paperback : 328 pages [ 235mm x 191mm ]
Release Date : June 2013
ISBN : 1849689008
ISBN 13 : 9781849689007
Author(s) : Vinod Krishnan
Topics and Technologies : All Books, Oracle Applications, Beginner’s Guides, Enterprise, Oracle

This book is intended for beginners who know a little about Java programming and would like to learn how to develop rich web applications using the Oracle Application Development Framework.

http://www.packtpub.com/oracle-adf-11gr2-development-beginners-guide/book

Tuning for ADF

Posted in ADF, ADF Faces, ADF UI by vtkrishn on March 17, 2013

MaxFetchSize

MaxFetchSize is the maximum number of rows fetched from the database for the current view object. Setting -1 will retrieve unlimited number of rows or the entire rows returned from a query. Setting 0 will cause no query execution and no rows will be returned. Check in the VO for this property.

1

FetchSize

This is the number of rows that is returned on a single database round trip. This setting will determine how many rows will be returned for a particular view object at run-time on a single query. Set the size In batches of n+1. check in VO, AM instance, table component for this property.

2

FetchMode

This is the mode that controls how the rows are retrieved in a JDBC resultset. Some of the modes allowed for the FETCH_ALL, FETCH_AS_NEEDED. Number of rows retrieved is based on the RangeSize of the VO.

FETCH_ALL – will fetch all the rows at a time. This causes all rows to be retrieved from a JDBC result set immediately, and then closes the result set.

3

FETCH_AS_NEEDED – will fetch number of rows defined by the RangeSize first and is again fetched upon request. A fetch mode that causes rows to be retrieved from a JDBC result set as the user navigates through the row set. The result set is closed when the user reaches the end of the row. The executeQuery() will fetch this much only.

4

RangeSize

Number or rows to be displayed in the Iterator collection. Table rows maps to this. By default is 25. Maps from View Object to the UI Collection. Check in VO, Page definition file for this property.

5

ListRangeSize

ListRangeSize is the setting for the List of values that is added to the attribute in the View object which will be set to less value to reduce large number of rows getting returned unnecessarily. Setting -1 will retrieve all the rows. Check in the VO for this property.

6RowCountThreshold

Specify a value to determine if a result set returns the number of rows you specify as a value. If you set RowCountThreshold to 0, the Iterator returns the estimated row count in the result set by executing the count query. If you set RowCountThreshold to less than 0, the Iterator does not execute the count query. If RowCountThreshold is set to -1 then it will load the table faster and will not execute the SELECT COUNT query for the number of data retrieved. Check in page definition file.

7

AccessMode

This defines how the row is accessed in a view object. The modes are

SCROLLABLE – Rows are cached in a collection. This is the most flexible mode for accessing rows and working with a RowSet. Ideal for less number of rows. For large numbers use RANGE_PAGING or RANGE_PAGING_INCREMENTAL.

FORWARD_ONLY- Sequential Access to rows in a collection. The Iterator on this RowSet will not allow scrolling back

8

RANGE_PAGING – The paging is done based on the RangeSize defined. If the rows which are requested are not in the range then the rows are fetched from the database using the ROWNUM query. it only keeps the current range (or “page”) of rows in memory in the view row cache at a time

RANGE_PAGING_AUTO_POST – The rowset will post any changes in the transaction for rows out of the current range.

9

RANGE_PAGING_INCR – the UI incrementally displays the result set from the memory cache and thus supports scrolling within a single database query. the UI incrementally displays the result set from the memory cache and thus supports scrolling within a single database query. The number of rows that the end user can scroll though in a single query is determined by the range size and a range paging cache factor that you set. For example, suppose that you set the range size to 4 and the cache factor to 5. Then, the maximum number of rows to cache in memory will be 4*5 = 20

10

Query Optimizer

These are hints added to the query to help retrieve the record efficiently. This will influence the execution plan of the query.  Check in the VO.

ALL_ROWS – Fetch all the rows as soon as possible.

FIRST_ROWS – fetch the first rows as quickly as possible

Row Limit

This is updated in the adf-config.xml file. The value of -1 will fetch all the rows for the VO in the application. You can limit the row limit fetched by the VO in an application using this option.

11

AutoHeightRows

The number of rows used to size the component height. The default value is -1 (no auto-sizing for any number of rows). The height of the component can grow to a maximum of autoHeightRows after which a scrollbar is displayed. A value of 0 can be used to default the autoHeightRows to the current fetchSize. autoHeightRows value cannot be larger than fetchSize attribute. Check in the table component.

12

Configurations in the web.xml file to maximize ADF Application Performance

Posted in ADF by vtkrishn on February 7, 2013

Disable Automation

<context-param>
<param-name>oracle.adf.view.rich.automation.ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Assertion

<context-param>
<param-name>oracle.adf.view.rich.ASSERT_ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Javascript Profiler

<context-param>
<param-name>oracle.adf.view.rich.profiler.ENABLED</param-name>
<param-value>false</param-value>
</context-param>

Disable Debug Mode

<context-param>
<param-name>org.apache.myfaces.trinidad.resource.DEBUG</param-name>
<param-value>false</param-value>
</context-param>

Disable Javascript Debugging

<context-param>
<param-name>org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT</param-name>
 <param-value>false</param-value>
</context-param>

Disable File Modification

<context-param>
<param-name>org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION</param-name>
<param-value>false</param-value>
</context-param>

Enable partitioning

<context-param>
<param-name>oracle.adf.view.rich.libraryPartitioning.DISABLED</param-name>
<param-value>false</param-value>
</context-param>

Enable compression

<context-param>
 <param-name>org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION</param-name>
 <param-value>false</param-value>
</context-param>

All are explained in the documentation.

http://docs.oracle.com/cd/E17904_01/core.1111/e10108/adf.htm#BDCBIJAB

Only web.xml related parameters are added here

How to in Jdeveloper ADF – increase the inputcomboboxlistofvalues dialog width

Posted in ADF, ADF Faces, af:inputcomboboxlistofvalues, How to, JDeveloper by vtkrishn on January 30, 2013

Problem:

To increase the width of the af:inputcomboboxlistofvalues dialog box.

Solution:

Recently I have been challenged to increase the width of the af:inputcomboboxlistofvalues dialog box. using contentStyle or inlinestyle will increase the width of the component and the dialog box will remain the same. So i thought of playing with the CSS file and could possibly achieve the width with the following hack.


<af:resource type=”css”>
.adf_dialog_main{
   min-width: 500px;
}
</af:resource>

2012 in review

Posted in ADF by vtkrishn on December 30, 2012

The WordPress.com stats helper monkeys prepared a 2012 annual report for this blog.

Here’s an excerpt:

4,329 films were submitted to the 2012 Cannes Film Festival. This blog had 40,000 views in 2012. If each view were a film, this blog would power 9 Film Festivals

Click here to see the complete report.

2011 in review

Posted in ADF by vtkrishn on December 30, 2012

The WordPress.com stats helper monkeys prepared a 2011 annual report for this blog.

Here’s an excerpt:

The concert hall at the Sydney Opera House holds 2,700 people. This blog was viewed about 30,000 times in 2011. If it were a concert at Sydney Opera House, it would take about 11 sold-out performances for that many people to see it.

Click here to see the complete report.

How To in Jdeveloper ADF – To call a VO from another VO or from AM method

Posted in ADF, ADF Faces, How to, snippets by vtkrishn on October 5, 2012

Scenario:
How to set an Attribute value from one VO into another VO?

Solution: 

//in you Application module Impl file have the follwing code written inside the method which will set the value for another vo
//lets say UploadView is the View object that you would want to set the value
ViewObject vo = findViewObject("tUploadView");
//if its not in Application Module, you will have to get the VO instance either from iterator if you are using this code in the bean
//get the rowset of UploadView
RowSet rs = vo.getRowSet();
//iterate through
while(rs.hasNext()){
//get the row
Row r = rs.next();
//set the value
r.setAttribute("ValueItem", value); //ValueItem is the Attribute that you want to set
}
}
Tagged with: , , , , , ,
%d bloggers like this: