You are on page 1of 27

REQUIREMENTS DEFINITION DOCUMENT

Declarative Search
Project Fusion Requirements

Applications Release: Project Fusion

Author: Andrew Hawthorn, ATG strategy

Creation Date: June 26, 2005

Last Updated: August 15, 2005

File URL: files online

Draft / Version: 1.2

Status: 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 Control
Change Record

Date Author Version Change Reference

20-Feb-09 Andrew Hawthorn 0.1 First draft


20-Feb-09 Andrew Hawthorn 1.0 First published version

Contributors

Name Organization Title

Andrew Hawthorn Oracle Corp Sr. Product Strategy Manager


Varun Puri Oracle Corp Project Lead
Ramkumar Sekar Oracle Corp Project Lead, OAF
Hyun-Sik Byun Oracle Corp Sr. Software Developer

Reviewers
Name Role Title Date Reviewed

Ritchard Shadian BLAF+ UE team alignment Sr. User Interface Designer


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

Approvers

Name Role Title Date Approved

George Kellner Sr. Director, ATG Development


Glen Foster Sr. Director, GUI technologies
Sanjay Saxena Sr. Development Manager

Document References

Document Title Document Location

BLAF + Search Specification http://blafstaging.us.oracle.com/blafPlus/search/searchSpec.doc


BLAF + Table Specification http://blafstaging.us.oracle.com/blafPlus/table/tableSpec.doc
BLAF + Tree Specification http://blafstaging.us.oracle.com/blafPlus/tree/treeSpec.doc
BLAF + Hgrid Specification http://devweb.uk.oracle.com/cgi-bin/jdevwiki.pl?UIXFrameworkGroup/Hgrid
ADFf UE requirements http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework
Workgroup/Framework Rollup/Framework RDDs/Framework-ADFFaces.xls
ADFm and BC requirements http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework
Workgroup/Framework Rollup/Framework RDDs/Framework-ADFm and BC
Requirements.xls

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 2 of 27
Document Title Document Location

LOV RDD http://files.oraclecorp.com/content/MySharedFolders/Fusion/Framework


Workgroup/Framework Rollup/LOV RDD 20050731.doc

Table of Contents

1. 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..................................................................................................................12


5.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............................................................................................18

Project Fusion Requirements<Subject>Oracle 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....................................................................................................................................27


Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 4 of 27
8.2 Closed Issues..................................................................................................................................27

1. Introduction
Much of the user’s experience is defined by the performance and flexibility of the search function.
Today’s 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
PeopleSoft’s 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 Document

For 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 E-
Business Suite Release 12, Peoplesoft release 8.x, and JD Edwards’s 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 Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 5 of 27
1.2 Purpose of this Document

The 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 Audience


This 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.4 Definitions

Term Definition

Contains 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.
Filter A rapid reduction of the number of records shown in the results table based on one or more exact criteria
provided by the user.
CBO 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.
Quick Find 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.
Find-within-results 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.
Fuzzy-match Any method for expanding a query to return relevant related items that imprecisely match the original
query terms.
Navigation 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).
Proximity Search 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.
Query The method used to describe which items to retrieve from the database
Sort An ordering of the items in the result table; does not change the number of results.
Stemming function 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.
Thesaurus function 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.
Wildcard A character inserted into the query to substitute for any of one or more characters.

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 6 of 27
2. Market Analysis
Whether 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 can’t it be like Google?”

To today’s 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
Oracle’s 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 Oracle’s stack advantage to reclaim its dominance as the world leader in
Enterprise information storage and retrieval.

2.1 Competitive Pressures and Analysis


Oracle has some significant advantages over its main rival, SAP, in meeting the expectation.
SAP’s 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 Microsoft’s 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).

Microsoft’s integrated Search capability, in the opinion of this author, constitutes a significant
threat to Oracle’s application business.

2.2 Customer Demand


The 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 Requirements<Subject>Oracle 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 don’t 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 / Gap


There are many current solutions:

In Forms, application developers have created many of the search pages through manual hand-
coding. 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 PeopleSoft’s 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 Requirements<Subject>Oracle 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 Assumptions


The 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.

2. 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.

3. 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.

4. During design time, application developers are often ignorant of the data schema or the
data load/performance implications of specific searches.

5. 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.

6. 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.

7. Fusion applications may contain PL/SQL components.

8. Fusion applications will not contain any FORMS-based components. Forms-based


applications will need to migrate to OAF or rebuild in Fusion.

