Requirements Document Example

download Requirements Document Example

If you can't read please download the document

Transcript of Requirements Document Example

REQUIREMENTS DEFINITION DOCUMENT Declarative Search Project Fusion RequirementsApplications Release: Author: Creation Date: Last Updated: File URL: Draft / Version: Status: Project Fusion Andrew Hawthorn, ATG strategy June 26, 2005 August 15, 2005 files online 1.2 DRAFT

Disclaimer: The following is intended to outline our general product direction and is intended for information purposes. The development, release, and timing of any features or functionality described for Oracle's products remains at the sole discretion of Oracle.Copyright 2009 Oracle Corporation All Rights Reserved

Document ControlChange RecordDate 20-Feb-09 20-Feb-09 Author Andrew Hawthorn Andrew Hawthorn Version 0.1 1.0 Change Reference First draft First published version

ContributorsName Andrew Hawthorn Varun Puri Ramkumar Sekar Hyun-Sik Byun Organization Oracle Corp Oracle Corp Oracle Corp Oracle Corp Title Sr. Product Strategy Manager Project Lead Project Lead, OAF Sr. Software Developer

ReviewersName Ritchard Shadian Paul Johl Varun Puri Arun Viswanathan Hyun-Sik Byun Sanjay Saxena Blake Sullivan Brian Albers Glen Foster Ramkumar Sekar Thomas Nickerson Roy Selig George Kellner Eric Bing Peter Wallack Role BLAF+ UE team alignment UE product management alignment ATG Technical Feasibility ATG Technical Feasibility ATG Technical Feasibility Design compatibility Design compatibility Design compatibility Design compatibility ATG Technical feasibility Performance implications, architecture Prototype Alignment Title Sr. User Interface Designer Sr. Product Strategy Manager Project Lead Manager, ATG Development Sr. Software Developer Sr. Development Manager UI Technologies Architect Sr. Development Manager Sr. Director, GUI technologies Project Lead, OAF Consulting Performance Engineer UE Architect Sr. Director, ATG Development Senior Director Senior Director, ATG Development Date Reviewed

Performance/Usability guidance

ApproversName George Kellner Glen Foster Sanjay Saxena Role Title Sr. Director, ATG Development Sr. Director, GUI technologies Sr. Development Manager Date Approved

Document ReferencesDocument Title BLAF + Search Specification BLAF + Table Specification BLAF + Tree Specification BLAF + Hgrid Specification ADFf UE requirements ADFm and BC requirements Document Location

http://blafstaging.us.oracle.com/blafPlus/search/searchSpec.doc http://blafstaging.us.oracle.com/blafPlus/table/tableSpec.doc http://blafstaging.us.oracle.com/blafPlus/tree/treeSpec.doc http://devweb.uk.oracle.com/cgi-bin/jdevwiki.pl?UIXFrameworkGroup/Hgrid http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework Workgroup/Framework Rollup/Framework RDDs/Framework-ADFFaces.xls http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework Workgroup/Framework Rollup/Framework RDDs/Framework-ADFm and BC Requirements.xlsPage 2 of 27

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Document Title LOV RDD

Document Location

http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework Workgroup/Framework Rollup/LOV RDD 20050731.doc

Table of Contents1. Introduction..................................................................................................................................................5 1.1 Scope for this Document..................................................................................................................5 1.2 Purpose of this Document................................................................................................................6 1.3 Intended Audience ..........................................................................................................................6 1.4 Definitions........................................................................................................................................6 2. Market Analysis...........................................................................................................................................7 2.1 Competitive Pressures and Analysis................................................................................................7 2.2 Customer Demand...........................................................................................................................7 2.3 Existing Solution / Gap....................................................................................................................8 2.4 Key Assumptions.............................................................................................................................9 3. Business Process Impact............................................................................................................................10 4. User Profiles...............................................................................................................................................10 5. Business Requirements..............................................................................................................................11 5.1 Priority Description........................................................................................................................11 5.2 Business Requirements..................................................................................................................125.2.1 F-ADFf-SRCH-01 Search Performance.....................................................................................................12 5.2.2 F-ADFf-SRCH-02 BLAF Consistency.......................................................................................................14 5.2.3 F-ADFf-SRCH-04 Reusability...................................................................................................................14 5.2.4 F-ADFf-SRCH-05 Implied AND...............................................................................................................14 5.2.5 F-ADFf-SRCH-06 Omnipresent Functions................................................................................................14 5.2.6 F-ADFf-SRCH-07 Date Picker...................................................................................................................15 5.2.7 F-ADFf-SRCH-08 Wildcard support..........................................................................................................15 5.2.8 F-ADFf-SRCH-09 Selective Search...........................................................................................................15 5.2.9 F-ADFf-SRCH-10 Case insensitivity.........................................................................................................16 5.2.10 F-ADFf-SRCH-11 Auto-execute..............................................................................................................16 5.2.11 F-ADFf-SRCH-12 and26 Function inheritance.........................................................................................16 5.2.12 F-ADFf-SRCH-14 Personalization...........................................................................................................16 5.2.13 F-ADFf-SRCH-15 Retention of user inputs.............................................................................................17 5.2.14 F-ADFf-SRCH-16 Multiple Search Regions............................................................................................17 5.2.15 F-ADFf-SRCH-17 PPR............................................................................................................................17 5.2.16 F-ADFf-SRCH-18 Multiple Search Regions............................................................................................18Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 3 of 27

5.2.17 F-ADFf-SRCH-19 100% Declarative Search...........................................................................................18 5.2.18 F-ADFf-SRCH-20 Customization............................................................................................................19 5.2.19 F-ADFf-SRCH-21 SOA support..............................................................................................................19 5.2.20 F-ADFf-SRCH-22 Fuzzy, spelling and thesaurus....................................................................................19 5.2.21 F-ADFf-SRCH-23 Highlighting...............................................................................................................20 5.2.22 F-ADFf-SRCH-24 and 34 Quick Find local ..........................................................................................20 5.2.23 F-ADFf-SRCH-25 Fielded Search............................................................................................................20 5.2.24 F-ADFf-SRCH-27 OR condition..........................................................................................................21 5.2.25 F-ADFf-SRCH-28 Ranked Results...........................................................................................................21 5.2.26 F-ADFf-SRCH-29 Mini-reports...............................................................................................................21 5.2.27 F-ADFf-SRCH-30 Operators....................................................................................................................21 5.2.28 F-ADFf-SRCH-31 Flex Fields..................................................................................................................22 5.2.29 F-ADFf-SRCH-32 Map results.................................................................................................................22 5.2.30 F-ADFf-SRCH-33 GIS query support......................................................................................................22 5.2.31 F-ADFf-SRCH-36 Continuous Search.....................................................................................................22 5.2.32 F-ADFf-SRCH-38 View Functions..........................................................................................................22 5.2.33 F-ADFf-SRCH-39 Separate Search / Results...........................................................................................23 5.2.34 F-ADFf-SRCH-40 Seeded Views.............................................................................................................23 5.2.35 F-ADFf-SRCH-41 Most Recent...............................................................................................................23 5.2.36 F-ADFf-SRCH-44 Design patterns...........................................................................................................23 5.2.37 F-ADFf-SRCH-45 Filtered Lists..............................................................................................................23 5.2.38 F-ADFf-SRCH-46 Quick Find global.................................................................................................24 5.2.39 F-ADFf-SRCH-47 API getCritieria........................................................................................................24 5.2.40 F-ADFf-SRCH-48 API getNonViewAttrCritieria..................................................................................24 5.2.41 F-ADFf-SRCH-50 QBE..........................................................................................................................24 5.2.42 F-ADFf-SRCH-51 Row Count...............................................................................................................24

