Lookup Specification

From Grooper Wiki

This article is about the current version of Grooper.

Note that some content may still need to be updated.

2025

A Lookup Specification defines a "lookup operation", where existing Grooper fields (called "lookup fields") are used to query an external data source, such as a database. The results of the lookup can be used to validate or populate field values (called "target fields") in Grooper. Lookup Specifications are created on "container elements" (data_table Data Models, insert_page_break Data Sections and table Data Tables) using their Lookups property. Lookups may query using all single-instance fields relative to the container element (including those defined on parent elements up to the root Data Model), but cannot be used to populate a field value on a parent of the container element.

Introduction

A Lookup Specification in Grooper defines how information is retrieved from external sources to validate or populate fields within a Data Model. Lookups are essential for connecting your extracted data to authoritative sources, such as databases, web services, or reference lists, ensuring data accuracy and completeness.

Lookups are used to:

  • Validate extracted values against trusted sources.
  • Populate additional fields based on related information.
  • Enforce business rules by cross-referencing data.

Benefits:

  • Ensures data consistency and accuracy.
  • Automates population of related fields, reducing manual entry.
  • Supports complex validation scenarios.

Drawbacks:

  • May introduce dependencies on external systems.
  • Can increase processing time if sources are slow or unavailable.
  • Requires careful configuration to avoid mismatches or errors.

How they work

Lookup Specifications operate by defining a set of "lookup fields" and "target fields" within container elements such as Data Models, Data Sections, and Data Tables. When a lookup is triggered, Grooper queries the external source using the values from the lookup fields. The results can then be used to validate the original data or to populate the target fields with new information.

For example, a Data Field for "Customer ID" might use a lookup to validate the ID against a database and automatically fill in the "Customer Name" and "Address" fields.

Lookup Specifications

Grooper supports several types of Lookup Specifications, each designed for different integration scenarios:

Database Lookup
Connects to a database using a Data Connection and executes a SQL query. Commonly used for validating or enriching data from enterprise databases.
CMIS Lookup
Queries a CMIS Repository using CMISQL to retrieve metadata or content information. Useful for integrating with document management systems.
Lexicon Lookup
Uses a Lexicon (reference list or dictionary) to match and validate field values. This type is less common but valuable for standardized lists or fuzzy matching.
Web Service Lookup
Sends requests to a web service endpoint (REST or SOAP) and parses the response to populate fields. Enables integration with cloud services and APIs.
XML Lookup
Extracts data from an XML file or resource using selectors and mappings. Ideal for scenarios where reference data is stored in XML format.

Each Lookup Specification is configured within a Data Model, Data Section, Data Table, or Data Field, allowing flexible integration with a wide range of external sources.

Where are Lookup Specifications

  1. Lookup Specifications can be found on container elements like Data Models, Data Sections, and Data Tables.
  2. The Lookups property is found within the Behavior section of the property grid of the selected Node.
  3. Click the ellipsis button to open the "List of Lookup Specifications" collection editor.
  4. Click the add button to see a list of selectable Lookup Specifications.
  5. Select a Lookup Specification from the drop-down menu.
  6. Once a specification is selected it will be added to the collection.
  7. Once selected, you can edit the properties of the Lookup Specification in its property grid.

See also