Did You Know? -- August 2004

By Hervé Deschamps


Oracle Portal 10g

The Portlet Specification is at: http://jcp.org/en/jsr/detail?id=168. JSR 168.

When registering a new provider with OracleAS Portal, only the user who registered the provider has privileges to see the provider portlets. If necessary, you can go to the Portlet Repository (Navigator, tab Providers) content area and update the provider privileges as required.

An individual user’s default style is specified in each user’s Account Info settings. Users go into their personal portal accounts and select a preferred page style. This selection is applied when a page designer explicitly selects the page style <Use User’s Default Style>. If the user default is set to <None>, then the page uses the page group’s default style; if that is also set to <None>, then the page uses the system default style.

In Portal, if the page group is set to retain the delete items, there is a faster way to purge them than going to page group>Items>Purge. Just switch to the edit view called "List" (as opposed to "Graphical" or "View") and click button "Purge Delete Items" on the bottom right hand side of the page. There is also a button for "Purge Expired Items"...

When you define icons for items like Smart Links, they are language specific: you can have a different icon for each language.

Sharing a portlet instance across various pages: When a portlet is added to a page, a portlet instance is created that stores information about that particular instance of the portlet, including information about customizations made to the portlet. You can share a portlet instance so that the exact same portlet (including all of your customizations) can be used on another page: Portlet Repository->Shared Portlets-><your shared P> from the portlet repository.

Cookies: If you want to learn a few internals about cookies, check out ORACLE_HOME/portal/admin/plsql/wwc/ctxckupd on midtier.

Portal sessions info, including cookie:

In a Portal text field (CMS item) you can type
#USER# to display the username of the authentificated user or
#USER.FULLNAME# to display the full name.

Oracle Database 10g administration

When the DB O/S service is started, it normally starts the DB automatically. But this does not necessarily mean that the DB instance is actually started. If there is a problem that prevents DB startup like ORA-00353: log corruption, the DB won't start even though the service is started. If you want to start the DB manually, you need the services up and running but you may not want the service to attempt to start the DB. To prevent the automatic DB startup by the service, set ORA_<SID>_AUTOSTART to 'FALSE' (in the registry on windows OS). The service will now start without starting database.

Oracle Application 10g Installation, good to know

Support for DHCP: Oracle Application Server is supported on computers that use DHCP on Linux and Microsoft Windows. BUT ... not supported on Solaris computers that use DHCP.

For hostname changes: this is supported only for computers running Oracle Application Server middle tiers. It is not supported for computers running OracleAS Infrastructure 10g or OracleAS Developer Kits 10g. If you change the hostname or IP address after installation (using operating system commands or editing operating system configuration files), you need to use Application Server Control to update the information in Oracle Application Server configuration files. See the Oracle Application Server 10g Administrator’s Guide for details.

Windows starts up services in alphabetical order unless dependences are setup. So you must ensure Windows starts up the ProcessManager service of the OracleAS Infrastructure 10g before it starts up the ProcessManager service of the middle tier. If the Oracle home name you gave to OracleAS Infrastructure 10g comes later alphabetically than the middle tier Oracle home name, then you have to set up a service dependency using the Registry Editor.

Unlike 9.0.2 or 9.0.3 instances, Oracle Application Server 10g (9.0.4) instances on the same computer do not share an Oracle Enterprise Manager. Each 10g (9.0.4) instance has its own Oracle Enterprise Manager.

Warning: You cannot use the OracleAS Backup and Recovery Tool on a Metadata Repository that was created by running Oracle Application Server Repository Creation Assistant (OracleAS RepCA) on an existing database. You must backup and recover that type of Metadata Repository using standard database backup and recovery.

If you want to know whether your farm has a DCM file base repository or a DCM database repository, use the command: $INFRA_HOME/dcm/bin/dcmctl whichFarm I have a DB repository so the last line returned by the command is: "Repository Type: Database (host)".

Oracle Application 10g Administration

How to get that @!%**+&+ database connection password for the user portal?
Quite simply from the OID Manager:
--> Entry Management
--> cn=OracleContext
--> cn=Products
--> cn=IAS
--> cn=IAS Infrastructure Databases
--> orclReferenceName=<sid>.<domain>
--> Click on the desired username

If you want to clean up the modplsql cache, there are 2 places to take care of:
- the infra (\oracle10g\infra_10g\Apache\modplsql\cache)
- the mid tier(\oracle10g\portal_10g\Apache\modplsql\cache)

10gAS includes a set of SQL scripts that can generate performance reports for OracleAS Portal. Other than using these scripts, there is no way to obtain performance-reporting information. These scripts allow a portal administrator to load OracleAS Portal log files into a database table and create reports based on that information. The scripts are located in the following directory: ORACLE_HOME/portal/admin/plsql/perf

HTTP: What's the difference between POST and GET?

Maybe others are like me: although this is a pretty basic subject, I never was 100% that I really knew the difference between POST and GET.
When you request a URL in a Web Browser, the GET method is used for the request. A GET request does not have a body (i.e. the body is empty).
The response to a GET should contain a body with the response data and header fields that describe the body (especially Content-Type and Content-Encoding).
When you send an HTML form, either GET or POST can be used (the best thing to do is to try it with a basic form, and see what happens with the same action, requested both in GET and POST).
With a GET request the parameters are encoded in the URL; with a POST request they are transmitted in the body.

Hervé Deschamps now has 10 years of experience revolving around Oracle technology. During that time he has developed a number of applications using Oracle Development Tools and others.  He has an extensive experience of all phases of the development life cycle. He is also known in the technical community for his article publications centered on best custom development practices and for his user group presentations. You can reach him by e-mail at herve@iherve.com. He also maintains a web site full of articles, scripts, tips and techniques at http://www.iherve.com.