5 Creating Content-Based Portlets with Web Clipping

Web Clipping is a browser-based declarative tool that enables you to integrate any Web application with Oracle Portal. It is designed to give you quick integration by leveraging the Web application's existing user interface. Web Clipping has been implemented as a Web provider using the Oracle Portal Developer Kit, which is a component of Oracle Portal.

With Web Clipping, you can collect Web content into portlets in a single centralized Web page. You can use Web Clipping to consolidate content from Web sites scattered throughout a large organization.

Web Clipping is provided with Oracle Portal 11g Release 1 (11.1.1) and is also available as a download with the Oracle Portal Developer Kit. In Oracle Portal, you can add a Web Clipping portlet from the Oracle Portal Repository in the Portlet Builders folder. If you've downloaded Web Clipping as part of the Oracle Portal Developer Kit, you must register it before you can use it. To learn more about registering a Web provider, see Oracle Fusion Middleware Administrator's Guide for Oracle Portal. You can then add an Web Clipping portlet to any portal page.

5.1 What Is Web Clipping?

Web Clipping allows clipping of an entire Web page or a portion of it and reusing it as a portlet. Basic and HTML-form-based sites may be clipped. Use Web Clipping when you want to copy content from an existing Web page and expose it in your portal as a portlet. The Web Clipping portlet supports the following:

Navigation through various styles of login mechanisms, including form- and JavaScript-based submission and HTTP Basic and Digest Authentication with cookie-based session management.

Fuzzy matching of clippings, meaning that if a Web clipping gets reordered within the source page or if its character font, size, or style changes, it will still be identified correctly by the Web Clipping engine and delivered as the portlet content.

Reuse of a wide range of Web content, including basic support of pages written with HTML 4.0.1, JavaScript, applets, and plug-in enabled content, retrieved through HTTP GET and POST (form submission).

Personalization, enabling page designers to expose input parameters that page viewers can modify when they personalize the portlet. These parameters can be exposed as public parameters that a page designer can map as Oracle Portal page parameters. This feature enables end users to obtain personalized clippings.

Integrated authenticated Web content through Single Sign-On, including integration with external applications, which enables you to leverage Oracle Application Server Single Sign-On and to clip content from authenticated external Web sites.

Inline rendering,enabling you to set up Web Clipping portlets to display links within the context of the portlet. As a result, when a user clicks a link in the Web Clipping portlet, the results display within the same portlet. You can use this feature with internal and external Web sites.

Proxy authentication, including support for global proxy authentication and per-user authentication. You can specify proxy server authentication details including type (Basic or Digest) and realm, through the Web Clipping Provider Test page. In addition, you can specify one of the following schemes for entering user credentials:

All users automatically log in using a user name and password you provide.

All users will need to log in using a user name and password they provide.

All public users (not authenticated into Portal) automatically log in using a user name and password you provide, while valid users (authenticated into Portal) will need to log in using a user name and password they provide.

Open Transport API for customizing authentication mechanisms to clipped sites. By default, Web Clipping provider supports only HTTP challenge-based authentication methods like Basic and Digest, and form submission logins. To support custom authentication methods, like Kerberos proxy authentication, users can use the Web Clipping Transport API. See Section 5.5, "Using Web Clipping Open Transport API" for more information.

Clipping of page content from HTML 4.0.1 pages, including the following:

By default, all Web clipping definitions are stored persistently in the Oracle Fusion Middleware infrastructure database. Any secure information, such as passwords, are stored in encrypted form, according to the Data Encryption Standard (DES), using Oracle encryption technology.

5.2 Adding Web Page Content to a Portal Page

To add Web page content to a portal page, follow the steps described in the following sections:

As you click hyperlinks in the Web page, your navigation links are recorded.

Note:

Any browsing operations that do not contribute to the eventual Web clipping will be discarded. Only the significant browsing operations are recorded for later playback during the show mode; any discarded links are not visited.

For any Web sites that require HTTP Basic or Digest Authentication, a form is displayed that requests user name and password information. This encoded authentication information is recorded as part of the browsing information.

