A customer would like to know which IBM Connections Communities have a Sharepoint widget added. The following SQL statement should give the UUID and the name of these Communities:
select COMMUNITY_UUID,NAME from SNCOMM.COMMUNITY where COMMUNITY_UUID IN(select EXT_RESOURCE_ID from SNCOMM.LC_EXTENSIONS where dbms_lob.instr(EXT_VALUE_EXTENDED,utl_raw.cast_to_raw ('SharePointFiles'), 1,1)>0);
The customer also wanted to send a mail to all creators of these Communities. So he wanted to get a list of names and mail adresses of them. The following SQL statement creates that list:
select DISTINCT DISPLAY,EMAIL from SNCOMM.MEMBERPROFILE where MEMBER_UUID IN (select CREATED_BY from SNCOMM.MEMBER where COMMUNITY_UUID in (select COMMUNITY_UUID from SNCOMM.COMMUNITY where COMMUNITY_UUID IN (select EXT_RESOURCE_ID from SNCOMM.LC_EXTENSIONS where dbms_lob.instr(EXT_VALUE_EXTENDED,utl_raw.cast_to_raw ('SharePointFiles'), 1,1)>0)));
As the original creator of a Community might no longer be in the company, it would be better to get a list of all Community owners who do have at least one Community with a Sharepoint widget added. You get that list with this statement:
select DISTINCT DISPLAY,EMAIL from SNCOMM.MEMBERPROFILE,SNCOMM.COMMUNITY where MEMBER_UUID IN (select MEMBER_UUID from SNCOMM.MEMBER where ROLE='1' AND COMMUNITY_UUID in (select COMMUNITY_UUID from SNCOMM.COMMUNITY where COMMUNITY_UUID IN (select EXT_RESOURCE_ID from SNCOMM.LC_EXTENSIONS where dbms_lob.instr(EXT_VALUE_EXTENDED,utl_raw.cast_to_raw ('SharePointFiles'), 1,1)>0)));
You can use the same statements to find out about other widgets. Just replace “SharePointFiles” with the widget id of your choice.
The statements do work for ORACLE and you may need to adapt them for DB2.
To rotate your IBM HTTP Server logs (or Apache HTTP server logs) on a daily (or whatever) basis, you normally are using something like
CommonLog "|/opt/IBM/HTTPServer/bin/rotatelog -l /opt/IBM/HTTPServer/log/access_log.%Y.%m.%d 5M" common
The disadvantage of that is, that the current log file name changes every day. So if you have e.g. a log viewer open to watch the log file, you need to adapt that file name every day.
A better solution for that is a tool called “cronolog“. It can be used in a similar way like
CommonLog "|/usr/sbin/cronolog /opt/IBM/HTTPServer/logs/%Y-%m-%d/access_log -S /app/HTTPServer/logs/access_log -P /app/HTTPServer/logs/access_log_before" common
It then creates a directory with the date as the name and places the log file of that day inside that directory. In addition it creates a symbolic link with the original name (“access_log”) and also a symbolic name to the log file of the day before (“access_log_before”).
Both file names will not change and therefore can be monitored without changing anything in the log viewer.
The tool should be part of all Linux distributions and can be installed e.g. with “yum -y install cronolog” (for Redhat; use the package install command for your distribution instead).
Other than in Windows you cannot use the arrow keys to correct a command line of recall your last command with IBM Websphere wsadmin command line in Linux. In order t get that working you need a little tool called “rlwrap“.
Just install it with “yum -y install rlwrap” (for Redhat Linux; choose the install command valid for your distribution) and then you can run wsadmin with ” rlwrap ./wsadmin.sh”.
I normally create a short command file with the following content and place it in “/home/<user>/bin” so that I can call it from everywhere:
rlwrap ./wsadmin.sh -lang jython
For many Connections administration tasks you need to specify which Connections configuration file you want to use by running a WSADMIN command like e.g. execfile(“activitiesAdmin.py”).
If you have more than one Connections node this command will ask you on which node you want the command to run and you need to answer with 1 or 2 etc.
If you want to use these commands in a script, you need to specifiy a variable before running that command to suppress the manual interaction. So you can use
which automatically runs the command on the first node.
If you want to use a specific node, you can use the following command:
For other config files you need to change “Activities” to the corresponding application name.
If you change the host name of your server or, as in my case, install as non-root user under Linux and therefore need to use non-standard ports like “8080” and “4430” in the URL for installing and then later switch that back to the standard port “80” and “443”, you might see the problem that your Rich Content Widget in Connections 5.5 Communities no longer works.
The reason for that could be, that in the database there is a reference to the wrong hostname / port number. Check the database table HOMEPAGE.OH2P_CLIENTCFG for an entry “conn-rte”. If you find one and it has the reference to the wrong hostname or port, just delete the entry and restart your Connections servers. This is described in that Knowledge Base article.
The entry should be recreated automatically with the correct values and the Rich Content widget should work again.
By the way: There might be another reason why the Rich Content Widget in Connections 5.5 is no longer working. If you have configured Connections that way that all applications need authentication, then make sure that the READER role for the Rich Text Editor WAS application is set to “Everyone” and not to “All authenticated users” (which is then the case for the other applications). Otherwise the widget will not work.
Update: As there were questions what exactly the “Rich Content App” is: It is a new application which you can add in a Community to display rich text content:
If you configure the Sharepoint Widget for IBM Connections as it is described in the Infocenter, then Communities which are migrated from IBM Connections 4.5 to 5.5 no longer show the Sharepoint Widget if one was configured in 4.5.
The reason is that in the documentation the widget ID has been renamed from “SharePointFiles” to “SharePoint Documents”. From my point of view, they just wrongly switched the text for “defID” and “description”.
So the documentation says:
<widgetDef defId="SharePoint Documents" description="SharePointFiles" ...
However, the correct definition should be:
<widgetDef defId="SharePointFiles" description="SharePoint Documents"
In the 4.5 environment of my customer, the widget ID was named like that and I am quite sure we had copied and pasted that from the 4.5 documentation in the past. So I guess that is just a typo in the documentation. I have told the responsible person for the documentation to check and, if necessary, correct it.
IBM Connections 5.5 Cumulative Refresh 1 (CR1) has just been released. You can find the fix list here and the download here. Make sure you check the upgrade guide and download also the required database upgrade scripts. In case you have installed Cognos as well, you need to download and apply the updated Cognos Wizard.
If you would like to create a custom theme fpr IBM COnnections 5.5 Communities according to the description in the Wiki, you need to keep the following in mind:
- The reference to the default theme files in the documentation is wrong. The correct jar file to use is “com.ibm.social.hikari.theme_*.jar” instead of “com.ibm.oneui3.styles_*.jar” otherwise you will not get the correct files for the Hikari theme but the old Gen4 theme files (IBM will correct the documentation here)
- You also need to make sure that you delete the TEMP and WSTEMP folders of ALL Connections application servers (path e.g. “/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/(ws)temp/”) and restart also ALL your application servers. It is not sufficient to just delete the temp files of the InfraStructure cluster and restart that one (although both Common.ear and Communitie.ear resides on that cluster).
- Double check that you have no typo in the path name of the CSS files in your communities-config.xml. They must match exactly the names you use in the themes folder.
- You can use a “custom.css” file within your custom theme folder to specifiy your theme changes so that you do not need to modify the default theme css files.
If you miss one of these steps you might end up with a community theme which looks like the old Gen4 theme from IBM Connections 5.0
Be also aware that, if you have customized the Connections theme itself, you need to make these changes also for every custom Community theme.
In a Connections environment, where you have changed the permissions so that only authenticated users can use Connections (by setting all “reader” roles in all Websphere applications to “All Authenticated in Application’s Realm”), you are no longer able to use the Rich Content app within a Community.
If you add the app to the Community you see the message “The page could not be created due to an error”.
To solve the issue, set the role “reader” for the WAS application “RichTextEditor” back to “Everyone”. This application does, by default, not allow anonymous access so that this is not a problem.
After restarting the application, your “Rich Text” app should work as normal.