Académique Documents
Professionnel Documents
Culture Documents
IBM WebSphere Portal V6: Best Practices for Migrating from V5.1
Provides comprehensive step-by-step guidelines Describes enterprise considerations Includes troubleshooting guide and tips
Philip Monson Brian Cheng Frederic Delos Dominic Glennie Rob Holt Misao Ishikawa Simon McNab William Trotman
ibm.com/redbooks
Redpaper
International Technical Support Organization Best Practices for Migrating to IBM WebSphere Portal V6 February 2007
Note: Before using this information and the product it supports, read the information in Notices on page vii.
First Edition (February 2007) This edition applies to IBM WebSphere Portal V5.1 and IBM WebSphere Portal V6.
Copyright International Business Machines Corporation 2007. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
Contents
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix The team that wrote this IBM Redpaper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ix Become a published author . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .x Comments welcome. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xi Chapter 1. Getting started: WebSphere Portal migration from V5.1 to V6. . . . . . . . . . . 1 1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.1 Understanding WebSphere Portal migration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.1.2 Migration versus upgrade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1.3 Reasons for migrating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2 High-level overview of WebSphere Portal migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 1.2.1 Premigration tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.2 Core migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.3 Document Manager and Personalization components . . . . . . . . . . . . . . . . . . . . . . 5 1.2.4 Workplace Web Content Management components. . . . . . . . . . . . . . . . . . . . . . . . 5 1.3 Planning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4.1 WebSphere Portal V6 environment. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4.2 Custom portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 1.4.3 External components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.4.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 1.4.5 Noncustom portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4.6 Administration portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.7 Search indexes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.8 Virtual portals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.9 Themes and skins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.10 Uniform Resource Locator mappings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.11 WebSphere Application Server artifacts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.12 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5 Migration checklist. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 1.5.1 Steps to prepare your WebSphere Portal V6 environment for migration . . . . . . . 12 1.5.2 Steps to prepare your WebSphere Portal V5.1 environment for migration . . . . . . 13 Chapter 2. Considerations for migrating enterprise environments . . . . . . . . . . . . . . . 2.1 Migration approach between clusters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.1 The WebSphere Portal V5.1 server environment . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.2 The WebSphere Portal V6 server environment . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1.3 Environment considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Maintaining customizations during migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Core WebSphere Portal customizations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2.2 Content changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Chapter 3. Migration of core components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Collecting data from the WebSphere Portal V5.1 environment. . . . . . . . . . . . . . . . . . . 3.1.1 The Property Collector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.2 Installing the Property Collector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 16 16 17 18 18 20 23 24 24 24 iii
3.1.3 Running the Property Collector on WebSphere Portal V5.1 . . . . . . . . . . . . . . . . . 25 3.2 Copying data to WebSphere Portal V6 server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.2.1 Copying the Property Collector output file to WebSphere Portal V6 server . . . . . 26 3.2.2 Collecting Web archive files for custom portlets and copying to WebSphere Portal V6 server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Migrating your portal using the WPmigrate command-line tool. . . . . . . . . . . . . . . . . . . 26 3.3.1 Extracting the data from the Property Collector output file . . . . . . . . . . . . . . . . . . 27 3.3.2 Exporting the configuration from WebSphere Portal V5.1 server . . . . . . . . . . . . . 28 3.3.3 Importing the configuration into WebSphere Portal V6 server . . . . . . . . . . . . . . . 33 3.4 Postmigration tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4.1 Restarting the server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4.2 Migrating WebSphere Member Manager database tables . . . . . . . . . . . . . . . . . . 38 3.4.3 Adjusting the page hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 3.4.4 Migrating the search collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.5 Migrating the Search and Browse Portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 3.4.6 Migrating the credential vault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 3.4.7 Administration portlets and pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.8 The Web Clipper . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 3.4.9 Migrating the hidden pages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.10 Migrating the WebSphere Application Server artifacts-Enterprise JavaBeans . . 48 3.4.11 Migrating the global portal settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.12 Migrating the portal service configuration properties . . . . . . . . . . . . . . . . . . . . . 49 3.4.13 Migrating the performance settings. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.14 Migrating the struts portlets. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.15 Migrating the Click-to-Action portlets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.16 Migrating the business processes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 3.4.17 Migrating the FileServer portlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.5 Validating the portal and fixing any remaining issues . . . . . . . . . . . . . . . . . . . . . . . . . . 50 Chapter 4. Migration of Document Manager and Personalization . . . . . . . . . . . . . . . . 4.1 The Document Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.1 Installing the Document Transfer Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.1.2 Validating the Document Transfer Tool installation. . . . . . . . . . . . . . . . . . . . . . . . 4.2 Migrating the Document Manager documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Preparing a checklist for Document Manager validation. . . . . . . . . . . . . . . . . . . . 4.3 Synchronizing Document Manager global access . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Modifying the Document Manager properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.2 Creating directories for Document Manager migration . . . . . . . . . . . . . . . . . . . . . 4.3.3 Running the export task for Document Manager . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.4 Copying files to the WebSphere Portal V6 server. . . . . . . . . . . . . . . . . . . . . . . . . 4.3.5 Running the transform task for Document Manager . . . . . . . . . . . . . . . . . . . . . . . 4.3.6 Running the import task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.7 Validating the Document Manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3.8 Postmigration task for Document Manager. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4 Migrating Personalization data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.1 Preparing a checklist for Personalization validation . . . . . . . . . . . . . . . . . . . . . . . 4.4.2 Custom resource collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.3 Modifying Personalization properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.4 Creating directories for Personalization migration . . . . . . . . . . . . . . . . . . . . . . . . 4.4.5 Running the export task for Personalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.6 Copying files to WebSphere Portal V6 server. . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.7 Running the transform task for Personalization . . . . . . . . . . . . . . . . . . . . . . . . . . 4.4.8 Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 54 54 56 57 58 58 60 61 62 64 64 66 67 67 67 68 68 69 70 70 72 73 75
iv
4.4.9 Migrating the Personalization cache configuration . . . . . . . . . . . . . . . . . . . . . . . . 75 4.4.10 Running the import task for Personalization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 4.4.11 Validating your Personalization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5 Postmigration tasks for Document Manager and Personalization. . . . . . . . . . . . . . . . . 76 4.5.1 Removing passwords from the Document Manager and Personalization property files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.5.2 Uninstalling the Document Tracking Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 5.1 Migration considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 5.2 Workplace Web Content Management migration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.3 Premigration tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.3.1 Copying folders from WebSphere Portal V5.1 server to WebSphere Portal V6 server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 5.3.2 Preparing a checklist for Workplace Web Content Management validation . . . . . 87 5.3.3 Installing the Workplace Web Content Management migration tool . . . . . . . . . . . 88 5.3.4 Installing the authoring portlet to the Web Content Management page . . . . . . . . 94 5.3.5 Migrating the Workplace Web Content Management user data . . . . . . . . . . . . . . 95 5.3.6 Migrating the Workplace Web Content Management rendering portlets . . . . . . . 97 5.3.7 Postmigration tasks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Appendix A. Troubleshooting and other tips . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Business portlets not migrated during portal migration . . . . . . . . . . . . . . . . . . . . . . . . . . . Temporarily halting user customization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Delayed clean-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Changing the delayed clean-up property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Forcing immediate clean-up with xmlaccess. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List of admin portlets in WebSphere Portal V5.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . List of admin portlets in WebSphere Portal V6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Migrating the search collections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Appendix B. Extending the WebSphere Portal migration framework . . . . . . . . . . . . Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Framework extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Core migration extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Plugging into the framework. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Migration filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Creating the River Bend migration sample plug-in. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Related publications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Online resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to get IBM Redbooks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Help from IBM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 104 105 106 106 107 107 108 109 119 120 120 120 122 125 127 131 131 132 132
Contents
vi
Notices
This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services, or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing, IBM Corporation, North Castle Drive, Armonk, NY 10504-1785 U.S.A. The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. COPYRIGHT LICENSE: This information contains sample application programs in source language, which illustrate programming techniques on various operating platforms. You may copy, modify, and distribute these sample programs in any form without payment to IBM, for the purposes of developing, using, marketing or distributing application programs conforming to the application programming interface for the operating platform for which the sample programs are written. These examples have not been thoroughly tested under all conditions. IBM, therefore, cannot guarantee or imply reliability, serviceability, or function of these programs.
vii
Trademarks
The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both:
BetaWorks Cloudscape DB2 Domino i5/OS IBM Lotus Lotus Notes Notes Rational Redbooks Redbooks (logo) Sametime Tivoli WebSphere Workplace Workplace Web Content Management z/OS
The following terms are trademarks of other companies: Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Enterprise JavaBeans, EJB, Java, JavaBeans, JavaScript, JavaServer, JavaServer Pages, JDBC, JSP, JVM, J2EE, and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. Internet Explorer, Microsoft, Windows, and the Windows logo are trademarks of Microsoft Corporation in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries.
Other company, product, or service names may be trademarks or service marks of others.
viii
Preface
This IBM Redpaper provides detailed information about migrating from IBM WebSphere Portal V5.1 to IBM WebSphere Portal V6. This IBM Redpaper introduces the key considerations and the overall decision process before providing step-by-step instructions. It also provides a troubleshooting guide. This IBM Redpaper covers all the key concepts, from stand-alone core portal environments to comprehensive enterprise deployments with clustering, IBM WebSphere Portal components such as Document Manager, Personalization, IBM Workplace Web Content Management, and others. Whether you are a Line-of-Business Manager looking for overall information about migration, an IT Architect planning a migration, or an Administrator who has to perform the actual migration, this IBM Redpaper is for you.
ix
Electrical Engineering from North Carolina A&T State University in Greensboro, NC, and a Masters Degree in Electrical/Computer Engineering from the Old Dominion University in Norfolk, Virginia. Misao Ishikawa is an IT Architect with IBM BetaWorks, leading WebSphere Portal-managed beta programs for the last five years in Asia Pacific. He focuses on not only managing beta projects, but also on enablement programs for IBM Technical Salespersons and IBM Business Partners. He also leads beta programs for IBM Tivoli Security products. Previous experience includes customer projects that required integration architectures, such as Multi Vendor Solution, Nagano Olympics, and Enterprise Mail/CRM/Portal Solutions, among others. Simon McNab works for IBM Software Support in the U.K. He provides voice and e-mail support for defects, and simple "how to" questions for the WebSphere Portal Server and the Lotus product suite. Prior to joining Support, Simon worked in a number of service delivery roles, most recently as a WebSphere Application Server Administrator. He has been with IBM for 10 years and has a degree in Computer Sciences from the Pembroke College, Cambridge. He has worked on two earlier IBM Redbooks on IBM WebSphere Application Server on z/OS. William Trotman is a Software Engineer for the WebSphere Portal Server Level 2 support organization, North America. He has four years of experience working with the WebSphere Portal Server. He holds a degree in Computer Science from North Carolina State University. His areas of expertise include WebSphere Portal application programming interfaces (APIs) and migration. Thanks to the following people for their contributions to this project: Lee Berry IBM WCM Software Engineer, IBM Software Group, Lotus Scott Roehrig PDM Software Engineer, IBM Software Group, Lotus Lori Small PDM Software Engineer, IBM Software Group, Lotus Monica S. Harris Software Engineer, IBM Software Group, Lotus
Comments welcome
Your comments are important to us! We want our papers to be as helpful as possible. Send us your comments about this IBM Redpaper or other IBM Redbooks in one of the following ways: Use the online Contact us review IBM Redbook form found at: ibm.com/redbooks Send your comments in an e-mail to: redbooks@us.ibm.com Mail your comments to: IBM Corporation, International Technical Support Organization Dept. HYTD Mail Station P099 2455 South Road Poughkeepsie, NY 12601-5400
Preface
xi
xii
Chapter 1.
1.1 Introduction
This IBM Redpaper describes the steps and best practices for migrating an existing WebSphere Portal V5.1 environment to WebSphere Portal V6. To help illustrate the steps involved in this process, the migration of the fictitious River Bend Coffee and Tea Companys (Figure 1-1) portal is described.
Figure 1-1 River Bend Coffee and Tea Company home page
This portal contains pages, custom portlets, and a variety of content, including Document Manager, Personalization, and IBM Workplace Web Content Management. During this migration, migration steps that use the command-line interface are described. In the Information Center for IBM WebSphere Portal for Multiplatforms Version 5.0.2, a mention is made of a migration wizard that provides a graphical user interface (GUI) for migration: http://publib.boulder.ibm.com/pvc/wp/502/ent/en/InfoCenter/index.html The best practice is to use the command line. It provides more flexibility and allows for additional verification after each migration task. In this IBM Redpaper, the environment that is being migrated is configured to an IBM DB2 database and is secured with an IBM Tivoli Directory Server LDAP, all running on a Windows server. WebSphere Portal server migration is performed between two single server instances. Both these instances can reside in managed cells, but the target WebSphere Portal V6 server must not be clustered at the time of migration. After the migration is completed and verified, the WebSphere Portal V6 server can be clustered. Additional considerations for production clustered systems are covered in Chapter 2, Considerations for migrating enterprise environments on page 15.
Portal resources Workplace Web Content Manager content and components Document Manager content Personalization rules Credential vault slots
Following are the key benefits: Improves operational efficiency and productivity by linking the right people, processes, and information so that transactions are executed quickly and accurately Accelerates application and content deployment through new tools and the innovative use of service-oriented architecture (SOA) Lowers the overall cost of portal deployment with faster performance and easier administration Delivers responsiveness and reliability from a leader in the enterprise portal market
NO
YES
Portal Document Manager Chapter 4
NO
YES
WebSphere Portal Personalization Chapter 4
NO
YES
WebSphere Content Manager Chapter 5
This IBM Redpaper follows the migration of a portal containing many different components. What follows is a brief explanation of each step involved in migrating to WebSphere Portal V6.
1.3 Planning
For complex WebSphere Portal environments, migration can be a potentially lengthy process. This section provides some key considerations that can help control this: Gathering skills and filling gaps The migration process must be driven by a WebSphere Portal administrator, although additional skill sets may have to be made available during the process. Depending on the components used, aim to have development, database administrator, LDAP administrator, WebSphere Process server, WebSphere Application Server, and Workplace Content Management skills available. Hardware considerations Portal migration can be run, with both WebSphere Portal V5.1 and WebSphere Portal V6 residing on the same machine or on different machines. (The scenarios performed to write this IBM Redpaper were run with the WebSphere Portal V5.1 and WebSphere Portal V6 running on different machines.) Topology assessment and application architecture It is recommended that all the enterprise customers have a staging environment that matches the production. If possible, the staging environment must be used as the source for the migration. If migration is performed from a production-clustered environment, one of the nodes must be isolated from external traffic and used as the source server. This isolated node will still use the same portal configuration database and user repository. This can cause some performance impact on the production system. These issues are described in detail in Chapter 2, Considerations for migrating enterprise environments on page 15. Vendor applications Check the topic Supported hardware and software for WebSphere Portal Version 6.0 in the IBM WebSphere Portal Version 6.0 Information Center to confirm whether the versions of any third-party components are supported for WebSphere Portal V6: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp .ent.doc/wpf/inst_req60.html
1.4 Considerations
This section explains some elements of the WebSphere Portal environment that must be reviewed before starting the migration.
Java Server Faces Portlet Portlets developed by using the IBM API that use the Java Server Faces (JSF) framework will not work with WebSphere Portal V6 if they were developed using Rational Application Developer V6. The following Web site provides additional information about portlets developed using Rational Application Developer V6. http://www-1.ibm.com/support/docview.wss?uid=swg27008730&aid=1 Predeployed enterprise archive file Predeployed enterprise archive (EAR) files require the installation of fix PK32308. Download this fix and check the fixs readme file for any additional steps that may have to be followed. Collaborative Portlet WebSphere Portal V5.1 of the IBM Domino Application Portlet does not work on WebSphere Portal V6. At the time of writing this IBM Redpaper, V6 of the Domino Application Portlet was being written. The following Web site provides the most recent information about this portlet: http://www-1.ibm.com/support/docview.wss?rs=899&uid=swg21245417 The other Collaborative Portlets can migrate without any issue.
1.4.4 Security
For the WebSphere Portal migration to fully move your portal configuration, you must set up security on your WebSphere Portal V6 environment in exactly the same way it is on WebSphere Portal V5.1. Ideally, this must be the same user registry, but might be a different physical server so long as it is the same schema and has exactly the same portal users. Implicit (private) pages Pages that were created by users might cause problems during the migration if that user does not exist in the user registry. In the base WebSphere Portal V6 installation, if the owner of the page does not exist in the registry, the migration will stop. There is a fix available in development that filters the pages out of the migration if the owner of a page does not exist in the user registry. Refer to the following Web site for information about WebSphere Portal migration fixes in order to see if PK33978 is available for download: http://www.ibm.com/support/docview.wss?rs=688&uid=swg24013927 Custom user login If the WebSphere Portal V5.1 environment contains a custom LoginUserAuth class to add additional functionality during the logging process, these changes must be manually moved to WebSphere Portal V6. Because of changes in the API, code changes might be required before the class works with WebSphere Portal V6. This must be tested before migration. Custom User Registry If the current WebSphere Portal V5.1 installation is using a Custom User Registry, and the plan is to continue using this registry, it must be configured and tested for WebSphere Portal V6 before migration. WebSphere Member Manager (lookaside) database The lookaside database is used to hold additional user attributes that are not held in the main user registry. Some organizations use WebSphere Member Manager to store additional user attributes that are used by the Personalization engine, Web Content Management, or custom portlets. In such instances, the WebSphere Member Manager lookaside database must be migrated. Even if Web Content Management is configured, if it is not using categories and keywords, there might not be any information to be migrated from the database. If it is determined that the lookaside database must be migrated, refer to the corresponding instructions in the chapter Migrating the Member Manager database using the command line under the topic Migrating the remaining access control configuration in the IBM WebSphere Portal Version 6.0 Information Center: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp .ent.doc/wpf/sec_mig_roles.html The instructions provided in the information center are specific for DB2. If you are using a database other than DB2, contact your database administrator to help determine the proper commands for your environment.
Credential vault The best method for migrating credential vault data is to use the Extensible Markup Language (XML) Configuration Interface, which requires the installation of an interim fix (PK28148) on both WebSphere Portal V5.1 and WebSphere Portal V6 environments. Alternatively, you can migrate your credential vault data using Structured Query Language (SQL) and direct database operations. The chapter Migrating credential vault data under the topic Migrating the remaining access control configuration in the IBM WebSphere Portal Version 6.0 Information Center provides the necessary information: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp .ent.doc/wpf/sec_mig_roles.html Check the following migration fix download page for information about future fixes for credential vault migration: http://www.ibm.com/support/docview.wss?rs=688&uid=swg24013927
10
11
Following is a list of additional settings: Additional WebSphere Application Server settings Review any WebSphere Application Server settings that might have been made to your WebSphere Portal V5.1 and check the WebSphere Application Server Information Center to see how to make these settings in the version of WebSphere Application Server that is used by your WebSphere Portal V6 environment. Java virtual machine settings The Java virtual machine (JVM) heap size requirements have changed between WebSphere Portal V5.1 and WebSphere Portal V6. If the memory is available, the heap size must be increased on the WebSphere Portal V6 after the initial installation. After migration, the heap size must be tuned as part of performance testing.
1.4.12 Performance
If your system has had performance problems in the past, it is recommended that you review the WebSphere Portal V6 Tuning Guide. http://www-1.ibm.com/support/docview.wss?uid=swg27008511&aid=1 As a best practice, perform a dry run of your migration and use it to test your application for performance issues before performing production migration.
12
7. Install all the required fixes before migration. Not all the migration fixes listed in the following Web site are required because some may be dependent on the additional components you expect to migrate: http://www.ibm.com/support/docview.wss?rs=688&uid=swg24013927
1.5.2 Steps to prepare your WebSphere Portal V5.1 environment for migration
Perform the following tasks: 1. Prepare validation criteria, including the test scripts. 2. Ensure that the wpconfig.properties file is up-to-date with the current values on the WebSphere Portal V5.1 server. 3. Restart the source WebSphere Portal server before starting the migration. 4. Ensure that the previous environment is stable and working as expected. 5. Download the latest WebSphere Portal Update Installer for the WebSphere Portal V5.1 server you are using, from the following Web site: http://www-1.ibm.com/support/docview.wss?rs=688&uid=swg24006942 6. Install all the required fixes before the migration. The WebSphere Portal V6 installation media contains the current required fixes for each of the supported versions of WebSphere Portal V5.0 and WebSphere Portal V5.1. These fixes are in the <portal_server_root>\migration\fixes directory of the WebSphere Portal V6 server. Find the directory for the version of WebSphere Portal server that matches the source environment and install these fixes. It is also recommended that you check the following Web site for any additional migration fixes that are required for the WebSphere Portal server version: http://www.ibm.com/support/docview.wss?rs=688&uid=swg24013927 7. Run the validate database connection task on your previous environment to verify that the proper values are specified in the wpconfig.properties file because these values are required when running the migration tasks.
13
14
Chapter 2.
15
Tip: All the WebSphere Portal servers within the cluster share the same portal configuration database. Even after being isolated from the deployment manager and user traffic, the source server has the potential to put a load on this database. Therefore, consideration must be given to when migration tasks are run so that the performance impact on the production environment is minimized.
Unmanaged node
To provide the WebSphere Portal V6 environment, the WebSphere Process server is not used. It is recommended that the source server for the migration be on an unmanaged node. Create the cluster after the migration is completed by following the steps documented in the IBM WebSphere Portal Version 6.0 Information Center, which is available on the Web at: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wpf/welcome.html
16
Also refer the IBM Redbook WebSphere Portal 6 - Best Practices for Enterprise Scale Deployment, which is available in draft form on the Web at: http://www.redbooks.ibm.com/redpieces/abstracts/sg247387.html?Open Important: The standard installation process provides the choice of installing WebSphere Portal V6 with or without the WebSphere Process Server. If the node is to eventually become a part of a cluster, the installation must take place without the WebSphere Process Server. Otherwise, it will not be possible to create a cluster from it. Migrating to an unmanaged node allows the potentially complex task of clustering to be treated separately from the migration process. It also means the configuration of the primary node is kept if the node is ever removed from the cell. Tip: Because the WebSphere Portal V6 environment is built, take frequent backups of the files and the databases. Always take a backup just before federating the primary node into a cluster because errors often occur during this process.
Managed node
If the target for the migration is a managed node, the configuration of the migrated server exists only in the cell. If the node is removed from the cell, the configuration will be restored to the state it was in prior to running the addNode command, and the migrated portal configuration will be lost. Important: For WebSphere Portal server clusters with WebSphere Process Server, the portal component must be installed on a managed WebSphere Application Server node. It is not possible to create a WebSphere Process Server cluster from a standard installation of WebSphere Portal. Therefore, if the intended environment is to include WebSphere Process Server and be clustered, the migration must be to a managed node.
External database
It is recommended that transferring the portal configuration database from IBM Cloudscape to an enterprise-level database be completed before you start the migration. The performance benefits of an enterprise-level database can speed up the migration tasks considerably. This is particularly evident for Workplace Web Content Management content. On the rough tests that we ran, the Workplace Web Content Management tasks were over ten times quicker when DB2 over Cloudscape was used.
17
In many cases, there will not be enough resources to comfortably run both WebSphere Portal V5.1 server and WebSphere Portal V6 server at the same time. Doing so might cause resource contention issues, which in turn is likely to cause failures. The migration tasks do not require both the servers to be running. During the export tasks, only WebSphere Portal V5.1 server must be up. During the import tasks, only WebSphere Portal V6 server is used. As a result, the servers can share the same ports so long as they are not started at the same time.
Performance considerations
After migration, the WebSphere Portal V6 server environment must undergo performance testing and tuning. Alterations made to WebSphere Portal V5.1 server for tuning purposes may not be applicable in WebSphere Portal V6 server. As a best practice, a performance baseline of the environment must be taken before the migration in order to be used for comparison. For more details, refer to IBM WebSphere Portal V6 Tuning Guide on the Web at: http://www.ibm.com/support/docview.wss?rs=688&uid=swg27008511
These approaches are not mutually exclusive, and must be combined in a manner that is suitable to your environment. For complex environments, it is usually not possible to migrate an entire system and switch it into production during downtime. This section describes how these methods can be used. Note: WebSphere Portal V6 server allows user customizations to be stored in a separate database domain that can be shared between clusters. This functionality is likely to be utilized to ease the migration process between V6 and the next major WebSphere Portal release, by allowing the source servers and the target servers to share the same customization database.
19
In the River Bend environment, after migration, additional implicit pages were created by logging in as users and editing the parameters of a portlet. The page and its child-implicit pages with the unique name wps.test1 were exported using the script shown in Example 2-1.
Example 2-1 Sample xmlaccess script for reimporting a page and all the child-implicit pages
<?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_1.3.xsd" type="export"> <!-- sample for exporting a page --> <portal action="locate"> <content-node action="export" uniquename="wps.test1" export-descendants="true"/> </portal> </request>
Tip: For the implicit private pages to be exported, the export-descendents parameter of the content node in the xmlaccess request must be set to true.
Attention: At the time of writing this IBM Redpaper, Workplace Web Content Management libraries could not be deleted from our example River Bend environment on WebSphere Portal V6. Check with IBM support for a fix. Refer to Chapter 5, Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management on page 77, for details about running the Workplace Web Content Management migration tasks.
21
22
Chapter 3.
At a glance
Following is the process involved in migrating the core components: 1. Collecting data from the WebSphere Portal V5.1 environment 2. Copying this data to the WebSphere Portal V6 environment 3. Migrating your portal using the WPmigrate command-line tool: a. Extracting the data from the Property Collector output file a. Exporting the configuration from WebSphere Portal V5.1 a. Importing the configuration into WebSphere Portal V6 4. Performing the postmigration tasks 5. Validating your portal and fixing any remaining issues Throughout this IBM Redpaper, the installation location for the portal server component of WebSphere Portal is referred to as <portal_server_root>. We assume that the WebSphere Portal V6 and WebSphere Portal V5.1 environments are on different physical servers because this is the most common migration scenario. To test the example River Bend environment, we used Windows servers. Therefore, the syntax of commands and the directory structures in this chapter are specific to a Windows environment. It is recommended that you verify the correct syntax for your operating system.
23
24
Validation
The WPSconfig command must report the following message: BUILD SUCCESSFUL To further verify successful completion, check if the Collector output file is successfully written and whether it can be opened using a zip reader of your choice. The exact contents of the Collector output file is undocumented and subject to change. However, you must be able to read the individual files inside.
Troubleshooting
If the Collector does not run successfully, check the output from the command and the ConfigTrace.log.
Rerun
The Property Collector can be rerun at any time. Although it will overwrite any existing output file without warning, it is a good idea to delete the existing Property Collector output file first.
25
3.2.1 Copying the Property Collector output file to WebSphere Portal V6 server
Copy the Collector output file created in Running the Property Collector on WebSphere Portal V5.1 on page 25 to <portal_server_root>\migration\propcollectorOutput.zip on your WebSphere Portal V6 server. Tip: It is worth ensuring that the Collector output file on the WebSphere Portal V6 server is readable after being copied.
3.2.2 Collecting Web archive files for custom portlets and copying to WebSphere Portal V6 server
The WAR files are not migrated automatically. They must be in the <portal_server_root>\installableApps directory on WebSphere Portal V6 server prior to running the import that will redeploy them. The migration task will fail and halt if any of the required WAR files have not been copied to WebSphere Portal V6 server. Important: If you have any portlets in predeployed enterprise archive (EAR) files, refer to 1.4.2, Custom portlets on page 7. Copy only the customized WAR files. Do not copy the entire directory because this overwrites the new WebSphere Portal V6 server portlets.
At a glance
The WPmigrate tool is used for the following: Extracting the data from the Property Collector output file Exporting the configuration from WebSphere Portal V5.1 Importing the configuration into WebSphere Portal V6 The WPmigrate command is entered from the <portal_server_root>\migration directory on WebSphere Portal V6 server. It writes a log file to <portal_server_root>\log\MigrationTrace.log.
26
Important: Like WPSconfig, WPmigrate appends to its log file on each execution. However, WPmigrate overwrites any other files that it creates. Therefore, it is recommended that you make copies of these files before rerunning the command.
Tip: If there is a syntax error, for example, WPmigrate.bat collector-extarct instead of WPmigrate.bat collector-extract, you will see the following message: BUILD FAILED Target collector-extarct' does not exist in this project. The export and import stages run xmlaccess. As mentioned in Running the Property Collector on WebSphere Portal V5.1 on page 25, it is recommended that you run xmlaccess directly against the HTTP Listener in the WebSphere_Portal Application Server, instead of through an HTTP Server. Because the host name and the port name cannot be entered through the command line, verify that WpsHostname, WpsHostPort, XmlAccessHost, and XmlAccessPort are set appropriately. Note that XmlAccessHost and XmlAccessPort are new parameters in WebSphere Portal V6 and do not therefore apply to WebSphere Portal V5.1. XmlAccessHost is set to localhost by default and does not have to be changed. For the WebSphere Portal V6 server, these parameters are set in wpconfig.properties in <portal_server_root>\config. For the WebSphere Portal V5.1 server, they are set in wpconfig.properties, which has already been collected by the Property Collector.
3.3.1 Extracting the data from the Property Collector output file
This WPmigrate task is run on the WebSphere Portal V6 server. It extracts the contents of the Collector output file transferred earlier into <portal_server_root>\migration\work\collector. The directories are created if they do not already exist. There are no additional considerations if you are using virtual portals. This task extracts data from the Collector output file. There is no interaction with either the WebSphere Portal V5.1 server or the WebSphere Portal V6 server.
Virtual portals
No actions are required for virtual portals at this time.
27
Validation
Successful completion is indicated by the following message: BUILD SUCCESSFUL You can also inspect the contents of <portal_server_root>\migration\work\collector to ensure that the contents are readable.
Troubleshooting
If you do not get a BUILD SUCCESSFUL message, examine the messages that are created and review <portal_server_root>\log\MigrationTrace.log to find out the cause.
Rerun
This can be rerun at any time. Note that it will overwrite its output files without warning.
This task runs xmlaccess against WebSphere Portal V5.1. Therefore, WebSphere Portal V5.1 must be running. There is no interaction with WebSphere Portal V6. Ensure HTTP connectivity from WebSphere Portal V6 to WebSphere Portal V5.1. Important: Check whether wmm.xml on the WebSphere Portal V5.1 server environment has the maximumSearchResults parameter set to a number that is greater than the number of portal users. Otherwise, the command will fail. Also ensure that searchTimeOut is set to a large number, for example, 20,000,000, in order to avoid user repository searches timing out.
28
Virtual portals
If you use virtual portals, enter the command shown in Example 3-1 for each virtual portal in turn, after the export of the default portal is completed.
Example 3-1 Command for virtual portals
<portal_server_root>\migration WPmigrate.bat export-portal-content -DPrevPortalAdminId=portaladminid -DPrevPortalAdminPwd=password -DVirtualPortal=URL context In this command, PrevPortalAdminId is a portaladminid for WebSphere Portal V5.1 PrevPortalAdminPwd is the password for this portaladminid Uniform Resource Locator (URL) context is the context extension for the virtual portal URL Important: The context extension is displayed in the column URL Context in the Virtual Portal Manager, as highlighted in Figure 3-1.
29
Validation
WPmigrate does not show a progress bar. To ensure that the task is running successfully, monitor the size of the log and the output files. On UNIX systems, use the tail command. You can also use your operating system (OS) tools to see what processes are running and the resources they are using. Successful completion is indicated by the following message: BUILD SUCCESSFUL. Tip: It is recommended that you browse allout.xml because this might indicate issues that must be addressed despite the BUILD SUCCESSFUL message. In our River Bend example, there were issues that had to be investigated.
Troubleshooting
If the export process does not report a BUILD SUCCESSFUL message, the following resources are available to diagnose the problem: Output from the command MigrationTrace.log testexport.xml allout.xml WebSphere Portal V5.1 logs The cause might be immediately obvious from the command output. If there are connectivity issues between the WebSphere Portal V6 server and the WebSphere Portal V5.1 server, you will see messages such as the ones displayed in Example 3-2.
Example 3-2 Output from WPmigrate, when unable to contact WebSphere Portal V5.1 server for export
[xmlaccess] EJPXB0009E: Could not connect to portal. [xmlaccess] java.net.ConnectException: Connection refused: connect [xmlaccess] EJPXB0016E: An error occurred on the client: Connection refused: connect BUILD FAILED file:C:/WebSphere/PortalServer/migration/components/wp.migration.core/mig_ant.xml: 161: EJPXB0016E: An error occurred on the client: Connection refused: connect If the answer is not immediately obvious from the command output, investigate further. The command output tells you where to look next. The entire command output is logged to MigrationTrace.log. You can thus check MigrationTrace.log if you have lost the command output. Example 3-3, which is a failed WPmigrate export-portal-content, shows that C:\WebSphere\PortalServer\migration\work\default\testexport.xml must be indicated. The Server response indicates an error message indicates that xmlaccess was able to contact the WebSphere Portal V5.1 server before something went wrong.
Example 3-3 WPmigrate export portal content failed
[xmlaccess] EJPXB0019E: Server ls of the XmlAccess error look default\testexport.xml. [xmlaccess] EJPXB0019E: Server ls of the XmlAccess error look default\testexport.xml.
response indicates an error. For status and detai at file C:\WebSphere\PortalServer\migration\work\ response indicates an error. For status and detai at file C:\WebSphere\PortalServer\migration\work\
30
BUILD FAILED file:C:/WebSphere/PortalServer/migration/components/wp.migration.core/mig_ant.xm l:161: EJPXB0019E: Server response indicates an error. For status and details of the XmlAccess error look at file C:\WebSphere\PortalServer\migration\work\defau lt\testexport.xml. Total time: 3 seconds In our example, we opened testexport.xml, as shown in Example 3-4.
Example 3-4 testexport.xml
<failure> com.ibm.wps.command.xml.XmlCommandServlet$AuthenticationException: EJPXA0005E: Authorization for user wpsadmin failed. </failure> In our case, the cause was an incorrect password. We retyped the command with the correct password and it ran to completion. As mentioned in Validation on page 25, it is common to see export portal content complete successfully, but issue warnings. In our example, on successful export, the output shown in Example 3-5 was displayed.
Example 3-5 Output from successful WPmigrate export portal content
[xmlaccess] EJPXB0022W: The request was processed successfully on the server, but warnings were enountered during processing. For details of the XmlAccess warnings look at file C:\WebSphere\PortalServer\migration\work\default\allout.xml. [xmlaccess] EJPXB0020I: The request was processed successfully on the server. BUILD SUCCESSFUL Total time: 41 seconds We checked C:\WebSphere\PortalServer\migration\work\default\allout.xml and searched for <status. We found the messages shown in Example 3-6.
Example 3-6 Messages from allout.xml for successful export portal content
<status element="[web-app _1_004CSO68OD0EIGCQ_6O uid=pzn.author.1001]" result="warning"> <message id="EJPXA0185W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0185W: The URL file://localhost/$server_root$/installableApps/pznauthorportlet.war does not point to a directory as required by predeployed portlets. You will need to adjust the URL. [web-app _1_004CSO68OD0EIGCQ_6O uid=pzn.author.1001]</message> </status> <status element="[web-app _1_004CSO68OD0EIGCQ_6P uid=pzn.ruleportlet.1001]" result="warning"> <message id="EJPXA0185W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0185W: The URL file://localhost/$server_root$/installableApps/pznruleportlet.war does not point to a directory as required by predeployed portlets. You will need to adjust the URL. [web-app _1_004CSO68OD0EIGCQ_6P uid=pzn.ruleportlet.1001]</message> </status> <status element="[web-app _1_004CSO68OD0EIGCQ_IP uid=com.ibm.wps.portlets.Calculator.Calculator]" result="warning">
31
<message id="EJPXA0186W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0186W: The URL file://localhost/$server_root$/installableApps/Calculator.war does not point to a file. You will need to adjust the URL. [web-app _1_004CSO68OD0EIGCQ_IP uid=com.ibm.wps.portlets.Calculator.Calculator]</message> </status>
These messages refer to missing WAR files. Xmlaccess expects that the WAR files for the exported portlets will exist in <portal_server_root>\installableApps on the server, identified by localhost, which is the WebSphere Portal V5.1 server at this point. The messages regarding pznauthorportlet.war and pznruleportlet.war messages are normal. These portlets are part of Personalization and are supplied in predeployed EARs rather than portlet WAR files in both WebSphere Portal V5.1 and V6. Because the migration process handles this automatically, these messages can be ignored. The message referring to Calculator.war is worth noting. In our example, we installed the Calculator portlet on WebSphere Portal V5.1 server from the portlet catalog. This was installed using the portal admin graphical user interface (GUI), which picked up the WAR file from the local hard drive of the workstation used for the installation. Therefore, there was no copy of the WAR file in the <portal_server_root>\installableApps directory on WebSphere Portal V5.1 server. This message does not indicate an error at this point. However, it serves as a reminder to ensure that the WAR file is made available on the WebSphere Portal V6 server before proceeding. Important: Any references to localhost in allout.xml refer to the WebSphere Portal V5.1 server, rather than the WebSphere Portal V6 server.
Tip: If you have to investigate allout.xml for purposes of troubleshooting, search for <status to quickly find the warning or error messages. If necessary, search for references to the message codes identified by message id in the Information Center for IBM WebSphere Portal for Multiplatforms Version 5.0.2, which is available on the Web at: http://publib.boulder.ibm.com/pvc/wp/502/ent/en/InfoCenter/index.html Tip: If the output file referenced in the command output does not provide enough information to resolve the cause of a failed export, it is worth checking the logs for the WebSphere Portal V5.1 server to see if they indicate any issues.
Rerun
This task can be rerun at any time. It will, however, overwrite its output files without warning. If this task has to be rerun, it must be run in its entirety. There is no facility to resume the export if it has failed midway.
32
Attention: The server process called by xmlaccess runs for a short time after an xmlaccess failure. If this process is still running when the export is rerun, you might see the the following message in testexport.xml: com.ibm.wps.command.CommandFailedException: EJPXA0166E: The XML Configuration Interface is currently busy with another request. Please try again later. If this happens, wait for a short period and then retry the command.
Tip: It is recommended that you make a copy of the output files before rerunning the import portal content task so that you can compare the outcome of the reruns.
Attention: The WPMigrate task is potentially very long running. The exact duration depends on your configuration.
33
The WPmigrate task uses the configuration values stored in wpconfig.properties on WebSphere Portal V6 server. This must be validated before progressing further. The WPmigrate task runs xmlaccess against WebSphere Portal V6 server. Therefore, WebSphere Portal V6 server must be running. There is no direct interaction with WebSphere Portal V5.1 server. If there are any shared resources, for example, the database server, there might be a performance impact on the WebSphere Portal V5.1 server environment because of a high level of activity on these resources caused by the import.
Important: You must specify the WasUserid and WasPassword in the wpconfig.properties file. They cannot be entered on the command line.
Virtual portals
After recreating the virtual portals in the WebSphere Portal V6 server, run the command shown in Example 3-7 for each one, restarting the WebSphere Portal V6 server after each import.
Example 3-7 Virtual portals command
<portal_server_root>\migration WPmigrate import-portal-content -DPortalAdminId=portaladminid -DPortalAdminPwd=password -DVirtualPortal=URL context In this command: PortalAdminId is a portaladminid from the WebSphere Portal V6 server PortalAdminPwd is the password for this portaladminid URL context is the context extension for the virtual portal URL Important: You must specify the WasUserid and WasPassword in the wpconfig.properties file. They cannot be entered on the command line.
Validation
WPmigrate does not show a progress bar. To ensure that the task is running successfully, monitor the size of the log and the output files. On UNIX systems, it is useful to use the tail command to monitor importAllResults.xml. You can also use your OS tools to see what processes are running and the resources they are using. Successful completion is indicated by the following message: BUILD SUCCESSFUL. 34
Tip: Browse importAllResults.xml even if you see the BUILD SUCCESSFUL message. There may still be issues that must be investigated before proceeding. Our results and the corresponding explanation are documented in Example 3-12.
Troubleshooting
If the import process does not display the BUILD SUCCESSFUL message, the following resources help diagnose the problem: Output from the command migrationTrace.log testimport.xml importAllResults.xml WebSphere Portal V6 logs The cause might be immediately obvious from the command output. If there are connectivity issues with the WebSphere Portal V6 server, for example, if it has not been started, messages such as the one shown in Example 3-8 are displayed.
Example 3-8 WPmigrate import portal content task output with the WebSphere Portal V6 server down
BUILD FAILED file:C:/WebSphere/PortalServer/migration/components/wp.migration.core/mig_ant.xml: 275: EJPXB0016E: An error occurred on the client: Connection refused: connect If you run WPmigrate import without making all the WAR files available in <portal_server_root>\installableApps, an output such as the one shown in Example 3-9 is displayed.
Example 3-9 WPmigrate output for missing WAR file
[warFileFilter] INFO: War files are missing from the <wp_root>/installableApps d irectory. Some portlet applications may not be deployed. [warFileFilter] C:\WebSphere\PortalServer\installableApps\Calculator.war not fou nd. BUILD FAILED file:C:/WebSphere/PortalServer/migration/components/wp.migration.core/mig_ant.xm l:524: Missing war files have been detected. Verify the missing war files have been copied to the <wp_root>/installableApps directory. Total time: 3 minutes 34 seconds If the answer is not immediately obvious from the command output, investigate further. The command output tells you where to look next. Because the entire command output is logged to MigrationTrace.log, check MigrationTrace.log if you have lost the command output. Example 3-10, which is a failed WPmigrate import portal content task, shows that C:\WebSphere\PortalServer\migration\work\default\testimport.xml must be indicated. The Server response indicates an error message indicates that xmlaccess was able to contact the WebSphere Portal V6 server before something went wrong.
Example 3-10 WPmigrate import portal content task failed
[xmlaccess] EJPXB0019E: Server response indicates an error. For status and detai ls of the XmlAccess error look at file C:\WebSphere\PortalServer\migration\work\ default\testimport.xml.
Chapter 3. Migration of core components
35
[xmlaccess] EJPXB0019E: Server response indicates an error. For status and detai ls of the XmlAccess error look at file C:\WebSphere\PortalServer\migration\work\ default\testimport.xml. BUILD FAILED file:C:/WebSphere/PortalServer/migration/components/wp.migration.core/mig_ant.xm l:275: EJPXB0019E: Server response indicates an error. For status and details of the XmlAccess error look at file C:\WebSphere\PortalServer\migration\work\defau lt\testimport.xml. Total time: 3 seconds In our example, we opened testimport.xml, as shown in Example 3-11.
Example 3-11 testimport.xml
<failure> com.ibm.wps.command.xml.XmlCommandServlet$AuthenticationException: EJPXA0011E: Authentication for user wpsadmin failed. </failure> In our case, the cause was an incorrect password. We retyped the command with the correct password, and it ran to completion. As mentioned in Validation on page 28, it is common to see the import portal content task complete successfully, but issue warnings. In our example, on successful import, the output shown in Example 3-12 was displayed.
Example 3-12 Output from successful import portal content task
[xmlaccess] EJPXB0022W: The request was processed successfully on the server, bu t warnings were enountered during processing. For details of the XmlAccess warni ngs look at file C:\WebSphere\PortalServer\migration\work\default\importAllResul ts.xml. [miglogger] Oct 24, 2006 8:33:11 PM com.ibm.wps.migration.framework.logging.Migr ationLogger execute [miglogger] INFO: EJPMA5200I: Successfully imported XmlAccess script, import res ult in file C:\WebSphere\PortalServer\migration/work/default/importAllResults.xm l. post-import: BUILD SUCCESSFUL Total time: 13 minutes 1 second We looked at importAllResults.xml, searched for the <status tag, and found the result shown in Example 3-13.
Example 3-13 Status from importAllResults.xml
<status element="[credential-segment _E_004CSO68OD0EIGCQ_35 name=DefaultUserSegment]" result="warning"> <message id="EJPXA0090W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0090W: It is not possible to modify credential-segment resources. Existing settings are left unchanged. [credential-segment _E_004CSO68OD0EIGCQ_35 name=DefaultUserSegment]</message>
36
</status> <status element="[credential-segment _E_004CSO68OD0EIGCQ_36 name=DefaultAdminSegment]" result="warning"> <message id="EJPXA0090W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0090W: It is not possible to modify credential-segment resources. Existing settings are left unchanged. [credential-segment _E_004CSO68OD0EIGCQ_36 name=DefaultAdminSegment]</message> </status> The messages pertaining to credential segments are normal. This is because the migration process cannot migrate the credential vault. Our River Bend example had a Web Clipping Portlet that accesses a Web site requiring authentication. This uses the credential vault. Action is required as described in 3.4.6, Migrating the credential vault on page 45. Tip: If you have to investigate importAllResults.xml for troubleshooting purposes, search for <status in order to quickly find the warning or error messages. If necessary, search for references to the message codes identified by message id in the Information Center for IBM WebSphere Portal for Multiplatforms Version 5.0.2, which is available on the Web at: http://publib.boulder.ibm.com/pvc/wp/502/ent/en/InfoCenter/index.html Tip: If the output file referenced in the command output does not provide enough information to resolve the cause of a failed export, it is worth checking the logs for the WebSphere Portal V6 server to see if they indicate any issues.
Rerun
This task can be rerun at any time, even if it has failed midway, for example, due to a time-out. However, it overwrites its output files without warning. The WebSphere Portal V6 server must be restarted before rerunning. Attention: The server process called by xmlaccess runs for a short time after an xmlaccess failure. If this process is still running when the import is rerun, you might see the following message in testimport.xml: com.ibm.wps.command.CommandFailedException: EJPXA0166E: The XML Configuration Interface is currently busy with another request. Please try again later. If this happens, wait a while and try again.
Tip: Take a copy of the output files before rerunning the import portal content task so that you can compare the outcome of any reruns.
37
Important: If you decide to rerun the import for a virtual portal, you do not have to delete and recreate the virtual portal first. If you delete and recreate the virtual portal, you might face problems if delayed cleanup is enabled (as it is by default). In our case, we saw the import fail under these conditions with the following message: com.ibm.websphere.ce.cm.DuplicateKeyException: The statement was aborted because it would have caused a duplicate key value in a unique or primary key constraint defined on 'PAGE_INST(OID). We resolved this by forcing an immediate run of the cleanup service through xmlaccess as discussed in Forcing immediate clean-up with xmlaccess on page 107.
38
In our case, when we started our migrated River Bend portal server for the first time and accessed http://m51g.cam.itso.ibm.com:10038/wps/portal from a browser, we saw the default WebSphere Portal V6 server welcome (Figure 3-2) page instead of the expected River Bend welcome page.
We addressed this by adjusting the page hierarchy from Portal User Interface Manage Pages. We clicked Content Root and saw the page hierarchy, as displayed in Figure 3-3. We clicked the Up Arrow button next to My Portal.
39
This moved My Portal to the top of the list, as shown in Figure 3-4.
When we pointed our browser to http://m51g.cam.itso.ibm.com:10038/wps/portal after making this change, we saw the River Bend welcome page (Figure 3-5).
40
41
In WebSphere Portal V5.1 server, the portlet locates its search index through the configuration parameter called IndexName, as shown in Figure 3-7.
42
In WebSphere Portal V6, this is now called CollectionLocation. To fix this, we reconfigured the Search and Browse Portlet in question. Note that the IndexName parameter in Figure 3-8 has been preserved by the migration process, but is not used. The required parameter (CollectionLocation) is not listed on any page.
Important: The problem is that the new parameter (CollectionLocation) is missing. If you have put your search collection in a location that is different from your WebSphere Portal V5.1 server and updated IndexName to match this new location, this issue continues to occur.
43
In our case, we added the missing parameter by typing CollectionLocation in the New Parameter box and the name of the directory that houses the collection (in our case, c:\collections\itsoco) in the New Value box, as shown in Figure 3-9, and clicked Add, and then OK. We then restarted the portal server. It is recommended that you delete the redundant IndexName parameter at this point.
Attention: There is no requirement to change the location directory between versions. This is just an example. The fix is required even if you do not change the location.
Important: You must log out and log back in to pick up this change.
44
However, any secret information they contained is not migrated, as can be seen from our example, which is shown in Figure 3-11.
The secret information can be migrated using your database tools or some new functionality in xmlaccess that is introduced by PK28148, which must be installed on the WebSphere Portal V5.1 server and the WebSphere Portal V6 server. Both the methods are documented in the WebSphere Portal V6 Information Center under the topic Migrating credential vault data: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wpf/sec_mig_roles.html Using the new xmlaccess functionality is recommended.
45
Tip: In our test of PK28148, the following message was displayed, although the import was successful: "EJPXA0090W">com.ibm.wps.command.xml.XmlCommandException: EJPXA0090W: It is not possible to modify credential-segment resources. Existing settings are left unchanged. [credential-segment _E_004CSO68OD0EIGCQ_35 name=DefaultUserSegment in <portal_server_root>\bin\resultsCVresults.xml. At the time of writing this IBM Redpaper, this was being addressed by Development. Depending on the version of the previous system, some secrets and shared credential slots that are obsolete in the current version are migrated. These slots must be removed using the Credential Vault administrative portlet under Administration Access Credential Vault. Select Manage system vault slots and delete the following slots, if applicable: deployment.user wmm.system.id.user deployment.truststore deployment.keystore
46
If, for example, the Web site being clipped uses JavaScript, you might see a warning message, as shown in Figure 3-12. This issue will also be observed on the WebSphere Portal V5.1 server if the most recent Web Clipping portlet is installed there.
To address this, in our example, we edited the Web Clipping Portlet, as shown in Figure 3-13.
.
We then selected the Advanced Options, followed by the Modify Security Options. We selected the box against Remove JavaScript from clipped content, as shown in Figure 3-14, and clicked OK.
47
We then clicked Next, and then Finish. The message was no longer displayed, as shown in Figure 3-15.
The clipper for the itsoco Web site showed different issues after migration. Immediately after the migration, the portlet displayed nothing, as shown in Figure 3-16.
Clicking on Edit showed the cause to be missing credential vault data, as shown in Figure 3-17. This is because the Web Clipper uses the credential vault to store authentication data. The credential vault secret does not migrate automatically. Refer to 3.4.6, Migrating the credential vault on page 45 for instructions about how to correct this.
Figure 3-17 itsoco clipper with the missing credential vault data
48
49
Attention: Some WebSphere Portal server features make use of pop-ups. Therefore, do not block pop-ups during testing. The IBM WebSphere Portal Version 6.0 Information Center provides some general advice for migration verifcation: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wpf/mig_verify.html The IBM WebSphere Portal Version 6.0 Information Center also provides some migration troubleshooting tips: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wpf/mig_tbl.html
50
Chapter 4.
Migrate PDM?
YES
NO
Migrate PZN?
YES
NO
End of Chapter 4
Figure 4-1 Document Manager and Personalization migration overview Copyright IBM Corp. 2007. All rights reserved.
51
Document Manager migration and Personalization migration involve the flow shown in Figure 4-2. Each migration involves the same sequence of tasks (export transform import). However, the commands for the migration tasks are slightly different between Document Manager and Personalization. Following is the sequence of the tasks: 1. 2. 3. 4. 5. 6. Performing the premigration tasks Running the export task Copying the exported files to the V6 server Running the transform task Running the import task Performing validation
Migration Start
Prepare
Premigration tasks
Export
Copy
Transform
Import
Validate
Validate migration
Migration End
Although the process is independent of database and security configuration, it is required to use the same brand of software for the operating system (OS), database, and user repository, as described in 1.4.1, WebSphere Portal V6 environment on page 6.
At a glance
Following are the prerequisite conditions for this chapter: Installing the necessary fixes, including PK18903, PK30219, and PK30439 described in 1.5, Migration checklist on page 12 Completing all the steps described in Chapter 3, Migration of core components on page 23
52
Following is a list of the topics described in this chapter: 4.1, The Document Transfer Tool on page 54 4.2, Migrating the Document Manager documents on page 57 4.4, Migrating Personalization data on page 67
Prerequisite conditions
PK18903 includes the Document Transfer Tool (DTT), which must be installed through the WebSphere Application Server Admin Console. PK30219 (on the WebSphere Portal V5.1 server) and PK30439 (on WebSphere Portal V6 server) are fixes to deal with long user Distinguished Names (DN) in the Document Manager and Personalization property files. Without applying these fixes, migration for Document Manager and Personalization fails with an IllegalArgumentException. Important: At the time of writing this IBM Redpaper, we discovered that if the Workplace Web Content Management fix PK30516 is required, PK30439 must be installed afterwards. Ensure that you have completed the steps described in Chapter 3, Migration of core components on page 23 before continuing with the Document Manager migration process. Migrating the Document Manager data without performing this task is not supported.
53
54
4. In the Step 3: Map modules to application servers window (Figure 4-4) select WebSphere_Portal as the module for the installation and check jcrpublishwar as the module to be installed, and click Apply. Click Next two times, leaving the default values intact, to go to the Step 5: Summary window.
5. In the Step 5: Summary window (Figure 4-5), click Finish to complete the task.
6. In the page that opens, click the hyperlink Save to Master Configuration (the third line from the bottom), and then click the hyperlink Save in the Messages window to apply the changes to the master configuration.
55
7. Restart WebSphere_Portal. You must now restart the WebSphere Portal V5.1 server. You may want to do this by issuing the following command in your command-line interface (assuming yours is a Windows environment): cd <portal_server_root>\config WPSconfig.bat stop-portal-server start-portal-server
56
2. Now check WebSphere_Portal SystemOut.log located in <portal_server_root>\log (Figure 4-7). Look for icmjcrear. It must tell you that the application is started.
57
58
Click the Assign Access icon of ICM_CONTENT_REPOSITORY. Check the access control for each role (Figure 4-8).
Figure 4-8 Document Manager global access in WebSphere Portal V5.1 server
2. Use the checklist shown in Table 4-2 to set the same access control on WebSphere Portal V6 server.
Table 4-2 Checklist for Document Manager global access Role Administrator Security Administrator Delegator Manager Editor Privileged User User Propagation On On Inheritance On On Groups/Users wpsContentAdministrators wpsadmins
59
3. Check and set all the access control list (ACLs) for each role. They must be the same as the ones on your WebSphere Portal V5.1 server that you checked, as described in Checking the WebSphere Portal V5.1 server environment on page 58.
MigDirTarget
SourceServerPort
TargetServerPort
DocLib
60
Description Set this value to the V5.1 portal administrator user ID that you specified as PortalAdminId in wpconfig.properties. This must be a fully qualified DN. Set this value to the V5.1 portal administrator password. Set this value to the V6 portal administrator user ID that you specified as PortalAdminiId in wpconfig.properties. Short name can be used even if LDAP security is enabled. Set this value to the V6 portal administrator password. Change to true to migrate the workflow information, including submitted drafts. Change to true to migrate the document versions.
Important: The best practice is to use fully qualified host names, / instead of \, and include the entire path in properties. Also, do not forget to take a backup of the original file.
Important: ExportUserId in the properties file must be in full DN format unless the short name is unique. ImportUserId can also be short name.
Tip: For clarity, change the file names to include the reference to the system they are on.
61
Important: As described in the WebSphere Portal Information Center, you can share the MigDirSource directory with the V6 server (sharing can be implemented with net use or Network File System (NFS) mount, and so on) as the MigDirSourceShared directory. However, it is recommended that you create another directory on the V6 server because file sharing is not allowed in many production environments. This IBM Redpaper assumes that file sharing will not be used. The IBM WebSphere Portal Version 6.0 Information Center is available on the Web at: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp .ent.doc/wpf/mig_tbl.html
Tip: Type WPmigrate.bat (or .sh for UNIX) on its own in order to list the available commands.
62
Validation
The WPmigrate command must report a BUILD SUCCESSFUL message (Figure 4-11). Check the MigrationTrace.log file located in the <portal_server_root>\log directory carefully to confirm.
Figure 4-11 Export task for Document Manager: BUILD SUCCESSFUL message
The export task creates files under the MigDirSource directory that you specified as per the directions provided in 4.3.1, Modifying the Document Manager properties on page 60. You can find the rootworkspace directory (and more, depending on your environment) there, and you can see that there are subdirectories whose names are associated with your Document Manager documents (Figure 4-12).
Figure 4-12 Export task for Document Manager: Successful creation of files
Troubleshooting
If the WPmigrate command does not run successfully, check the output from the command, which is located in <portal_server_root>\log\MigrationTrace.log, and eliminate the issues. Run the WPmigrate command again. You can also check the WebSphere Portal V5.1 server logs.
Rerun
This task requires you to clean up the MigDirSource directory before you rerun this task. If you forget to clean up the directory, you receive a BUILD FAILED message with Error 500: Please make sure that the export directory is empty and restart export.
63
Figure 4-13 Copying all the directories from V5.1 to V6 for Document Manager
Validation
After copying all the directories under the MigDirSource directory, validate a couple of files in the MigDirSourceShared directory by opening in a text reader.
64
Validation
The WPmigrate command must display a BUILD SUCCESSFUL message (Figure 4-15).
Figure 4-15 Transform task for Document Manager: BUILD SUCCESSFUL message
Important: Even if the source is wrong, the task will run to completion and report the BUILD SUCCESSFUL message. Also check that the files have been successfully written to the MigDirTarget directory that you specified, as described in 4.3.1, Modifying the Document Manager properties on page 60. You can find the rootworkspace directory there (Figure 4-16).
65
Troubleshooting
If the WPmigrate command does not run successfully, check the output of the command, which can be found in portal_server_root>\log\MigrationTrace.log, eliminate the issues, and run the WPmigrate command again. You can also check the WebSphere Portal V6 server logs.
Validation
The WPmigrate command must report a BUILD SUCCESSFUL message (Figure 4-18).
Figure 4-18 Import task for Document Manager: BUILD SUCCESSFUL message
Troubleshooting
If the WPmigrate command does not run successfully, check the output from the command, which is located in <portal_server_root>\log\MigrationTrace.log, eliminate the issues, and run the WPmigrate command again. You can also check the WebSphere Portal V6 server logs.
66
67
Restriction: Rules from earlier versions that made use of the site area property in Workplace Web Content Management must be manually updated after Workplace Web Content Management migration. Refer to the Web content resource collection topic in the IBM WebSphere Portal Version 6.0 Information Center for more information: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp .ent.doc/wpf/mig_tbl.html
68
TargetRepository UserId
IncludeVersion
Important: SourceRepositoryUserId in the properties file must be in fully qualified DN format. This is required because V5.1 cannot use short name. TargetRepositotyUserId can be a short name. Use the Portal admin user, which is specified as PortalAdminId in the wpconfig.properties file.
Chapter 4. Migration of Document Manager and Personalization
69
70
Validation
The WPmigrate command must report a BUILD SUCCESSFUL message (Figure 4-20). Also check MigrationTrace.log located in <portal_server_root>\log carefully to ensure the same.
71
The export task creates files under the SourceExportData directory that you specified according to the information provided in Table 4-5. You can find the rootworkspace directory there, and see that there are files whose names are associated with your Personalization data (Figure 4-21).
Troubleshooting
If the WPmigrate command does not run successfully, check the output from the command, which is located in <portal_server_root>\log\MigrationTrace.log, eliminate the issues, and run the WPmigrate command again. You can also check the WebSphere Portal V5.1 server logs.
Rerun
Clean up the SourceExportData directory before you rerun this task. If you forget to clean up the directory, you receive a BUILD FAILED message with Error 500: Please make sure that the export directory is empty and restart export.
72
Copying files
There are several ways in which to copy these files from WebSphere Portal V5.1 server to WebSphere Portal V6 server. Select the most convenient method that allows you to complete this task (Figure 4-22).
Validation
After copying all the files under the rootworkspace directory, validate a few files by opening them in a text reader.
73
Note: The commands for Personalization are slightly different from the commands for Document Manager. The Personalization commands have a -51x suffix.
Validation
The WPmigrate command must report a BUILD SUCCESSFUL message (Figure 4-24).
Important: Even if the source is wrong, the task runs to completion and report a BUILD SUCCESSFUL message. Also check whether the files have been successfully written to the TempData directory, which you specified, as described in Creating directories for Personalization migration on page 70. You can find the rootworkspace directory there (Figure 4-25).
74
4.4.8 Troubleshooting
If the WPmigrate command does not run successfully, check the output from the command, which is located in <portal_server_root>\log\MigrationTrace.log, eliminate the issues, and run the WPmigrate command again.
Validation
The WPmigrate command must report a BUILD SUCCESSFUL message (Figure 4-27).
75
Troubleshooting
If the WPmigrate command does not run successfully, check the output from the command, which is located in <portal_server_root>\log\MigrationTrace.log, and eliminate the issues. You can also check the WebSphere Portal V6 server logs.
4.5.1 Removing passwords from the Document Manager and Personalization property files
The Document Manager and Personalization property files include the portal administrators passwords for both the WebSphere Portal servers. It is recommended that you remove these passwords.
76
Chapter 5.
Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
This chapter provides the best practices for migrating your IBM Workplace Web Content Management data from WebSphere Portal V5.1 to WebSphere Portal V6. This chapter explains the steps and provides validations along the way to help you complete a primary system Workplace Web Content Management migration. Important: If you have a decentralized authoring system, aggregate all the current data into a single server, using syndication, and then migrate your Web Content Management data. Refer to the IBM WebSphere Portal Version 6.0 Information Center for details: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/topic/com.ibm.wp.ent.doc/wp f/mig_wcm.html This chapter describes the Workplace Web Content Management migration process through the following topics: 5.1, Migration considerations on page 78 5.2, Workplace Web Content Management migration on page 79 5.3, Premigration tasks on page 80 5.3.3, Installing the Workplace Web Content Management migration tool on page 88 5.3.5, Migrating the Workplace Web Content Management user data on page 95 5.3.6, Migrating the Workplace Web Content Management rendering portlets on page 97 5.3.7, Postmigration tasks on page 100
77
78
# jdbc persistency settings # the url to the database (i.e. jdbc:db2:ILWWCM) jdbc.url=jdbc:db2j:D:/WEBSPH~1.5/PORTAL~1/wcm/ilwwcm/db/WCMDB # the name of the user to connect to the database with jdbc.username=APP # the password of the user to connect to the database with jdbc.password=ReplaceWithYourDbAdminPwd # the database table which will be created to manage objects (optional). # if this parameter is not included, then the table name will default to "AJPE". jdbc.table=AJPE # the database table which will be created to manage resources (optional). # if this parameter is not included, then the table name will default to "AJPE_RESOURCES". jdbc.resources.table=AJPE_RESOURCES # the database schema under which the table will be created (optional). # if this is not specified, then this will default to the jdbc.username # parameter. #jdbc.tableSchema=[JDBC_SCHEMA] # The number of items to read ahead when reading all items for index recreation. # The default if not specified is 30. jdbc.readAhead=50 # the maximum size of a resource in MB that can be stored within the jdbc database (optional). # if this parameter is not included, then the maxSize will default to 16 MB jdbc.resources.maxSize=10 jdbc.dbms.name=Cloudscape jdbc.managerStrategy=com.aptrix.pluto.util.CloudscapeManagerStrategy
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
79
jdbc.byteContentManagerStrategy=com.aptrix.pluto.util.CloudscapeByteContentManager Strategy 2. After it has the connection information specified from the properties files, the exporter uses <portal_server_root>/migration/exporter/classpath.properties to find the JARs required by the connection information specified. If the migrator can connect, the data is exported to the path specified by the export.path property in migration.properties. 3. After the data is exported, transform the data into the new format. With JCR, some of the data structures have been replaced with standard JCR data structures. In other cases, some of the data structures have been split into multiple JCR data structures. Therefore, the number of items transformed might not match the number of items exported. The transform data action traverses through the export.path and transforms the necessary content, and places the transformed files into import.path. 4. After the content is transformed, it is ready to be imported into the JCR. This step takes the longest amount of time because of the work involved. The import requires the Workplace Web Content Management import servlet to import the content into the system. The Uniform Resource Locator (URL) to the import servlet is specified by the import.servlet.url property. The content is imported into a new library. This library is specified by the import.library.name property in migration.properties. 5. After the content is imported, it is necessary to configure the Authoring user interface (UI) to point to this library to view the content. There have been numerous enhancements to the Authoring UI, and therefore, the Authoring UI is not migrated. Instead, the new Authoring UI is configured to view the migrated content. 6. After the data is migrated, the viewing portlets must be configured to reference the updated portlets. There are several files that are used internally by the migration process to map old IDs to new IDs. These mapping files are used to reconfigure the viewing portlets to point to the new IDs of the Workplace Web Content Management assets. Two tasks exist for this step, configure-local and configure-remote. Both the tasks utilize XMLAccess to export the portlet configurations, and then replace the configurations to point to the migrated content, and finally use XMLAccess to import the portlet configurations.
80
It is recommended that you take the following points into consideration: Understand that moving large amounts of data will take a long time. Ensure that you perform this task at a time that does not conflict with peak usage. Any password-protected file that is within the Web Content Manager must be removed before migration Any Personalization data that does not have a rule or content spot must be removed Install all the required fixes before migration. Not all the migration fixes listed in the following Web site are required (some depend on what additional components you are expecting to migrate): http://www.ibm.com/support/docview.wss?rs=688&uid=swg24013927 The fixes for Workplace Web Content Management are PK34286, PK30057, and PK30516.
5.3.1 Copying folders from WebSphere Portal V5.1 server to WebSphere Portal V6 server
In order to begin the Workplace Web Content Management migration, you must copy the config directory from the WebSphere Portal V5.1 server to a newly created temporary migration folder on WebSphere Portal V6 server. In our case, for the River Bend migration, we created a Web Content Management directory for good housekeeping: <portal_server_root>/migration/wcm Note: Copy the wcm db to the WebSphere Portal V6 server only when using Cloudscape for WCMDB.
Tip: Make sure that WebSphere Portal server has stopped, in order to prevent locked files when copying the Cloudscape database to the WebSphere Portal V6 server. If your Web Content Management migration is using the Cloudscape database, you must first copy two folders, config and ilwwcm, from your WebSphere Portal V5.1 server to WebSphere Portal V6 server. These folders are located in <portal_server_root>\wcm\ and will go into a newly created temporary directory called wcm under the migration directory of your WebSphere Portal V6 server.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
81
Perform the following tasks: 1. Create a directory under <portal_server_root>\migration\ called wcm (Figure 5-1).
82
2. Copy the config and ilwwcm folders to the newly created directory (Figure 5-2). Note: Skip the copy ilwwcm step if you are not using Cloudscape for your Workplace Web Content Management database.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
83
Copy only ilwwcm if you are using out-of-the-box Cloudscape WCMDB. Figure 5-3 shows copying the WCMDB if you are using the Cloudscape database.
Figure 5-3 Copy WCMDB if you are using the Cloudscape database
84
(If you are using DB2 jdbc drivers, add the following string to the end of classpath=) exporter/lib/db2cc.jar:exporter/lib/<license that in is in the <runtime Server>SQLLIB\java> Here are the possible licenses that you will might find in that directory db2jcc_license_cu.jar or db2jcc_license_cisuz.jar
(If you are using Oracle jdbc drivers, add the following string to the end of classpath=) exporter/lib/classes12.jar
(If you are using SQL jdbc drivers, add the following string to the end of classpath=) exporter/lib/mssqlserver.jar:exporter/lib/msbase.jar:exporter/lib/msutil.jar You must then configure aptrixjpe.properties and connect.cfg to the current migrated environment. In both the properties files, ensure that the JDBC driver equals the data repository version that you are using, and that it points to the wcmdb on the old system. This file must be updated only in two situations: The Workplace Web Content Management repository is a local Cloudscape DB, and therefore, paths to the local Cloudscape DB must be updated. Use Type 4 drivers when the DB2 database has not been cataloged locally. If you are using DB2, configure aptrixjpe.properties and connect.cfg to the current migrated environment as follows: aptrixjpe.properties Ensure that jdbc.url=jdbc:db2://<db2 host name>:<port number>/wcmdb is configured to point to the database of the old system and that there are no spaces before or after the URL. connect.cfg Ensure that <jdbc:db2://<db2 host name>:<port number>/wcmdb driver="com.ibm.db2.jcc.DB2Driver /> is configured to point to the database of the old system and that there are no spaces before or after the URL. Also ensure that the driver= <jdbc driver of your RDBMS> is using the correct one and not the default Cloudscape driver (com.ibm.db2.jcc.DB2Driver). Note: The port number for DB2 on your new system can be found under %systemroot%/system32/drivers/etc/services on Windows systems and /etc/services on UNIX systems. If you are using the out-of-the-box Cloudscape Web Content Management database, make sure that you are pointing to the database on the new system that you copied from the old system.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
85
You must update the migration.properties file that is located in the portal_server_root/wcm/migration/config directory on WebSphere Portal V6 server before running the Workplace Web Content Management migration commands. In the file, it is necessary to confirm that the parameters are set and modified, based on Table 5-1. Following is what you should look for in the properties file to update it for migration: <name>.path = C:/Websphere/PortalServer/migration/wcm/<name> Tip: Use forward slash in path names. Both Windows and UNIX can handle forward slashes.
Table 5-1 Explanation of the migration.properties file migration.properties file export.path import.path summary.path Explanation The path on the local file system where exported data is saved The directory on the local file system where transformed data is saved The path on the local file system where summary configuration files will be created. These files will be used when migrating a secondary system. The path on the local file system where the old Web Content Management configuration is located The URL of the import servlet running on the new system. Replace local host with the appropriate host name for the new system. The name of the library created during import
legacy.config.path
import.servlet.url
import.library.name
Finally, increase the total transaction lifetime timeout of your new WebSphere Portal server to at least 480 seconds through the WebSphere Application Server administrative console. Navigate to Application Servers Server Container Services Transaction Service. Make a note of the current total transaction lifetime timeout so that it can be restored after you have completed the migration. For more information, refer to the topic Migrating User Profiles in the IBM WebSphere Portal Version 6.0 Information Center: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wcm/wcm_migration_users.html
Restart the Portal Application Server before you begin the wcmmigrate tasks.
Important: The WebSphere Portal server must be running on WebSphere Portal V6 before you begin the wcmmigrate tasks.
86
Tip: When writing this IBM Redpaper, testing the DB2 Workplace Web Content Management took about 10 times less time to complete all the wcmmigrate commands. Transferring the Workplace Web Content Management DB from Cloudscape to a RDBMS before performing the migration has the potential to significantly reduce the time taken for the migration. Each environment must coordinate with its Web Content Management authoring team to spot check whether the Web Content Management functions are still available after the initial migration (before you fix the environment).
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
87
Validation
Access the WebSphere Portal on the V6 server and check whether the application has been installed properly, by starting without error in the portal_server_root/log/SystemOut.log file and searching for the words ilwwcm-wcmimport Figure 5-6. Figure 5-6 displays the following information, indicating that the tool is successfully installed: Application started: ilwwcm-wcmimport
Figure 5-6 Successful installation of the Web Content Management migration tool
88
If you have issues with this command, review the trace0.log file located in the portal_server_root/logs directory. Figure 5-8 shows an example of an error that occurs when you have problems with your property files.
To resolve this issue, review your property files for mistyping or misconfigurations. Table 5-3 provides you with possible resolutions to the issues shown in Figure 5-8 or if you encounter issues when running other wcmmigrate commands.
estimate-data
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
89
What it accomplishes Exports items from the old system Transforms exported items so that they are ready to be imported into the new system Imports the transformed items. This requires a user name and a password. a
a. This command can take a long time, depending on how much data you are importing.
Fails on Export
Fails on Transform
Fails on Import
Fails on Configure-local
90
Possible cause Ensure that the WebSphere Portal V6 server is running Ensure that the summary.path is correct and has been copied from the Web Content Management V6 server Ensure that the <WebSphere Portal Server>/wcm/migration/remote_rendering.pr operties has been updated with the correct values. Using fully qualified host names is recommended.
In the portal_server_root/wcm/migration directory, issue the following command to restart or resume the tasks that were running: wcmmigrate -user <username> -password <userPassword> <command> -restart Issue the following command to resume the tasks if the tasks timed out or the networks failed: wcmmigrate -user <username> -password <userPassword> <command> -resume Figure 5-9 shows the resume or restart command.
Note: As you learned in 5.1, Migration considerations on page 78, these numbers will not match the numbers reported on import.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
91
3. Run the following import command: wcmmigrate import-data Notes: This step is the one that takes the longest amount of time, and must be completed successfully. It takes many hours, possibly days to complete. It is very resource intensive and long-running. Because this task runs against a URL, watch out for timeouts. When running this command, consider the volume of data and the space that you currently have on the system that you are migrating.
92
Click here
3. Select Web Content Management and click Continue to launch the Library page (Figure 5-12).
Click the WCM tab Click here to launch the Library Figure 5-12 Launching the Library section
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
93
4. In the Library page, add a library by selecting the relevant library and clicking Add. To remove a library, select the corresponding library and click Remove (Figure 5-13). Click OK after completing the task.
5.3.4 Installing the authoring portlet to the Web Content Management page
One of the components that does not migrate to the WebSphere Portal V6 server is the Authoring Portlet. In order to administer authoring that was on the page in WebSphere Portal V5.1 server, add the new Workplace Web Content Management Authoring Portlet to the page. Perform the following tasks to add the new portlet: 1. Go to the Portal administration section and select Manage Pages. 2. Navigate to Select Page Content Root My Portal Name of page Web Content Management. 3. When you are there, click the pencil icon. 4. Click Add Portlet.
94
5. In the page that opens (Figure 5-14), search for Web Content Authoring. In the list that is displayed, select Web Content Authoring and click OK to add the portlet to the page.
6. Work through the content in the Authoring Portlet to make sure that everything is there. 7. Preview the content, especially with regard to Personalization and Document Manager. 8. Validate the security, the templates, the workflow, and so on.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
95
96
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
97
After you have answered these questions, you are ready to configure the remote rendering portlets: 1. Edit portal_server_root/wcm/migration/config/remote_rendering.properties. 2. If you have multiple Workplace Web Content Management Rendering Servers, change the remote.host.base.path.list value from all to the values of the previous hosts that you want to configure with the new Workplace Web Content Management Rendering Server host. 3. Uncomment the WCM_REMOTE_HOST_BASE_PATH and put in the correct value to the new Workplace Web Content Management Rendering Server. 4. Copy the summary data from the Workplace Web Content Management Rendering Server to the Portal server. 5. Update portal_server_root/wcm/migration/config/migration.properties by changing the property, summary.path, to point to that directory. 6. Run the following command: wcmmigrate configure-remote
98
Example: Consider an environment where you have two Workplace Web Content Management Rendering Servers that must be migrated. The URLs for the old Workplace Web Content Management Rendering Servers are http://old_wcm_1 and http://old_wcm_2. The URLs to the new Workplace Web Content Management Rendering Servers are http://new_wcm_1 and http://new_wcm_2. To migrate the remote rendering portlets that point to http://old_wcm_1 to point to http://new_wcm_1: 1. Edit the value of remote.host.base.path.list to http://old_wcm_1 in portal_server_root/wcm/migration/config/remote_rendering.properties. 2. Edit the value of WCM_REMOTE_HOST_BASE_PATH to http://new_wcm_1 in portal_server_root/wcm/migration/config/remote_rendering.properties. 3. Copy the summary data from the new_wcm_1 server to a directory on the Portal server. 4. Edit the portal_server_root/wcm/migration/config/migration.properties and change the summary.path point to the data copied in step 3. 5. Run the following command: wcmmigrate configure-remote Repeat the same process to migrate the remote rendering portlets that were configured for http://old_wcm_2 to point to http://new_wcm_2. If you want to migrate both the remote rendering portlets that were configured for http://old_wcm_1 and http://old_wcm_2 to point to http://new_wcm_1, perform the following tasks: 1. Edit the value of remote.host.base.path.list to http://old_wcm_1,http://old_wcm_2 in portal_server_root/wcm/migration/config/remote_rendering.properties. 2. Edit the value of WCM_REMOTE_HOST_BASE_PATH to http://new_wcm_1 in portal_server_root/wcm/migration/config/remote_rendering.properties. 3. Copy the summary data from the new_wcm_1 server to a directory on the Portal server. 4. Edit the portal_server_root/wcm/migration/config/migration.properties and change the summary.path point to the data copied in step 3. 5. Run the following command: wcmmigrate configure-remote 7. The last step is to perform a full function check on WebSphere Portal V6 server before notifying your users. Important: The numbers reported will be wrong, possibly 0. This is because it actually runs XML access. As you learned in 5.1, Migration considerations on page 78, these numbers will not match the numbers reported on import.
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
99
100
The Link component allows the content creator to manage links as a Workplace Web Content Management asset. These links can be reused in content or presentations. The link component provides a more structured component to link to both internal Workplace Web Content Management assets and external URLs. The Stylesheet component allows the content contributor to manage the stylesheet as a separate reusable asset. It provides for cascading stylesheets and other typical features of stylesheets such as media-type definition. Referential integrity is a nice addition to Web Content Management. It allows users to view content being referenced from other content. It also provides the user with a choice when deleting a content item that is referenced by another content item. This is a big change from earlier releases, where deleting a reference content item left broken links. There are many more enhancements to Web Content Management, including better Personalization and Document Manager integration, improved rendering performance, clustering and failover, and so on. For more recommendations about updating the old Web Content to take advantage of the new Workplace Web Content Management features, refer to the IBM WebSphere Portal Version 6.0 Information Center to utilize the new features of Workplace Web Content Management: http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm.wp.en t.doc/wcm/wcm_migration_post.html
Chapter 5. Migration from WebSphere Portal V5.1 for deployments with Workplace Web Content Management
101
To copy the summary data, use the following procedure: 1. Open migration.properties on the primary system, and find the summary.path property. 2. Copy the data in the directory referred to by the summary.path property from the primary machine to the local (secondary) machine. 3. Open migration.properties on the local machine, and edit the summary.path property to refer to the copied summary data. Web Content Management rendering portlets must be reconfigured. Perform this task by using the wcmmigrate configure-local and configure-remote commands, as long as the summary data is available. In the River Bend example, the commands behaved as described in 5.3.6, Migrating the Workplace Web Content Management rendering portlets on page 97. The alternative to using the wcmmigrate commands is to reconfigure the rendering portlets manually.
102
Appendix A.
103
Sametime Portlet Sametime Launch Portlet Quick E-mail Click-to-Action (C2A) Samples Tourist Application (Sample portlet) Quick Appointment Syndicated Content (WPCP) C2AStrutsExample application Financial Time Portlet
104
<portal_server_root>\bin>xmlaccess -in ..\doc\xml-samples\Export.xml -user wpsadmin -pwd wpsadmin -url http://m51e.cam.itso.ibm.com:9081/wps/config -out exportAllResults.xml 2. Back up the exportAllResults.xml. This backup can be used later to return the portal to its original configuration. 3. Using a text editor, find where the Privileged User is set for access to portal artifacts, as shown in Example A-2.
Example: A-2 Finding where the Privileged User is set for access to portal artifacts
**They presumably will need user access added, unless all authenticated is used** <access-control externalized="false" owner="undefined" private="false"> <role actionset="Privileged User" update="set"> <mapping subjectid="uid=davidbrent,cn=users,ou=global,dc=riverbend,dc=com" subjecttype="user" update="set"/> </role> </access-control> 4. Change the update parameter on the actionset and the mapping tags, as shown in Example A-3.
Example: A-3 Changing the update parameter on the actionset and the mapping tags
<access-control externalized="false" owner="undefined" private="false"> <role actionset="Privileged User" update="remove"> <mapping subjectid="uid=dominic,cn=users,ou=global,dc=riverbend,dc=com" subjecttype="user" update="remove"/> </role> </access-control>
105
5. Depending on your environment, you may want to repeat this process for other types of user access that may allow customized pages. In our example, we worked on the basis that it is safe to leave the additional access controls as they are, as shown in Example A-4.
Example: A-4 Leaving the additional access controls as they are in the River Bend example
actionset="Privileged User" update="set"> actionset="Administrator" update="set"> actionset="Manager" update="set"> actionset="Editor" update="set"> actionset="Delegator" update="set"> actionset="Security Administrator" update="set">
6. Save this modified file with a new name, for instance, privUsersRemoved.xml, and import it back into the portal, as shown in Example A-5.
Example: A-5 Saving the modified file with a new name and importing it back into the portal
<portal_server_root>/bin xmlaccess.bat -user wpsadmin -pwd wpsadmin -url http://m51e.cam.itso.ibm.com:9081/wps/config -in privUsersRemoved.xml -out resultsOfPrivUserRemoval.xml 7. To return the WebSphere Portal server to its original configuration, run the backed up export file, as shown in Example A-6.
Example: A-6 Running the backed up export file
<portal_server_root>/bin xmlaccess.bat -user wpsadmin -pwd wpsadmin -url http://m51e.cam.itso.ibm.com:9081/wps/config -in ExportAllBackUp.xml -out resultsOfPrivUserRemoval.xml
Delayed clean-up
When pages are deleted from the WebSphere Portal server, removing them from the system completely can be a resource-intensive task. WebSphere Portal server allows administrators the facility to delay the complete clean-up of resources until a convenient time with low-user traffic. By default, resources are not removed completely initially. Instead, they are inactivated and removed from view. By default, the clean-up schedule is every Saturday at 8 p.m., but this is fully configurable. In our example, when migrating to our WebSphere Portal V6 server, it was occasionally necessary to delete large numbers of resources. In our environment, this was primarily to observe the effect of rerunning the tasks, applying the xmlaccess scripts, and so on. Under these circumstances, it is a best practice to turn off the delayed clean-up. It must be reapplied in production.
106
running a task. Not all the properties than can be set exist in the Admin console. In such a situation, the default values are automatically used. In order to avoid adding them to the wrong place or misspelling them, it is a best practice to update properties through the update configuration task. This following steps describe how to achieve this: 1. Use a text editor to open the DataStoreService.properties file under <portal_server_root>\config\properties. 2. Uncomment the scheduler.cleanup.enabled property (by removing the # character) and change the value to false. Save and close the file. 3. Run <portal_server_root>\bin\WPSconfig update-properties. 4. If you are running WebSphere Portal in a cluster configuration, replicate your changes to the cluster. 5. Restart the WebSphere Portal server.
107
Enable Tracing Manage Clients Unique Names URL mapping Welcome to WebSphere Portal Information Portlet Web Clipping Editor Manage Collections Search Import XML Manage Virtual Portals Login Portlet Edit My Profile Manage Search Collections Manage Search and Browse Pending Search Collection Items Manage Seed List Search and Browse
Document Picker RSS Portlet Import XML Manage Virtual Portals Login Portlet Edit My Profile Manage Seed List Manage Search Admin Portlet Sitemap Search and Browse Content Palette Template Catalog Manager Parameters Properties portlet Roles portlet Community Application Catalog People Finder JSR168
109
4. Copy this XML file to a directory of your choice on the WebSphere Portal V6 server. Important: Do not copy the collection directory.
2. Create an empty shell into which the exported itsoco collection can be imported. Some, but not all, parameters must match the values from the WebSphere Portal V5.1 server. The parameters for defining a search collection are: Location of Collection This is the directory where the collection will reside. This does not have to exist and it does not have to match the old location. Name of Collection Fill this in with the collection name. This does not have to match the old setting. Description of Collection This is optional. Fill this in with the collection description. The description can match the old setting, but does not have to.
110
Specify Collection Language Select this to match the old setting. Select Categorizer This is optional, and will be overwritten by the import. Select Summarizer This is optional, and will be overwritten by the import. Remove common words such as in, of, on, and so on from queries Check or uncheck this to match the old setting. Figure A-3 shows the itsoco search collection redefined for the WebSphere Portal V6 server. Click OK. Important: Do not create collection sources. They will be created by the import. The import will fail if a collection source is defined.
111
3. The Manage Search window opens (Figure A-4). In this window, click the icon (highlighted in Figure A-4) for Import or Export collection. This is the file exported and copied to the WebSphere Portal V6 server, as described in Exporting the collection from WebSphere Portal V5.1 server on page 109.
4. Enter a fully qualified name of the exported XML file, as shown in Figure A-5. (There is no facility to browse to find the location of the XMLM file.) Click Import. Restriction: You cannot import into a collection that has already been populated. The import command will show an error message. If you have to reimport, delete and re-create the collection.
Figure A-5 Specifying the location of the XML file for import
112
This returns you to the Manage Search page with a message confirming successful import, as shown in Figure A-6. Note that the number of documents shows 0 at this point.
5. At this point, WebSphere Portal fetches the documents from the migrated URLs and rendexes them in the background. When you click Refresh, as displayed in Figure A-7, the number of active documents increases. You can now browse the documents.
113
The itsoco Web site uses basic authentication. The values entered in WebSphere Portal V5.1 server for the itsoco collection has migrated automatically, as can be seen from Figure A-8.
Restriction: When you import a portal site collection from WebSphere Portal V5.1 server to WebSphere Portal V6 server, the collection configuration data is imported, but not the document URLs. Therefore, to enable users to search the portal site collection on the target portal, you can either import the portal site collection and then manually start a crawl, or re-create the portal site.
114
6. If you have a Portal Search Collection for your own Portal site and have moved to a new server, the host name in the URL for the site would probably have changed. In such a situation, you must re-create the content source from the scratch. If the collection does not work after migration, as happened in one of the tests in our example, it is recommended that you verify the address of the content source. This will test to see if the search engine is able to connect to the site being searched. Navigate to Manage Search Search Collections and click the itsoco collection. 7. This displays the window shown in Figure A-9. Click the wrench icon highlighted in Figure A-9 to verify the address.
8. The results are displayed, as shown in Figure A-10. In our example, we saw the following message: EJPJP0011W: Connection failed, Host: http://9.33.85.117/itsoco/index.html, Host might be down.
115
Use a browser from your workstation to see if there are any issues with the itsoco site. In our case, we found that the itsoco server was not running. After it was restarted, we repeated the address verification in WebSphere Portal server and received the following message: EJPJB0025I: Content source http://9.33.85.117/itsoco/index.html in collection itsoco collection is OK.
116
9. Click the icon highlighted in Figure A-11 to refresh the collection data for the itsoco collection.
10.Click OK to dismiss the pop-up warning about CPU usage and, shortly afterwards, refresh the page. In our case, we saw that the documents had been collected, as shown in Figure A-7 on page 113.
117
118
Appendix B.
119
Overview
This appendix describes how to plug into the migration framework, the ways in which your tasks can get called, and the exit points provided by the framework. The migration framework consists of a shell script, WPmigrate, which sets up the class paths and executes tasks. Components are plugged into the framework by defining Ant tasks in a mig_ant.xml file and exporting them by specifying the exported targets in the mig_description.xml file. The mig_description.xml file is processed by the migration preprocessor to dynamically create an Ant build file called mig_ant_driver.xml. The exported tasks are placed in the mig_ant_driver.xml file and are called by the user or by the core migration framework. The tasks that can be called are provided by the migration components. There is one migration component that is special, the wp.migration.core component. This component contains the high-level tasks for exporting information from the previous portal and importing the data into the current portal. The core tasks implement the migration framework and call the pluggable custom migration tasks that provide the logic required by various components to transform the previous portal data into a format that can be accepted by the current portal. The framework allows for a seamless and simplified migration flow for the user.
Framework extensions
The framework supports five extension points. These extension points are in the core migration component and are called the core migration extensions. Four of these points allow components to seamlessly integrate into the base core migration targets. Components can specify which targets are to be called by each extension point, by setting various attributes when their targets are exported. The same target can be called once or multiple times by the framework. The fifth extension point is in the overall framework itself, and is called the migration framework extension. The migration framework extension point allows components to plug in and provide command-line accessible targets to the user. These targets can do anything that is required by the component and are not dependent on the core migration tasks. The Document Manager and Personalization component migration use the migration framework extension point by providing command-line callable targets to migrate the Java Content Repository (JCR) data.
120
to correct any configuration problems in the current portal. (In future releases, this task might be used to remotely collect specific property files, properties, or other data to allow the detection of configured components and possibly allow automated configuration on the current portal.)
121
122
Each component directory must contain the two files displayed in Figure B-2: mig_ant.xml This is the file that contains the actual Ant tasks to be executed. mig_description.xml This is the file that describes the exported Ant tasks.
123
${PrevWpsContextRoot} The previous Portals context root ${PrevPortalAdminId} The previous Portals admin ID ${PrevPortalAdminPwd} The previous Portals admin password ${VirtualPortal} The name of the virtual portal. An empty string if working with the default Portal. ${WORK_DIR} The work directory for the current migration process ${importAllFile} The import file that is modified by the filter extension points
124
What follows is an example of how to extend the migration framework. Our example assumes that we have a specific set of pages that must be removed. This can be done by customizing the default filters, but to be safer, we created our own plug-in and used the existing filter infrastructure. In our example, we constructed a filter to remove all the pages with a unique name starting with "riverbend.admin". Note that the pages are not going to be removed from the previous server, they will simply be filtered from the exported XmlAccess file before we attempt to import the file into the current server. We created a River Bend filter directory in the <wp_root>/migration/component directory by executing the following command: mkdir -p <wp_root>/migration/component In this command, <wp_root> is the portal installation root directory. Using a text editor, we created the mig_ant.xml and the mig_description.xml file in the <wp_root>/migration/components/riverbend directory. We constructed an Ant task to be called during the filter phase of the migration.
Migration filters
Migration filters can be created to remove pages, portlets, themes, skins, or any other artifact that has an object ID and a uniquely identifiable attribute. A filter file is a properties file that contains a filters property that defines the active filters and one or more filter definitions. In our River Bend example, we wanted to filter the pages and the child pages that have a unique name starting with "riverbend.custom.page". When creating a filter, we used the template shown in Example B-1.
Example: B-1 Filter template
# This properties files defines a list of filters used to process the Portal data export. # The property "filters" defines the prefix for each filter # # Usage of each filter: filters=<filterX>,<filterY> <filterX>.object: xmlaccess object ID. Examples: "client", "web-app", "content-node". Required. <filterX>.include: Optional comma-separated list of patterns to include. If any are specified, only these will be used. Overrides excludes. <filterX>.exclude: Optional comma-separated list of patterns to exclude. <filterX>.searchAttr: Filtering will be applied to this attribute. If no filtering, can list any attribute type. Required. <filterX>.requestAttr: The attribute to use to request the object the next time. Required. <filterX>.secondaryAttr: Optional comma-separated list of secondary filters. For example, create-type=implicit.
125
The filters property indicates which filters will be used during the filtering process. Each filter, which is required to have a name, has six attributes associated with it. The attributes are affixed to the filter name in the format ".<attribute>", where the valid attributes are: object The xmlaccess element ID. Examples include "client", "web-app", "content-node". include The optional comma-separated list of patterns to include. If any are specified, only these will be used. It overrides exclude. exclude The optional comma-separated list of patterns to exclude. searchAttr Filtering will be applied to this attribute. If there is no filtering, can list any attribute type. Required. requestAttr The attribute used to request the object the next time. Must always be objectid. Required. secondaryAttr The optional comma-separated list of secondary filters. Examples include create-type=implicit. Example B-2 shows what the contents of our filter file, RiverBendPageFilter.properties, look like after we copied the template and made the appropriate updates. The include and exclude attributes allow a regular expression to specified.
Example: B-2 Filter file
# This properties files defines a list of filters used to process the Portal data export. # The property "filters" defines the prefix for each filter # # Usage of each filter: # <filter>.object: xmlaccess object ID. Examples: "client", "web-app", "content-node". Required. # <filter>.include: Optional comma-separated list of patterns to include. If any are specified, only these will be used. Overrides excludes. # <filter>.exclude: Optional comma-separated list of patterns to exclude. Same as defaultExclude but these are easier to update by end-users # <filter>.searchAttr: Filtering will be applied to this attribute. If no filtering, can list any attribute type. Required. # <filter>.requestAttr: The attribute to use to request the object the next time. For example, might want to filter by uid but request by objectid. Required. # <filter>.secondaryAttr: Optional comma-separated list of secondary filters. For example, create-type=implicit. # filters=riverbend-page-filter riverbend-page-filter.object=content-node riverbend-page-filter.include=
126
riverbend-page-filter.exclude=riverbend.custom.page* riverbend-page-filter.searchAttr=uniquename riverbend-page-filter.requestAttr=objectid riverbend-page-filter.secondaryAttr= We saved this file into our River Bend plug-in directory.
<!-Licensed Materials - Property of IBM 5724-E76, 5724-E77, 5655-M44 (C) Copyright IBM Corp. 2001, 2006 All Rights Reserved. Sample mig_ane.xml for red paper Riverbend --> <project name="wp.migration.wcm" default="filter-pages.com.riverbend" basedir="."> <property name="portal.migration.dir" value="${basedir}/../.."/> <property name="RiverBendWorkDir" value="${WORK_DIR}/riverbend"/> <property name="InstalledWcmComponentDir" value="${portal.migration.dir}/components/wcm.migration" /> <property name="InstalledWcmMigAntFile" value="${InstalledWcmComponentDir}/mig_ant.xml"/> <property name="RiverBendFilteredImportFile" value="${RiverBendWorkDir}/RiverBendFilteredImportAll.xml"/> <property name="OidsOfRiverBendPagesToRemoveFile" value="${RiverBendWorkDir}/OidsOfRiverBendPagesToRemove.oid"/> <property name="RiverBendFilterFile" value="${basedir}/RiverBendPageFilter.properties"/>
<!-Create a Riverbend "work" directory The Riverbend work directory will be used to hold temporary files created by this plug-in the directory will be located in the following location <wp_root>/migration/work/<portal_name>/riverbend --> <target name="init"> <mkdir dir="${RiverBendWorkDir}"/> </target>
127
<target name="filter-pages.com.riverbend" depends="init" unless="DoNotFilterRiverBendPages"> <!-Filtering is a two step process. The first step scans the importAll.xml file for object ID's that match the search filters. The object ID's are written to a file specified by the attribute outfile. The second step reads in the list of object ID's created by the fullExportFilter task then it filters out each object that has a matching object ID found in the list. All artifacts that have referential dependencies on a filtered object are also filtered. For instance, if the page hierarchy is such that page A has child pages B and C if page A is filtered, pages B and C are also removed. The writeFilteredFile task will create a copy of the importAll.xml file with the artifacts matching the object ID's in the file specified by the oidfile attribute removed. --> <fullExportFilter infile="${importAllFile}" outfile="${OidsOfRiverBendPagesToRemoveFile}" inputproperties="${RiverBendFilterFile}"/> <writeFilteredFile oidfile="${OidsOfRiverBendPagesToRemoveFile}" infile="${importAllFile}" outfile="${RiverBendFilteredImportFile}" checkparent="true" /> <!-- We need to replace the importAll.xml file with the one modified by this plug-in --> <copy file="${RiverBendFilteredImportFile}" tofile="${importAllFile}" overwrite="true"/> </target> </project> The mig_description.xml describes the targets available to be executed and defines when they will be called. The contents of the River Bend mig_description.xml are shown in Example B-4.
Example: B-4 Sample mig_description.xml
<!-Licensed Materials - Property of IBM 5724-E76, 5724-E77, 5655-M44 (C) Copyright IBM Corp. 2001, 2006 All Rights Reserved. Riverbend mig_description.xml plug-in sample 128
Best Practices for Migrating to IBM WebSphere Portal V6
--> <tasks> <task name="filter-pages.com.riverbend" isxmltarget="true" nohelp="true" inall="false" dependencies=""> This task is responsible for filtering out pages from our Riverbend sample site, </task> </tasks> The only task exported is "filter-pages.com.riverbend". It has the following attributes set: isxmltarget ="true" This means that it gets executed during the filter phase of the import process. inall="false" The target is not callable from the command line and is only called as part of the import-portal-content command processing. nohelp="true" The target will not show up when help is displayed. dependencies="" No dependencies When running the migration with the sample component described earlier, all the pages in our WebSphere Portal V5.1 server had a custom unique name that matched the string riverbend.custom.page.
129
130
Related publications
The publications listed in this section are considered particularly suitable for a more detailed discussion of the topics covered in this IBM Redpaper.
Online resources
The following Web sites are relevant as further information sources: Explanation of limited support for using IBM WebSphere Portal V6.0 with IBM Rational Application Developer 6.0 http://www-1.ibm.com/support/docview.wss?uid=swg27008730&aid=1 IBM WebSphere Portal Version 6.0 Information Center Migrating the remaining access control configuration http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/sec_mig_roles.html Supported hardware and software for IBM WebSphere Portal Version 6.0 http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/inst_req60.html Migrating business process applications http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wps/bpi_mig.html Migrating cooperative portlets that use IBM Portlet API http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/mig_coop_portlet.html Migrating portlets built with Struts Portlet Framework http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/mig_struts.html XML configuration interface: reference http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wps/adxmlref.html Portal configuration services http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wps/srvcfgref.html Verifying the migration tasks http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/mig_verify.html Troubleshooting migration http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wpf/mig_tbl.html
131
Migrating user profiles http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wcm/wcm_migration_users.html Postmigration steps http://publib.boulder.ibm.com/infocenter/wpdoc/v6r0/index.jsp?topic=/com.ibm .wp.ent.doc/wcm/wcm_migration_post.html Information Center for IBM WebSphere Portal for Multiplatforms Version 5.0.2 http://publib.boulder.ibm.com/pvc/wp/502/ent/en/InfoCenter/index.html Open Logic http://www.openlogic.co.uk/ Technote: Domino Application Portlet for Portal v5.x does not work on Portal v6 http://www-1.ibm.com/support/docview.wss?rs=899&uid=swg21245417 WebSphere Portal Update Installer http://www-1.ibm.com/support/docview.wss?rs=688&uid=swg24006942 White paper: IBM WebSphere Portal Version V6.0 Tuning Guide http://www-1.ibm.com/support/docview.wss?uid=swg27008511&aid=1
132
Back cover
IBM WebSphere Portal V6: Best Practices for Migrating from V5.1
Provides comprehensive step-by-step guidelines Describes enterprise considerations Includes troubleshooting guide and tips
This IBM Redpaper provides detailed information about migrating from IBM WebSphere Portal V5.1 to IBM WebSphere Portal V6. This IBM Redpaper introduces the key considerations and the overall decision process before providing step-by-step instructions. It also provides a troubleshooting guide. This IBM Redpaper covers all the key concepts, from stand-alone core portal environments to comprehensive enterprise deployments with clustering, IBM WebSphere Portal components such as Document Manager, Personalization, IBM Workplace Web Content Management, and others. Whether you are a Line-of-Business Manager looking for overall information about migration, an IT Architect planning a migration, or an Administrator who has to perform the actual migration, this IBM Redpaper is for you.
Redpaper
INTERNATIONAL TECHNICAL SUPPORT ORGANIZATION