X

Raghu Yadav's Weblog

User Customization with and without MDS

Good articals about User Customization with and without MDS by John Stegeman.

http://www.oracle.com/technology/pub/articles/adf-development-essentials/part8.html
ttp://biemond.blogspot.com/2009/07/mds-repository-for-adf-11g.html
http://download.oracle.com/docs/cd/E15523_01/core.1111/e10105/repos.htm#CIHCAHEJ
http://download.oracle.com/docs/cd/E15523_01/web.1111/b31974/ad_persist.htm

few key point pulled out from john links

Oracle MDS stores customization and personalization information in a
repository. The repository can either be stored in a database or in a
file-based store; for reasons of scalability and reliability, as well
other reasons, I strongly recommend using a database for storing the
MDS repository (the next article in this series will show you how to
configure the repository). For the develop/test/debug cycle, the Oracle
WebLogic Server integrated with Oracle JDeveloper 11g provides a local MDS repository, so you do not need to set up a separate one for development purposes.

  • Configure the Oracle JDeveloper 11g project to allow end user customizations.
  • Configure the Oracle ADF application descriptor with the Oracle ADF Faces components that should enable customization.
  • For saving user queries in the af:query component, configure a metadata namespace (as documented in the Oracle JDeveloper 11g release notes - if you are using Oracle JDeveloper 11g Version 11.1.1.3, this is not required).
  • For deployment, you must create and register an Oracle MDS repository (this step is covered in a subsequent article).
  • Your Oracle ADF Faces pages must be stored in XML format (.jspx),
    and the user-customizable components in the page must each have an ID
    specified. These requirements are due to the way in which Oracle MDS
    records customizations made by the user.
  • Your
    application must have security enabled. This requirement is so that
    Oracle MDS has an identity against which to store user customizations


Enabling security is must for MDS persistence also there is no need of MDS registration if app runs in jdev.

Implicitly customizable ADF Components.




























































































ComponentAttribute
panelBoxshowDetail showDetailHeader showDetailItemdisclosed
showDetailItem (used in a panelAccordion component)flex
showDetailItem (used in a panelAccordion component)inflexibleHeight
panelSplittercollapsed
panelSplittersplitterPosition
richTextEditoreditMode
calendaractiveDay
calendarview
panelWindow dialogcontentHeight
panelWindow dialogcontentWidth
activeCommandToolbar Button commandButton commandImageLink commandLink commandMenuItem commandNavigationItem commandToolbarButtonwindowHeight
activeCommandToolbar Button commandButton commandImageLink commandLink commandMenuItem commandNavigationItem commandToolbarButtonwindowWidth
columndisplayIndex
columnfrozen
columnnoWrap
columnselected
columnvisible
columnwidth
 tablefilterVisible



To make above component persists for the Duration of Session without DB MDS persistence Step 2.1 present in http://www.oracle.com/technology/pub/articles/adf-development-essentials/part8.html link is enough.


You can also control the persistence and non persistence to MDS using Persist and DonPersist setting to true or false in property inspector of selected component.

Fusion Schema comes up with predefined MDS schemas, when you deploy app to standalone wls by default it uses mds-ApplicationMDSDB repository, you can override this by creating your own MDS schema using RCU as explained in below link and selecting custom repository name created by you in MDS wizard during deployment.
However MDS Registration is must when you deploy application to standalone weblogic Server. Below article explain how to register the same.

I have registered MDS using below command run from wlst prompt. Key point here is to run wlst.sh from SOA install directory (..../mw_home_standalone/Oracle_SOA1/common/bin)  to see registerMetadataDBRepository command working, however the wlst.sh present in .../domain/common/bin does not show up registerMetadataDBRepository commands. Bottom line is to ensure SOA is installed just to make use of its wlst.sh for registration.

 registerMetadataDBRepository('ryrepos', 'ORACLE', 'indl046x1.idc.oracle.com', '1522', 'in046x1', 'RY1_MDS', 'mds', 'AdminServer');
Location changed to domainRuntime tree. This is a read-only tree with DomainMBean as the root. 
For more help, use help(domainRuntime)
xecuting operation: registerMetadataDBRepository.
etadata DB repository "mds-ryrepos" was registered successfully.

MDS WLST commands list http://download.oracle.com/docs/cd/E15523_01/web.1111/e13813/custom_mds.htm#WLSTC2688


Please refer this link http://blogs.oracle.com/raghuyadav/2010/06/deploying_security_enabled_app.html  if you notice null Password Given Error while accessing the app deployed in standalone wls.


Be the first to comment

Comments ( 0 )
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.