Once you display the page that contains the content you want to clip, in the Web Clipping Studio banner, click Section, as shown in Figure 5-7.

Sectioning divides the target Web page into its clippable sections, as shown in Figure 5-8. After you click Section, you are no longer able to browse links in the displayed page. If you want to continue navigation, click Unsection in the Web Clipping Studio banner.

At the top left of the section of the Web content you want to clip, click Choose.

You can choose only one section as a clipping at a time.

Note:

To increase the number of sections available from which to choose, click Section Smaller in the Web Clipping Studio banner. For example, you would click Section Smaller to drill down one level of nested tables. To decrease the number of sections available from which to choose, click Section Larger.

Web Clipping Studio displays a preview of your chosen section. If it is the section you want, click Select in the Web Clipping Studio banner. The Web Clipping Studio displays the Find a Web Clipping page, with the properties of the clipping.

If you do not want to use the section you clipped in your portlet, click Unselect to return to the page containing the section. You can choose another section on the page, or click Unsection to navigate to another page.

Some sections may contain no data, only whitespace. For example, a Web page may contain an HTML <DIV> tag that contains no text or images. If you click Choose on a section that contains no data, Web Clipping displays a preview, but the preview correctly shows only whitespace. In this case, click Unselect in the preview page to return to the sectioned page. Then, select a section containing data.

Note that the Refresh link in the Web Clipping Portlet retrieves fresh data from the originating Web site. The Portlet Refresh link reloads the portlet, but it may retrieve the data from the cache, depending upon the settings for expiration.

5.2.3 Setting Web Clipping Portlet Properties

You can edit various portlet settings to change the appearance of the Web Clipping portlet and to specify how end users can interact with the portlet.

To set Web Clipping portlet properties, perform the following steps:

Choose the section you want, click Select in the Web Clipping Studio banner. Web Clipping Studio displays the Find a Web Clipping page with a Properties section, as shown in Figure 5-10.

From the URL Rewriting list in the Properties section, choose Inline if you want link targets to be displayed inside the portlet, or choose None if you want link targets to replace the current Portal page in the browser.

In the Title field, enter a title to display in the portlet banner.

In the Description field, enter a description of the portlet.

In the Time Out (seconds) field, enter the amount of time (in seconds) for the Web Clipping provider to attempt to contact the Web page from which the content was clipped.

In the Expires (minutes) field, enter the amount of time (in minutes) that cached content is valid. Any requests for portlet content that occur within the time period you specify will be satisfied from the cache.

Once the cache period is exceeded, requests for portlet content will be satisfied by retrieving content from the portlet's Web Clipping data source. The cache will also be refreshed with this content.

If you entered any information in a form while clipping content for the Web Clipping portlet, the Parameterize Inputs section is available. Select the Click to start parameterizing check box to customize parameters associated with the Web Clipping portlet content. Then perform the following steps:

From the Parameters list, choose the parameters that you want to customize.

From the Personalizable list, select a parameter if you want to allow end users to provide their own values for the parameters when they personalize the portlet. Select None if you do not want to allow this.

In the Display Name field, enter a name to be displayed for the parameter.

In the Default Value field, enter a value to use by default for the parameter.

5.3 Integrating Authenticated Web Content Using Single Sign-On

This section walks you through an example that demonstrates how you can leverage OracleAS Single Sign-On to integrate content from external Web sites that require authentication into a Web Clipping portlet.

Log in to Oracle Portal as a user who has SSO Administration privileges, for example, the orcladmin user.

Navigate to the Administer External Applications portlet. (Click the Administer tab, then click the Portal subtab. In the SSO Server Administration section, which is in the right column, select Administer External Applications.)

Click Add External Application.

In the Create External Application page, in the Application Name field, enter a name for the application, for example, Metalink.

For Login URL, enter the URL to log in to the application, for example, http://metalink.oracle.com/metalink/plsql/sit_main.showSitemap?p_showTitle=0. To determine the URL, navigate to the desired application in a browser and note the URL.

For Form-based Authorization, view the source of the login page for the external application and note the URL to be accessed during the login action.

