Complete the following steps to enable the ConnectionsExpert Profiles and Community widgets.

Important Basic Information

To add the ConnectionsExpert widgets, you will need to perform the following steps. Click on the link for more information.

Register Resource Bundle

Check-out the LotusConnections-config.xml file and add the following lines in the 

<resources></resources>

Section:

<!-- panagenda ConnectionsExpert --> 
<widgetBundle name="com.panagenda.ce.widgets" prefix="ceWidgets"/>
<!-- panagenda ConnectionsExpert -->

Copy String Files

Copy the following files into the strings directory within your customization directory (CONNECTIONS_SHARED/customization/strings):

com.panagenda.ce.widgets.properties

Configure the AJAX Proxy

To allow the widgets to connect to your ConnectionsExpert appliance, you need to configure the AJAX proxy by editing the proxy-config.tpl:

Please add following policy after the

<!-- BEGIN CUSTOMIZATIONS HERE -->

Section:

<!-- panagenda ConnectionsExpert -->
      <proxy:policy url="https://YOUR_CE_URL/*" acf="none" basic-auth-support="true">
                  <proxy:actions>
                          <proxy:method>GET</proxy:method>
                          <proxy:method>POST</proxy:method>
                  </proxy:actions>
                  <proxy:headers>
                          <proxy:header>content-type</proxy:header>
                          <proxy:header>accept-encoding</proxy:header>
                          <proxy:header>User-Agent</proxy:header>
                          <proxy:header>Accept.*</proxy:header>
                          <proxy:header>Content.*</proxy:header>
                          <proxy:header>Authorization.*</proxy:header>
                          <proxy:header>X-Method-Override</proxy:header>
                          <proxy:header>If-.*</proxy:header>
                          <proxy:header>Pragma</proxy:header>
                          <proxy:header>Cache-Control</proxy:header>
                          <proxy:header>X-Update-Nonce</proxy:header>
                  </proxy:headers>
                  <proxy:cookies>
                          <proxy:cookie>LtpaToken</proxy:cookie>
                          <proxy:cookie>LtpaToken2</proxy:cookie>
                          <proxy:cookie>panagenda_gadget</proxy:cookie>
                  </proxy:cookies>
      </proxy:policy>
<!-- panagenda ConnectionsExpert -->

Change YOUR_CE_URL into your ConnectionsExpert FQDN or IP address.

Add ConnectionsExpert Widgets

You need to configure the ConnectionsExpert widgets within the widget-config.xml file. 

Community Widget

Add following widget definition into the 

<resource type="community"><widgets><definitions>

section within widget-config.xml:

<!-- panagenda ConnectionsExpert -->
  <widgetDef
       defId="widgetCommunityUsage"
       description="widgetCommunityUsage.desc"
       bundleRefId="ceWidgets"
       modes="view fullpage"
       showInPalette="true"
       themes="wpthemeNarrow wpthemeWide wpthemeBanner"
       uniqueInstance="true"
       resourceOwnerWidget="true"
       loginRequired="true"
       url="https://YOUR_CE_URL/gadgets/communitystats.xml">
        <itemSet>
               <item name="res_id" value="{resourceId}"/>
       </itemSet>
   </widgetDef>
  <!-- panagenda ConnectionsExpert -->

Change YOUR_CE_URL into your ConnectionsExpert FQDN or IP address.

Profiles Widget

Add following widget definition into the 

<resource type="profile"><widgets><definitions>

 section within widget-config.xml:

<!-- panagenda ConnectionsExpert -->
  <widgetDef
      defId="widgetProfilesCommunities"
      bundleRefId="ceWidgets"
      primaryWidget="false"
      modes="view"
      themes="wpthemeWide"
      loginRequired="true"
      url="https://YOUR_CE_URL/gadgets/mycommunities.xml">
  </widgetDef>
  <!-- panagenda ConnectionsExpert -->

Change YOUR_CE_URL into your ConnectionsExpert FQDN or IP address.

Also, add following widget instance definition into the 

<resource type="profile"><widgets><layout resourceSubType="default"><page pageId="profilesView">

section. We recommend putting it after the "backgroundInfo" definition: 

<!-- panagenda ConnectionsExpert -->
  <widgetInstance defIdRef="widgetProfilesCommunities" uiLocation="tabsWidget1"/>
<!-- panagenda ConnectionsExpert -->

Register ConnectionsExpert Widgets

This step is only needed for Connections 6 CR1 and later.

Start a wsadmin session and execute following commands:

