Oracle 9i AS Portal Bible. Hungry Minds

by Rick Greenwald and Jim Milbery

Oracle9iAS™PortalBible

Hungry Minds, Inc.
Best-Selling Books • Digital Downloads • e-Books • Answer Networks • e-Newsletters • Branded Web Sites • e-Learning

New York, NY ♦ Cleveland, OH ♦ Indianapolis, IN

e-books shop
Oracle 9i AS Portal Bible

Acknowledgments
The authors would like to thank all the people at Oracle who helped them in the
creation of this book, including Rob Giljum and the entire development team. In
particular, we would like to thank Steven Leung, Sue Vickers, and Mohana Narayan,
who provided invaluable assistance in the late-going stages. Most important, we
would like to bow in reverence in the general direction of the inestimable Todd D.
Vender, who provided timely advice and insight into the Oracle9iAS Portal development
process.

About the Authors
Rick Greenwald is a marketing manager in the server technologies group at Oracle
Corporation. He has been active in the field of data processing for over 15 years,
including stints with Data General, Cognos, and Gupta. He is the author of six other
books on technology and dozens of articles and analyst pieces.

Jim Milbery has been involved in the software business for over 16 years and has
worked for a variety of high-tech companies, including Digital Equipment
Corporation, Ingres, Uniface, and Revere. He is currently a partner with the technology
consulting firm Kuromaku Partners LLC, where he provides strategic consulting
to a diverse group of clients. Jim lives in Easton, Pennsylvania, with his lovely wife,
Renate, and two spoiled cats.


Preface

This book is essentially the second edition of Oracle WebDB Bible. The product formerly
known as WebDB is called Oracle9iAS Portal in its current incarnation, which
indicates that it is both bundled with the Oracle9i Application Server product and
that the focus of the product has been modified to encompass the fast-growing
world of information portals. Consequently, the organization of this book has been
enhanced and modified to fit in with the new product direction.

How This Book Is Organized
As with the previous version, the first section of this book is an introduction to
Oracle9iAS Portal — what it is, how to install it, and the basics of the development
environment you will be using.
The second section of the book jumps right into the topic of portals. Chapter 6
introduces the concept of portals, portlets, and how Oracle9iAS Portal handles
these entities. Chapter 7 walks you through the creation of a portal page.
Part III of the book covers the creation of a variety of components. These are the
same components that were supported in WebDB — reports, forms, charts, calendars,
hierarchies, and dynamic HTML pages. Each of these components retains the
functionality it had in WebDB, but each of them also has been enhanced in the new
version of the product.
Part IV of the book covers some of the topics you will need to understand to create
complete applications with Oracle9iAS Portal. For instance, you will almost
inevitably be using lists-of-values to help your users properly utilize components,
and Oracle9iAS Portal menus are essential for navigating through an application.
Validation, the use of templates, and linking are also integral to creating complete
applications, and these areas have also been changed and enhanced from their
counterparts in WebDB. Finally, there will be times when you will need to use
PL/SQL procedures to extend the functionality of your Oracle9iAS Portal components,
which is also covered in this section.

In Oracle9iAS Portal, as in WebDB, you have the ability to create Content Areas,
which were referred to as sites in WebDB. Part V of the book explores this area of
the product, including how to deploy your content collections.
Part VI targets the administration of the Oracle9iAS Portal environment. Oracle9iAS
Portal, even more than WebDB, is aimed at the enterprise. In order to operate in an
enterprise environment, Oracle9iAS Portal has to include administration and monitoring
tools, as well as a robust security model. The security model, in particular,
has been dramatically changed since WebDB, so there is a great deal of new material in this section.
The last section of this book, Part VII, delves into some of the more advanced topics
surrounding Oracle9iAS Portal. First and foremost of these topics is the ability
to create your own portlets. Chapter 28 gives you a high-level view of the APIs and
processes involved in creating your own custom portlets. Chapter 29 covers a variety
of techniques that we felt were slightly outside of the scope of the other chapters
in the book, but still of great interest to you, the potential Oracle9iAS Portal developer.