For User Name/ID Field Name, enter the field name that the external application uses for the user name. Determine the field name by viewing the source for the desired page. If the Authentication method uses Basic Authentication, you do not need to enter a field name. For Metalink, you do not need to enter anything in this field.

For Password Field Name, enter the field name that the external application uses for the password. Determine the field name by viewing the source for the desired page. If the Authentication method uses Basic Authentication, you do not need to enter a field name. For Metalink, you do not need to enter anything in this field.

In the Additional Fields section, you can enter names and values of any additional fields that are submitted with the login form of the external application. To specify a field name that is used to indicate a redirection URL, enter redirectFieldName for Field Name. For this example, you do not need to enter additional fields. Figure 5-12 shows the Additional Fields section.

To test your credentials with Oracle Metalink, in the Administer External Applications page, click the name of the application you just created. Then, in the External Application Login page, log in to the application Oracle Metalink using your Oracle Metalink user name and password.

For the Web Clipping portlet, create a new Web Clipping provider by performing the following steps:

Click the Administer tab, then click the Portlets tab.

Select Register a Provider.

In the Register a Provider page, enter webClippingMetalink for the Name and webClipping Metalink for the Display Name. Enter values for Timeout and Timeout Message. Choose Web for the Implementation Style.

Click Next.

In the General Properties section of the Define Connection page, for the URL, enter:

http://host:port/portalTools/webClipping/providers/webClipping

Note that host:port refers to the host and port where the providers are located. This corresponds to the URL for Oracle Portal.

For the user's identity, select The user's identity needs to be mapped to a different name in the Web provider's application, and/or the Web provider requires an external application login for establishment of a browser session. If selecting this option, specify the external application ID below.

For External Application ID, click the List of Values icon and select the external application you added.

If you have not entered your credentials for the External Application representing Metalink, the portlet will contain an Update login information link. Click the link and enter your credentials. Then, click OK.

Select a section of a page to display in the Web Clipping portlet, by performing the following steps:

In the Web Clipping portlet, click the Edit Defaults icon.

The Find a Web Clipping page is displayed.

In the URL Location field, the default URL for the External Application is displayed. Change it to the location of the starting Web page that links to the content you want to clip. In this case, enter http://www.metalink.oracle.com.

Click Start. The Web Clipping Studio displays the page you specified. Log in to Oracle Metalink.

Browse to the page that contains the content you want to clip. After you display the page that contains the content you want to clip, click Section in the Web Clipping Studio banner. Figure 5-14 shows the external application displayed in Web Clipping Studio.

In the Find a Web Clipping page, from the URL Rewriting list, choose Inline to specify that you want link targets displayed inside the portlet, rather than in a new browser window. OK to display the selected Web clipping in the Web Clipping portlet on your page, as shown in Figure 5-16.

Now, the Web clipping, even though it is from a page requiring authentication, is available in your portlet.

Note that you can associate only one external application with a provider. For each external application, you must register a new provider. Each portal user accesses the authenticated content using their user name and password for that system, not the page designer's credentials.

5.4 Adding a Web Clipping That Users Can Personalize

This section walks you through an example that demonstrates how you can enable end users to personalize their own view of the content in a Web Clipping portlet.

5.4.1 Adding a Web Clipping Portlet to a Personal Page

Administrators can set up personal pages for all users. This task assumes that the administrator has enabled this functionality. This task explains how to add the Web Clipping portlet to your personal page. To do this, perform the following steps:

In the Work In field of the Page Groups portlet, select the page group that contains personal pages.

By default the Page Groups portlet is located on the Build tab of the Portal Builder page and the Personal Pages are located in Shared Objects page group.

In the Pages section, select Personal Pages. Expand the node for the first letter of your user name. To View the Personal pages page (Figure 5-17), click on View link in Page Group portlet.

By default, the Web Clipping portlet is located in the Portal Builder page of the Portlet Repository. If you cannot find this page, use the Search field to find the portlet.

The Web Clipping portlet is added to the Selected Portlets list. Click OK.

5.4.2 Selecting a Clipping in OTN

