- UIX Pages and Regions.
- OAF Personalizations
- BC4J Substitutions (EO, VO Substitutions)
- BC4J Components (EO.xml, VO.xml, AM.xml, AO.xml, VL.xml)
OAF的很多组件都是以XML的形式存在,但到最终的系统里,OAF的XML文件会存储到数据库表中(JDR_表)。MDS提供API(JDR_UTILS)从JDR表读取,并构建XML的定义。
Table | Details |
JDR_PATHS |
Stores document paths, packages and there parent child relationship.
Primary Key: PATH_DOCID |
JDR_COMPONENTS |
Stores components on documents and OA Framework pages.
Primary Key: COMP_DOCID, COMP_SEQ |
JDR_ATTRIBUTES |
Stores attribute/properties of components on documents and OA Framework pages.
Primary Key: ATT_COMP_DOCID, ATT_COMP_SEQ, ATT_SEQ |
JDR_ATTRIBUTES_TRANS |
Stores translated attribute values of document components or OA framework pages.
Primary Key: ATL_COMP_DOCID, ATL_LANG, ATL_COMP_REF, ATL_NAME |
JDR_UTILS API
How to get page or region contents from MDS repository
BEGIN
jdr_utils.printDocument('/oracle/apps/fnd/framework/toolbox/tutorial/webui/HelloWorldPG',1000);
END;
Lists all the MDS documents of specified directory currently imported into database.
BEGIN
jdr_utils.listdocuments ('/oracle/apps/per/selfservice.webui', TRUE ) ;
END
Delete a Page from MED repository
BEGIN
jdr_utils.deletedocument ('p_document => /oracle/apps/per/selfservice/webui/somepagePG') ;
END ;
In jDeveloper, when I build a page and its regions, it looks I am building an XML file. Is page definition stored as XML file in OA Framework?
The storage page definition happens in JDR tables, where page components
are not stored as XML
. But MDS provides API's to build XML definition from the data in JDR tables.
Hence there are two provisions
1.
When you design a page, you store "page definiton" in XML format on your pc. When deploying to your system/server, you load this XML file into JDR tables by using command xmlimporter
2
. When a user runs the page, OA Framework does the following steps:-
Step a
. OA Fwk Requests page definition/structure from (MDS) --note its cached too
Step b
. MDS engine
returns a xml file
to OA Framework
Step c
. Each node/component in XML(of Step b) is translated into a web bean object. Let's say your page has
Region-Main
field1
Regionchild
Button
In this case,
four web beans objects
will be instantiated by OA Framework.
A bean object is nothing but an object representation components like fields, buttons, regions etc
. A bean object also has methods like setRendered, setRequired, getRequired etc.
Step d
. Not only we have beans created for that page, those beans are nested as well, in exactly the same sequence of components within Region-Main. Hence parent child relationship is retained.
Step e
. After rendering the page,OA Framework then calls the controller class for that MDS page. The page is displayed to user after processRequest in Controller is completed.
refer:
http://oracle.anilpassi.com/mds-in-oa-framework-what-exactly-it-is-2.html