5.3 Technology Considerations...........................................................................................................24 5.4 Global Impact.................................................................................................................................25 5.5 Industry Impact..............................................................................................................................25 5.6 Impacted Applications Products....................................................................................................25 5.7 Performance Requirements............................................................................................................25 5.8 Data Privacy Requirements............................................................................................................25 5.9 Security Requirements ..................................................................................................................25 6. Use Cases.....................................................................................................................................................25 6.1 Use Case Inventory........................................................................................................................25 7. Supporting Information............................................................................................................................27 7.1 Unit and/or System Test Considerations .......................................................................................27 7.2 Licensing/Packaging Considerations.............................................................................................27 7.3 Other Considerations/Relevant Information .................................................................................27 8. Open and Closed Issues.............................................................................................................................27 8.1 Open Issues....................................................................................................................................27Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 4 of 27

8.2 Closed Issues..................................................................................................................................27

1.

IntroductionMuch of the users experience is defined by the performance and flexibility of the search function. Todays search function is often hand-coded, inflexible, and relatively slow (relative to common user experiences with search engines like Google). These requirements aim to: Ensure continuity in user experience, whether from EBS, JD Edwards Enterprise One, or PeopleSofts Enterprise, by providing fusion with complete feature-parity across all three stacks. Significantly increase the usability and flexibility of the current search functionality. Boost developer productivity by providing a thorough declarative development that covers many use cases. Increase performance on individual queries and across the entire application.

1.1

Scope for this DocumentFor the purposes of review and approval, the scope of this document is limited to the detail and discussion of the initial Search requirements for Fusion the successor product to Oracle EBusiness Suite Release 12, Peoplesoft release 8.x, and JD Edwardss 8.x. While this document may speak to some long-term strategic directions, this is not the primary aim of the document. The scope will be limited to the supported Framework pieces necessary to support the functionality described below. In general, this includes: The expected end-user functionality for search regions on a page. A Search region on a page is the typical process for culling from a much larger data set those specific data objects (usually, row or rows) that the user needs in order to perform a specific activity. The process and functions necessary for developers to define search regions on a page. Complete declarative development would mean the developer would use a graphical interface to manipulate the search mechanism without ever needing access to SQL, Java, XML or any other programmatic language. Some performance improvements in order to better facilitate the search functionality.

In general, this document does not cover: The personalization framework and user search personalization. If mentioned, those requirements are superceded by the personalization RDD. Searches supported in Web Services. These are captured in the various Web Services RDDs. List of Values, which are captured in the List of Values RDD. Value Sets, look-up tables and other internal simple search functions.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 5 of 27

1.2

Purpose of this DocumentThe primary purpose of this document is to detail and discuss the initial Search requirements and use-cases for Fusion (the successor product to Oracle E-Business Suite Release 12, PeopleSoft release 8.x, and JD Edwards 8.x). It is expected teams of developers will build products to meet these requirements. A secondary purpose of this document will be to discuss strategic direction for the purpose of justifying these requirements, setting context, and aiding development of these functions in alignment with long-term goals.

1.3

Intended AudienceThis is an internal document, and under no circumstances should its contents be shared with any non-Oracle employee. The primary audience is ST and ATG developer teams, specifically those dedicated to development of search functionality. Included in that group are affiliated teams, such as Jdev, QA, documentation, architects and User Experience. The document uses technical terms and is not intended as a complete business rationale for supporting any one individual requirement or the entire project as a whole. Business discussions are indented to help convey an understanding of the requirement to the development teams. It is also intended for review by Application development teams to ensure it conforms to their existing and future requirements.

1.4Term Contains Filter CBO

DefinitionsDefinition Operator currently used by E, E1 and EBS applications to perform a pattern-match table scan through a SQL "LIKE" clause. This can be a very expensive operation. A rapid reduction of the number of records shown in the results table based on one or more exact criteria provided by the user. Cost-based optimizer. Database functionality that collects statistics about the underlying data structure to enable the optimizer to choose the best course for resolving a query, regardless of the syntax used in that query. BLAF specification term used to describe a single query across multiple pages in a pageflow. Described here as having a local variant and a more global variant for navigation purposes. An attempt to locate the next instance of a single precise query term within the result table without altering the number or order of the result table. Similar in function to the "find on this page" function in IE, acrobat, excel, etc. Any method for expanding a query to return relevant related items that imprecisely match the original query terms. A hierarchical ordering of information the user interacts with to locate a specific item (in most applications, this is typically a "page;" but in portal, it may also mean a specific document). A search query operator that returns results where two query terms are in close proximity to one another; the closer the proximity, the higher the relevance ranking. The method used to describe which items to retrieve from the database An ordering of the items in the result table; does not change the number of results. Built-in language functions that automatically expand the query term to include all lingual variants of that query term. Simple stemming allows for typical verb variants, such as swim/swam, bring/brought others also include proper names such as bob/robert and NYC/New York City. Built-in language functions that automatically expand the query term to include synonyms of that query term; customizable thesauri allow a manual mapping, I.e. "mobile phone" to "cell phone." Natural language processing/semantic analysis engines reduce the need for manual thesaurus mappings. A character inserted into the query to substitute for any of one or more characters.

Quick Find Find-within-results Fuzzy-match Navigation Proximity Search Query Sort Stemming function Thesaurus function Wildcard

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 6 of 27

2.

Market AnalysisWhether we like it or not, Google sets the standard in Search. It may not be a fair comparison, but our customers frequently say: Google searches the entire Internet; Oracle just searches my database. Why cant it be like Google? To todays web-savvy users, the current search utility is an anachronistic throwback to green terminals and command-line interfaces. Users want a flexible yet simple design that rapidly returns what they request. More often than not, Oracle presents the exact opposite: a laundry list of criteria, each with a set of search operators that make little sense to the casual user. Issues like case-insensitivity and in-exact matching are so common today, users are annoyed when they see Oracles search screens frequently that lack that flexibility. These expectations are not going to diminish. Rather, they are likely to increase significantly over the next two years. Bill Gates believes Google is his most threatening competition, and he has pivoted his entire company to counter that threat. Vista is more than a convergence of the file system and database; its aim is to redefine the way people find information by driving natural language search functionality into every Microsoft application. From the start button to any time you hit open in a Microsoft application, you'll be working with the omnipresent, omniscient, incredibly fast search interface. Fusion will leverage Oracles stack advantage to reclaim its dominance as the world leader in Enterprise information storage and retrieval.

