Known Problems


This section contains:

Known Problems — Client API

 

Known Problems — GDK API

 

Known Problems — K2 Spider API

 

Known Problems — ODK and Parametric APIs

 

Known Problems — Reporting API

 

Verity Credential and Gateway information for the K2 C & Java APIs

 


Known Problems — Client API

VSearch user-defined category fields

 

If user-defined category fields are to be returned from a Tree Category Search, set the fields to be returned using the VSearch.addField() method, not the TreeCatSearchArguments.addField() method. The TreeCatSearchArguments.addField() does not pass the requested field names to the K2 Server correctly.

VSearch and Microsoft Exchange gateway

 

If the Microsoft Exchange gateway is authenticated through VSearch, set the optional domain credential (KEY) using the AuthRepositoryArguments.optionalCredential() method. The domain credential has always been required for Exchange authentication but the Exchange gateway has been reporting it as optional up through K2 4.51. Currently, it is now reported correctly as required; however, it should still be set as optional in VSearch.

Compiler issues

 

For the Solaris and HPUX platforms, you must compile your programs with the C++ compiler. For other platforms (AIX, Linux, and NT) you may use the C compiler.

(86521)

Change to behavior of “quick” search in VSearch

 

In versions prior to 5.5, the default quick search was on, which caused fields to be retrieved at search time. With version 5.5, quick search is off, which causes fields not to be read until results-retrieval time.

Workaround: If you need pre-version 5.5 behavior, you must explicitly call the setQuickSearch method.

(90686)

Default field retrieval in VSearch

 

By default, a search obtains the following fields:

SCORE

URL

DOC

FileName

Snippet

Size

VdkVgwKey

Title

K2DOCKEY

If you do not want each of these fields, call the removeAllFields method to remove all fields and then call the addField method for each field that you want to add.

(85248)

Input string encoding for non-1252 character set input

 

It is no longer necessary to call the setUrlStringsMode method for input strings, nor is it necessary to call URLEncode::encode on the input strings.

You only need to specify the charMap (using VSearch::setCharMap ). Backward compatibility is supported; if you call URLEncode::encode for the input string and then call setUrlStringsMode(true) , your code, although no longer necessary, need not change.

(90377)


Known Problems — GDK API

Error number changes in the I18N library

 

The error code range used by the I18N library changed. Gateways developers using this library need to re-compile their code.

(77433)

VdkVgwKey names ending with file extensions

 

When a VdkVgwKey name ends with a valid file extension, such as .doc , .xls , .pdf , and so on, VDK attempts to load a filter for the specified file type. This can cause problems if the content of the virtual document does not match the type indicated by the key.

(83054)

Exposing a custom gateway in the K2 Dashboard

 

To expose a custom gateway in the K2 Dashboard, you must edit the component.xml file as follows:

1. Open the component.xml file , stored at

install_dir\k2\common

where install_dir is the Verity installation directory, typically c:\Program Files\Verity (on Windows).

2. Locate the <ComponentGroup type="gateway"> section, which lists component alias sections for specific gateways.

3. Add a line for the custom gateway, as in the following example:

<Component alias="gateway"
   description="my custom gw"
   dirAlias="bin"
   path="vgwsamp.dll"
   indicatorTypeMask="0040"
   version="5.5.0" />

The component alias must be gateway . The indicatorTypeMask must be the next unique value in the bit mask (for example, if the preceding line shows a value of 0010 , enter 0020 . If the preceding line shows 0040 , enter 0080 ).

4. Save and close the component.xml file.

5. Restart k2admin .

(90817)


Known Problems — K2 Spider API

Functions to free allocated resources have been changed

 

The K2S_ConnectNew() function in the K2 Spider API has been changed to be more consistent with the other K2 Spider API functions.

Instead of passing in SrvConnectNewOut , you pass a pointer to it. K2 Spider allocates memory for the structure internally and assigns the pointer to the right value of the allocated memory, as in the following example:

SrvConnect connect;
SrvConnectNewArgRec argRec;
SrvConnectNewOut connectOut;