9. Fusion applications will not contain any JTT based components

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 (meta-
data, 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 Requirements<Subject>Oracle 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 Impact


At 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 Profiles

Frequency of Technical/
Application Web
User Type Use Experience Description Examples Critical Needs

Very little knowledge of


searching in general;
probably not very familiar
Factory floor Ease of use, learnability
Inexperienced Yearly to with computers or web
Low manager selecting and self-explanatory
Self-Service monthly technology. May use a
a 401k plan. functions are critical.
computer once or twice a
year to enroll a beneficiary or
download a form.

Sales Rep: Expense Ease of use, learnability


This user is web and
report. Manager: and self-explanatory
computer literate, and
requisition. functions are all helpful,
familiar with basic searching
Experienced Yearly to Medium to Customer finding a but fast performance can
and data interaction
Self-Service monthly High product from a allow these users to
techniques, but may be using
catalog. Employee quickly iterate to find the
this specific application for
finding a data they need without
the first time.
document. much description.

This person will use search


as key tool in their daily
work: some accessing the Critical needs include
same search page as much as HR manager, saved searches, flexible
a hundred times in a single recruiter, CRM criteria, and heads-down
Production Daily High day. The goal of the search is agent, Financial operation. Speed is
to find a single instance of Analyst, Contracts critical, but generally easy
data typically for a specific administrator. to accomplish since the
page flow: An employee, a user puts in exact criteria.
resume, a case, a solution, a
document, an invoice, etc.

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 10 of 27
Flexible criteria, saved
searches, Excel-like
This person may also be
features in the table, and
using the application on a
CFO, CRM call integration with desktop
daily basis, but the searches
center manager, apps. Speed may not be as
Knowledge Daily to are broader and result sets are
High Business Analyst, critical, but users may
Worker weekly larger. They are typically
HR Manager, need access to more than
making mass manipulations
recruiter 200 rows of data.
of data and expect Excel-like
Increasingly, these are
qualities in the table.
opportunities for
“dashboard” technologies.

This is the power searcher:


Knows how the data is Business Analyst,
These use cases should
Analyst or structured, perhaps even to database
Daily High be covered in the
Report Writer the level of writing specific administrator, IT
Reporting RDDs.
SQL statements to get professional
appropriate access his results.

Flexible criteria,
Developers searching for
High federation, and the option
software artifacts from
Daily --though to deselect sources are all
disparate and heterogeneous Developer,
Developer (during low critical. Return set must
systems, even when bereft of Business Analyst?
design time) domain reflect the relationships
good naming conventions or
knowledge between objects and
descriptions.
support tree navigation.

5. Business Requirements

5.1 Priority Description

Priority Definition

Clear generalized market demand, requested by more than one customer,


High –1
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


Medium- 2
future releases if there exists significant impediments to its delivery.

Some evidence of specific requests by customers or application pillars, but


Low – 3
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

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 11 of 27
5.2 Business Requirements

5.2.1 F-ADFf-SRCH-01 Search Performance

Every search must perform in less than 2 seconds

By 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 non-
performant 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
Microsoft’s desktop search is an indication of what Vista will provide, there won’t 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.

 Oracle’s 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 centralized

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 12 of 27
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.

2. 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.

3. 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.

4. 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).

5. 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.

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. the “contains” function will be removed from the list of


operators on the customer criterion or

2. the specific query is disallowed, if a user attempts a contains


on ‘customer,’ he’ll 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 Requirements<Subject>Oracle 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-04 Reusability

Searches must be reusable

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 Requirements<Subject>Oracle 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-08 Wildcard 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-09 Selective Search

Selective Search / blind query

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 I’ve 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-07

Project Fusion Requirements<Subject>Oracle 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-10 Case insensitivity

Case-insensitive Search

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 and26 Function inheritance

Panels must have similar capabilities

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-14 Personalization

View personalization support

Views page will conform to all existing and planned personalization framework plans

Project Fusion Requirements<Subject>Oracle 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-17 PPR

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 Requirements<Subject>Oracle 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-19 100% Declarative Search

100% Declarative

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 Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 18 of 27
5.2.18 F-ADFf-SRCH-20 Customization

customized poplists

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, I-
recruitment 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 Requirements<Subject>Oracle 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-23 Highlighting

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 Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 20 of 27
5.2.24 F-ADFf-SRCH-27 “OR” condition

"OR" conditions

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-28 Ranked Results

Ranked results

When returning unioned results (through "or" conditions or fuzzy criteria), the list will be rank-
ordered by the number of conditions that are met.

Priority: 3 Commitment: Out of scope: F-ADFMBC-03-162

5.2.26 F-ADFf-SRCH-29 Mini-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-30 Operators

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 Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 21 of 27
5.2.28 F-ADFf-SRCH-31 Flex 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-32 Map results

Maps / proximity to user

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 quarter’s sales.

5.2.30 F-ADFf-SRCH-33 GIS query support

proximity to user and destination

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-36 Continuous 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, Microsoft’s 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-38 View Functions

Existing view functionality

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 Requirements<Subject>Oracle 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 F-
F- 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-44 Design patterns

Easy UI for creating queries

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 Requirements<Subject>Oracle 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-50 QBE

Also: F-ADFf-LOV-33

