IBM Connections 6.0 CR1\IFR1 requires all widgets to be registered in the Widget Container
Preventive Service Planning
IBM Connections 6.0 CR1\IFR1 implemented additional security measures for custom and third party widgets which requires them to be registered in the Widget Container. Communities that contain unregistered widgets will fail to display properly in Connections. The error "Unable to display widget(s) in this community." will be displayed at the top of the community.
IBM Connections 6.0 CR1\IFR1 implemented additional security measures for custom and third party widgets which requires them to be registered in the Widget Container. Previously custom and third party widgets only needed to be added to the Widget-config.xml and now an additional step is required which can completed by either using the Administration view which is documented in Configuring Home page widgets or using the commands in the help topic Gadget registration commands. This additional step will make the Connections deployment more secure against malicious attacks.
Important: If the widgets are going to be used on Profiles and Communities they need to use the "Gadget registration command" in the second example.
Here's an example of registering a widget using the Administration view:
- Log in to IBM Connections as an administrator.
- Select Administration to open the Administration view.
- Under Disabled Apps, click Add another app
- Enter the required fields
- IMPORTANT: The descriptive text for the fields URL Address & Secure URL Address incorrectly state that relative addresses can be use. Only Absolute Web addresses are supported for these fields
- For Communities or Profile widgets select iWidget
- Select a Prerequisites such as Communities or Profiles
- Save your changes
- Under Disabled Apps select the new widget and click Enable
- At the top of this page click Save
- Then click Refresh Cache
The widget is now registered and available to be added to a Community or Profiles
Here's an example of registering a widget in the Widget Container using the command in the "Gadget registration command" help topic:
- Here is the definition of the "helloworld" in the Widget-Config.xml
<widgetDef defId="helloworld" modes="view" primaryWidget="false" themes="wpthemeNarrow wpthemeWide wpthemeBanner" url="https://servername.ibm.com/helloworld/helloworld.xml"/>
- Start the wsadmin client from the following directory of the system on which you installed the Deployment Manager (app_server_root\profiles\dm_profile_root\bin)
wsadmin -lang jython -user admin_user_id -password admin_password -port SOAP_CONNECTOR_ADDRESS_PORT
- Start the News Jython script interpreter
- Here is the addWidget command to register a sample widget:
NewsWidgetCatalogService.addWidget(title="helloworld", text="Hello World Widget.", url="https://serverName.ibm.com/helloworld/helloworld.xml", categoryName=WidgetCategories.NONE, isGadget=FALSE, policyFlags=[GadgetPolicyFlags.TRUSTED], prereqs=["communities"])
- Important settings:
isGadget Indicates whether this is a OpenSocial gadget (true) or iWidget (false). This example is for an iWidget.
prereqs A comma-separated list of applications that are required for this widget to be enabled. The widget is implicitly disabled if the list of prerequisites is not met. This example is for a Communities widget.
- Next enable the Widget so it will be available in a Connections community. Use the widgetId that is generated by the addWidget command.
- Now clear the widget cache
The sample "Hello World" widget is now registered and available to be added to a Community