argRec.serverSpec = myServerSpec;
error = K2S_ConnectNew(&connect, &argRec, &connectOut);
...
K2S_FreeStruct(connectOut);
...
K2S_ConnectFree(connect);
...

Following a successful call to the K2S_ConnectNew() function, use the K2S_FreeStruct() macro to free memory used by the output structure SrvConnectNewOut .

You should no longer use the C-library function free() for this purpose.

Additionally, you should use the K2S_ConnectFree() function to free a connection to the K2 Spider server. The previously documented function—SrvConnectFree() —will continue to work, but it does not adhere to the convention followed in other K2 APIs.

(83131)


Known Problems — ODK and Parametric APIs

Specifying an existing topic with the OdkTpsetTpcNew function

 

Using the OdkTpsetTpcNew function to add a topic into a topic set through a query of an existing named topic is equivalent to renaming the topic. The original topic in the topic set is no longer searchable.

(85523)

Write access to collection by the thematic mapping engine and the Logistical Regression Classifier

 

Because thematic mapping and the LRC build spanning word lists, they require write access to the collections involved. Write access is not required when the spanning word list already exists in the collection

(85477)

No links to JavaShared Javadocs from ODK/Parametric Javadocs

 

Links between ODK and parametric Javadocs do not exist. You must check JavaShared Javadocs explicitly when a link to a Verity API does not exist in the ODK or parametric Javadocs. Specifically, you must check the JavaShared Javadocs for information about the com.verity.rpc.RemoteContext class.

(85648)

Creating parametric indexes from multi-byte character set data in an XML file

 

When creating a parametric index from an XML file that contains data in a multi-byte character set, the data must be converted to UTF-8 first. For example, if you execute mkpi -locale uni -xmldata data.xml , the data in the data.xml file must be in UTF-8.

Workaround: You can use the codeconv utility shipped with K2 to convert the file and rebuild the parametric index with the uni locale; for example, mkpi -locale uni .

(90031)

Additional information about metadata-only indexing

 

The section “Metadata-Only Indexing” on page 104 of the Verity Organization Developer’s Kit Programming Guide shows an example of specifying that no content is available for the document being indexed (see Step 3):

doc.addContentData(null);

This technique has the advantage that you can provide document content for some of the documents in the collection but not others. The disadvantage is that the viewing mechanism does not work because the document content would not be available at viewing time.

Alternatively, you can modify the style.ddd and style.dtd style files to remove all the DOC dispatch fields. This technique enables viewing to work from a K2 Serve; in which case, you also can add the desired metadata fields to style.dft with constants to provide desired formatting. For more information about style files and formatting using the style.dft style file, see the Verity Collection Reference.

(90751)


Known Problems — Reporting API

The default K2 Report server is on port 9949

 

Sample code in Listing 2 of the Verity K2 Reporting API Developer Note refers to port 9920, which is the K2 Server port; it should refer to port 9949, the K2 Report server port, as follows:

ctx.setServerSpec("localhost:9949");

(90926)


Verity Credential and Gateway information for the K2 C & Java APIs

Verity credentials are used in two components. They are used by the:

Verity gateways to authenticate a K2 user

 

K2 Ticket Server Login modules, such as the LDAP login module

 

The Verity credentials fall into two classes as accessed through the C and Java APIs:

Those with values set internally

 

Those where the client must set the values

 

NOTE: Some of the credentials types are reserved for future use in new gateways.

Following is a list of credentials, descriptions and associated values:

 


Credential

Description

Value

FLAG_KEY

Flags for the certificate.

0

USERNAME_KEY

User name.

1

PASSWD_KEY key

Password.

2

DOMAIN_KEY

Domain name.

3

REPOSITORY_KEY

Repository pointer.

4

ADDR_KEY

An internal physical computer address key.

5

PORT_KEY

IP port.

6

HOST_KEY

Host name.

7

CERTIFICATE_KEY

Certificate.

8

PEERNAME_KEY

Peer service/object name.

9

LICENSE_KEY

License information.

10

MBNMS_KEY

List of mail boxes.

11

SRVNMS_KEY

List of servers.

12

EXTENSION_KEY

Application specific.

13

PREAUTHKEY Flag

