Skip Headers
Oracle® Application Development Framework Developer's Guide
10g Release 3 (10.1.3)
B25386-01
  Go To Documentation Library
Home
Go To Product List
Solution Area
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
Next
Next
 

2.3 Quick Tour of the Oracle ADF Service Request Demo

The SRDemo application is a realistic web portal application that allows customers to obtain appliance servicing information from qualified technicians. After the customer opens a new service request, a service manager assigns the request to a technician with suitable expertise. The technician sees the open request and updates the customer's service request with information that may help the customer solve their problem.

The application recognizes three user roles (customer, manager, and technician). Roles are determined based on standard J2EE container managed security features of the Oracle Application Server. As the following sections show, the application features available to the user depend on the user's role.

2.3.1 Customer Logs In and Reviews Existing Service Requests

Log in as the customer:

  • User name: dfaviet

  • Password: welcome

To enter the web portal click the Start button.

This image shows the Start button.

This action displays the customer's list of open service requests, as shown in Figure 2-6.

Figure 2-6 SRList.jspx: List Page for a Customer

This image shows the List page for a customer.

When you log in as the customer, the list page displays a menu with only two tabs, with the subtabs for My Service Requests selected.

This image shows the menu for a customer.

Note that additional tabs will be visible when you log in as the manager or technician.

Select the menu subtab All Requests to display both closed and open requests.

To browse a description of any request, select the radio button corresponding to the row of the desired request and click View.

This image shows the View button.

The same operation can also be performed by clicking on the service request link in Request Id column.

The customer uses the resulting page to update the service request with their response. To append a note to the current service request, click Add a note.

This image shows the Add a Note button.

Figure 2-7 shows an open service request selected by a customer and the note they are about to append. Notice that the buttons above the text input field appear disabled to prevent the user from selecting those operations until the task is completed. Below the note field, is the list of previous notes for this master service request.

Figure 2-7 SRMain.jspx: Main Page for a Customer

This image shows the Main page for a customer.

Where to Find Implementation Details

The Oracle ADF Developers Guide describes the following major features of this section.

2.3.2 Customer Creates a Service Request

To create a new service request, select the New Service Request tab.

This image shows New Service Request tab for a customer.

This action displays the first page of a two-step process train for creating the service request. Figure 2-8 shows the first page.

Figure 2-8 SRCreate.jspx: Step One, Create-Service-Request Page

This image shows Step One, Create-Service-Request page.

The input fields that your page displays can raise validation errors when the user fails to supply required information. To see a validation error, click the Logout menu item before entering a problem description for the new service request.

This image shows the Logout menu item.

Figure 2-9 shows the validation error that occurs in the create-service-request page when the problem description is not entered. Notice the text below the field that raised the validation error directs the user to enter a description.

Figure 2-9 SRCreate.jspx: Step One Validation Error in Page

This image shows step one validation error in page.

You can see another way of handling validation errors by clicking the Continue button before entering a problem description.

This image shows the Continue button.

Figure 2-10 shows the validation error that displays within a dialog when the problem description is not entered. Notice the text below the field that raised the validation error directs the user to enter a description.

Figure 2-10 SRCreate.jspx: Step One Validation Error in Separate Dialog

This images shows validation error in separate dialog.

To proceed to the next page of the process train, first type some text into the problem description field, then either choose Confirm from the dropdown menu or click the Continue button.

This image shows the process train with Continue button.

In the next step, the customer confirms the information is correct before submitting the request to the data source. Figure 2-11 shows the final page. Notice that the progress bar at the top of the page identifies Confirm is the last step in this two-page create-service-request process chain.

Figure 2-11 SRCreateConfirm.jspx: Step Two, Create-Service-Request Page

This image shows step 2 Create Service-Request page.

Click the Back button to returns to the create-service-request page.

This image shows the Back button.

Click the Submit Request button to enter the new service request into the database. A confirmation page displays after the new entry is created.

This image shows the Submit Request button.

To continue the application as the manager role, click the Logout menu item to return to the login page.

This image shows the Add to Cart button.

