Recent Posts
Archives
Categories
Blog Stats
- 20,633 hits
Featured Blogs
Advertisements
Into the charm of Oracle Webcenter and ADF
My customer asked for new business requirement which to add a js carousel as a banner in the template.
this carousel aim to get images from webcenter content + render some html on it.
while implementing this requirement it worked great in the edit mode of the template.but it didn’t render at all in view mode on the portal.
I have opened SR with oracle mentioning that the content presenter doesn’t work in templates view mode but it works in edit mode. the reply was content presenter is not designed to work in templates.
but i found a work around that we should not add content and template in the taskflow edit wizard itself . Instead we add the content & template in the content presenter paramters.
where
DataSource: select * from cmis:document
Data Source Type: Query Expression
Template View ID :my_customCS_viewer
Also you may find more info that may help to meet your requriments in the below links
http://docs.oracle.com/cd/E28271_01/webcenter.1111/e25595/jpsdg_content_jsfpg.htm#CHDFGACH
http://docs.oracle.com/cd/E28271_01/webcenter.1111/e25595/jpsdg_content_jsfpg.htm#BAJHJIEJ
After implementing ADF & portal responsive I have concluded many hints to follow while implementing
The main problem of the responsive it that adf components render as table
1- Limit the use of the components that render tables in the html dom and use html code if needed in verbatim tag
2- Limit the use of layout component that has tables or horizontal layout as it render in tables
Hints
• Preferably use bootstrap templates.
• Create templates with panelgrouplayout vertical & default and create a custom style class to make it to horizontal example ;
.VTOH{ width:100%; float:left; margin:0; padding:0; }
• In portal use panel customizable under each other don’t implement it horizontal preferably add it in panelgrouplautout and use the above class & css to draw your page.
• Do the responsive in one CSS file and import it in your template and use media queries inside it.
• All width should in percentage. You may use with for small components on the page but that would be difficult in responsive.
• If you are obliged or have to use component that have fixed width use java script to change the width in responsive.
While developing a Form on ADF pop-up I have learned that the pop-up is fetched once on page load. On canceling the pop-up & open it again it still persists its data which is not what we all need.
I have tried many ways to reset the form as setting contentDelivery=”lazyUncashed” , resetting all the fields programmatically , delete dirty data & clear VO cache associated with the form. Until i found the magic line which resets the component as it wasn’t fetched before
UIComponent myPopupComponent = actionEvent.getComponent();
oracle.adf.view.rich.util.ResetUtils.reset(myPopupComponent);
It took me about 6 hrs to know how ADF calendar component set the time in the popup form the project posted here.
But it didn’t satisfy the implementation needs as it passes the time automatically through the calendarModel behind the scene,after some investigations , i found that there are some events associated with the calendar that can helps.
I used the Calendar event listener property and created a method that takes CalendarEvent as a parameter and used the CalendarEvent object to get the triggered time as below.
public void calEvent(CalendarEvent ce){ System.out.println(ce.getTriggerDate().clone()); }
<af:calendar value="#{bindings.CalendarView1.calendarModel}" id="c1" availableViews="all" view="month" startDayOfWeek="mon" startHour="9" listCount="356" calendarActivityListener="#{Business.activityListener}" calendarListener="#{Business.calEvent}"/>
I used to work hibernate & JPA before developing ADF business components and i was wondering why As ADF business components based on the ORM (object relational mapping) and does not have reverse mapping from objects to database.
I figured out a way to do it , but it is not directly wizard steps.