2.1

Competitive Pressures and AnalysisOracle has some significant advantages over its main rival, SAP, in meeting the expectation. SAPs multiple-database strategy will force it to a lowest-common-denominator SQL that can only be optimized at the customer site. Oracle, on the other hand, can leverage its stack advantage for better performance and flexibility right out of the box. A database-neutral application like SAP may not ever be able to deliver to the market's expectation. But SAP understands the need, and some of its plans in Mendocino call for a direct integration into Microsofts search facilities. Beginning in 2006, Microsoft will offer applications with many integrated transactional search capabilities, allowing users to do things like automatically link a calendar item to the billing account in SAP (which, of course, begins with a search of the possible accounts). Microsofts integrated Search capability, in the opinion of this author, constitutes a significant threat to Oracles application business.

2.2

Customer DemandThe complaints are more than just about speed. Users prefer the single search box to the long list of fielded, exact criteria. Users are asking for spelling support of query terms and best matches, and Oracle frequently provides the opposite in case sensitivity. Customers in nearly every application segment are requesting additional Search functionality. They are requesting: More simplicity and flexibility in the search terms, without sacrificing precision when needed. Blindingly fast returns, so that rapid iteration can occur. Results that support a multiplicity of different data types, often federated together documents, rowsets presented in a table, H-grid, tree, to data plotted on a map.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 7 of 27

A capacity to define synonyms for common search terms.

A capacity to easily refine the search, using more criteria if needed, and a capacity to save that search for future use. For better navigation to specific workflows or content pieces. For the system to make smart decisions based on previous choices and/or context of the user. If I am a US employee, and I search for benefits, chances are I dont want the Chinese benefits policies. For example, recruiters want better facilities for comparing requisitions to resumes: to declare common synonyms in technical jargon, to discern between finding a search term in college experience as opposed to job experience, and to locate an candidate addresses on a map to determine proximity to the job site.

2.3

Existing Solution / GapThere are many current solutions: In Forms, application developers have created many of the search pages through manual handcoding. In general, these are difficult to manage and upgrade, and users find them cumbersome and restricted. There is at least one example of an Oracle Text application being built on top of Forms in the Content Management application for CRM. EBS applications developed in OAF can use the declarative function called the OA Query Bean to define their searches. A wizard-like function, this walks the developer through each step of the process for creating a search page and results table, while using the metadata constructs to generate much of the underlying SQL. This is not a true declarative function: developers must be aware of the underlying data schema during many of the steps of the OA Query Bean. Use of the metadata is mostly textual; in general, GUI functionality like drag-and-drop is not supported, and thus it is common for the developer to mistype or mismatch the metadata components on even simple search pages. OAQB handles many simple use cases, but it does not provide assistance in many complex use cases which are increasingly the more common variety. Thus, OAQB is not frequently used by many of the application development teams. When it is used, developers will resort to the advanced mode which allows them access to manipulate the SQL for every query. For the reasons cited above, developers frequently avoid OAQB altogether and manually code each individual search page and query. Functionality such as thesaurus, spelling, and conditional logic are generally not supported through this function. Fuzzy searching is also limited. The vast majority of PeopleSofts search pages were created automatically; it was as easy as the developer selecting a few check boxes in the IDE. This insulated the developer from all SQL, and allowed the SAM layer (SQL Access Method) to provide a common syntax across every database platform. However: The search mechanism was extremely inflexible, and one application pillar, CRM, chose to develop a wholly new search function because of the lack of configurable Search functionality. Support for Full-text, documents, and thesaurus was through embedded executables provided by Verity, which the app engines call directly. In addition to being difficult to manage and upgrade, it created platform support issues and migration from Verity-specific syntax.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 8 of 27

In comparison to either of the other two stacks, EnterpriseOne enjoys a much greater degree of centralized functions. Search pages are defined declaratively and automatically, and full text is done through a programmatic interface Verity.

2.4

Key AssumptionsThe requirements in this document are based upon the following assumptions: 1. The Oracle Database will be the only database supported for application development. This is critical: some demands of declarative development will require Oracle-specific functionality, such as outer joins and Oracle Text. Moreover, we intend on optimizing the stack for a performance advantage over SAP. Application developers may, but often will not, employ methods to ensure the search functions map to specific user needs. Thus, generic search regions will need to be flexible enough to be both sufficiently self-descriptive for the casual user and sufficiently powerful to accommodate power-user requirements. All Search functions will be both multi-lingual and fully accessible to persons with disabilities. However, it is also assumed these specific requirements are covered by teams dedicated to those endeavors. During design time, application developers are often ignorant of the data schema or the data load/performance implications of specific searches. During deployment, system integrators, customizers, database administrators and others may need to make policy decisions regarding the performance/flexibility tradeoffs on specific search regions. These decisions will be made through the personalization layer. The Peoplesoft model for declaring Search functions was too inflexible for many application needs, and the OA Query Bean is not functional enough to handle most use cases. Fusion declarative search development will need to provide both flexibility and accommodate a large number of complex application use cases. Fusion applications may contain PL/SQL components. Fusion applications will not contain any FORMS-based components. Forms-based applications will need to migrate to OAF or rebuild in Fusion. Fusion applications will not contain any JTT based components

2.

3.

4. 5.

6.

7. 8. 9.

10. Fusion applications will not have any dependencies on PeopleSoft or JD Edwards legacy technologies. 11. While the goal is feature parity, this release will not contain comprehensive automated migration of PeopleSoft and JD Edwards application data. 12. There will be selected automated migration/upgrade support for EBS applications (metadata, configuration settings and personalizations). ADF is the successor to OAF and will inherit OAF functionality. 13. ADF must be developed prior to beginning Fusion application development. 14. Customers will migrate to Fusion in phases. 15. Business application developer and business application system configuration will be target for AS11 product 16. Migration to Fusion must be significantly easier/faster/cheaper that re-implementation.Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 9 of 27

17. We will have a complete meta-model of the Fusion applications, including the mapping from versioned files to application objects to business functions to business flows. 18. A Standards Based Logical common canonical for core business objects will be defined. However, it is also required to search external business objects, which may not follow standard naming conventions. 19. Resource Catalog, Integration Repository, MDS and Virtual Content Repository have very similar search needs with regard to exposing software artifacts to developers and business analysts. 20. Declarative Development of Search components will ensure better LCM through easier upgrades, maintenance and performance tuning.

3.

Business Process ImpactAt this point, it is assumed that these search facilities will not affect any specific Business Process. If anything, the functionality will enhance some existing Business Flows, when directed by the application development team.

4.

User ProfilesFrequency of Application Use Technical/ Web Experience

User Type