Contacting the Author(s)
Jim Milbery can be reached at Kuromaku Partners (http://www.kuromaku.com),
located in Easton, Pennsylvania, or through his e-mail address at
Rick Greenwald can be reached at greenie@interaccess.com.


Screenshot

e-books shop

Purchase Now !
Just with Paypal



Product details
 Price
 File Size
 58,489KB
 Pages
 985 p
 File Type
 PDF format
 ISBN
 0-7645-4749-6
 Copyright
 2001 Hungry Minds, Inc 

Contents at a Glance
Preface
Acknowledgments
Part I: Introduction
Chapter 1: Introducing Oracle9iAS Portal
Chapter 2: Installing and Configuring Oracle9iAS Portal
Chapter 3: Introducing the Oracle9iAS Portal Environment
Chapter 4: Using the Navigator
Chapter 5: Browsing the Database
Part II: Building a Portal
Chapter 6: Introducing Portals and Portlets
Chapter 7: Building a Portal Page
Part III: Oracle9iAS Portal Components
Chapter 8: Building Oracle9iAS Portal Reports
Chapter 9: Advanced Reporting Techniques
Chapter 10: Building Oracle9iAS Portal Forms
Chapter 11: Building Forms—Part II
Chapter 12: Building Charts
Chapter 13: Building Oracle9iAS Portal Calendars
Chapter 14: Working with Hierarchies
Chapter 15: Working with HTML
Part IV: Building Oracle9iAS Portal Applications 
Chapter 16: Working with Lists-of-Values (LOVs)
Chapter 17: Creating Oracle9iAS Portal Menus
Chapter 18: Building Consistency in Oracle9iAS Portal Web Sites and Applications
Chapter 19: Data Validation with Oracle9iAS Portal
Chapter 20: Using Links to Connect Oracle9iAS Portal Objects
Chapter 21: Integrating PL/SQL Logic
Part V: Building Oracle9iAS Portal Sites
Chapter 22: Using Content Areas
Chapter 23: Deploying Oracle9iAS Portal Sites
Chapter 24: Content Areas—Part II
Part VI: Administering Oracle9iAS Portal
Chapter 25: Administering Oracle9iAS Portal Components
Chapter 26: Oracle9iAS Portal Security
Chapter 27: Monitoring Oracle9iAS Portal Performance
Part VII: Advanced Techniques
Chapter 28: Creating Your Own Portlet and Provider
Chapter 29: Advanced Tips and Techniques
Appendix A: What’s On the CD-ROM
Appendix B: Loading Portal Examples
Index 
End-User License Agreement
CD-ROM Installation Instructions

Table of Contents
Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi
Part I: Introduction
Chapter 1: Introducing Oracle9iAS Portal . . . . . . . . . . . . . . . . . 3
Choosing Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Understanding How Oracle9iAS Portal Is Packaged . . . . . . . . . . . . . . . 5
Taking a Look at Oracle9iAS Portal Functionality . . . . . . . . . . . . . . . . 5
Understanding Oracle9iAS Portal Components . . . . . . . . . . . . . . . . . 7
Understanding Oracle9iAS Portal Organization . . . . . . . . . . . . . . . . 14
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Creating Oracle9iAS Portal Components . . . . . . . . . . . . . . . . . . . . 15
Chapter 2: Installing and Configuring Oracle9iAS Portal . . . . . . . . 17
Obtaining a Copy of Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . 17
Installing Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Before you begin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Oracle9iAS Portal installation—part 1 . . . . . . . . . . . . . . . . . . 20
Oracle9iAS Portal installation—part 2 . . . . . . . . . . . . . . . . . . 22
Configuring network protocols . . . . . . . . . . . . . . . . . . . . . . 26
Configuring Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . 31
Performing Post-Installation Checks . . . . . . . . . . . . . . . . . . . . . . . 38
Creating and Using the NetU Database . . . . . . . . . . . . . . . . . . . . . 44
Installing the NetU sample data . . . . . . . . . . . . . . . . . . . . . . 45
Creating an application for NetU . . . . . . . . . . . . . . . . . . . . . 47
Creating a privileged developer account . . . . . . . . . . . . . . . . . 50
Chapter 3: Introducing the Oracle9iAS Portal Environment . . . . . . 53
Introducing the Oracle9iAS Portal Environment . . . . . . . . . . . . . . . . 53
The banner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The help system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
The banner properties . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
The my Links portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
The my Work portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
The On The Web portlet . . . . . . . . . . . . . . . . . . . . . . . . . . 69
The Build Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
A Few Words about Wizards . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Chapter 4: Using the Navigator . . . . . . . . . . . . . . . . . . . . . . . 79
Introducing the Navigator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
The Pages Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
The Content Areas Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
The Applications Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Using the Find Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Chapter 5: Browsing the Database . . . . . . . . . . . . . . . . . . . . 93
Basic Database Object Definitions . . . . . . . . . . . . . . . . . . . . . . . . 93
The Database Objects Tab of the Navigator . . . . . . . . . . . . . . . . . . 95
Accessing database objects with the Database Navigator . . . . . . 100
Working with the Database Navigator . . . . . . . . . . . . . . . . . . 104
Browsing Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Interacting with Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Updating data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Inserting data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
Issues with writing data . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Creating Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Creating a table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
Part II: Building a Portal
Chapter 6: Introducing Portals and Portlets . . . . . . . . . . . . . . 131
Understanding What a Portal Is . . . . . . . . . . . . . . . . . . . . . . . . . 132
Understanding What a Portlet Is . . . . . . . . . . . . . . . . . . . . . . . . 133
Supporting Portlets in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . 136
Portlet management . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Framework services . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
Automatic portlet generation . . . . . . . . . . . . . . . . . . . . . . . 137
Runtime Implementation of Portals . . . . . . . . . . . . . . . . . . . . . . 137
Caching in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . . . . . . . . . 138
Types of caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Levels of caching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
Caching precautions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Chapter 7: Building a Portal Page . . . . . . . . . . . . . . . . . . . . 143
Creating a Portal Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Page layout and style . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Customizing the banner . . . . . . . . . . . . . . . . . . . . . . . . . . 148
Adding Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Working with regions . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
Finishing the page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
Customizing the Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Making Changes as a Page User . . . . . . . . . . . . . . . . . . . . . . . . . 161
Working with the HTML portlet . . . . . . . . . . . . . . . . . . . . . 161
Creating a personal version of a page . . . . . . . . . . . . . . . . . . 164
Promoting a page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Designating a default page . . . . . . . . . . . . . . . . . . . . . . . . 169
Part III: Oracle9iAS Portal Components
Chapter 8: Building Oracle9iAS Portal Reports . . . . . . . . . . . . . 173
Building a QBE Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Defining a report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
Shaping your report . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
Allowing users to shape the report . . . . . . . . . . . . . . . . . . . 190
Using templates and adding text to your report . . . . . . . . . . . . 192
Running Your Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Creating a Report with the Query Wizard . . . . . . . . . . . . . . . . . . . 207
Editing Your Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
Chapter 9: Advanced Reporting Techniques . . . . . . . . . . . . . . 217
Creating a Report from a SQL Statement . . . . . . . . . . . . . . . . . . . . 217
Extending Reports with SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
Using the Custom Layout for Reports . . . . . . . . . . . . . . . . . . . . . 227
Adding Parameters to Your Report . . . . . . . . . . . . . . . . . . . . . . . 230
Using Multiple Tables in a Report . . . . . . . . . . . . . . . . . . . . . . . . 234
Multiple tables for reference information . . . . . . . . . . . . . . . . 235
Multiple tables for master-detail relationships . . . . . . . . . . . . . 240
Using Reports as Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Calling Your Reports Directly . . . . . . . . . . . . . . . . . . . . . . . . . . 247
More Information on Reporting . . . . . . . . . . . . . . . . . . . . . . . . . 248
Chapter 10: Building Oracle9iAS Portal Forms . . . . . . . . . . . . . 251
Understanding Forms in Oracle9iAS Portal . . . . . . . . . . . . . . . . . . 251
Form types supported by Oracle9iAS Portal . . . . . . . . . . . . . . 253
Creating Forms Based on Tables . . . . . . . . . . . . . . . . . . . . . . . . 253
The first part of the table-based Form Wizard . . . . . . . . . . . . . 254
Oracle9iAS Portal form-creation concepts . . . . . . . . . . . . . . . 256
Form options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
Button options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Data field options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Finishing the form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Running your form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Adding a Form to a Portal Page . . . . . . . . . . . . . . . . . . . . . . . . . 278
Chapter 11: Building Forms—Part II . . . . . . . . . . . . . . . . . . . 281
Forms Based on Stored Procedures . . . . . . . . . . . . . . . . . . . . . . 281
What are stored procedures? . . . . . . . . . . . . . . . . . . . . . . . 281
Oracle9iAS Portal and stored procedures . . . . . . . . . . . . . . . . 282
The sample stored procedure . . . . . . . . . . . . . . . . . . . . . . 282
Building a form based on a stored procedure . . . . . . . . . . . . . 283
Master-Detail Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Building a master-detail form . . . . . . . . . . . . . . . . . . . . . . . 289
Formatting options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
Running your master-detail form . . . . . . . . . . . . . . . . . . . . . 294
Chapter 12: Building Charts . . . . . . . . . . . . . . . . . . . . . . . . 301
Creating Charts with the Query Wizard . . . . . . . . . . . . . . . . . . . . 301
Beginning the chart-building process . . . . . . . . . . . . . . . . . . 302
Describing the chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Display options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Finishing the chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Running your chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Creating a more complex chart . . . . . . . . . . . . . . . . . . . . . . 313
Creating Charts Based on a SQL Statement . . . . . . . . . . . . . . . . . . 316
Charts based on multiple tables . . . . . . . . . . . . . . . . . . . . . 316
Formatting values and limiting rows . . . . . . . . . . . . . . . . . . . 323
Adding a Chart as a Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Chapter 13: Building Oracle9iAS Portal Calendars . . . . . . . . . . 329
Understanding Oracle Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Date arithmetic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Date formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332
Building a Simple Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Calendar query format . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Formatting the display . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Specifying customization entry form
display options for the calendar . . . . . . . . . . . . . . . . . . . 342
Text options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Running the Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Adding information to a calendar . . . . . . . . . . . . . . . . . . . . 350
Linking from the calendar cells . . . . . . . . . . . . . . . . . . . . . . 352
Adding parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Managing calendar objects . . . . . . . . . . . . . . . . . . . . . . . . 359
Chapter 14: Working with Hierarchies . . . . . . . . . . . . . . . . . . 361
Understanding Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Building a Simple Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 363
Navigating Through a Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . 370
Enhancing Your Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Chapter 15: Working with HTML . . . . . . . . . . . . . . . . . . . . . 379
Creating Dynamic Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Adding additional HTML code to the page . . . . . . . . . . . . . . . 387
Adding additional SQL code . . . . . . . . . . . . . . . . . . . . . . . 390
Mixing HTML and SQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Adding Parameters to Dynamic Pages . . . . . . . . . . . . . . . . . . 395
Using Frame Drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Connecting frame drivers to components with parameters . . . . . 404
Part IV: Building Oracle9iAS Portal Applications
Chapter 16: Working with Lists-of-Values (LOVs) . . . . . . . . . . . 411
Defining Lists-of-Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
Update versus Query List-of-Values Objects . . . . . . . . . . . . . . . . . 415
Building a simple, static LOV object . . . . . . . . . . . . . . . . . . . 416
Testing your LOV object . . . . . . . . . . . . . . . . . . . . . . . . . . 420
Deploying a Static LOV Object to Another Component . . . . . . . . . . . 422
Creating a Dynamic LOV Object . . . . . . . . . . . . . . . . . . . . . . . . . 426
Using the Dynamic LOV to Update Records . . . . . . . . . . . . . . . . . . 431
Using Multiselect Lists-of-Values . . . . . . . . . . . . . . . . . . . . . . . . 434
Advanced Techniques for LOV Objects . . . . . . . . . . . . . . . . . . . . 437
Derived columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
Dynamic query lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Multivalue tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
Lists-of-Values with BIND Variables . . . . . . . . . . . . . . . . . . . . . . . 440
Chapter 17: Creating Oracle9iAS Portal Menus . . . . . . . . . . . . 445
Understanding Universal Resource Locators . . . . . . . . . . . . . . . . . 445
Using Simple Static Pages with Portal . . . . . . . . . . . . . . . . . . . . . 448
Adding a Virtual Path to the System . . . . . . . . . . . . . . . . . . . . . . 452
Building a Portal Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Using the Portal Menu Builder Wizard . . . . . . . . . . . . . . . . . . 456
Editing the menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460
Adding menu items to menus and submenus . . . . . . . . . . . . . . 462
Linking Root Menus and
Advanced Menu Options . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Advanced menu options . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Using Menus as Portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 470
Chapter 18: Building Consistency in Oracle9iAS
Portal Web Sites and Applications . . . . . . . . . . . . . . . . . . . . 477
Content Creation versus Standards Enforcement . . . . . . . . . . . . . . . 478
Adding Color to Your Components . . . . . . . . . . . . . . . . . . . . . . . 479
Video display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Video color settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
Defining portal colors . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Using Fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Adding fonts to Portal . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Editing fonts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Deploying colors and fonts . . . . . . . . . . . . . . . . . . . . . . . . 493
Adding Images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Portal image types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495
Adding images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Using Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Adding a new template . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Using unstructured templates . . . . . . . . . . . . . . . . . . . . . . 506
Deploying Templates into Your Components . . . . . . . . . . . . . . . . . 511
Chapter 19: Data Validation with Oracle9iAS Portal . . . . . . . . . . 513
Data Validation Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514
Using JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516
JavaScript compatibility . . . . . . . . . . . . . . . . . . . . . . . . . . 517
JavaScript form elements . . . . . . . . . . . . . . . . . . . . . . . . . 519
JavaScript elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521
JavaScript dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531
Creating JavaScript Validations with Portal . . . . . . . . . . . . . . . . . . 532
Testing the JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 538
Building More Complicated Scripts . . . . . . . . . . . . . . . . . . . . . . . 540
Attaching Validations to Forms . . . . . . . . . . . . . . . . . . . . . . . . . 545
Using Other JavaScript Events . . . . . . . . . . . . . . . . . . . . . . . . . 547
Adding JavaScript code to templates . . . . . . . . . . . . . . . . . . 549
Performing Cross-Field Validations . . . . . . . . . . . . . . . . . . . . . . . 551
Performing Cross-Record Validations . . . . . . . . . . . . . . . . . . . . . 555
Performing Server-Side Validations . . . . . . . . . . . . . . . . . . . . . . . 557
Chapter 20: Using Links to Connect Oracle9iAS Portal Objects . . . 559
Defining Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Linking from an Existing Component . . . . . . . . . . . . . . . . . . . . . . 560
Linking the STUDENTS report to the CLASSES report . . . . . . . . . 562
System parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 566
Testing a Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Making a Dynamic Link . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 570
Using Links to Update Data . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
Using Portal Parameter Arrays . . . . . . . . . . . . . . . . . . . . . . . . . 580
Chapter 21: Integrating PL/SQL Logic . . . . . . . . . . . . . . . . . . 585
Using Oracle HTML Packages . . . . . . . . . . . . . . . . . . . . . . . . . . 585
Printing and formatting . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Document structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Advanced document structure procedures . . . . . . . . . . . . . . . 589
Additional procedures . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Using Oracle9iAS’s PL/SQL Web Toolkit . . . . . . . . . . . . . . . . . . . . 595
Working with OWA_COOKIE . . . . . . . . . . . . . . . . . . . . . . . 596
Integrating HTP and PL/SQL Web Toolkit Procedures with Portal . . . . . 598
Adding database access code to PL/SQL blocks . . . . . . . . . . . . 602
Advanced PL/SQL code . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Debugging and Advanced Concepts . . . . . . . . . . . . . . . . . . . . . . 611
Part V: Building Oracle9iAS Portal Sites
Chapter 22: Using Content Areas . . . . . . . . . . . . . . . . . . . . . 617
Understanding the Content Area Architecture . . . . . . . . . . . . . . . . 617
Creating a Content Area . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Customizing Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622
Manipulating Styles with the Style Manager . . . . . . . . . . . . . . . . . . 629
Setting the banners . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Modifying items and backgrounds . . . . . . . . . . . . . . . . . . . . 632
Changing the folder layout . . . . . . . . . . . . . . . . . . . . . . . . 634
Modifying the Navigation Bar . . . . . . . . . . . . . . . . . . . . . . . 640
Adding Categories and Perspectives . . . . . . . . . . . . . . . . . . . . . . 647
Adding categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 648
Adding perspectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650
Modifying Content Area Properties . . . . . . . . . . . . . . . . . . . . . . . 651
Setting basic properties . . . . . . . . . . . . . . . . . . . . . . . . . . 652
Modifying Content Area quota . . . . . . . . . . . . . . . . . . . . . . 652
Setting folder properties . . . . . . . . . . . . . . . . . . . . . . . . . 652
Setting Content Area logo and database access descriptors . . . . . 652
Chapter 23: Deploying Oracle9iAS Portal Sites . . . . . . . . . . . . . 657
Understanding Portal Deployment Components and Its Architecture . . . 658
Replacing the listener . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
Modifying Database Access Descriptors . . . . . . . . . . . . . . . . . . . . 663
Understanding Application Schemas . . . . . . . . . . . . . . . . . . . . . . 672
Deploying Portal Applications . . . . . . . . . . . . . . . . . . . . . . . . . 675
Schema definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 676
Staging areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677
Server configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 678
Component deployment . . . . . . . . . . . . . . . . . . . . . . . . . . 679
Using Direct Access URLs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 681
Folders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 683
Categories and perspectives . . . . . . . . . . . . . . . . . . . . . . . 685
Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685
Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687
Chapter 24: Content Areas—Part II . . . . . . . . . . . . . . . . . . . 689
Reviewing the Content Area Concept . . . . . . . . . . . . . . . . . . . . . 689
Applying and Securing Content Areas . . . . . . . . . . . . . . . . . . . . . 691
Creating user accounts for Content Areas . . . . . . . . . . . . . . . 691
Adding users and groups to folders . . . . . . . . . . . . . . . . . . . 695
Adding Content to Your Site . . . . . . . . . . . . . . . . . . . . . . . . . . . 697
Adding Content with Advanced Components to the Site . . . . . . . . . . 707
Application components . . . . . . . . . . . . . . . . . . . . . . . . . 707
Application components with parameters . . . . . . . . . . . . . . . 710
Calling PL/SQL procedures . . . . . . . . . . . . . . . . . . . . . . . . 712
Java code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Using Other Accounts to Add Content . . . . . . . . . . . . . . . . . . . . . 718
Considering Some Advanced Topics . . . . . . . . . . . . . . . . . . . . . . 721
Item management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722
Advanced searching . . . . . . . . . . . . . . . . . . . . . . . . . . . . 723
Content Areas on portal pages . . . . . . . . . . . . . . . . . . . . . . 724
Part VI: Administering Oracle9iAS Portal
Chapter 25: Administering Oracle9iAS Portal Components . . . . . 729
Using Oracle9iAS Portal Version Control . . . . . . . . . . . . . . . . . . . 729
Managing Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
The Develop tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732
The Manage tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737
The Access tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 741
Managing Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743
Exporting and Importing Components and Applications . . . . . . . . . . 744
Single sign-on accounts . . . . . . . . . . . . . . . . . . . . . . . . . . 745
Security data for users and groups . . . . . . . . . . . . . . . . . . . 746
Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 746
Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 747
Shared components . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748
Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Content Areas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749
Administering the Oracle9iAS Portal Environment . . . . . . . . . . . . . . 750
Services portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 751
Provider portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 754
Node portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755
Chapter 26: Oracle9iAS Portal Security . . . . . . . . . . . . . . . . . 757
Understanding Oracle Database Security . . . . . . . . . . . . . . . . . . . 757
Creating Privileged Accounts with Portal . . . . . . . . . . . . . . . . . . . 760
Testing the default developer account settings . . . . . . . . . . . . 766
Modifying account privilege settings . . . . . . . . . . . . . . . . . . 770
Creating Groups and Group Privileges . . . . . . . . . . . . . . . . . . . . . 775
Creating groups and assigning privileges . . . . . . . . . . . . . . . . 777
Creating Privileges on Individual Objects . . . . . . . . . . . . . . . . . . . 781
Setting Schema Privileges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785
Using the Login Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790
Chapter 27: Monitoring Oracle9iAS Portal Performance . . . . . . . 795
Using Portal Monitoring Tools . . . . . . . . . . . . . . . . . . . . . . . . . 796
Working with the Log registry . . . . . . . . . . . . . . . . . . . . . . 799
Object monitoring tools . . . . . . . . . . . . . . . . . . . . . . . . . . 805
Answers to common questions—customizing the interface . . . . . 813
Monitoring Database Objects . . . . . . . . . . . . . . . . . . . . . . . . . . 818
Database information section . . . . . . . . . . . . . . . . . . . . . . 820
Database Memory Consumption, Transactions, and
Locks section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 821
Database objects and storage tools . . . . . . . . . . . . . . . . . . . 825
Changing the Activity Log Settings . . . . . . . . . . . . . . . . . . . . . . . 827
Part VII: Advanced Techniques
Chapter 28: Creating Your Own Portlet and Provider . . . . . . . . . 833
Using the Portal Development Kit . . . . . . . . . . . . . . . . . . . . . . . 833
Categories of portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . 834
Using Portlet Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 835
Creating a Portlet with PL/SQL . . . . . . . . . . . . . . . . . . . . . . . . . 836
Exposing the Oracle9iAS Portal APIs . . . . . . . . . . . . . . . . . . 836
Creating a Database Provider with PL/SQL . . . . . . . . . . . . . . . . . . 842
Registering Your Provider . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845
Using Your Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 847
Customizing Your Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849
Creating user customization stores . . . . . . . . . . . . . . . . . . . 850
Creating a customization form . . . . . . . . . . . . . . . . . . . . . . 851
Enabling customization . . . . . . . . . . . . . . . . . . . . . . . . . . 852
Calling a Built-in Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 853
Creating a Web Provider and Portlet with Java Server Pages . . . . . . . . 855
Using the URL Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 861
Chapter 29: Advanced Tips and Techniques . . . . . . . . . . . . . . 865
Learning Tips and Tricks in PL/SQL . . . . . . . . . . . . . . . . . . . . . . 865
Passing generated default values to forms . . . . . . . . . . . . . . . 866
Generating primary keys using sequences and/or triggers . . . . . . 869
Working with Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
Cookie source code . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877
Adding Custom Attributes and Types . . . . . . . . . . . . . . . . . . . . . 886
Appendix A: What’s On the CD-ROM . . . . . . . . . . . . . . . . . . . 897
Appendix B: Loading Portal Examples . . . . . . . . . . . . . . . . . . 907
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915
End-User License Agreement . . . . . . . . . . . . . . . . . . . . . . . . . 958
CD-ROM Installation Instructions . . . . . . . . . . . . . . . . . . . . . . . 960

  ●▬▬▬▬▬❂❂❂▬▬▬▬▬●
●▬▬❂❂▬▬●
●▬❂▬●

═════ ═════

Previous Post Next Post