In this task, you navigate to the Oracle Technology Network (OTN) and search for specific information, then select the results as the clipping for your portlet. To do this, perform the following steps:

In the Web Clipping portlet, click the Edit Defaults icon.

In the Web Clipping Studio's Find a Web Clipping page, in the URL Location field, enter:

Some sections may contain no data, only whitespace. For example, a Web page may contain an HTML <DIV> tag that contains no text or images. If you click Choose on a section that contains no data, Web Clipping displays a preview, but the preview correctly shows only whitespace. In this case, click Unselect in the preview page to return to the sectioned page. Then, select a section containing data.

Click Select to confirm that the search result section is the one you want to clip.

In the Find a Web Clipping page, click OK to display the selected Web Clipping in the Web Clipping portlet on your page. Figure 5-20 shows the Web Clipping displayed in the page.

Because the content displayed in the portlet was reached by entering information in the Search field on OTN, you can customize the parameters used by the search to allow end users to specify their own search string.

In the Parameterize Inputs section, select the Click to start parameterizing check box.

In the parameters table, make the following changes:

In the Parameters column, choose p_Query from the list.

In the Personalizable column, choose Param1 from the list. You can manually add more parameters in the provider.xml file if you need to.

In the Display Name column, enter OTN Search.

Make sure that Default Value displays "web clipping portlet" to be sure you have selected the right parameter.

In the page that displays, scroll down to the Inputs section. Notice that the parameter field for the search string is labeled OTN Search, as you specified for the Display Name for this parameter. In the OTN Search field, enter a different search string. For example, enter OmniPortlet 2004, as shown in Figure 5-25.

5.5 Using Web Clipping Open Transport API

To support custom authentication methods, users can use the Web Clipping Transport API. To extend the Web Clipping transport layer to support custom authentication methods, users must perform the following implementation and deployment procedures:

Implementation

Users can implement their own transport classes.

Users can provide overrides for two use cases of the oracle.portal.wcs.transport.http.HttpTransportLiaison interface. In Web Clipping, this interface is used to abstract the HTTP transport layer. By default, the two use cases of this interface are manifested by following implementations:

To support more authentication methods, users must override the addRequestHeaders methods for both the Studio and Provider HttpClientTransportLiaison implementations to add their own authentication-specific headers. For more information about implementation, see Oracle WebLogic Server Web Clipping Transport API Reference.

Users must compile the new subclasses and package them into a jar file. To compile the new subclasses, users can use the following command:

javac -classpathpath_to_wcejar-d classes/

Where, path_to_wcejar refers to the path to the wce.jar file.

To create the jar file, for example, users can use the following command from the classes directory:

jar cvf ../mytransport.jar

Where, mytransport.jar refers to t he jar file users want to create.

Deployment

Users must deploy the jar file to support the custom authentication method.

Users must place the jar file into the class path or shared library that is used by the Web Clipping producer at runtime.

Users must register the transport class in the web.xml file for Web Clipping producer by making the following modifications to the context parameters defined for HttpClientProviderTranportiaison and HttpClientStudioTransportLiaison:

Change the parameter value for oracle.webclipping.provider.TransportLiaisonClass to the name of the new class extended from the HttpClientProviderTransportLiaison class.

Change the parameter value for oracle.webclipping.studio.TransportLiaisonClass to the name of the new class extended from the HttpClientStudioTransportLiaison class.

Finally, users must restart the producer server for the changes to take effect.

5.6 Migrating from URL-Based Portlets

You can migrate URL-based portlets that are stored in a provider.xml file to Web Clipping portlets. These Web Clipping portlets will exist in the Web Clipping Repository, but you can access the portlets through pointers defined in the provider.xml file.

Note that, during the migration process, no modifications will be done on the original files used by these URL-based portlets.

5.6.1 Preparing for Migration

Before you begin the migration, take the following steps:

Verify that the Web provider that contains the URL-based portlets you want to migrate is functional. The migration process will not succeed with non-functional URL-based portlets. To verify, make sure that the URL-based portlets are used by your Portal pages and that they appear correctly.

Find existing URL-based portlets.