Description Very little knowledge of searching in general; probably not very familiar with computers or web technology. May use a computer once or twice a year to enroll a beneficiary or download a form. This user is web and computer literate, and familiar with basic searching and data interaction techniques, but may be using this specific application for the first time. This person will use search as key tool in their daily work: some accessing the same search page as much as a hundred times in a single day. The goal of the search is to find a single instance of data typically for a specific page flow: An employee, a resume, a case, a solution, a document, an invoice, etc.

Examples

Critical Needs

Inexperienced Self-Service

Yearly to monthly

Low

Factory floor manager selecting a 401k plan.

Ease of use, learnability and self-explanatory functions are critical.

Experienced Self-Service

Yearly to monthly

Medium to High

Sales Rep: Expense report. Manager: requisition. Customer finding a product from a catalog. Employee finding a document.

Ease of use, learnability and self-explanatory functions are all helpful, but fast performance can allow these users to quickly iterate to find the data they need without much description.

Production

Daily

High

HR manager, recruiter, CRM agent, Financial Analyst, Contracts administrator.

Critical needs include saved searches, flexible criteria, and heads-down operation. Speed is critical, but generally easy to accomplish since the user puts in exact criteria.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 10 of 27

Knowledge Worker

Daily to weekly

High

This person may also be using the application on a daily basis, but the searches are broader and result sets are larger. They are typically making mass manipulations of data and expect Excel-like qualities in the table.

CFO, CRM call center manager, Business Analyst, HR Manager, recruiter

Flexible criteria, saved searches, Excel-like features in the table, and integration with desktop apps. Speed may not be as critical, but users may need access to more than 200 rows of data. Increasingly, these are opportunities for dashboard technologies.

Analyst or Report Writer

Daily

High

This is the power searcher: Knows how the data is structured, perhaps even to the level of writing specific SQL statements to get appropriate access his results. Developers searching for software artifacts from disparate and heterogeneous systems, even when bereft of good naming conventions or descriptions.

Business Analyst, database administrator, IT professional

These use cases should be covered in the Reporting RDDs.

Developer

Daily (during design time)

High --though low domain knowledge

Developer, Business Analyst?

Flexible criteria, federation, and the option to deselect sources are all critical. Return set must reflect the relationships between objects and support tree navigation.

5.5.1

Business RequirementsPriority Description

Priority High 1

Definition Clear generalized market demand, requested by more than one customer, inclusion creates a competitive advantage / exclusion creates a competitive disadvantage. Must be developed into the next release of the product. Clear evidence of market need, but unclear urgency. May be pushed to future releases if there exists significant impediments to its delivery. Some evidence of specific requests by customers or application pillars, but no proof of generalized market demand. Developed into the next release of the product only if it does not present a conflict with any other requirement

Medium- 2 Low 3

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 11 of 27

5.2

Business Requirements5.2.1 F-ADFf-SRCH-01 Search Performance

Every search must perform in less than 2 secondsBy using the Jdev and the successor to the OA Query Bean, it should be difficult -- if not impossible -- for a developer to create a useless, sub-performing, non-uniform or unreliable search pages. Priority: 1 Commitment: Not in scope. To clarify: This requirement only addresses performance. Other requirements address the utility, uniformity and reliability requirements. The requirement is that all searches should take no more than 2 seconds from the point of executing the go button on the client through the middle tier to the database and back to fill the table with results. The requirement is only in for typical search use cases, meaning queries used in a typical page flow transactional setting and excluding structured queries for reporting purposes. The assumption is that ratio of hardware to data/concurrent users will remain the same or be improved in Fusion, and that it is not an option to ask customers to change the TCO equation.

As expected, there are many issues with this requirement. However, the requirement is iron-clad: clear user experience data indicates that user behavior is aversely affected when the speed of a query falls below two seconds. Indeed, the common user behavior is to re-issue the same nonperformant query a second time, thus doubling the performance hit. Moreover, the landscape is filled with commonly used application where nearly 100% of all queries return in less than two seconds: Google, Gmail, Google Maps, Thunderbird, etc. If Microsofts desktop search is an indication of what Vista will provide, there wont be a go button and the search will return results faster than the user can type. The contention is this: Oracle has no choice but to find a way to ensure sub-two second search performance. The market is already demanding it, and that will only increase as the number of sub-two second search applications proliferate including, especially, Vista and its 90% marketshare. Oracles stack advantage should mean customers obtain both a TCO and a performance advantage over SAP, even assuming that standards-based Java renders it comparatively slower. Just as Microsoft applications leverage SQL-Server, so too should Oracle Applications take advantage of internal access to database functionality. An example would be to use the CBO statistics in the middle tier to turn off the contains operator when the statistics on a LIKE query would render in excess of 10,000 rows. There are many paths to resolution, but none as powerful as providing a declarative development environment. As opposed to managing millions of individually-coded SQL statements, performance teams can concentrate on optimizing through a centralizedPage 12 of 27

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

infrastructure of code generation. Moreover, this provides for easier upgrades and additions. Lastly, the model can leverage its knowledge about the relationship between data objects as well as the underlying schema, not just for primary and alternate key generation but for understanding data loads and query plans. Over time, Jdev might not just influence the schema design, but perhaps even dictate it through UI-first development. If it is completely infeasible to ensure sub-2-second performance through the declarative infrastructure, there are still options for addressing this requirement: 1. Have multiple versions of the Search Component that address the distinct types of users likely to encounter that interface. A casual user to a self-service site has different skills and experience than a production user, and it may make sense for application teams to have separate components purely for the purpose of making the functionality / performance tradeoffs necessary. Have Jdev produce alerts when a developer embeds functionality in the application that may, given some assumptions regarding typical data sizes, cause queries of more than 2 seconds. If employed with the suggestion above, the developer may be encouraged to take a different course in terms of page flow or choice of search component in order to meet performance expectations. Given additional discussion with the Jdev guys, there may also be some ability to indicate on the model (or derive from the schema) which queries and conditions are likely to involve large amounts of data. Provide a simple monitoring device that can alert System integrators and deployment consultants when specific queries and conditions are not performing and allow them to tune the application through personalization / customization options before the application is deployed for the appropriate mix between flexibility, performance and hardware. (These options may also be beneficial for customers who experience seasonal peaks in volume, such as the end of the quarter). Provide for dynamic rendering of functions based on query performance such that the factors that lead to non-performing queries are stripped from the page during runtime. a) One suggestion is to use the CBO statistics to guess at the cost of a query, and if it is too expensive, to prohibit it and ask the user to define a more restricted query.

2.

3.

4.

5.

b) Another suggestion is for the middle tier to collect its own statistics about queries generated on the page and tune the options for operators and required fields as necessary. For example, if a user attempts contains query on the customer criterion (and nothing else) and the resultant query takes longer than 2 seconds, the second time that screen is generated: 1. 2. the contains function will be removed from the list of operators on the customer criterion or the specific query is disallowed, if a user attempts a contains on customer, hell get an error saying he needs to add criteria before executing the search.