Query By example (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 Considerations


None.
Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 24 of 27
5.4 Global Impact

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

5.5 Industry Impact

None.

5.6 Impacted Applications Products


All.

5.7 Performance Requirements

Discussed in F-ADFf-SRCH-01

5.8 Data Privacy Requirements


None.

5.9 Security Requirements

None.

6. Use Cases

6.1 Use Case Inventory

Use Case Description Requirement ID references

Basic Exact Search Casual I-recruit user wants to quickly find all marketing job F-ADFf-SRCH-01 Search
openings. User sees a very simple search screen with the most
Performance
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. F-ADFf-SRCH-02 BLAF
Consistency

F-ADFf-SRCH-09 Selective Search

F-ADFf-SRCH-06 Omnipresent
Functions

Implied "AND" I-recruit user wants to find all marketing positions within the last F-ADFf-SRCH-05 Implied AND
condition 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

Basic calendar search I-recruit user wants to search from last Monday, but cannot F-ADFf-SRCH-07 Date Picker
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.

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 25 of 27
Wildcards/Selective User enters a series of wildcards without realizing the query will not F-ADFf-SRCH-08 Wildcard
Search perform; user is alerted to what conditions he needs to meet in
support
order to construct a performing query.

F-ADFf-SRCH-09 Selective Search

Clear / Multiple A recruiter has two searches operational on the same screen: one F-ADFf-SRCH-06 Omnipresent
Search regions to fetch applicants, the other to fetch requisitions. She makes a
Functions
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-16 Multiple Search
Regions

Basic Fuzzy search Casual I-recruit user wants to quickly find all job openings related to F-ADFf-SRCH-10 Case
the general title of "pre-sales engineer," which could include such
insensitivity
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 F-ADFf-SRCH-22 Fuzzy, spelling
relevant terms. Search terms are highlighted in the result setsF- and thesaurus
ADFf-SRCH-23 Highlighting

Single search criteria User is prompted only for "location." Location can be a city, state, F-ADFf-SRCH-24 and 34 Quick
spanning multiple country, province or zip code
Find – local
columns

Compound Fuzzy and Above user wants to execute the exact same criteria, except with F-ADFf-SRCH-25 Fielded Search
Exact search (aka the additional condition that all results be within the specific date
"fielded search") range of the last week.

Retain user-inputted User wants to toggle between screens without losing the work he F-ADFf-SRCH-15 Retention of user
values across panel has already inputted. User inputs some criteria on Simple panel,
inputs
switches 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.

PPR As the user selects "between" operator, the page partially refreshes F-ADFf-SRCH-17 PPR
to provide the additional field

"OR" conditions I-recruit user wants to find openings in either marketing or product F-ADFf-SRCH-26 “OR” condition
management without performing two different searches.
Expectation is every returned result will contain an item that meet
either, or both, conditions.

Ranked results In the above use-case, user expects the list will be rank-ordered by F-ADFf-SRCH-28 Ranked Results
the number of conditions that are met.

user-chosen Employee wants to deduct all business-related expenses that were F-ADFf-SRCH-29 Mini-reports
AND/OR/NOT criteria rejected by his employer. He uses the Advanced Search page to
conditions generate a mini-report that contains all of the Expense reports he
submitted last year but were either rejected completely or only
partially fulfilled.

Flex-Fields Power user wishes to add a searchable column to flag items that F-ADFf-SRCH-31 Flex Fields
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.

Seeded views Job hunter wants to find all job openings that have been posted F-ADFf-SRCH-40 Seeded Views
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.

proximity to user Salesman wants to fly from San Francisco to New York. He knows F-ADFf-SRCH-33 GIS query
and/or destination of his options for departure (SFO, OAK, or SJO) but does not know
support
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.

Project Fusion Requirements<Subject>Oracle 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 F-ADFf-SRCH-46 Quick Find –
“expenses” into the search box. Context allows the engine to know
global
the user, and thus to when he is presented with the expense page,
it is already populated with his active expense reports.

Continuous Search There is no "go" button. The engine executes a search every time F-ADFf-SRCH-35 Continuous
the user tabs out of a criteria. As he adds or adjust his criteria, the
Search
number of returned results changes.

Declarative A developers creates the experience for all of the above use cases F-ADFf-SRCH-04 Reusability
simply by using a declarative interface, that is: without ever needing
to code in Java, SQL or XML.
F-ADFf-SRCH-19 100%
Declarative Search

7. Supporting Information

7.1 Unit and/or System Test Considerations

7.2 Licensing/Packaging Considerations

7.3 Other Considerations/Relevant Information

8. Open and Closed Issues

8.1 Open Issues

No. Description Date Priority Owner Action Target


Raised Date

1.

2.

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

8.2 Closed Issues

No. Description Date Priority Owner Resolution Date


Raised Closed

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

Project Fusion Requirements<Subject>Oracle Corporation Confidential - For Oracle internal use only Page 27 of 27