Create a syndication relationship from the command line
Overview
We can set up syndication relationships using the Administration Portlets or the command line. To set up a syndication relationship from the command line, use xmlaccess.sh (XML access) and the ConfigEngine command to configure the subscriber.
Before enabling syndication ensure the subscriber has sufficient disc space to receive the data being syndicated from the syndicator. To syndicate all libraries, we will need at least as much space on the subscriber as the database used by the syndicator.
Ensure there is at least as much swap space allocated on the subscriber server as there is physical memory.
Cross-version syndication is supported between the following releases. Syndication from a newer release to an older release is not supported:
- HCL WebSphere Portal version 7.0.0.2 with CF26 or higher.
- HCL WebSphere Portal 8.0.0.1 with CF09 or higher.
- HCL WebSphere Portal 8.5 or higher.
First-time syndication to an existing library is not supported. If we attempt to syndicate a library to a subscriber that already has a library with the same name, an error results.
To syndicate a library containing more than 10000 items, update the maximum Java heap size used by the portal application server on the subscriber server:
To set up syndication between web content libraries on two Web Content Manager applications, establish a relationship between a syndicator and a subscriber. The syndicating server contains the data to be replicated, and the subscribing server receives the replicated data.
Information about a web content library is only syndicated the first time syndication occurs and not on subsequent updates and rebuilds. If a library is renamed or library user access is changed, this information is not syndicated to the Subscriber.
If we change the name of a library or change user access to a library, these changes are not syndicated. The same settings on all the syndicated libraries, manually make the same changes to any subscriber libraries.
If content from one library (Library A) uses an item from another library (Library B), include both libraries in the syndicator. Including both libraries ensures that all items are syndicated successfully.
If we include only Library A in the syndicator, any items in Library A that reference items in Library B are not syndicated. Syndication errors are also generated.
If we add a library to a syndicator after the initial syndication, click Rebuild to force the new library to be syndicated immediately.
If we are creating a two-way syndication relationship, use a consistent syndication strategy. For example, if syndicating "All items", then both syndication relationships must be syndicating "All items".
Create a syndication relationship
- In the WAS console, navigate to the Java virtual machine settings...
- Stand-alone server:
- Servers > Server Types > WebSphere application servers > WebSphere_Portal > Java and Process Management > Process definition > Java Virtual Machine
- Clustered server:
- System administration > Deployment manager > Java and Process Management > Process Definition > Java Virtual Machine
...and update the value in the Maximum Heap Size field. A value of at least 1024 MB is recommended.
- Ensure both the subscriber and syndicator are running and they can access each other over a network.
- On the subscriber server, create a shared credential vault slot with xmlaccess.sh.
- Create the CreateVaultSlot.xml file
syndication-slot Name of the shared credential vault slot. wpsadmin The user ID for the portal administrator. passw0rd The password for the portal administrator.
<?xml version="1.0" encoding="UTF-8"?> <request xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_8.5.0.xsd" type="update" create-oids="true"> <!-- Sample for creating a new credential vault slot. This script creates a --> <!-- credential vault resource and a shared slot in the Default Admin Segment --> <portal action="locate"> <credential-segment action="locate" adapter-type="default" name="DefaultAdminSegment" user-mapped="false"> <description>Default Admin Segment</description> <credential-slot action="update" active="false" name="syndication-slot" resource="syndication-resource" secrettype="userid-password" system="true"> <localedata locale="en"> <description>used for syndicator and subscriber pair</description> </localedata> <password-secret action="create" external- user="uid=wpsadmin,o=defaultWIMFileBasedRealm">passw0rd </password-secret> </credential-slot> </credential-segment> </portal> </request>
- Run...
./xmlaccess.sh -in CreateVaultSlot.xml -out slot-out.xml -url http://localhost:10039/wps/config -user wpsadmin -password passw0rd
- On the subscriber server, create a virtual portal on the subscriber with the create-virtual-portal task.
This example creates a virtual portal called sample, although we can change this value to reflect the environment.
./ConfigEngine.sh create-virtual-portal -DPortalAdminPwd=passw0rd -DWasPassword=passw0rd -DVirtualPortalTitle=sample -DVirtualPortalContext=sample
- On the subscriber server, set up the syndication relationship with the run-wcm-admin-task-subscribe-now task.
This sample command uses the following additional values we can change to reflect the environment:
- syndicator-hostname
- Host name of the syndicator server.
- syndicator1
- Name for syndicator item created on the syndicator server. Cannot be the same as an existing syndicator name. To reuse syndicator names of previously deleted syndication relationships on a subscriber, delete the same relationship on the syndicator.
- subscriber1
- Name for for subscriber item created on the subscriber server. Cannot be the same as an existing subscriber name.
In addition, use the following properties to identify the libraries to which we are subscribing and the type of syndication to perform. For each syndication relationship, we can specify only one type of syndication. Separate multiple libraries with commas.
- liveItems="library_name_1,library_name_2"
- Live item syndication is mostly used when syndicating to a staging or delivery server. The following items are syndicated:
- Published
- Expired
Draft items, projects, and items in a project are not syndicated.
- liveProjectsItems="library_name_1,library_name_2"
- Use "Live and projects" syndication to gradually syndicate projects to a staging or delivery server, rather than waiting until all items in a project achieve a published state. The following items are syndicated:
- Published
- Expired
- Projects
- Draft items in a project
Draft items outside of projects are not syndicated.
- allItems="library_name_1,library_name_2"
- All item syndication is mostly used when syndicating between servers within an authoring environment. The following items are syndicated:
- Published
- Expired
- Projects
- Draft items in a project
- Other draft items
- Versions
- Deleted items
Example commands:
./ConfigEngine.sh run-wcm-admin-task-subscribe-now -Dsyndicator=http://syndicator-hostname:10039/wps/wcm \ -DvaultSlotName=syndication-slot \ -DsyndicatorName=syndicator1 \ -DsubscriberName=subscriber1 \ -DVirtualPortalContext=sample \ -DliveItems="Web Content,Portal Site" \ -DPortalAdminPwd=passw0rd -DWasPassword=passw0rd
Parent Syndication