Hi all,
we were just in the middle of updating our productive IBM Connections 5 environment from CR1 to CR2 when we found out about a new feature in IBM Connections 5 CR2 that controls the ATOM feed structure.
We`re using DDC (Digital Data Connector) to display the Activity Stream in WebSphere Portal. DDC uses the following Feed-url to retrieve data:
https://servername.domain.com/connections/opensocial/basic/rest/activitystreams/@me/@status?format=atom
In IBM Connections 5 CR1 the response looks like this:
<?xml version="1.0" encoding="UTF-8" ?><feed xmlns:osearch="http://a9.com/-/spec/opensearch/1.1" xmlns="http://www.w3.org/2005/Atom"> <entry> <id>urn:lsid:lconn.ibm.com:blogs.story:6e2e456d-ef0a-4819-9cec-d02bc6e2a00e</id> <title>Julius Schwarzweller created the Testplace community blog.</title> <summary type="html"/> <author> <name>Julius Schwarzweller</name> </author> <link rel="alternate" href="https://servername.domain.com/blogs/bd288123-b00e-4950-9a33-b97dfb589548"/> <content type="application/xml"> <activityEntry xmlns="http://ns.opensocial.org/2008/opensocial"> <actor> <displayName>Julius Schwarzweller</displayName> <id>urn:lsid:lconn.ibm.com:profiles.person:7f367240-a03c-1033-9fce-bd80a1fe7d9c</id> <objectType>person</objectType> </actor> <generator> <displayName>Blogs</displayName> <id>blogs</id> <image/> <url>https://servername.domain.com/blogs</url> </generator> <id>urn:lsid:lconn.ibm.com:blogs.story:6e2e456d-ef0a-4819-9cec-d02bc6e2a00e</id> <object> <author> <displayName>Julius Schwarzweller</displayName> <id>urn:lsid:lconn.ibm.com:profiles.person:7f367240-a03c-1033-9fce-bd80a1fe7d9c</id> <objectType>person</objectType> </author> <displayName>Testplace</displayName> <id>urn:lsid:lconn.ibm.com:blogs.blog:fdc5b15f-55ff-4cea-b8cb-d2cdf8a253f9</id> <objectType>blog</objectType> <published>2015-06-11T11:40:04.282Z</published> <summary></summary> <url>https://servername.domain.com/blogs/bd288123-b00e-4950-9a33-b97dfb589548</url> </object> <provider> <displayName>IBM Connections - News Service</displayName> <id>http://www.ibm.com/xmlns/prod/sn</id> <url>https://servername.domain.com/news</url> </provider> <published>2015-06-11T11:40:04.282Z</published> <target> <displayName>Testplace</displayName> <id>urn:lsid:lconn.ibm.com:communities.community:bd288123-b00e-4950-9a33-b97dfb589548</id> <objectType>community</objectType> <url>https://servername.domain.com/communities/service/html/communityview?communityUuid=bd288123-b00e-4950-9a33-b97dfb589548</url> </target> <title>Julius Schwarzweller created the Testplace community blog.</title> <url>https://servername.domain.com/connections/opensocial/basic/rest/activitystreams/@me/@all/@all/urn:lsid:lconn.ibm.com:blogs.story:6e2e456d-ef0a-4819-9cec-d02bc6e2a00e?format=atom</url> <verb>post</verb> </activityEntry> </content> </entry> <entry> .....
In IBM Connections 5 CR2 the response looks like this:
<?xml version="1.0" encoding="UTF-8" ?><feed xmlns:osearch="http://a9.com/-/spec/opensearch/1.1" xmlns="http://www.w3.org/2005/Atom"> <entry> <id>urn:lsid:lconn.ibm.com:profiles.story:c11840bc-68cf-4feb-8427-26fa18e0e012</id> <title>Julius Schwarzwellerwith more text, <br />and some linebreaks <br /> <br />us intranet showing text? <br /></title> <summary type="html">Test2 with more text, <br />and some linebreaks <br /> <br />showing text? <br /></summary> <author> <name>Julius Schwarzweller</name> </author> <link rel="alternate" href="https://servername.domain.com/profiles/html/profileView.do?userid=3F4C8FC7-793C-AB4C-C125-7C30004813E8&entryId=31abf67e-29de-4e82-bccb-4ee3d8b7146c"/> </entry> <entry> ....
If you compare those both ATOM feeds, you see that the CR2 feed misses a lot of information.
It turned out, that IBM introduced a new property to enable feed filtering:
shindig.config.container.overrides
You can control whether to display the <content> and the <summary> element in the feed. Unfortunately CR2 is shipped with the element filtered by default…
Have a look at your LotusConnections-config.xml:
<genericProperty name="shindig.config.container.overrides">{"atom.feed": {"isEntryContentElementForced" : false, "isEntrySummaryElementForced: true}}
–> isEntryContentElementForced” : false tells the feed not to display the content elements.
Changing this to:
<genericProperty name="shindig.config.container.overrides">{"atom.feed": {"isEntryContentElementForced" : true, "isEntrySummaryElementForced: true}}
... and the integration starts working again ;-)