Build a Release for virtual portal installations
Overview
For source virtual portals we use ReleaseBuilder with a slightly different procedure to...
- Prevent redundant updates of the resources shared between the virtual portals
- Prevent update conflicts of virtual portal scoped resources
Build a release using new installations
- Install portal on source server.
- Install portal on target server.
If an additional portal profile is created after installation...
cp -r $ORIG_WP_PROFILE/PortalServer/deployed/archive /tmp/PortalServer/deployed/archive
- From the profile to be used as the target server, empty portal contents...
cd WP_PROFILE/ConfigEngine
./ConfigEngine.sh empty-portalIf the target server profile is not the original default WP_PROFILE, restore contents...
cp -r /tmp/PortalServer/deployed/archive/* $NEW_WP_PROFILE/PortalServer/deployed/archive
- Create the same virtual portals on both source and target servers using the command...
./ConfigEngine.sh create-virtual-portalIf create-virtual-portal is not used, the virtual portal instance is not empty, and cannot be used to import a fresh release as a baseline.
- Develop the releases of the default portal and the virtual portals on the source server.
- Export the releases of the default portal and the virtual portals on the source server.
- Import the releases into the target server portals:
- Import the default portal release into the default portal on the target server.
- Import the virtual portal releases into the respective virtual portals on the target server.
If we already have a target server without a source system:
We have now a source server that is synchronized with the target system.
- Export the target server releases:
- Export the release of default target server.
- For each virtual portal, export the virtual portal release of target server.
- Install and configure the source server:
- Install and configure the source server, and then run...
./ConfigEngine.sh empty-portal
- Create corresponding virtual portals on the source server...
./ConfigEngine.sh create-virtual-portal
- Import the target releases onto the source server:
- Import the target release onto the default source server.
- For each virtual portal, import the virtual portal release from the target server onto the source server.
Build a release using established installations
- Export the configuration of the base portal on the source server.
cd WP_PROFILE/PortalServer/bin ./xmlaccess.sh -in ExportRelease.xml -user wpsadmin -password foo -url http://host:port/wps/config -out rev1.xml
- For each virtual portal, export the source server configuration...
cd WP_PROFILE/PortalServer/bin
./xmlaccess.sh -in ExportRelease.xml -user wpsadmin -password wpsadminpwd -url http://source.example.com:port/wps/config/vpcontext -out rev1_vpcontext.xmlThe exported configurations are now stored in the file rev1.xml and multiple files rev1_vpcontext .xml, one each for the virtual portals.
- Develop new functions and portlets on the source server.
- Export the configuration of the base portal on the source server.
cd WP_PROFILE/PortalServer/bin ./xmlaccess.sh -in ExportRelease.xml -user wpsadmin -password foo -url http://host:port/wps/config -out rev2.xml
- For each virtual portal, export the source server configuration...
cd WP_PROFILE/PortalServer/bin
./xmlaccess.sh -in ExportRelease.xml -user wpsadmin -password wpsadminpwd -url http://source.example.com:port/wps/config/vpcontext -out rev2_vpcontext.xml
- Copy relevant war files. From source server...
scp WP_PROFILE/PortalServer/deployed/archive/mywars*.war user@host:/path/to/PortalServer/deployed/archive
For Windows the name of the WAR file must be 25 characters or less.
- Generate differences files...
cd WP_PROFILE/PortalServer/bin ./releasebuilder.sh -inOld rev1.xml -inNew rev2.xml -out output.xml -virtualPortalMode ./releasebuilder.sh -inOld rev1_vpcontext.xml -inNew rev2_vpcontext.xml -out diff_vpcontext.xml -virtualPortalMode
- Import output.xml into target portal environment.
./xmlaccess.sh -in output.xml -user wpsadmin -password wpsadminpwd -url http://target.example.com:port/wps/configThe base difference file must be imported before the virtual portal difference files.
- Import diff_vpcontext.xml files
./xmlaccess.sh -in diff_vpcontext.xml -user wpsadmin -password wpsadminpwd -url http://target.example.com:port/wps/config/vpcontextIf portlet parameters are deleted from a configuration, the output script generated by ReleaseBuilder does not remove those parameters on the target system.
XML files generated by ReleaseBuilder do not have any transaction levels set. To set a transaction level edit the XML file generated by ReleaseBuilder and add the transaction level to the XML file.
Parent
ReleaseBuilder
Build a release
Checklist for ReleaseBuilder