+

Search Tips   |   Advanced Search

Add third-party links via the XML configuration file

We can extend the Profiles business card by adding links to applications from another vendor.

To edit configuration files, start wsadmin.sh

We can specify links to services acquired from another vendor in the WAS_HOME\profiles\WAS_Profile\config\cells\Host_name\LotusConnections-config \LotusConnections-config.xml file. The service reference must have a person_card_service_url_pattern attribute and a person_card_service_name_js_eval attribute. Without these attributes, the service link does not display in the inline or pop-up business cards.

To extend the Profiles business card:

  1. cd app_server_root/profiles/Dmgr01/bin

    Start the client from this directory or subsequent commands do not execute correctly.

  2. Use the wsadmin client to access and check out the Connections configuration files.

    1. Access the Connections configuration file: execfile("connectionsConfig.py")

      If we are prompted to specify a service to connect to, type 1 to select 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 by using a local file path, we must select the node where the file is stored. This information is not used by the wsadmin client when we are making configuration changes.

    2. Check out Connections configuration files:

      LCConfigService.checkOutConfig("/tmp","cell_name")

      where:

      • /tmp is the temporary working directory to which configuration files are copied. The files are kept in this working directory while you edit them.

        • With Windows, use a forward slash for the directory. For example: "/tmp".

      • To determine: print AdminControl.getCell()

  3. Open LotusConnections-config.xml, and modify it to include the following attributes:

    Attribute Description
    person_card_service_url_pattern Represents the URL pattern used when users click the service link. The ampersand character (&) must be expressed using the actual character in the pattern. This attribute takes a string value.

    The following parameters inside the URL pattern are placeholders. When the business card is rendered at runtime, the parameters are replaced by the real values.

    • {email}. The profile user's email address.

    • {userid}. The profile user's user ID.

    • {uid}. The profile user's UID.

    • {displayName}. The profile user's full name.

    • {workPhoneNumber}. The profile user's work telephone number.

    person_card_service_name_js_eval Represents a JavaScript statement used by the framework to generate the text displayed in the business card for the given service.

    This attribute takes a string value.

    We can add a resource string as the value for this attribute. The resource string must include "generalrs." before the resource bundle key. See Add custom strings for widgets and other specified scenarios for information about how to add resource strings to the business card.

    For example:

    <sloc:serviceReference serviceName="googleService"
      href="http://www.google.com"   enabled="true"
      ssl_href="http://www.google.com"   ssl_enabled="false"
      person_card_service_url_pattern="/search?hl=en&amp;q={email}&amp;btnG=Google+Search"
      person_card_service_name_js_eval="'Google Me'"/>
    
    <sloc:serviceReference serviceName="quickr"
      href="http://quickrdomino.tap.ibm.com/servlet"   enabled="true"
      ssl_href="https://quickrdomino.tap.ibm.com/servlet"   ssl_enabled="true"
      person_card_service_url_pattern="/QuickrEntry?email={email}"
      person_card_service_name_js_eval="generalrs.label_personcard_quickrlink"/>
    
    <sloc:serviceReference serviceName="communities"
      href="http://wd40.lotus.com/communities"   enabled="true"
      ssl_href="https://wd40.lotus.com/communities"   ssl_enabled="true"
      person_card_service_url_pattern="/service/html/allcommunities?email={email}"
      person_card_service_name_js_eval="generalrs.label_personcard_communitieslink"/>
    
    <sloc:serviceReference serviceName="profiles"
      href="http://wd40.lotus.com/profiles"   enabled="true"
      ssl_href="http://wd40.lotus.com/profiles"   ssl_enabled="true"
    person_card_service_url_pattern="/html/simpleSearch.do?searchFor={email}&amp;searchBy=email"
      person_card_service_name_js_eval="generalrs.label_personcard_profilelink"/>

  4. Edit the service-location.xsd file to define the service names used. For example:
    <xsd:simpleType name="serviceNames">
        <xsd:restriction base="xsd:string">
          <xsd:enumeration value="activities" />
          <xsd:enumeration value="blogs" />
          <xsd:enumeration value="communities" />
          <xsd:enumeration value="directory" />
          <xsd:enumeration value="dogear" />
          <xsd:enumeration value="personTag" />
          <xsd:enumeration value="presenceAwareness" />
          <xsd:enumeration value="profiles" />
          <xsd:enumeration value="sametimeLinks" />
          <xsd:enumeration value="homepage" />
          <xsd:enumeration value="googleService" />
         <xsd:enumeration value="quickr" />
        </xsd:..>
      </xsd:..>

  5. After making changes, check the configuration files back in, and we must do so during the same wsadmin session in which you checked them out for the changes to take effect. See Applying common configuration property changes for information about how to save and apply the changes.

    If we added third-party links to the Profiles business card and those links are no longer needed, we can remove them by modifying LotusConnections-config.xml to undo or comment out what was done to add them. We cannot remove third-party links using JavaScript.


Parent topic:
Customize the Profiles business card


Related:

Apply common configuration property changes