These are not requirements; it is not the purpose of this document to design the application to meet the requirements. Rather, the requirement is stated above, and these options are provided for discussion and context purposes only.Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 13 of 27

5.2.2

F-ADFf-SRCH-02

BLAF Consistency

Search pages must be consistent with BLAF guidelines The declarative development of Search regions must adhere to the guidelines of the BLAF (and most recently BLAF+), including the Search, Tree, Table and Hgrid specifications. These are included in the related documents above. Priority: 1 Commitment: In scope. F-F-ADFf-57 To clarify: The BLAF specification has several additional requirements and several changes to the current search look-and-feel. Most prominently, the approach prohibits a basic/advanced search motif in favor of a query-builder motif. As the experts in User Experience, and in accordance with user testing and feedback, the search component requirements must adhere to the BLAF specifications when approved. It is not a requirement for the search component to be the BLAF enforcement vehicle. Rather, the resulting search experience should comply with BLAF by default.

5.2.3

F-ADFf-SRCH-04Searches must be reusable

Reusability

Searches should be "reusable" in other pages. The product resulting from creating a search panel and mapping those criteria to fields (and associated SQL, XML and Java) must be stored in a location that can be easily accessed by other developers for reuse Priority: 1 Commitment: In Scope. It is assumed that the search components will persist in the resource catalog or in some consumable fashion in MDS. Searching for search components, and other artifacts, is discussed in a future requirement.

5.2.4

F-ADFf-SRCH-05

Implied AND

Implied "AND" condition: Unless explicitly changed, the behavior for resolving criteria will be an intersection, or Logical "AND." User enters one or more criteria with the expectation that every result will meet every condition. Priority: 1 Commitment: In Scope. (though moved to ADFm)

5.2.5

F-ADFf-SRCH-06

Omnipresent Functions

Go, Clear, and other omnipresent functions Unless explicitly changed, the action of "search" will be initiated only when the user presses on the "go" button. A "clear" button will remove all values in the criteria fields Priority: 1 Commitment: In Scope. The clear button must only control the fields on the specific region it is assigned to. If there are multiple search regions on a page, there will be multiple go and clear buttons that specifically tied to the specific regions.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 14 of 27

5.2.6

F-ADFf-SRCH-07

Date Picker

Basic calendar search date picker modal window User clicks on the calendar icon, which displays a modal window displaying that calendar month (with buttons to select prior or future months). User clicks on the date, and it immediately drops in that date in the appropriate criteria field. Priority: 1 Commitment: In Scope. Does not have to be a modal window -- dependent on BLAF+ design.

5.2.7

F-ADFf-SRCH-08Wildcard support

Wildcard support

Interface will support wildcards except when prevented by selective search. Priority: 1 Commitment: In Scope. Except where expressly prohibited by the developer, every text field criterion should be appended with an assumed % wildcard at the end of the term. While this degrades performance, it is the market expectation that a search for John will also return Johnson. The framework should also allow developers to interpret * as wildcards as well as %, as well as escape those characters when used by the application as percentage and asterisk. Selective search is the OA tool that allows a developer to definite a minimum criteria set before the query is executed (which also has an option for excluding blind and wildcard searches). It is described in the very next requirement.

5.2.8

F-ADFf-SRCH-09Selective Search / blind query

Selective Search