Where to Find Implementation Details

The Oracle ADF Developers Guide describes the following major features of this section.

  • Creating a new record: The user creates a new service request using a form that commits the data to the data source. JDeveloper lets you create default constructor methods on the service as an easy way to drop record creation forms. Alternatively, custom methods on the service may be used. See Section 10.7, "Creating an Input Form for a New Record".

  • Multipage process: The ADF Faces components processTrain and processChoiceBar guide the user through the process of creating a new service request. See Section 11.5, "Creating a Multipage Process".

  • Showing validation errors in the page: There are several ways to handle data-entry validation in an ADF application. You can take advantage of validation rules provided by the ADF Model layer. See Section 12.3, "Adding Validation".

  • Handling page navigation using a command button: The application displays the appropriate page when the user chooses the Cancel or Submit button. Navigation rules, with defined outcomes, determine which pages is displayed after the button click. See Section 9.1, "Introduction to Page Navigation Using Outcomes".

2.3.3 Manager Logs In and Assigns a Service Request

Log in as the manager:

  • User name: sking

  • Password: welcome

Click the Start button.

This image shows the Start button.

This action displays the manager's list of open service requests. The list page displays four menu tabs, with the subtabs for the My Service Requests tab selected.

This image shows My Service Requests tab selected.

To see a description of any request, select a radio button corresponding to the row of the desired request and click View.

This image shows the View button.

Figure 2-12 shows an open service request. Notice that when logged in as the manager, the page displays an Edit button and a Delete Service History Record button. These two operations are role-based and only available to the manager.

Figure 2-12 SRMain.jspx: Main Page for a Manager

This image shows Main page for a Manager.

To edit the current service request, click Edit.

This image shows the Edit button.

Figure 2-13 shows the detail edit page for a service request. Unlike the page displayed for the technician, the manager can change the status and the assigned technician.

Figure 2-13 SREdit.jspx: Edit Page for a Manager

This image shows Edit page for a Manager.

To find another technician to assign, click the symbol next to the assigned person's name.

This image shows the search iconic button.

Figure 2-14 shows the query by criteria search page that allows the manager to search for staff members (managers and technicians). This type of search allows wild card characters, such as the % and * symbols.

Figure 2-14 SRStaffSearch.jspx: Staff Search Page for a Manager

This image shows staff search dialog for a manager.

To assign another staff member to this service request, click the selection button next to the desired staff's name.

This image shows the single selection button.

To update the open service request with the selected staff member, click the Select button.

This image shows the Select button.

Where to Find Implementation Details

The Oracle ADF Developers Guide describes the following major features of this section.

  • Databound dropdown lists: The ADF Faces component selectOneChoice allows the user to change the status of the service request or to pick the type of service request to perform a search on. See Section 11.7, "Creating Databound Dropdown Lists".

  • Searching for a record: The user can search existing service requests using a query-by-example search form. In this type of query, the user enters criteria info a form based on known attributes of an object. Wild card search is supported. See Section 10.8, "Creating Search Pages".

  • Using a popup dialog: At times you may prefer to display information in a separate dialog that lets the user postback information to the page. The search window uses a popup dialog rather than display the search function in the page. See Section 12.7, "Displaying Error Messages" and Section 11.3, "Using Popup Dialogs".

  • Using Partial Page Rendering: When the user clicks the flashlight icon (which is a commandLink component with an objectImage component), a popup dialog displays to allow the user to search and select a name. After selecting a name, the popup dialog closes and the Assigned to display-only fields are refreshed with the selected name; other parts of the edit page are not refreshed. See Section 11.4, "Enabling Partial Page Rendering".

  • Using managed bean to store information: Pages often require information from other pages in order to display correct information. Instead of setting this information directly on a page, which essentially hardcodes the information, you can store this information on a managed bean. For example, the managed bean allows the application to save the page which displays the SREdit page and to use the information in order to determine where to navigate for the Cancel action. See Section 10.2, "Using a Managed Bean to Store Information".

  • Passing parameters between pages: The commandLink component is used to both navigate to the SREdit page and to set the needed parameter for the findServiceRequestById(Integer) method used to create the form that displays the data on the SREdit page. You can use the ADF Faces setActionListener component to set parameters. See Section 10.4, "Passing Parameter Values to Another Page Using a Command Component".

