Configure Profiles directory search options 

Configure directory search options in Profiles to specify the fields that you want to allow users to use when performing a search.


Before starting

To edit configuration files, use the wsadmin client. See Starting the wsadmin client for information about how to start the wsadmin command-line tool.


About this task

A directory search in Profiles allows the user to search using multiple fields. As administrator, you can customize the Search the Directory form to include custom fields. You can also specify which predefined fields are available on the search form. For example, to protect the privacy of your users, you might want to prevent an email address field from displaying on the form.


Procedure

To configure directory search options for Profiles...

  1. From the dmgr host:

      cd $DMGR_PROFILE/bin
      ./wsadmin.sh -jython
      execfile("profilesAdmin.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, pick the node where the file is stored.

  2. Check out the Profiles configuration files:

      ProfilesConfigService.checkOutConfig("<working_directory>", "<cell_name>")where:

      • <working_directory> is the temporary working directory to which the configuration XML and XSD files are copied and are stored while you make changes to them. Use forward slashes (/) to separate directories in the file path, even if you are using the Microsoft Windows operating system.

          Note: AIX and Linux only: The directory must grant write permissions or the command does not complete successfully.

      • <cell_name> is the name of the WAS cell hosting the Profiles application. This argument is required. It is also case-sensitive, so type it with care. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor: print AdminControl.getCell()

      For example:

      • AIX or Linux:

          ProfilesConfigService.checkOutConfig("/opt/prof/temp","foo01Cell01")

      • Microsoft Windows:

          ProfilesConfigService.checkOutConfig("c:/prof/temp","foo01Cell01")

  • Open the profiles-config.xml file in a text editor.

  • Locate the <searchLayout> section and edit it to specify which fields should display on the Search the Directory form.

    • To enable a predefined attribute for search, include the following line for each attribute that you want to include:

        <attribute showLabel="true"><attribute_name></attribute>

    • For a complete list of the predefined attributes that can be included in the Search the Directory form, see Profiles directory search attributes.

    • To enable a custom extension attribute for search, include the following line for each custom attribute that you want to include:

        <extensionAttribute showLabel="true" labelKey="label.custom.<attribute_id>" bundleIdRef="<bundle_name>" extensionIdRef="<attribute_id>"/>

    • Use the optional hideOnSearchUIForm attribute to control whether the custom field displays in the Search the Directory form. When this property is set to true, the custom field does not display in the user interface. For example:

        <extensionAttribute showLabel="true" hideOnSearchUIForm="true" extensionIdRef="schoolName" />

    • In the example above, the schoolName custom extension attribute is hidden in the directory search user interface, but because the attribute is enabled for search, the following URL can still be used to find the result:

        http://yourco.com/profiles/html/advancedSearch.do?keyword=&displayName=&preferredFirstName=Joseph&preferredLastName=&profileTags=&jobResp=&experience=&background=&organizationTitle=&workLocation%24city=&workLocation%24state=&countryDisplayValue=&email=&telephoneNumber=&extattr%24schoolName=yourschool&lang=en_us

        Note: For more information about adding custom extension attributes to Profiles, see Add custom extension attributes for Profiles. For information about how to add custom strings in Profiles, see Add custom strings for widgets and other specified scenarios.

      For example:

      <searchLayout>
         <attribute showLabel="true">displayName</attribute>
         <attribute showLabel="false">preferredFirstName</attribute>
         <attribute showLabel="false">preferredLastName</attribute>
         <attribute showLabel="true">profileTags</attribute>
         <attribute showLabel="true">jobResp</attribute>
         <attribute showLabel="false">departmentTitle</attribute>
         <attribute showLabel="false">experience</attribute>
         <attribute showLabel="false">background</attribute>
         <attribute showLabel="true">organizationTitle</attribute>
         <attribute showLabel="false">workLocation.city</attribute>
         <attribute showLabel="false">workLocation.state</attribute>
         <attribute showLabel="false">countryDisplayValue</attribute>
         <attribute showLabel="false">email</attribute>
         <attribute showLabel="false">telephoneNumber</attribute>
         <extensionAttribute showLabel="true" labelKey="label.custom.schoolName" bundleIdRef="education" extensionIdRef="schoolName"/>
      </searchLayout>

  • After making changes, check the configuration files back in, and do so during the same wsadmin session in which you checked them out for the changes to take effect. See Apply property changes in Profiles for information about how to save and apply your changes.


    Parent topic

    Customize Profiles search

    Related concepts
    Add custom extension attributes for Profiles


    Related tasks


    Hiding email addresses
    Exposing email addresses
    Add custom strings for widgets and other specified scenarios
    Apply property changes in Profiles


       

     

    });

    +

    Search Tips   |   Advanced Search