Developers may create conditions on any field, or any combination of fields, to prevent the user from initiating a query that will not perform. In some cases, the developer may decide to allow blind queries. Priority: 1 Commitment: In Scope. This allows for developers to explicitly choose the conditions that will most optimally render the performance results they require. It is a bit of a hard-coded response to what should be taken care of in other areas. Note there is a difference between required criteria, which the user must always provide, and selective search, which requires one of a specific combination of criteria, some of which may be left blank. In some cases of selective search, the developer may allow complete blind queries where the user fetches all of the rows possible. This should be a rare case; for instance, when the user does not know the format of the data enough to declare a search term (how do I know the format for business unit, if Ive never seen an example of a business unit. It is suggested that BLAF best practices encourage developers to employ seeded queries where they might otherwise provide blind queries. Issue is whether or not this can be handled entirely on the client-side which appears to be the case as described in View Error Validation : F-F-ADFf-01-07Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 15 of 27

If not, there may need to be a corresponding Model requirement.

5.2.9

F-ADFf-SRCH-10Case-insensitive Search

Case insensitivity

User may enter uppercase, lowercase, or mixed case without affecting the results, which may also be any variant of case Priority: 1 Commitment: In Scope. (Committed F-F-ADFm_01-87) This is should require some form of the case functional query, as the current method of swapping case for the first two characters is insufficient. This should be a choice in the search component creation; however, the default should be for case insensitivity.

5.2.10 F-ADFf-SRCH-11

Auto-execute

As a developer option, if there is only one value in the resulting grid, automatically execute any subsequent transactional page associated with that item (if only a single master is in the table, return the corresponding detail page automatically). Priority: 1 Commitment: In scope F-F-ADFf-01-61 In deference to the BLAF team, this option should be defaulted to off.

5.2.11 F-ADFf-SRCH-12 and26Panels must have similar capabilities

Function inheritance

The capabilities of the Simple search are a subset of the capabilities of the Advanced search, which are a subset of the capabilities available in the Views Priority: 1 Commitment: In Scope. General Advanced Search Advanced screen shall contain all of the possible criteria on a single panel. User will decide which to use or not use based on his desire. Priority: 1 Commitment: In Scope. This should be renamed. Search component should support; all the operators; basic search does not have any operators (they are implicit). Need to revisit this issue. With regards to all three of these requirements, the BLAF+ specification for a query-builder UI may render the functionality for basic/advanced search panels moot. However, if developers are given the option for two more panels (basic search/advanced search/saved search), those panels must share functionality as a series of increasing capabilities.

5.2.12 F-ADFf-SRCH-14View personalization support

Personalization

Views page will conform to all existing and planned personalization framework plansProject Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 16 of 27

Priority: 1 Commitment: Out of Scope. Is this covered in F-F-01-01-94 Personalization requirements, including the requirements for saved searches (otherwise known as views) are covered in the personalization spreadsheet.

5.2.13 F-ADFf-SRCH-15

Retention of user inputs

Retain user-inputted values across panel switches User may toggle between panels/pages without losing the work he has already inputted. If the user inputs some criteria on Simple panel, then chooses Advanced, his inputs appear in the appropriate criteria fields automatically. If he then enters additional values in the advanced screen and toggles back to Simple, the additional values are eliminated where there is no corresponding mapping. Priority: 2 Commitment: In Scope. Applied to panel switchjing to views and when a user performs any sort of drill-down. This is an issue; most developers will not define a backing bean. Need to find a way to declarativly do this. The Search Components will be bound to same UI model (backing bean) objects. Up to App to make sure that correct UI model fields used depending on simple / advanced search.

5.2.14 F-ADFf-SRCH-16

Multiple Search Regions

Multiple Search Regions on a single page Developers may opt to have more than one search/results regions on a page. For instance, a recruiter is allowed to search requisitions on one side of the page and compare the results to the search results of applicants on the other side of the screen. PPR handles the separate refreshes. Priority: 2 Commitment: In Scope. To clarify: the declarative development must support multiple search regions on a single pages.

5.2.15 F-ADFf-SRCH-17PPR

PPR

All portions of the criteria section and the table should be enabled through Partial Page Refresh. Thus, when selecting an operator that requires a second condition (such as "between"), the panel will refresh with the additional field. Priority: 2 Commitment: In Scope. Note there is a small additional requirement embedded in that statement. The declarative environment should allow for EL and conditional logic. For instance, if the user selects between, the component should then allow for two criteria on the single field. Similar conditional logic may be coded by the developer to say if the user selects Canada from the Country drop down, then display the Province field.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 17 of 27

5.2.16 F-ADFf-SRCH-18

Multiple Search Regions

Auto/Semi Auto search page development At a minimum, continue to support Automatic / Semi-Automatic Search page development. Auto: Marking table items as queriable will automatically show them as the search criteria without the developer having much control over the UI. Semi: Mappings are defined between the search panel, but the developer has control over many UI functions, on overriding the automatic query generation, or even accessing through API getCriteria(). Priority: 2 Commitment: In scope F-F-ADFf-01-57 This is a design time requirement (drop-as-search from control palette). There are also an ADFM requirements to expose the search criteria meta-data.

5.2.17 F-ADFf-SRCH-19100% Declarative

100% Declarative Search

Except where otherwise indicated, developers must be able to satisfy all Search use cases simply by using a declarative interface; that is: without ever needing to code in Java, SQL or XML. Priority: 1 Commitment: In Scope. ADFf team is concerned that 100% might not be possible, especially when customized with flexfields. ADFf team proposed a monolithic design, that could not be customized, where the UI is dynamically generated based on the model (assuming flexfields are in the model). ADFf team wanted to see the specific use cases where declarative development would be necessary. As discussed above, PeopleSoft had a fairly rigid declarative search function, and while it served well for many years, developers became increasingly frustrated with its lack of configurability. Indeed, PeopleSoft planned to release a version 9.0 of the product which featured more configurable search, including declarative ways to address requirements like the next one (customized poplists) Also, it is not sufficient to plan to address the use cases currently covered by the OA Query Bean. Indeed, the OA Query Bean does not support a critical mass of use cases sufficient to realize the gains in developer productivity or code management. Product management will continue to work with the app teams in identifying the complex use cases, and will continue to send those use cases to development for review. In short, all of the use cases provided in this document must be supported through a declarative development process. See also: F-ADFMBC-10-011 -- Provide support for named WHERE clause parameters. F-DPRO-02-02 F-DPRO-02-02 Minimize SQL Declarative query builder Declaratively extend basic queries without having to fault over to hand-written SQL in most cases. If an additional WHERE clause is required, it should be appended to a generated statement. Writing an entire SELECT statement should be an absolute worst-case scenario. Cross feature between IDE and BC4J. Requirement should come mainly from IDE first. F-F-ADFm_01-106 Add declarative metadata to ApplicationModule to hold overrides to ViewObject metadata: where clause, etc. FW will apply overrides when initializing the query. Add MDS support. Add DT support.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 18 of 27

5.2.18 F-ADFf-SRCH-20customized poplists

Customization

Many customizations should be allowed in the search creation interface, such as developers opting to create customized pop-lists for special actions within a specific criteria. For example, Irecruitment users may search for postings "3 days ago" "1 week ago" and "1 month ago." These options require special additions to the WHERE clause as well as to the poplist. Priority: 1 Commitment: In Scope. An issue with the estimate. It is not OK to force the developer to do the model binding, instead this should be declarative. This is not just inserting a value; I need a way to interpret 3 days through a dictionary (system date minus 3 days) , then that result should be declarativly mapped to the query.

5.2.19 F-ADFf-SRCH-21

SOA support

Service-Oriented Architecture; Service Beans support Developers should be able to consume SOA search services, such as connections to Web search services like Google, SOA-enabled document archives, or even SAP/netweaver data. Priority: 1 Commitment: Out of scope. Raised priority based on management issues. The assumption is that services are defined and stored in the integration repository, and exposed to Jdev through the resource catalog. The assumption is that these services are exposed through the same declarative development mechanism (drop-as-search from control palette) as the other search functions. Need to be able to bind a search service to a search region. Was once F-ADFMBC-03-159.

5.2.20 F-ADFf-SRCH-22

Fuzzy, spelling and thesaurus

Basic Fuzzy search; spelling and thesaurus Casual I-recruit user wants to quickly find all job openings related to the general title of "pre-sales engineer," which could include such titles as "product consultant" or "systems engineer." User types all of these in a single criterion field, which checks spelling and performs a search based on a specific Thesaurus and/or other query expanders. A ranked results list is returned, the results with more relevant terms above those with fewer relevant terms. Priority: 1 Commitment: Out Scope (F-ADFMBC-03-160) Fuzzy should be a relatively easy requirement to meet, as Oracle Text-specific SQL is parsed no differently than any other SQL. Moreover, there is no delay in updates, per the common misconception. Spelling may be more difficult, as it requires a conditional two-step query: if the initial query did not return matches with a high degree of confidence, provide the user with the highest match from the dictionary. Applications would be responsible for the did you mean? prompt and coding the logic to pass the value into the search string. However, the dictionary would needs to be accessible and updateable in runtime.Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only Page 19 of 27

Thesaurus is also relatively simple. Assuming Oracle Text does not uses the Thesaurus to build nodes on the index, the functionality would simply act as a query expander: first the query terms would be applied to the thesaurus to find additional words, then the query would be executed against the index with those additional words.

5.2.21 F-ADFf-SRCH-23Highlighting

Highlighting

Developer can optionally allow the search result to appear highlighted in the results table or resulting object; particularly useful in long descriptions, while using multiple criteria, or with union queries. Priority: 3 Commitment: Out of Scope. Only looking for byte offsets in returned documents.

5.2.22 F-ADFf-SRCH-24 and 34

Quick Find local

Single search criteria spanning multiple columns A single search must be able to span multiple columns, such that a developer could define a single generic search box for location that would apply any term placed in that box against city, state, country, province or zip code. Priority: 1 Commitment: In Scope. F-ADFMBC-03-161 This may be a simple domain search, and is meant to bring Current DB search pages with entry for each column closer to something like a google search. However, it is limited in scope and only applies to the search within a specific, single application use case. Another requirement for a more global search is indicated in F-ADFf-SRCH-46. This may require an API to identify what to search (smart model adapter with a dumber view piece?). May only be possible in simple use cases, where the data is very similar. It should probably prompt the developer in DT indicating it may create a sub-performing query. One possible solution for the more complicated use case described above is to include some logical parsing mechanisms: if the term is a number, then the query is executed against the zip code column; if it is a two-letter text value, start first with state and province.

5.2.23 F-ADFf-SRCH-25

Fielded Search

Compound Fuzzy and Exact search (aka "fielded search") Above user wants to execute the exact same criteria (a single location), except with the additional condition that all results be within the specific date range of the last week. Priority: 1 Commitment: In Scope. Easily accomplished since the SQL parser handles Oracle Text SQL no differently than any other SQL. There will be many use cases where the user will employ both exact and inexact criteria resume submitted after a specific date, solutions within a range of cases numbers, etc.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 20 of 27

5.2.24 F-ADFf-SRCH-27"OR" conditions

OR condition

I-recruit user wants to find openings in either marketing or product management without performing two different searches. Expectation is every returned result will contain an item that meet either, or both, conditions. Priority: 1 Commitment: In scope. F-F-ADFf-01-58 The UE for this function is determined through testing and will be expressed in the BLAF+ Search specification.

5.2.25 F-ADFf-SRCH-28Ranked results

Ranked Results

When returning unioned results (through "or" conditions or fuzzy criteria), the list will be rankordered by the number of conditions that are met. Priority: 3 Commitment: Out of scope: F-ADFMBC-03-162

5.2.26 F-ADFf-SRCH-29Mini-reports

Mini-reports

In some cases, the developer may allow users to create conditional criteria using AND/OR/NOT operators in conjunction with each other between the criteria. User may also create duplicate criteria. Priority: 3 Commitment: Out of Scope. This is the equivalent with the BLAF+ specification for a query-builder type of interface. It will address the needs of the Knowledge Worker, especially if combined with the Excel-like functions found in the BLAF+ table specification.

5.2.27 F-ADFf-SRCH-30Operators

Operators

Operators are tied to the data type of the corresponding field and may include presence operators ("begins with" "contains" "="), negative operators ("not ="), or range operators ("="). Priority: 1 Commitment: In scope. F-F-ADFf-01-58 The functionality proposed here is the exact same as currently provided in all three stacks. Essentially, the types of operators are tied to the The only exception would be if the operators are disabled, by an overt action by an administrator to improve performance, or via a dynamic decision by the middle tier based on the query performance (as discussed in the performance requirement, F-ADFf-SRCH-1). The operators are detailed in the first BLAF Search document.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 21 of 27

5.2.28 F-ADFf-SRCH-31Flex-Fields

Flex Fields

Flex fields must appear as a possible criteria on the search regions indicated by the developer/business analyst. Priority: 1 Commitment: F-F-ADFf-01-58

5.2.29 F-ADFf-SRCH-32Maps / proximity to user

Map results

Search interface must be able to return results in way that can be consumed and rendered on a map, using the web services interface provided by. In addition, the search must be able to locate related zip codes, thus enabling queries such as find all jobs within 50 miles of 94707. Priority: 2 Commitment: Out of Scope. The first portion of this requirement will be increasingly in demand, as Google mashups provide significant visual assistance for many common search use cases: resolving a service request, locating the closest retail outlet, identifying the geographic spread of last quarters sales.

5.2.30 F-ADFf-SRCH-33proximity to user and destination

GIS query support

Developer can allow users to select multiple areas on a map, which will relate to a query spanning all of the possibilities between those two locations Priority: 3 Commitment: Out of Scope.

5.2.31 F-ADFf-SRCH-36Continuous Search

Continuous Search

There is no "go" button. The engine executes a search every time the user tabs out of a criteria. On a tabout, it executes a PPR and brings back the results that meet the criteria at that time. As he adds or adjust his criteria, the number of returned results changes. Priority: 3 Commitment: Out of Scope. Since first publishing this requirement, Microsofts desktop was released providing a nearly instantaneous search facility. (However, it does wait for the first few characters before firing the first fuzzy query). My sense is that this is the kind of functionality we will need to compete, certainly by year 2007.

5.2.32 F-ADFf-SRCH-38Existing view functionality

View Functions

Users must be able to apply, at a minimum, all of the current search personalization features including manipulating criteria, sort order, column order, and filters applied to the results; developers should also retain default view behavior.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 22 of 27

Priority: 1 Commitment: In scope F-F-01-09 This feature does not seem to meet the requirement as stated above. It seems to be a better fit in FF- 01-94 All personalization requirements are accounted in the Personalization RDD.

5.2.33 F-ADFf-SRCH-39

Separate Search / Results

Users should be able to manipulate the conditions for creating a search without having to execute that search. That is, the user should be able to access saved searches, make changes to a search, then execute the go command, while retaining original saved criteria. Priority: 2 Commitment: Out of scope. This is currently supported functionality in PeopleSoft and JD Edwards, and is requested by many app dev teams. Moreover, it is a portion of the BLAF+ Search specification and the Personalization RDD.

5.2.34 F-ADFf-SRCH-40

Seeded Views

Developers, customizers, Admins, and business-users should be able to easily create a saved search (seeded view) and make that view available -- as a choice, or as the default choice -- to users or groups of users of a particular page Priority: 1 Commitment: Out of scope. This is currently supported functionality in EBS, and currently used by many app dev teams. Moreover, it is a portion of the BLAF+ Search specification and the Personalization RDD.

5.2.35 F-ADFf-SRCH-41

Most Recent

Developers should enable users to choose from a drop-down list of most recent searches that they have performed. Priority: 3 Commitment: Out of scope.

5.2.36 F-ADFf-SRCH-44Easy UI for creating queries

Design patterns

Need design patterns for creating easy, self-descriptive search panels that can morph to the needs of advanced users creating boolean searches. Priority: 2 Commitment: Costed but uncommitted: F-F-ADFf-01-58

5.2.37 F-ADFf-SRCH-45

Filtered Lists

Configuration option to display search results (with pre-defined but editable search criteria) upon page load. Priority: 3 Commitment: Out of scope.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 23 of 27

5.2.38

F-ADFf-SRCH-46

Quick Find global

Ability to search across multiple fields from one search field. Similar to "keyword" searches, but used as a navigational aide to get to the beginning of a specific page flow. Some developers wanted to be able to restrict to n out of m columns. Priority: 3 Commitment: Out of scope. Assumption is that the portal navigation and/or page flow RDDs are handling this particular requirement and use case.

5.2.39

F-ADFf-SRCH-47

API getCritieria

Support existing OAF functions for applications to obtain the criteria for the search component. Applications may then pass some or all of these criteria as a part of rendering the search region. This is an existing requirement. Priority: 1 Commitment: Uncosted, and uncommitted.

5.2.40

F-ADFf-SRCH-48

API getNonViewAttrCritieria

Support existing OAF functions for applications to obtain the non-view attribute criteria. Applications may then pass some or all of these criteria as a part of rendering the search region. This is an existing requirement. Priority: 1 Commitment: Uncosted, and uncommitted.

5.2.41

F-ADFf-SRCH-50Also: F-ADFf-LOV-33 Query By example (QBE)

QBE

To achieve Feature parity with EnterpriseOne, user must be able to input fielded criteria above each associated columns. The input field must not scroll off. Priority: 1 Commitment: In scope (as F-ADFf-LOV-33) Grid Data Search : F-F-ADFf-01-05

5.2.42

F-ADFf-SRCH-51

Row Count

Requirment added on 7/31: When the entire dataset is known (either because the query requires an ORDERBY of some other function where the total must be obtained), provide the user with the exact count (without executing a separate COUNT query, which would have performance impacts). When the exact count cannot be determined, provide simple mechanism to return an approximate row count (such as using the CBO statistics) especially when row counts exceed multiples of 1000. Priority: 1 Commitment: Out of Scope

5.3

Technology ConsiderationsNone.

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 24 of 27

5.4

Global ImpactLanguage dependencies throughout, especially in Oracle Text features such as stemming and thesaurus functions.

5.5

Industry ImpactNone.

5.6

Impacted Applications ProductsAll.

5.7

Performance RequirementsDiscussed in F-ADFf-SRCH-01

5.8

Data Privacy RequirementsNone.

5.9

Security RequirementsNone.

6.6.1

Use CasesUse Case Inventory

Use Case Basic Exact Search

Description Casual I-recruit user wants to quickly find all marketing job openings. User sees a very simple search screen with the most commonly used criteria fields. Picks "marketing" from a drop-down menu and receives results in a table on the same page within 2 seconds of pressing the "go" button.

Requirement ID references F-ADFf-SRCH-01 Search Performance F-ADFf-SRCH-02 BLAF Consistency F-ADFf-SRCH-09 Selective Search F-ADFf-SRCH-06 Omnipresent Functions

Implied "AND" condition

I-recruit user wants to find all marketing positions within the last week and near his area. Enters one or more criteria with the expectation that every result will meet every condition. The user is forced to enter at least I-recruit user wants to search from last Monday, but cannot remember the exact date. User clicks on the calendar icon, which displays a modal window displaying that calendar month (with buttons to select prior or future months). User clicks on the date, and it immediately drops in that date in the appropriate criteria field.

F-ADFf-SRCH-05 Implied AND

Basic calendar search

F-ADFf-SRCH-07 Date Picker

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 25 of 27

Wildcards/Selective Search

User enters a series of wildcards without realizing the query will not perform; user is alerted to what conditions he needs to meet in order to construct a performing query.

F-ADFf-SRCH-08 Wildcard support F-ADFf-SRCH-09 Selective Search

Clear / Multiple Search regions

A recruiter has two searches operational on the same screen: one to fetch applicants, the other to fetch requisitions. She makes a mistake in searching for an applicant and presses clear, which only clears the criteria in the region associated with the applicant search.

F-ADFf-SRCH-06 Omnipresent Functions F-ADFf-SRCH-16 Multiple Search Regions F-ADFf-SRCH-10 Case insensitivity F-ADFf-SRCH-22 Fuzzy, spelling and thesaurus F-ADFf-SRCH-24 and 34 Quick Find local F-ADFf-SRCH-25 Fielded Search

Basic Fuzzy search

Casual I-recruit user wants to quickly find all job openings related to the general title of "pre-sales engineer," which could include such titles as "Product Consultant" or "systems engineer." User types all of these in a single criteria field. An ranked results list is returned, the results with more relevant terms above those with fewer relevant terms. Search terms are highlighted in the result setsFADFf-SRCH-23 Highlighting User is prompted only for "location." Location can be a city, state, country, province or zip code

Single search criteria spanning multiple columns Compound Fuzzy and Exact search (aka "fielded search") Retain user-inputted values across panel switches

Above user wants to execute the exact same criteria, except with the additional condition that all results be within the specific date range of the last week. User wants to toggle between screens without losing the work he has already inputted. User inputs some criteria on Simple panel, then chooses Advanced. His inputs appear in the appropriate criteria fields automatically. If the user then enters values in the advanced screen, then chooses to toggle back to simple, the advanced values that do not have mappings are eliminated. As the user selects "between" operator, the page partially refreshes to provide the additional field I-recruit user wants to find openings in either marketing or product management without performing two different searches. Expectation is every returned result will contain an item that meet either, or both, conditions. In the above use-case, user expects the list will be rank-ordered by the number of conditions that are met. Employee wants to deduct all business-related expenses that were rejected by his employer. He uses the Advanced Search page to generate a mini-report that contains all of the Expense reports he submitted last year but were either rejected completely or only partially fulfilled. Power user wishes to add a searchable column to flag items that need to be routed to the CEO for approval. This field must appear as a possible criteria in the advanced search panel -- at least for this user. Job hunter wants to find all job openings that have been posted within the last day/2 days/week/month. Rather than using a calendar function and determining the appropriate date, user is presented with a custom pull-down menu with those options. Salesman wants to fly from San Francisco to New York. He knows of his options for departure (SFO, OAK, or SJO) but does not know his options for destination (JFK, LGA, or EWR). On an interactive map detailing all of the airports in the US, he circles his departure area and his arrival area. All possibilities are returned to him in order of expense.

F-ADFf-SRCH-15 Retention of user inputs

PPR

F-ADFf-SRCH-17 PPR F-ADFf-SRCH-26 OR condition

"OR" conditions

Ranked results

F-ADFf-SRCH-28 Ranked Results F-ADFf-SRCH-29 Mini-reports

user-chosen AND/OR/NOT criteria conditions

Flex-Fields

F-ADFf-SRCH-31 Flex Fields

Seeded views

F-ADFf-SRCH-40 Seeded Views

proximity to user and/or destination

F-ADFf-SRCH-33 GIS query support

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 26 of 27

Quick Find - Global

Casual User desires to navigate to the Expenses page by typing expenses into the search box. Context allows the engine to know the user, and thus to when he is presented with the expense page, it is already populated with his active expense reports. There is no "go" button. The engine executes a search every time the user tabs out of a criteria. As he adds or adjust his criteria, the number of returned results changes. A developers creates the experience for all of the above use cases simply by using a declarative interface, that is: without ever needing to code in Java, SQL or XML.

F-ADFf-SRCH-46 Quick Find global

Continuous Search

F-ADFf-SRCH-35 Continuous Search F-ADFf-SRCH-04 Reusability F-ADFf-SRCH-19 100% Declarative Search

Declarative

7.7.1 7.2 7.3

Supporting InformationUnit and/or System Test Considerations Licensing/Packaging Considerations Other Considerations/Relevant Information

8.8.1

Open and Closed IssuesOpen Issues

No.

Description

Date Raised

Priority

Owner

Action

Target Date

1. 2. 3. Priority: H= High; M=Medium, L=Low

8.2

Closed Issues

No.

Description

Date Raised

Priority

Owner

Resolution

Date Closed

Priority: H= High; M=Medium, L=Low

Project Fusion RequirementsOracle Corporation Confidential - For Oracle internal use only

Page 27 of 27