Components and Structure

Components and Structure

Components and Structure

Ownership of Components by Organizations

Each component in the Kodexa platform is uniquely owned by a single organization. Nevertheless, components can be designated as "public", permitting their utilization by other organizations.

Unique Identification of Components

Components are distinctively identified by their reference (or ref), which comprises the organization's slug, the component's slug, and its version. For example:

org_slug/component_slug:1.0.0

Diverse Types of Components

Kodexa hosts various component types:

  • Models: Versatile components for parsing, transforming, and labeling documents.
  • Assistant Definitions: Blueprints for assistants, which can be instantiated within projects.
  • Document Stores: Repositories for storing files and their corresponding document representations.
  • Data Stores: Facilities for housing structured data extracted from documents.
  • Taxonomies: Systems representing data structures within Kodexa.
  • Project Templates: Tools to create and publish new project templates for the user interface.
  • Actions: Fundamental units of functionality in a pipeline.
  • Pipelines: Scalable pipeline definitions for reuse.

Projects and Other Entities

Projects serve as the mechanism to amalgamate various components to address a specific use-case. Components are viewed as the fundamental building blocks, whereas projects are more tailored to specific problems or processes. Entities in this context refer to projects, individual documents, extracted data, and more. Typical entities include:

  • Projects
  • Documents
  • Data objects
  • Assistants, and others

Distinction between Components and Entities

Components primarily capture metadata about a component and are deployable, while entities, each with a unique ID, store data or link to content (like documents). Entities are typically managed by a type of component or fall under the organization or platform's purview.

This distinction is critical to demonstrate how a component forms part of the organizational configuration in the platform for a use-case, whereas entities are generally associated with the projects, data, or documents being worked on.