Terminology
An archive provider is a mechanism that delivers data in a form suitable for display or processing as a two-dimensional sheet, much like a spreadsheet. There are several terms used throughout the code that need to be precisely defined:- A row is one row of data, typically displayed as one line. Data is delivered one row at a time to the client.
- Each row consists of one or more columns, where each column has a (predictable) name, and several kinds of content (display value, raw value, tooltip, …)
- Each row also has a name, called an entity. The entity name is a string and can be thought of as defining a row type. A provider will always define at least one entity.
- The combination of entity and primary key (a 32-bit integer) uniquely identifies a row in the result from a provider
What is an archive provider
Fundamentally, an archive provider is similar to a database view. They each have a unique name, expose a fixed set of selectable fields, and mask their join logic. Underneath the hood lies a dynamic system that, based on the requested fields, creates absolute necessary joins only. This of course increases query performance and throughput. An archive provider is determined by 3 main properties:- Archive Name
- Available Entities
- Available Columns
Why use an archive provider?
The functionality of an archive provider is basically searching on associate, contact, or project and retrieving any combination of a large number of available columns, arbitrarily sorted.Available archive providers
There is a long list of archive providers that give access to virtually the entire database. The Find providers are some of the most common:- FindAppointment Archive Provider
- FindContact Archive Provider
- FindDocument Archive Provider
- FindProject Archive Provider
- FindSale Archive Provider
- FindSelection Archive Provider
SuperOffice.CRM.ArchiveLists.
Getting started
Example
The example below shows how we can read the name+department as one field, and the postal address city as a separate field. Unlike an entity, the archive will not load categories or email addresses unless they are requested.Use AI tools
If you use an AI coding assistant such as Claude Code or Cursor to build against SuperOffice, install the SuperOffice CRM skill for up-to-date, agent-ready context.Install the skill for your product.