std.GetCPObjectIdxFulltext
This job returns the indexable content of a DMS object to the full-text indexer. The content is not returned as a data field but written into a temporary file on the server; the caller receives the path and transfers the file itself for reading.
The file contains the extracted full text together with the metadata required by the indexer
(object IDs, path information, index field values, mime type) in a format understood by the
full-text backend. The source of the full-text content is the
osftcontent table.
The typical call context is the follow-up job after std.GetNextCPMessage and std.GetCPObjectInfo in the CP lifecycle.
|
This job is not listed in the official enaio® standard engine overview ( |
1. Input Parameters
| Name | Type | Required | Description |
|---|---|---|---|
|
INT |
Yes |
Numeric ID of the DMS object the indexing input shall be produced for. |
|
INT |
Yes |
Numeric object type ID. Used to embed the correct index field definitions and path information. Should match the actual object type — if unknown, it can be determined beforehand via std.GetCPObjectInfo. |
|
INT |
Yes |
Reserved; always pass |
2. Output Files
| Name | Description |
|---|---|
|
Path and name of the temporary indexing file (one file per call, under a per-call freshly generated GUID). The caller is responsible for fetching the file through the regular file transfer layer and releasing it afterwards so the server can clean it up. |
3. Return Value
(INT): 0 = job successful, otherwise error code. Even if no full-text content is
currently available for the object in osftcontent, the
call completes successfully — the resulting file then contains only the metadata without a
full-text block. The caller detects this and reacts on the application level (typically:
requests a rendition via std.CreateCPMessages with
CreateRenditionMessages=true and sets osftslog.flag2 = 404, see
value range flag2).
4. Notes
-
Read-only on the database side — no DB writes. However, a temporary file is created on the server; a result that is never fetched leaves dead files behind.
-
A new file with its own GUID is produced for every call — two successive calls for the same
ObjectIDreturn different paths with potentially identical content. -
The job is intended for the full-text indexer service. Other worker services (e.g. the rendition cache) do not read full-text content through this path.
5. Related Jobs
-
std.GetNextCPMessage — returns the
ObjectIDthat typically feeds directly into this job (queuesFULLTEXTIDXandFULLTEXTDOC) -
std.GetCPObjectInfo — usually called immediately before, to decide via
HasVolltextFilewhether full-text content is available and which pipeline branch is responsible -
std.CreateCPMessages — called by the indexer when the returned file contains no full-text block, to request a rendition
-
std.DispatchCPMessage — acknowledges the underlying CP message after the indexing is complete
-
std.CPRenditionChanged — triggers a re-indexing; this job is then called again, this time with a populated
osftcontent