Before you run the migration tool, make sure that you know the file path to the service deployment properties file, which holds pointers to everything about the service, including the path to the provider.xml file that holds the URL services definitions.

You must run the migration tool once for each service. If you have multiple services, find the entire list of service deployment properties files that will be used during migration.

The location of these service deployment properties files may vary depending on individual deployment scenarios. Typically, with JPDK samples, they are located in:

<Domain_home>/servers/WLS_PORTAL/tmp/_WL_user/jpdk

JPDK samples that are shipped with the Oracle Portal are located in the same directory path.

The list of sample service deployment properties files include the following:

urlbasicauth.properties

urlexternalauth.properties

urlnls.properties

urlparams.properties

urlsample.properties

urlssl.properties

In the migration process, the service deployment properties file as well as the provider.xml file used to contain old URL-based portlets will be copied and imported into the Web Clipping application, together with all the previous customizations based on the File Preference store. Because no modifications will be done on the original files used by these URL-based portlets, you do not need to back up any of these files. They can continue to be used as URL-based portlets.

Depending on the types of URL-based portlets you have, you may need to rearrange them as follows:

Because Web Clipping does not offer parallel functionality for the XML Filter capability that URL-based portlets offer, isolate all of the URL-based portlets that use the XML Filter into a separate service deployment (and provider.xml file) that will not be migrated.

Because you may face limitations when migrating URL-based portlets that use external applications, you may decide that the migration is too costly for that subset of your URL-based portlets. In this case, you can isolate them into a separate service deployment (and provider.xml file) that will not be migrated.

Make sure that the machine where you are planning to run the migration tool has local access to the service deployment files and files that the deployment files point to, for both the URL-based portlets provider and the Web Clipping provider.

Make sure that both the Web Clipping Repository and the HTTP Proxy are configured, and that the proxy settings concur with those used by your deployment of URL-based portlets. If you have a proxy server that requires authentication, the Web Clipping provider must be configured with Requires Authentication enabled. Set the Login scheme to use a global log in (Use Login below for all users).

Shut down the WLS instance where your Portal Tools application is running. This step ensures that no modifications are made to the files that will be migrated. Do not restart the WLS instance until after the migration is completed.

To shut down the WLS instance in a Portal instance, use the following command (from the Oracle\Middleware\user_projects\domains\<Domain Name>\bin directory):

stopWebLogic.cmd

Domain Name refers to the domain you have configured for your Portal.

5.6.2 Performing the Migration

The migration tool parses the service deployment properties file to find the provider.xml file that contains the XML definition of the URL-based portlets to be migrated.

The tool changes the Provider Definition class from URLProviderDefinition to WcProviderDefinition. For each of the URL-based portlets defined in the provider.xml file, an equivalent clipping definition is created and inserted into the Web Clipping Repository. Then, the PortletDefinition XML snippet corresponding to the portlet being migrated is replaced with a new one that uses WcPortletDefinition as its class. The replacement XML snippet contains a Clip Id that is a pointer to the newly inserted clipping definition.

The new PortletDefinition XML snippet will no longer contain the same information as it did when it was a URLPortletDefinition. Namely, the migration tool uses the URL to visit as well as the headerTrimTag and footerTrimTag to generate an equivalent Web Clipping definition that will be stored within the Web Clipping Repository and only accessible from the provider.xml file through the Clip Id. The only information remaining will be the title and description. See Section 5.2.3, "Setting Web Clipping Portlet Properties" for instructions on modifying your clipping.

To migrate portlets, take the following steps:

Set environment variables as follows:

On UNIX, set LD_LIBRARY_PATH to either the Install_home/lib or Install_home/lib32, depending on whether the operating system is 32-bit or 64-bit.

5.6.3 Post-Migration Configuration

After you migrate all of the URL-based portlets, take the following steps:

Start the WLS instance that hosts your provider.

To start the WLS instance, use the following command:

startWeblogic.cmd

Update all Portal instances where URL-Based portlets were previously registered. Go to Portal Navigator to find your previously registered URL-based Portlet provider. Click Edit Registration and then click the Connection tab to edit the connection information to the newly migrated provider. Depending on how you registered the portlet, perform either of the following steps:

