Enabling search in linked libraries

You can enable content-based text search in linked libraries that are hosted on FileNet® P8. Search is disabled by default.

Before you begin

To edit configuration files, you must use the IBM® WebSphere® Application Server wsadmin client. See Starting the wsadmin client for details.

When searching content in libraries created outside HCL Connections or using the Linked Library widget, IBM® FileNet® Collaboration Services searches the IBM® FileNet® P8 server directly. For these libraries, the IBM® FileNet® P8 administrator must set up the content-based text search server and enable content-based retrieval (CBR) for the document types. If text search is not enabled on the IBM® FileNet® P8 server, community-scoped searching is available only for libraries created within HCL Connections using the Library widget. For more information, see IBM® FileNet® Information Center. For the Library widget, the HCL Connections Search index is used directly and FileNet® search does not need to be enabled.

About this task

The widgets-config.xml file contains information about widget definitions, widget attributes, widget location, default widget templates, and page definitions. To enable search for the Linked Library widget, you need to add "search" to the list of modes for the widget definition in the widgets-config.xml file.

Procedure

To enable search for linked libraries, complete the following steps.
  1. 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
    where app_server_root is the WebSphere® Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.

    You must start the client from this directory or subsequent commands that you enter will not execute correctly.

  2. Start the Communities Jython script interpreter using the following command:
    execfile("communitiesAdmin.py")
    If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
  3. Check out the widgets-config.xml file using the following command:

    CommunitiesConfigService.checkOutWidgetsConfig("working_directory", "cell_name")

    where:
    • working_directory is the temporary working directory to which the configuration XML and XSD files are copied. The files are kept in this working directory while you make changes to them. When specifying the path to a working directory or temporary directory where the checked out files are to be placed, use a forward slash as the path separator, even for Microsoft® Windows® systems.
    • cell_name is the name of the WebSphere® Application Server cell hosting the Communities application. This argument is required. It is also case-sensitive, so type it with care.
    For example:
    CommunitiesConfigService.checkOutWidgetsConfig("C:/tmp2","MyServerNode01Cell")
  4. Using a text editor, open the widgets_config.xml file from the temporary directory to which you checked it out.
  5. Look for the CustomLibrary widgetDef element and add "search" to the list of modes specified for the widget:
    <widgets>
      <definitions>
    ...
        <widgetDef defId="CustomLibrary" bundleRefId="lc_clib" url="{webresourcesSvcRef}/web/quickr.lw/widgetDefs/LibraryWidget_QCS_Connections.xml?etag={version}"
                   description="CustomLibrary_description" modes="view search edit fullpage" primaryWidget="false"
                   helpLink="{helpSvcRef}/topic/com.ibm.lotus.connections.communities.help/c_com_library_frame.html"
                   iconUrl="{contextRoot}/nav/common/images/LinkedFiles.png" uniqueInstance="true">
    ...
      </definitions>
  6. Save your changes and then close the widgets-config.xml file.
  7. Apply your changes by doing the following:
    1. Check in the updated widgets-config.xml file using the following command:

      CommunitiesConfigService.checkInWidgetsConfig("working_directory", "cell_name")

      For example:
      CommunitiesConfigService.checkInWidgetsConfig("C:/tmp2","MyServerNode01Cell")
    2. To exit the wsadmin client, type exit at the prompt.
    3. Restart the Communities application using the WebSphere® Application Server Integrated Solutions Console.