Using Filters to Hide Data That Is Not Directly Visible

This topic describes how to hide data that is not directly visible for accounts from a custom Microsoft Outlook view that Siebel CRM Desktop uses. It describes how to prevent Siebel CRM Desktop from storing data in the client. For information about how to prevent Siebel CRM Desktop from getting data from the Siebel Server and storing it in the client, see Using Query By Id to Hide Data That is Not Directly Visible.

To use filters to hide data that is not directly visible

  1. Use an XML editor to open the siebel_basic_mapping.xml file.

  2. Locate the code described in the following section.

  3. Examine the following items in the code you located:

    • The view id is all_accounts.

    • The following attribute in the definition for the User1 field instructs Siebel CRM Desktop to remove data that is not directly visible for an account from the view:

      true
      
  4. Use an XML editor to open the views.xml file and then locate the following view:

    <str key="all_accounts">
    
  5. Verify that the following code in the CDATA section is set to true:

    <filter>&quot;http://schemas.microsoft.com/exchange/extensionattribute1&quot; 
    &lt;&gt; 'true'</filter>
    
  6. Use an XML editor open the connector_configuration.xml file, and then make sure the state_field for the Account type uses the following value:

    <type id="Account" state_field="ObjectState">
    
  7. Verify that Siebel CRM Desktop applies the DASL filter:

    1. Open the Siebel CRM Desktop client.

    2. Navigate to the Accounts list.

    3. Right-click in the Accounts list and then choose Advanced View Settings.

    4. In the Advanced View Settings: Siebel Accounts dialog box, click Filter.

    5. In the Filter dialog box, click the SQL tab.

    6. Verify that the Find Items That Match These Criteria window includes the value that you set in step 2. Siebel CRM Desktop displays this value in the following format:

      http://schemas.microsoft.com/exchange/extensionattribute1 <> 'true'
      
    If you copy this view, then Siebel CRM Desktop also copies this filter. This configuration allows you to create other views that you can use with Siebel CRM data.

Account Code

The following code specifies account information in the siebel_basic_mapping.xml file:

<type id="Account" display_name="#obj_account_plural" folder_type="10">
  <form message_class="IPM.Contact.SBL.Account" icon="type_image:Account:16" 
large_icon="type_image:Account:32" display_name="#obj_account">SBL Account</form>
  <alt_messageclasses>
  </alt_messageclasses>
  <custom_views default_name="#view_siebel_accounts">
    <view id="all_accounts" name="#view_siebel_accounts"></view>
  </custom_views>
  <field id="ObjectState">
    <reader>
      <mapi_user>
        <user_field id="sbl ObjectState" ol_field_type="3"/>
        <convertor>
          <integer/>
        </convertor>
      </mapi_user>
    </reader>
    <writer>
      <multiwriter>
        <outlook_user>
          <user_field id="sbl ObjectState" ol_field_type="3"/>
          <convertor>
            <integer/>
          </convertor>
        </outlook_user>
        <outlook_std>
          <outlook_field id="User1"/>
          <convertor>
            <bitmask2string>
              <rule mask="134217728" result="134217728" value=""/>
              <rule mask="1" result="1" value="true"/>
              <rule mask="1073741824" result="1073741824" value="true"/>
            </bitmask2string>
          </convertor>
        </outlook_std>
        <outlook_user>
          <user_field id="sbl IndirectlyVisible" ol_field_type="6"/>
          <convertor>
            <bitmask2bool>
              <condition mask="1" result="1" eq="true"/>
            </bitmask2bool>
          </convertor>
        </outlook_user>
      </multiwriter>
    </writer>
  </field>