If you previously registered your URL-based Portlet provider using the Service Id mechanism, your provider URL looked similar to the following:

http://host:port/jpdk/jpdk/providers

In this case, because the Service Id field already contains urn:someservice, you now need only to update the provider URL value to the following:

http://host:port/portalTools/webClipping/providers

If you registered your URL-based Portlet provider using a provider URL that contained the Service Id, your provider URL looked similar to the following:

http://host:port/jpdk/jpdk/providers/service_id

In this case, you need to update the provider to the following:

http://host:port/portalTools/webClipping/providers/service_id

For the most part, the rest of the registration details can remain as they are. However, if you plan on using the in-line rendering functionality of the migrated portlets, you must select Once Per User Session for Login Frequency.

Restore HTTP proxy authentication setting that you altered in preparation for the migration. During the migration process, URL-based portlets are converted to Web Clipping portlets. If the Web Clipping provider has originally been configured with Requires Authentication enabled, your migrated URL-based portlets may not function properly.

Check the test page at:

http://host:port/portalTools/webClipping/providers/webClipping

If the Login Scheme is not set to Use login below for all users, then authentication is accomplished by mapping the current portal user to a proxy server username and password. A portal user's proxy server credentials can only be entered through the Personalize link of the Web Clipping portlet. However this cannot be accomplished through the Personalize link of the migrated URL-based portlets. The workaround is to temporarily add a Web Clipping portlet to the page and personalize it to provide the security credentials. After this is complete, you can remove the temporary portlet.

Review each Portal page where you had used URL-based portlets and verify that the page still contains the content. Occasionally, you may find that, after migration, what used to be a "trimmed" Web page is now the entire Web page. This may be due to some of the limitations of the migration tool, which are discussed in Section 5.6.5, "Limitations in Migrating URL-Based Portlets." If this happens, edit the portlet by altering the Web Clipping associated with it.

Whatever modifications you make to the clipping will affect it at the portlet definition level and therefore will affect all the instances of that portlet which may exist across Portal pages.

When you modify the clipping and you have made the portlet rendering to be Inline, and have registered the provider with a Login Frequency of Once per User Session, then page viewers who have an instance of the particular portlet on their page, will need to log out of Oracle Portal and log in again to see the changes implemented. This feature avoids disruption of the page viewer's usage of a particular portlet when it is being modified.

For portlets with Web Clippings that require authentication to an external application prior to accessing the page containing the clip, the "off-line" editing mechanism detailed in the previous item does not provide such authentication information. Consequently, there is no way to modify the migrated clipping if the original URL-based portlet uses external applications. There is currently no workaround for this limitation.

5.6.5 Limitations in Migrating URL-Based Portlets

This sections describes limitations in migrating URL-based portlets to Web Clipping and describes some differences between the two methods. Following are the differences:

There is a fundamental difference between URL-based portlets and Web Clipping in the way that clippings are defined.

URL-based portlets use the headerTrimTags and footerTrimTags tags to define the begin and end of a particular section in an HTML page. On the other hand, Web Clippings use the HTML tag path (for example, html/body/table[2]/tr[2]/td[1]) to denote the path to use when looking for an HTML tag that would contain the clipping within the page.

While the header and footer trim tags for URL-based portlets offer greater flexibility (that is, the clipping does not need to reside within one single HTML tag), it is not as robust. When a clipping can no longer be found in the same location within a page, there is no way to apply fuzzy matching logic to find the clipping again. On the other hand, Web Clipping stores key pieces of information to locate the clipping within the page. If the clipping is not in the same location, the fuzzy match feature looks for other candidates on the same HTML page to account for the possibility that the clip may have moved.

The migration tool tries to find the clipping (HTML Tag) that encapsulates the headerTrimTags and footerTrimTags. Often, this will not be the exact HTML that was extracted by the URL-based portlet. In these cases, the entire Web page will be returned as the content of the migrated Web Clipping Portlet. To amend this, simply edit the portlet.