2.3.4 Manager Views Reports and Updates Technician Skills

To access the manager-only page, select the Management tab.

This image shows Management tab in the main menu.

This action displays the staff members and their service requests in a master-detail ADF Faces tree table component. Figure 2-15 shows the tree table with an expanded technician node.

Figure 2-15 SRManage.jspx: Management Reporting Page

This image shows the Management Reporting Page.

Each child node in the tree table is linked to a detail service request report. Click the child node link Defroster is not working properly to display the detail:

This image shows a detail report for a child node.

Each staff name is linked to a detail of the staff member's assigned skills. Click the staff name link Alexander Hunold to display the list of assigned skills:

This image shows the staff skills report.

To access the skills assignment page, select the Technician Skills subtab.

This image shows Technician Skills subtab.

This action displays a staff selection dropdown list and an ADF Faces shuttle component. Figure 2-16 shows the shuttle component populated with the skills of the selected staff member.

Figure 2-16 SRSkills.jspx: Technician Skills Assignment Page

This image shows Skills Assignment page.

Use the supplied Move, Move All, Remove, or Remove All links to shuttle items between the two lists. The manager can make multiple changes to the Assigned Skills list before committing the changes. No changes to the list are committed until the Save skill changes button is clicked.

This image shows Save skill changes button.

To continue the application as the technician role, click the Logout menu item to return to the login page.

This image shows the Logout menu item.

Where to Find Implementation Details

The Oracle ADF Developers Guide describes the following major features of this section.

  • Creating a shuttle control: The ADF Faces component selectManyShuttle lets managers assign product skills to a technician. The component renders two list boxes, and buttons that allow the user to select multiple items from the leading (or "available") list box and move or shuttle the items over to the trailing (or "selected") list box, and vice versa. See Section 11.8, "Creating a Databound Shuttle".

  • Role-based authorization: You can set authorization policies against resources and users. For example, you can allow only certain groups of users the ability to view, create or change certain data or invoke certain methods. Or you can prevent components from rendering based on the group a user belongs to. See Section 18.7, "Implementing Authorization Programmatically".

2.3.5 Technician Logs In and Updates a Service Request

Log in as the technician:

  • User name: ahunold

  • Password: welcome

Click the Start button.

This image shows the Start button.

This action displays the technician's list of open service requests. The list page displays two tabs, with the subtabs for the My Service Requests tab selected.

This image shows the Add to Cart button.

To open a request, select a radio button corresponding to the row with the desired request and click View.

This image shows the View button.

The technician uses the displayed page to update the service request with their response. To attach a document to the current service request, click Upload a document.

This image shows the Upload a Document button.

Figure 2-17 shows an open service request and the note text input field. Notice only the Edit button above the text input field is not disabled while the note field is active.

Figure 2-17 SRFileUpload.jspx: File Upload Page Displayed for a Technician

This image shows the file upload page.

Where to Find Implementation Details

File uploading: Standard J2EE technologies such as Servlets and JSP, and JSF 1.1.x, do not directly support file uploading. The ADF Faces framework, however, has integrated file uploading support at the component level via the inputFile component. See Section 11.6, "Providing File Upload Capability".

Changing application look and feel: Skins allow you to globally change the appearance of ADF Faces components within an application. A skin is a global style sheet that only needs to be set in one place for the entire application. Instead of having to style each component, or having to insert a style sheet on each page, you can create one skin for the entire application. See Section 14.3, "Using Skins to Change the Look and Feel".

Automatic locale-specific UI translation: ADF Faces components provide automatic translation. The resource bundle used for the components' skin (which determines look and feel, as well as the text within the component) is translated into 28 languages. For example, if a user sets the browser to use the German language, any text contained within the components will automatically display in German. See Section 14.4, "Internationalizing Your Application".