execfile("newsAdmin.py")
NewsWidgetCatalogService.addWidget(title="CE Profile Community widget", text="CE Profile Community widget", url="https://YOUR_CE_URL/gadgets/mycommunities.xml", categoryName=WidgetCategories.NONE, isGadget=FALSE,appContexts=[WidgetContexts.EMBEDXP], policyFlags=[GadgetPolicyFlags.TRUSTED], prereqs=["profiles"])
NewsWidgetCatalogService.addWidget(title="CE Community Usage widget", text="CE Community Usage widget", url="https://YOUR_CE_URL/gadgets/communitystats.xml", categoryName=WidgetCategories.NONE, isGadget=FALSE,appContexts=[WidgetContexts.EMBEDXP], policyFlags=[GadgetPolicyFlags.TRUSTED], prereqs=["communities"])

Change YOUR_CE_URL into your ConnectionsExpert FQDN or IP address.

Enable both widgets using the following command (need to be executed for both widgets ids):

NewsWidgetCatalogService.enableWidget("WIDGET_ID")

Refresh the cache to enable the changes:

NewsWidgetCatalogService.clearWidgetCaches()

Optional: Add Community Widget to all Communities

Follow this steps to add the Community widget to all existing Communities as well as all new Communities. You need to edit the widget-config.xmlfile and customize the 

<resource type="community"><widgets><layout resourceSubType="default"><page pageId="communityOverview">

section by editing following lines:

<!-- panagenda ConnectionsExpert -->
  <widgetInstance defIdRef="widgetCommunityUsage" uiLocation="col2"/>
<!-- panagenda ConnectionsExpert -->

Optional: Customizations

UI Strings

You can change the widget title as well as the widget description by editing following values in the associated property file:

  • Profiles Widget Title: widgetProfilesCommunities

  • Community Widget Title: widgetCommunityUsage

  • Community Widget Description: widgetCommunityUsage.desc

In addition to the provided languages (see Copy String Files section), you can also add other languages by creating new property files using following syntax: com.panagenda.ce.widgets_XX.properties (Example: com.panagenda.ce.widgets_ru.properties). 

Widget Layout

You can customize the look and feel of the widget by providing your our CSS customization. Therefore you need to add your customizations into ceWidgets/custom.css file and copy it into your Community customization directory (CONNECTIONS_SHARED/customization/communities/ceWidgets). 

To load your customizations you need to customize your widget definitions and add following items into the 

<itemSet></itemSet>

section. Please also create the itemSet section within your Profiles widget definition:

<itemSet>
  <item name="css" value="{communitiesSvcRef}/ceWidget/custom.css"/>
</itemSet>

Custom Authentication

In case you customized your LTPA token and/or using any custom authentication providers be sure to add any custom cookies and headers into AJAX definition:

<proxy:headers>
  <proxy:header>CUSTOM_HEADER</proxy:header>
</proxy:headers>
<proxy:cookies>
  <proxy:cookie>CUSTOM_COOKIE</proxy:cookie>
</proxy:cookies>

You also need to include the following item into the

<itemSet></itemSet>

section of all widget configurations (widget-config.xml). Please also create the itemSet section within your Profiles widget definition:

<itemSet>
  <item name="cookie" value="COOKIE_NAME"/>
</itemSet>

Disable Community Overview Widget

This default configuration will provide a full-page Community widget as well as a Community Overview widget. If you like to disable the Overview widget you can do so by changing following line in your Community widget definition within the widget-config.xml. Be aware of that this will also remove the option to delete the widget using the Connections UI (you can still delete the widget using the administrative backend):

 

modes="fullpage"

Synchronize nodes and restart the environment

To enable your customizations please synchronize your nodes and restart your whole Connections environment.

Troubleshooting

This section will help to troubleshoot issues related to the configuration of the ConnectionsExpert widgets.

Widgets Content is not shown

The widget is not shown any content. "Gateway" or "not allowed" errors are displayed. Review your proxy-config.xml configuration.

You can test the AJAX proxy using the following URL: https://YOUR_CONNECTIONS_URL/communities/ajaxProxy/https/YOUR_CE_URL/gadgets/communitystats.xml

Custom CSS is not used

Check your custom.css file for issues. Also, check the widget-config.xml for issues related to itemset section. Use following URL to access your custom.css file: https://YOUR_CONNECTIONS_URL/communities/ceWidgets/custom.css.

Check the file path in case it is not accessible. Alternatively: Use browser developer tools to inspect the rendered iFrame in the iWidget to check if the CSS was correctly linked in the file.

Strings are not loaded

Review the strings directory or the resources section of the LotusConnections-config.xml.