Oracle eBusiness Suite OA Framework Workshop
OA Framework Standards
Topics • • • • • • • • •
Value Proposition Directory Structure General Naming Rules Package Naming Page Naming Region Naming Item Naming Examples Summary
Value Proposition • Reduce cost of maintaining our code • Ease of customization by 3rd party consultants • Ease of reuse by members of the same team and members of other teams • Ease of documentation and readability • May aid us in automating certain processes
Directory Structure
General Naming Rules • Name length: – File names are limited to 30.3 characters. – For performance reasons, object names (internal ID’s) are limited to 30 characters. – Use the shortest possible names that are readable. – Consider abbreviating repeating object names.
General Naming Rules • Abbreviations: – Common abbreviations are acceptable to keep names as short as possible. – A common abbreviation that is acceptable is one that can be instantly understood by a third party consultant. – Examples of acceptable abbreviations are: Emp for employee; Num or No for number; and Desc for description. If in doubt don’t abbreviate.
General Naming Rules • Conflicts: – If after applying the naming convention you run into naming conflicts, the general rule is to prefix the second and above instances of the conflicting name with a short version of the parent object’s name.
• Reserved words: – the word name is reserved and can’t be used as the name of any object.
Package Naming XML file or a sub-directory signify a single functional unit (sub-component) of the •application Sub-directory package name: should clearly indicate the name of the sub-component and be all in small cap letters. – Example: oracle/apps/per/selfservice/emppersonalinfo/webui
• XML file package name: should clearly indicate the name of the sub-component and follow the Java class name standards. – Example: oracle/apps/per/selfservice/webui/PerEmpPersInfo.xml
Page Naming A page represents a step in a task flow. Pages are associated with an object and a function. Object examples: employee, purchase order Function examples: view, search, home page
• The page name (both embedded and XML filename) takes the form ObjectFunctionPG and should follow the Java class name standard • Create and Update functions are considered the default and dropped from the page name •
Examples: UsrInfoPG, UsrContactsPG, UsrEnrollmentsPG, UsrInfoViewPG, UsrSearchPG
Region Naming Four categories • The Top Region: – has the pageLayout style
• Content Regions – Composed of a single region/hierarchy that represents a single UI functional unit
• Layout Regions – Used solely to compose the real-estate layout for a content region that doesn’t have built-in framework support
• Navigation Regions – BLAF recognized navigation regions that are given special names such as page tabs, locator element, quick links
Top Regions Naming • Should be named PageLayoutRN
Content Regions Naming • When the first child region of the top region encompasses all other regions, it should be named MainRN • Page level region the include a key of indicators should be named KeyRN • Parent region level region that include a key of indicators name is qualified with a short version of the parent content region name (e.g. ResultsKeyRN)
Content Regions Naming • Region name (both embedded and XML filename) should take the form takes the form ObjectFunctionalstructureRN and should follow the Java class name standard. • Object examples: employee, contact • Functional-structure examples: Master form (Master), Detail table (Detail), Search criteria (Search), Search Results, Table, HGrid, Tree and the default data entry Form. • The Form structural-function is considered the default and dropped from the region name • Examples: EmployeeRN, EmpMasterRN, EmpContactsDetailRN, EmpSearchRN, EmpTableRN
Layout Regions Naming • Name should be a noun that concatenates a [short reference to the parent or child object] + [location indicator] + a short name of the layout style and should follow the Java class name standard. • Examples: ContactsTableLayout, ButtonsRow, ContractsSpacerRow, EmpTopRow, ContactsRow1
Navigation Regions Naming • Name take the form ScopeLocationBLAFNameRN and should follow the Java class name standard • The relative location can be dropped if the result won’t be confusing • The region scope can be dropped if the region scope can be inferred implicitly; like breadcrumbs • Examples: PageTopNavLinksRN, PageBottomNavLinksRN, PageActionButtonsRN, QuickLinksBarRN, TrainRN
Item Naming Items map to persistent or transient data objects. The item label is typically a user-friendly name of the underlying data object name
• The item name should use its label and should follow the Java class-naming standard • For objects with no label use the name of the associated object • Use a made-up unique name as a last resort to substitute for the label. • Examples: SupplierName, Salary, EmpType, Go, ResultsGo