How to configure Global Search in Lotus Connections Homepage V2

How to configure Global Search in Lotus Connections
Homepage V2
IBM® Lotus® Connections is social networking software that consists of five features: Activities,
Blogs, Communities, Dogear, and Profiles.
Use the Lotus Connections features to accomplish the following goals:
Activities – Collaboration tool for collecting, organizing, sharing, and reusing work that is related
to a project goal.
Blogs – Online journals that you can use to deliver timely information with a personal touch.
Communities – A Web site that you create so that people who share a common interest can
interact with one another and share resources.
Dogear – Social bookmarking tool that you can use to save, organize, and share Internet and
intranet bookmarks.
Profiles – Directory of the people in your organization that includes the information you need to
form and encourage effective networks.
Homepage – A single Web page where you can customize the way Lotus Connections features are
organized.
Used together, these tools help employees interact more effectively.
The Global Search feature in the Lotus Connections V2 Homepage application provides a single point
for performing full text searches in all of the deployed Connections component applications. In
addition to full text search, the feature introduces research IBM Research in Haifa called “Web 2.0
Unified Search”. The Web 2.0 Unified Search project is based on facetted search. Facetted search
results have the benefit of providing collated predetermined associated information with the result set
and for the whole result set.
With Web 2.0 Unified Search integrated into Connections V2, search results in the Homepage are
presented with the facets of:
Tags – the complete set of tags used for the full text result set, including tags used in the
bookmarks in Dogear, Activities and Communities.
Related people – the complete set of users associated with the full text results set, again with
associations mined from bookmarked content in Dogear, Activities and Communities. Related
people also includes shared authors on blogs, comments to blogs.
Source component – the Connections component from which the results were found
Related Communities – Connections Communities related to the result set.
Dates – all dates associated with the results set such as date created, last modified etc.
This article will teach you how to configure Global Search in Homepage of Lotus Connections V2.
I.
Overview
The following graph shows the basic fundamental of Global Search. The Homepage application is
1
the center, Homepage will get entries those need to be full indexed from other Lotus Connections
components (Activities, Blogs, Communities, Dogear, and Profiles) by seed list request, the other
components will respond to Homepage with seed list of its entries those needs to be full indexed.
After Homepage receives these entries, it will crawl all the entries. This indexing service is fired
by the WebSphere Application Server (WAS) Scheduler. You can specify the frequency of the
indexing service by editing the homepage-config.xml file.
Graph 1:
2
II. Configure Global Search
Check whether SchedulerCalendars is installed for Homepage Application.
If the following log entries appear in SystemOut.log during Homepage application server startup,
the SchedulerCalendars has been installed. Otherwise, you need to install it manually.
[5/14/08 11:50:00:880 CST] 00000014 ApplicationMg A WSVR0200I: Starting application:
SchedulerCalendars
[5/14/08 11:50:00:886 CST] 00000014 ApplicationMg A WSVR0204I: Application:
SchedulerCalendars Application build level: Unknown
[5/14/08 11:50:00:885 CST] 00000013 ApplicationMg A WSVR0203I: Application: isclite
Application build level: WAS61.WSC [b0619.30]
[5/14/08 11:50:01:125 CST] 00000014 EJBContainerI I WSVR0037I: Starting EJB jar:
Calendars.jar
[5/14/08 11:50:01:198 CST] 00000014 EJBContainerI I WSVR0057I: EJB jar started:
Calendars.jar
[5/14/08 11:50:01:217 CST] 00000014 ApplicationMg A WSVR0221I: Application started:
SchedulerCalendars
Alternatively, you can check the following file to see whether SchedulerCalendars has been
installed.
<WAS_HOME>\AppServer\profiles\<Application_server>\config\cells\<CellName>\nodes\<Nod
eName>\systemapps.xml
<?xml version="1.0" encoding="UTF-8"?>
<serverindex:ServerIndex xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"
xmlns:serverindex="http://www.ibm.com/websphere/appserver/schemas/5.0/serverindex.xmi"
xmi:id="ServerIndex_1209113938343">
<serverEntries xmi:id="ServerEntry_1209113938359" serverDisplayName="server1"
serverName="server1" serverType="APPLICATION_SERVER">
<deployedApplications>${WAS_INSTALL_ROOT}/systemApps/SchedulerCalendars.ear</deplo
yedApplications>
</serverEntries>
<serverEntries xmi:id="ServerEntry_1211262130171" serverDisplayName=" Homepage Server
Display Name" serverName="Homepage Server Name"
serverType="APPLICATION_SERVER">
<deployedApplications>${WAS_INSTALL_ROOT}/systemApps/SchedulerCalendars.ear</deplo
yedApplications>
</serverEntries>
</serverindex:ServerIndex>
3
[Optional] Install SchedulerCalenders.ear by manual
This step is optional, if you make sure that SchedulerCalenders.ear is not installed, you need to do
it.
For Single Profiles Topology:
1. Go to C:\IBM\WebSphere\AppServer\profiles\<application server>\bin and run this
command:
wsadmin.bat -username <admin name> -password <admin password> -port <Soap
Connection port>
2. $AdminApp install "\${WAS_INSTALL_ROOT}/systemApps/SchedulerCalendars.ear"
{-systemApp -appname SchedulerCalendars -cell <Cell Name> -node <Node Name>
-server <Homepage Application Server>}
3. $AdminConfig save
4. Restart WAS and check SystemOut.log as step I.
For Cluster Topology:
1. Go to C:\IBM\WebSphere\AppServer\profiles\<DM Server>\bin and run this command:
wsadmin.bat -username <admin name>-password <admin password>-port <Soap
Connection port>
2. $AdminApp install "\${WAS_INSTALL_ROOT}/systemApps/SchedulerCalendars.ear"
{-systemApp -appname SchedulerCalendars -cell <Cell Name> -cluster
<HomepageCluster>}
3. $AdminConfig save
4. Restart WAS and check SystemOut.log as step I.
Define search-admin role for other Connections components
a. Log in AdminConsole, go to "Enterprise Applications"
4
b. Click on component name and then select "Security role to user/group mapping", map one
user as search-admin role like the following snapshot:
Set JAAS data for Global Search
a. Login AdminConsole, navigate to "Secure administration, applications, and infrastructure", and
then select "J2C authentication data" under "Java Authentication and Authorization Service"
5
b. Edit each "search***Alias" and set user id and password, the user should be search-admin [here
is Aamir_000_000 as an example] you set in the previous step.
Thereinto, searchActivitiesAlias is corresponding to Activities component, searchBlogsAlias to
Blogs component, searchCommunitiesAlias to Communities component, searchDogearAlias to
Dogear component, searchProfilesAlias to Profiles component.
6
7
NOTE: This user [Aamir_000_000 as an example] is used to get seed list from other Connections
components.
Configure parameters for indexing service
You can do it by editing homepage-config.xml file, which locates in the directory
<WAS_HOME>\AppServer\profiles\<DM_or_Profile>\config\cells\<cell_name>\LotusConnectio
ns-config\
<?xml version="1.0" encoding="UTF-8"?>
<config id="homepageConfig" xmlns="http://www.ibm.com/LotusConnectionsHomepage"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.ibm.com/LotusConnectionsHomepage homepage-config.xsd ">
<indexingSchedule>
<task name="All-nightly" interval="0 1 1 ? * MON-SAT"
startby="0 10 1 ? * MON-SAT">
<connectionsService name="activities"/>
<connectionsService name="blogs" />
<connectionsService name="communities" />
<connectionsService name="dogear" />
<connectionsService name="profiles" />
</task><!\-\-Scheduling Activities indexing every 3 hours between 7 a.m. and 8 p.m. Monday
to Friday\-\->
<task interval="0 1 7-20/3 ? * MON-FRI"
name="activities-daily" startby="0 10 7-20/3 ? * MON-FRI">
<connectionsService name="activities" />
</task>
</indexingSchedule>
<seedlistSettings pageSize="50"/>
<indexSettings location="/opt/index"/>
<languageSupport>
<indexingLanguages>
<dictionary locale="en-US" path="c:\work\temp"/>
</indexingLanguages>
<searchLanguages>
<dictionary locale="en-US" path="c:\work\temp"/>
</searchLanguages>
</languageSupport>
</config>
Each specified connectionsService element determines which service will be indexed during the given
task.
8
The startby attribute value is intended to specify the interval by which the scheduled task must have
started before the scheduler service stops trying to fire it. For example, it would be used to skip firing
a task if a previous instance of the same task was still running and delaying the execution of the
currently scheduled task. It provides a method of ensuring that the server isn't always running tasks
back to back.
The seedlistSettings pageSize attribute determines the number of entries that are requested for each
seedlist request.
The languageSupport element is used to specify the behavior of the indexing with respect to
potentially multiple languages.
The indexSettings location attribute specifies the location of the index which must be a network share
available to the WebSphere server. For the case of mixed platforms or the need to separately specify
this location across servers in a cluster, a node level environment variable called
HOMEPAGE_INDEX_DIR can be specified to override the settings in the homepage-config.xml file.
It is assumed that OS level precautions are made for securing the index share.
9