Oracle WebCenter Interview Questions

Q. What is Oracle Webcenter Portal?
Oracle WebCenter Portal provides design time and runtime tools for building enterprise portals, transactional web sites, and social networking sites. It  provides portal-specific features such as page hierarchies, navigation models, delegated security, customization, and others. Portals can also include features like portlets, content management system integration, personalization, social computing services, search, analytics etc.

Q. What is the difference between portals and pagelets?
A pagelet is a reusable user interface component similar to a portlet, but while portlets were designed specifically for portals, pagelets can be run on any web page, including within a portal or other web application.

Q. What is Oracle Composer?
Oracle composer provides a runtime editing tool that enables business users to edit application pages.

Q. Name a few components used for run-time editing with Oracle Composer?
Panel customizable, Show Detail Frame,  Custom Actions,  Layout Customizable.

Q. What is MDS?
MDS or Metadata Repository is the repository for metadata of certain deployed applications. When the user commits run-time changes, they are stored and deployes an MDS on the server.

Q. What is JCR?
JCR  or Java Content Repository API adapters enable user  to access data stored in content management systems, such as Oracle WebCenter Content, Oracle Portal, or even your file system, available to your application.

Q. What is the use of PortalWebAssets in webcenter portal application?
PortalWebAssets is used to separate all the static resources in the application like HTML, image files etc.

Q. Can you rename the PortalWebAssets folder?
Yes, It can be renamed.

Q. Is it a mandate to configure in security in your webcenter portal  application always?
No, if the developer does not configure the security in webcenter, the adf security gets configured by default. As part of this a default username/password is automatically created. Also, it also provides default Login and Logout pages.

Q. How do you decide whether the application should be deployed as an EAR or a WAR?
If the application contains run-time customizations using MDS, it must be bundles as an EAR. For simple webcenter portal application with no such customizations, WAR can be created.

Q. What is the purpose of jazn-data.xml?
This file is used for defining the permissions and privileges for various groups of users on various taskflows created in the application.

Q. What is policy store and identity store in OID?
Identity Store is used to store information about users and groups while the Policy Store is used to store information about security policies.

Q. What is the difference between databindings.cpx and datacontrol.dcx?
The DataBindings.cpx file contains the Oracle ADF binding context for your entire application and provides the metadata from which the Oracle ADF binding objects are created at runtime. The DataControls.dcx file is created when you register data controls on the business services. This file is not generated for Oracle ADF Business Components. It identifies the Oracle ADF model layer data control classes(factory classes) that facilitate the interaction between the client and the available business service.

Q. What is the difference between trinidad.config and trinidad.skins?
trinidad.config file is ceated when you create a webcenter portal application. This is used to register the skin-family you are going to use for your entire application. Trinidad.skins is used when we use skin as a Jar file. This file provides a mapping between the Skin Id and the actual path where the skin exists.

Q. What is binding context and binding container?
Binding context is a runtime map between the data controls and page definition of pages in the application which is used to access the binding layer. It is accessible through the EL expression in your jspx pages. Binding container is a request-scoped map that is used to instantiate the page bindings. This is accessible through the EL expressions. Also, since it is request-scoped map, it is accessible during every page request.

Q. What are the different types of bindings in ADF?
ADF contains the following types of bindings:
Attribute Bindings: This is the binding to retrieve the value of a single view attribute in the iterator binding’s current view row. For eg; #{bindings.CustomerId.InputValue}
Tree Bindings: This is used for tables, tree-tables and trees. It is used to expose rows of a  table in the iterator binding’s current range. Eg; All Customers-#{bindings.AllCustomers.labels.CustomerId}
Action Bindings: This binding type is used when buttons or command links are dropped on the user interface and require an action to be performed on them. We can use data control operations on them, for eg, Create, Delete, First, Last, Commit, Rollback etc.
Method Bindings: This binding is used when you want to use custom methods to be executed.
Iterator Binding: This binding is created by the application to access the ADF binding context. It contains a reference to the page bound data collection, helps access it and iterates over its data objects.

Q. What is the difference between an action and an action listener?
Actions are designed for business logic and participate in navigation handling, whereas action listeners typically perform user interface logic and do not participate in navigation handling.
Action listener is a class that wants to be notified when a command component fires an action event.

Q. What is a view scope?
A view-state allocates a new viewScope when it enters. This scope may be referenced within the view-state to assign variables that should live for the duration of the state. This scope is useful for manipulating objects over a series of requests from the same view.

Q. What is the difference between visible property and render property
The visible property is set to true/false based on the requirement whether we want to see the field on the page or not at run time. The field or component still exists on the page, though hidden. The render property is used to conditionally load the component based on a criteria.

Q. How do you define pagination in adf?
We define custom pagination in ADF by creating a custom table as a taskflow using the af:iterator tag. This renders the collection of data just as a table renders it. Now we bind the value property of iterator to collection model from ADF bindings declaration and set the number of visible row to, say 15.

Q. What are validators and converters?
Validators and Convertors are used to provide conversion and validation capabilities to the ADF input components respectively. Converters convert the valurs on ADF forms to the type in which the application accepts them after the values are edited on the form and submitted. Validators re used to impose validations on the inpiut components.

Q. What is the life cycle of JSF?
Restore View : The request comes to the FacesServet controller which extracts the viewed from this request.
Apply request values: The purpose of the apply request values phase is for each component to retrieve its current state. The components must first be retrieved or created from the FacesContext object, followed by their values.
Process validations: This phase makes use of the validators to validate the validation rules on the fields..
Update model values: In this phase JSF updates the actual values of the server-side model ,by updating the properties of your backing beans.
Invoke application: Here the JSF controller invokes the application action to handle Form submissions.
Render response: In this phase JSF displays the view with all of its components in their current state.

Q. What is the difference between setting an immediate=true on a button and immediate=true on a text field?
When immediate is true on a button, the command’s action and ActionListeners, including the default ActionListener provided by the JavaServer Faces implementation, will be executed during Apply Request Values phase of the request processing lifecycle, rather than waiting until the Invoke Application phase.
In case of a text field, by default, values are converted and validated together in the Process Validators phase. However, if you need access to the value of a component during Apply Request Values – for example, if you need to get the value from an actionListener on an immediate commandButton – then setting this to “immediate” makes that possible.

Q. What is inter-portlet communication?
Inter-portlet communication is achieved when an action in one portlet triggers a response in the second portlet. Its a communication bridge between two portlets. For eg, one portlet contains a checkbox containing list of products. When i choose a product from the list and click on submit, the other portlet displays the details of the respective product.


Get Updates on Tech posts, Interview & Certification questions and training schedules