Indicates whether DN_KEY and GROUPS_KEY contain valid information.

14

DN_KEY

Distinguished Name when using Pre-authenticated user with LDAP.

15

GROUPS_KEY

Group Membership List when using Pre-authenticated user with LDAP.

16

USER_PARAMS

Application / User-specific data in name = value pairs.

17

MAXCREDKEY

Maximum Credit denotes last credential and increments the last number of credential.

 


Following is a list of credentials currently used by Verity gateways:

 


Credential

Description

Value

USERNAME_KEY

User name.

1

PASSWD_KEY key

Password.

2

DOMAIN_KEY

Domain name.

3

REPOSITORY_KEY

Repository pointer.

4

MBNMS_KEY

List of mail boxes.

11

EXTENSION_KEY

Application specific.

13

PREAUTHKEY Flag

Indicates whether DN_KEY and GROUPS_KEY contain valid information.

14

DN_KEY

Distinguished Name when using Pre-authenticated user with LDAP.

15


Following is a list of credentials that are not currently used, and are reserved for future use.

 


Credential

Description

Value

FLAG_KEY

Flags for the certificate.

0

ADDR_KEY

An internal physical computer address key.

5

PORT_KEY

IP port.

6

HOST_KEY

Host name.

7

CERTIFICATE_KEY

Certificate.

8

PEERNAME_KEY

Peer service/object name.

9

LICENSE_KEY

License information.

10

SRVNMS_KEY

List of servers.

12


Following is a list of credentials that are used only by the Login modules:

 


Credential

Description

Value

GROUPS_KEY

Group Membership List when using Pre-authenticated user with LDAP.

16

USER_PARAMS

Application / User-specific data in name = value pairs.

17

MAXCREDKEY

Maximum Credit denotes last credential and increments the last number of credential.

 



Required and Optional Credentials for Gateways

The credential lists for each Verity gateway are obtained from the security interface of each gateway API when invoked by VDK. K2 Server invokes the VDK security API, obtains the credentials and then populates the K2 repository structures and classes. See the Verity K2 Gateway Developer's Kit API Reference Guide for concepts and details.

Some of the credentials, specifically the REPOSITORY_KEY, are VDK structures whose values are set internally in K2 Server. The REPOSITORY_KEY VDK structure is used for access to a particular Verity gateway, and the value is obtained by function calls to the Verity gateway itself and tracked internally. The REPOSITORY_KEY credential is not a client credential. The K2 Ticket Server sets the PREAUTHKEY credential. See the Verity Security API Guide for further information on usage of the PREAUTHKEY. The REPOSITORY_KEY is in either the required or optional column depending upon the design of the particular Verity gateway.

The following list indicates required and optional credentials for each Verity gateway:

 


Gateway

Description

Required Credentials

Optional Credentials

vgwfsys

File System gateway

USERNAME_KEY
PASSWD_KEY

REPOSITORY_KEY*
DOMAIN_KEY
PREAUTH_KEY*

vgwhttp

HTTP gateway

USERNAME_KEY
PASSWD_KEY
REPOSITORY_KEY*

DOMAIN_KEY

vgwnotes

Notes gateway

USERNAME_KEY
PASSWD_KEY
REPOSITORY_KEY*

DN_KEY
PREAUTH_KEY*

vgwmsxch

Microsoft Exchange gateway

REPOSITORY_KEY*
USERNAME_KEY
PASSWD_KEY
MBNMS_KEY

DOMAIN_KEY**

vgwodbc

ODBC gateway

USERNAME_KEY
PASSWD_KEY
REPOSITORY_KEY*

none

vgwdctm

Documentum gateway

USERNAME_KEY
PASSWD_KEY

REPOSITORY_KEY*
DOMAIN_KEY
PREAUTH_KEY*

 

FileNet gateway
NOTE: This gateway is not yet officially supported

USERNAME_KEY
PASSWD_KEY

DOMAIN_KEY
EXTENSION_KEY


* Set internally

** The DOMAIN_KEY has always been required for Exchange gateway. However in K2 V4.5.1 and earlier it was reported by the gateway as optional. In K2 V5.0 it is reported in the Required credential list.

(77341)