APPENDIX C. TECHNICAL NOTES

AdvancedSearchDocument with showTrustees

ShowTrustees” is a parameter that should be used carefully because it has a direct impact on the performance.

When security info is NOT included in the search:

  1. Filter and order criteria are processed through the PCDSearch object and document properties are retrieved.
  1. Properties are included in an XML file.
  1. XML is returned.

In this case only the PCDSearch object is used so the process is quite fast.

When security info IS included in the search:

  1. Filter and order criteria are processed through the PCDSearch object and document properties are retrieved.
  1. For each document, the PCDSQL object is used to obtain information about associated user and groups.
  1. All information is included in an XML file.
  1. XML is returned.

In this case two process and two different objects are used. The XML file increases in size due the security information inclusion so it takes more time than the previous one.

AdvancedSearchDocumentByTrustee

In this case the PCDSearch object is used to process searching and order criteria. The PCDSQL object is also needed to query access rights so it has direct impact on the process time.

  1. Filter and order criteria are processed through the PCDSearch object and document properties are retrieved.
  1. Through the PCDSQL object, an array is created with all of the IDs of the documents to which the user/group has access.
  1. Each document is checked to see if it can be found in the array of accessible document If found, it is included in an XML file.
  1. Furthermore, if “True” is specified for in the “showTrustees” parameter, the PCDSQL object is used again to retrieve information about associated users and groups.
  1. All information is included into XML file.
  1. XML is returned.

Recommended Usage:

Use filter criteria in order to minimize the number of documents retrieved by the PCDSearch object in step 1 so the number of documents to be processed on steps 3 and 4 will be acceptable in terms of response time.

Use the parameter “rowsLimit” based on the demands for each operation.