URL-based portlets that have been migrated to Web Clipping do not support proxy authentication by default. This is because URL-based portlets inherently do not support proxy authentication and Web Clipping preserves the edit mode of the portlets. Their edit mode does not provide an opportunity to enter authentication information. To work around this restriction, add an empty Web Clipping portlet to the same portal and use the Web Clipping portlet Personalize link to enter the user name and password for proxy authentication.

URL-based portlets that used external applications are migrated as full-page Web Clipping portlets. This means that the URL previously specified by the URL-based portlet definition will be the one used to display the full page after the log in process. Whatever headerTrimTags and footerTrimTags you have previously specified will be lost, because external application integration occurs at the Portal side while the migration tool only handles the provider side. Because you are not connected to any Portal instances at the time of the migration, and the external applications framework resides only on the Portal side, the migration tool cannot fetch the authentication information necessary to log in to parse the HTML and use the headerTrimTags and footerTrimTags that you have previously specified to compute an HTML Tag Path to store in the Web Clipping Definition.

In maintaining migrated portlets, you can edit the clipping through links in the test page. However, this does not include URL-based portlets that used external applications to authenticate themselves to the external sites. There is currently no workaround for this issue.

URL-based portlets that use the XML Filter cannot be migrated to Web Clipping portlets because there is a lack of such a functionality in the Web Clipping Portlet. Before proceeding with migration, make sure that you have backed up the URL-based portlets that use the XML Filter into a separate URL-based portlet provider. You must do this because the migration occurs at the provider level. That is, upon interpreting that a particular provider.xml file has URLProviderDefinition for its provider definition class, all the portlet definitions contained within that provider definition are migrated.

5.7 Current Limitations for Web Clipping

This section describes current limitations for Web Clipping. For information about the latest limitations in a release, be sure to read the Oracle Portal Release Notes. Following are the limitations:

If the site to which you are connecting uses a large amount of JavaScript to manipulate cookies or uses the JavaScript method document.write to modify the HTML document being written, you may not be able to clip content from the site.

When you integrate with partner applications (through the use of mod_osso), you cannot clip directly through those partner applications in an authenticated manner. However, you can use the partner applications through the external application framework.

You cannot use the Web Clipping portlet to clip Oracle Portal pages. As a workaround, examine the portlet that is supplying the data and take the appropriate action, as follows:

For database provider portlets, use export/import to copy pages across portals.

For Web provider portlets, re-register the same provider in the destination portal and edit the portal manually.

You cannot use the Web Clipping portlet to clip a Web page that contains more that one frame, that is, a frameset.

Note the following about Web Clipping and the use of cascading style sheets (CSS):

If a Web page contains more than one portlet that uses a CSS, they should not conflict if the CSS uses distinct style names, such as OraRef, to specify a style within an HTML tag, rather than using an HTML tag name, such as <A>, as the name of the style.

If one portlet uses a CSS, and that CSS overwrites the behavior of HTML tags by using the name of the tag, such as <A>, as the name of the style, and a second portlet on the same page does not use a CSS, the second portlet will be affected by the style instructions of the CSS of the first portlet.

If two portlets on the same page use a different CSS and each CSS overwrites the behavior of HTML tags by using the name of an HTML tag, such as <A>, as the name of the style, the style that will be displayed depends on the browser.

Web Clipping checks for NLS settings in the following way:

Web Clipping checks the Content-Type in the HTTP header for the charset attribute. If this is present, it assumes that this is the character encoding of the HTML page.

If the charset attribute is not present, it checks the HTML META tag on the page to determine the character encoding.

If the HTML META tag is not found, Web Clipping uses the charset in the previous browsed page. If this is the first page, it defaults to the ISO-8859-1 character encoding.

If the value of the charset for Content-Type or META tag is not supported (for example, if the charset was specified as NONE), Web clipping uses the default character set, ISO-8859-1, not the charset in the previously browsed page.

To use the Web Clipping portlet, you must use Netscape 7.0 or higher, or Microsoft Internet Explorer 5.5 or higher for Windows 2000, or Microsoft Internet Explorer 6.0 or higher for Windows XP.

If you use browser versions older than these, you may encounter JavaScript errors.