Goobi viewer core 26.03.8 API

Packages
Package
Description
 
REST API layer of the Goobi viewer.
Root package for the Goobi viewer REST API, containing shared infrastructure such as the abstract URL manager and sub-packages for bindings, filters, models, and versioned endpoints.
JAX-RS name-binding annotations used to associate request filters and interceptors with specific REST resources, such as access control, authentication, and IIIF presentation guards.
JAX-RS exception mappers that translate application and web exceptions into structured HTTP error responses for the REST API.
JAX-RS request and response filters implementing cross-cutting concerns such as access control, CORS headers, IIIF image parameter validation, and PDF/image delivery guards.
Shared data transfer objects and helper classes used across REST API versions, including generic request parameters, response wrappers, and user-facing model facades.
Model classes representing Solr index field metadata exposed through the REST API, such as field information descriptors used for index inspection endpoints.
Model classes for the application health and monitoring REST endpoints, encapsulating the aggregated status information returned by monitoring checks.
Model classes for named-entity recognition (NER) results exposed through the REST API, representing tags, tag groups, page and document references, and aggregated tag counts.
Model classes for usage statistics data transferred via the REST API, including request parameters and response objects for usage tracking information.
Model classes for asynchronous background task management in the REST API, representing task descriptors, parameters, and the central task manager.
Builder classes that assemble REST response payloads for complex resources such as annotations, IIIF manifests, bibliographic text, table of contents, and bookmarks.
Custom Jackson serializers for REST API response objects, providing specialized JSON serialization for translated text and translation list types.
Root package for version 1 of the Goobi viewer REST API, containing the JAX-RS application bootstrap, URL constants, and sub-packages for all v1 endpoint resources.
REST resources for the v1 annotations endpoint, providing access to Web Annotation data model annotations associated with digitized records and pages.
REST resources for user authentication in the v1 API, handling login, session management, user profile data, and avatar delivery.
REST resources for querying external authority data sources in the v1 API, enabling retrieval of norm data entries from configured authority providers.
REST resources for managing bookmark lists in the v1 API, supporting both session-based and user-account-based bookmark collections.
REST resources for cache management in the v1 API, providing administrative endpoints to inspect and invalidate application-level caches.
REST resources for managing registered client applications in the v1 API, including registration, update, and access token management for API clients.
REST resources for the CMS module in the v1 API, providing access to CMS pages, media assets, sliders, and image delivery for content management functionality.
REST resources for digital collection browsing in the v1 API, exposing collection hierarchies and metadata as IIIF-compatible collection responses.
REST resources for the crowdsourcing module in the v1 API, handling campaign item retrieval and activity log entries for user-contributed transcription and annotation work.
REST resources for Solr index interaction in the v1 API, providing endpoints for querying index field information and triggering indexer operations.
REST resources for localization in the v1 API, providing access to translated message keys and locale-specific label data for viewer UI internationalization.
REST resources for media delivery in the v1 API, providing image serving for external URLs, general media files, and temporary upload management for media assets.
REST resources for application health monitoring in the v1 API, exposing a monitoring endpoint that reports the operational status of the viewer instance.
REST resources for digitized record access in the v1 API, providing endpoints for record metadata, pages, sections, file downloads, calendars, change discovery, and RSS feeds.
REST resources for image and PDF delivery within record contexts in the v1 API, covering IIIF image API endpoints for record pages, file images, and PDF generation.
REST resources for full-text search in the v1 API, providing OpenSearch description and structured search result endpoints for querying the Solr index.
REST resources for supplementary linked-data services in the v1 API, such as JSON-LD context definitions for collection extent and tag list service descriptions.
REST resources for statistics in the v1 API, including moving wall access restriction statistics and sub-packages for usage tracking endpoints.
REST resources for usage statistics in the v1 API, providing endpoints to query and report aggregated access and usage data for digitized records.
REST resources for asynchronous task management in the v1 API, allowing clients to submit, monitor, and retrieve the results of long-running background operations.
Root package for version 2 of the Goobi viewer REST API, containing the JAX-RS application bootstrap, URL constants, and sub-packages for all v2 endpoint resources.
REST resources for the v2 annotations endpoint, providing access to Web Annotation data model annotations with the revised routing and response structure of API v2.
REST resources for OAuth-based authorization flows in the v2 API, handling authorization code exchange and related tooling for secure API access delegation.
REST resources for the CMS module in the v2 API, providing updated endpoints for CMS media retrieval and IIIF-compatible image delivery of CMS assets.
REST resources for digital collection browsing in the v2 API, exposing collection hierarchies and metadata with the revised response structure of API v2.
REST resources for external image delivery in the v2 API, providing IIIF-compatible image serving for externally referenced media URLs.
REST resources for digitized record access in the v2 API, providing updated endpoints for record metadata, pages, sections, and file downloads with the revised v2 response structure.
REST resources for IIIF image delivery within record contexts in the v2 API, covering image API endpoints for record page images and associated file images.
Core controller and utility classes of the Goobi viewer.
Configuration-driven value filters used to include or exclude data based on rules defined in the viewer configuration.
Utilities for file system operations, currently providing ZIP archive extraction support.
Handlers and utilities for image and media delivery, including IIIF URL construction, thumbnail generation, PDF handling, watermarking, and 3D object access within the Goobi viewer.
JSON-related utilities and configuration classes, providing metadata configuration for JSON output and type-safe string conversion helpers for use with JSON serialization.
Lightweight model and configuration value objects used across the controller layer, such as caching maps, labeled values, feature-set and web-resource configurations, and view attribute containers.
Classes for reading and enriching ALTO XML full-text data, including coordinate-based text extraction and named-entity highlighting within transcribed page content.
ActiveMQ-based message queue infrastructure for asynchronous task processing within the Goobi viewer, including broker configuration, queue lifecycle management, message dispatch, and handler registration.
Utilities for executing operating system shell commands from within the Goobi viewer, providing process invocation and output capture functionality.
Comparator and translator implementations for flexible, locale-aware sorting of viewer data, supporting alphabetic, alphanumeric, numeric, and no-op ordering strategies.
Data access layer of the Goobi viewer.
JPA AttributeConverter implementations that handle serialization and deserialization of complex domain types (such as lists, translated texts, and scoped settings) to and from database column values.
JPA-based data access object implementation providing the full persistence layer for the Goobi viewer, including a custom class loader and the central JPADAO that covers all entity types.
Database migration and update classes that apply structural and data-level changes to the Goobi viewer database schema during application upgrades, coordinated by the central DatabaseUpdater.
Custom exception hierarchy for the Goobi viewer.
JSF component extensions for the Goobi viewer.
Custom JSF UI components for the Goobi viewer, currently providing an autocomplete input and a multi-select dropdown widget for use in Facelets views.
JSF Converter implementations that translate between domain objects (such as users, roles, bookmarks, CMS pages, and date/time values) and their string representations for use in Facelets forms.
JSF utility classes for the Goobi viewer, providing helpers for building SelectItem lists used in dropdown and selection components within Facelets views.
JSF Validator implementations for the Goobi viewer, covering input validation for email addresses, passwords, nicknames, Solr queries, persistent identifiers, HTML content, and network configuration values.
Servlet and JAX-RS filters for the Goobi viewer.
JSF managed beans (CDI backing beans) of the Goobi viewer.
CDI-managed beans that provide application-scoped, session-scoped, request-scoped, and view-scoped storage contexts, centralizing shared state such as configuration data, user session information, and view-level caches for the Goobi viewer web application.
Reusable infrastructure for paginated, filterable table data in JSF-backed admin views, providing a generic provider interface, filter model, pluggable data sources, and related exceptions.
Utility helpers for managed beans in the Goobi viewer, offering convenience methods to look up CDI and JSF beans by type or name at runtime.
Internationalisation and messaging utilities for the Goobi viewer.
Domain model of the Goobi viewer.
Domain model for viewer administration features, including maintenance mode configuration with its multilingual messages displayed to visitors during scheduled downtime.
Model classes for the in-browser configuration file editor, providing file listing, locking, backup, and read/write access to configuration files on the server.
Domain model for legal compliance features such as terms of use, cookie banners, and disclaimers, including their scope definitions and multilingual translations.
Core annotation model for the Goobi viewer, covering persistent database-backed annotations, crowdsourcing annotations, ALTO-based annotation building, and publication status tracking.
Model for user comments on digitized records, including the Comment entity, grouping, management, and backward-compatible legacy comment representation.
Export support for annotations, providing writers and renderers that serialize annotation data to spreadsheet formats such as Excel.
Notification abstractions for annotation change events, with implementations for sending e-mail alerts and displaying JSF messages when annotations are created or modified.
Strategy interfaces and implementations for persisting, deleting, and listing annotations across different storage backends including the SQL database and the Solr search index.
Domain model for archival finding aids (EAD), comprising the archive tree structure, individual entries with their metadata, and parsers that load EAD data from Solr and external archive servers.
Model for user bookmark lists, allowing authenticated and anonymous users to collect and manage references to digitized records, including session-scoped storage support.
Model for the calendar browse view, providing a hierarchy of calendar items from century down to day level that represent the temporal distribution of digitized records.
Model for generating and formatting bibliographic citations for digitized records, including citation data providers, link types, and CitationStyles processor wrappers.
Top-level CMS model containing cross-cutting entities such as navigation items, categories, sliders, static page mappings, highlight data, and shared selection abstractions used throughout the content management system.
Model for CMS-managed collection representations, allowing editors to attach custom labels, descriptions, and representative images to Solr-backed record collections.
Functionality interfaces and implementations that attach pagination and navigation behaviour to CMS content components such as search, browse, TOC, and bookmark views.
Compatibility layer for the legacy CMS template system, providing enumerations and converters that map old content item types and page templates to the current model.
Model for CMS media assets, representing uploaded images and files together with their metadata, priority ordering, and holder interfaces used by CMS pages and campaigns.
Core CMS page model including the CMSPage entity, page templates, the template manager, publication status, and edit-state tracking for the page authoring workflow.
Abstractions for CMS page content, defining the CMSContent and CMSComponent model including attribute groups, publication state, paging support, and the persistent component entity that stores content item configuration in the database.
Concrete CMS content type implementations, each representing a distinct kind of embeddable content block such as search, browse, media, metadata display, record lists, or maps.
Model for CMS record notes that attach editor-authored text to specific digitized records, supporting both single-record notes tied to one PI and multi-record notes spanning a query.
Model for CMS sidebar widgets, covering custom HTML widgets, facet-field widgets, page-list widgets, RSS feed widgets, and the display element wrapper used when rendering the sidebar.
JPA entities that embed sidebar widget instances into CMS pages and templates, with specialised subclasses for automatic, custom, and default widget placement.
Enumerations that classify CMS sidebar widgets by their generation mode (automatic, custom, or default) and by their content type, used to select the correct rendering template.
Top-level crowdsourcing model containing shared utilities and display helpers for user-generated content created through crowdsourcing campaigns.
Domain model for crowdsourcing campaigns, including the Campaign entity with its visibility, time-frame, and user-group constraints, as well as per-record and per-page progress statistics and multilingual campaign translations.
Model for crowdsourcing questions that define what kind of annotation contributors are asked to create within a campaign, including question types and target selector configuration.
Provides e-mail sending support for the Goobi viewer, including SMTP configuration and composition of outgoing messages such as user notifications and password-reset e-mails.
Provides export functionality for viewer records, supporting formats such as Excel (XLSX) and RIS, including field configuration for controlling which metadata columns are exported.
Handles downloading of files from external URLs, tracking download progress and returning structured results for use in asynchronous file-retrieval workflows.
Provides support for uploading files to the Goobi viewer, encapsulating the logic for transferring user-submitted files to the backend storage location.
Implements IIIF Authentication API support, managing bearer-token issuance, validation, and expiry for controlled access to restricted IIIF resources.
Implements the IIIF Change Discovery API, building ordered activity collections that expose record creation, modification, and deletion events to harvesting clients.
Provides builders for assembling IIIF Presentation API 2 resources such as manifests, sequences, canvases, structures, and annotation layers from Goobi viewer record data.
Provides builders for assembling IIIF Presentation API 3 resources such as manifests, canvases, ranges, and annotation pages from Goobi viewer record data.
Implements the IIIF Content Search API, orchestrating full-text and annotation searches within a manifest and converting results into IIIF-compliant search response objects.
Contains data-transfer objects for the IIIF Content Search API response, representing annotation result lists and search-term hit lists returned to IIIF clients.
Provides parsers that extract and locate search-term matches within ALTO full-text documents and Solr index fields for use in IIIF Content Search responses.
Defines the core abstractions for asynchronous viewer jobs, including task-type identifiers and lifecycle status values shared across all job sub-packages.
Models asynchronous download jobs for generating and caching PDF, EPUB, and external-file download packages that users can retrieve once processing is complete.
Contains ActiveMQ message handlers that process job requests dispatched via the viewer's internal message queue, covering PDF generation, uploads, sitemap updates, and other background tasks.
Provides Quartz scheduler integration for the Goobi viewer, defining recurring job implementations, trigger configurations, and listener infrastructure for scheduled tasks.
Models upload jobs submitted to the Goobi workflow backend, including request and response DTOs for process creation, step status, and property reporting.
Provides JSF-related model classes for the Goobi viewer UI layer, including dynamic content components, selectable checkboxes, and reusable JSF component descriptors.
Contains model classes for structured log messages produced and consumed within the Goobi viewer, used for persisting or displaying operational event records.
Provides the core domain model for geo-maps in the Goobi viewer, including map configurations, feature sets, markers, filters, and Solr-backed spatial data providers.
Provides parsers and readers for converting geographic coordinate representations such as GeoJSON and WKT (point and polygon) into internal coordinate objects.
Contains data providers and generators for GeoJSON map features, retrieving spatial data from Solr, metadata fields, record structures, and entity relationships.
Provides integration with the Smithsonian Voyager 3D viewer, building scene configuration descriptors from digitized object data for embedded 3D presentation.
Provides the metadata domain model for the Goobi viewer, covering metadata field definitions, values, parameters, replacement rules, containers, and display utilities.
Contains miscellaneous utility and helper classes used across the Goobi viewer model layer, including DC record writing, geo-location helpers, number iterators, and selection management.
Provides support for norm-data authority integrations (e.g.
Provides utilities for PDF handling in the Goobi viewer, including calculation of estimated PDF file sizes based on record page counts and image dimensions.
Models downloadable resources associated with records in the Goobi viewer, such as pre-generated PDF files and other media offered to users as direct downloads.
Provides the domain model for RSS feed generation in the Goobi viewer, including feed channels, items, and metadata mappings for newly indexed or updated records.
Provides the core search domain model for the Goobi viewer, covering search queries, facets, hit representation, browse elements, filters, and Solr result processing.
Contains low-level query building utilities for constructing and evaluating Solr search queries used by the Goobi viewer search layer.
Provides the core access-control domain model for the Goobi viewer, including license types, access permissions, privilege holders, copyright indicators, and security questions.
Provides authentication provider implementations for the Goobi viewer, supporting local credentials as well as external systems such as OpenID Connect, VuFind, Bibliotheca, Littera, and HTTP-header-based single sign-on.
Contains request and response data-transfer objects exchanged with external authentication backends such as Bibliotheca, Littera, VuFind, and XService.
Manages trusted client applications that interact with the Goobi viewer API, providing registration, session association, and permission checking for client credentials.
Provides encryption and decryption utilities for the Goobi viewer security layer, used to protect sensitive data such as stored credentials or access tokens.
Implements an in-memory record locking mechanism that prevents concurrent conflicting access to individual records, tracking active locks and their owning sessions.
Provides time-limited access tickets that grant temporary permission to restricted resources without requiring full user authentication in the Goobi viewer.
Contains the user domain model for the Goobi viewer, including user accounts, groups, roles, IP ranges, activity tracking, and related utility methods.
Provides user avatar implementations for the Goobi viewer, supporting locally stored profile images, Gravatar-based avatars, and a default generated avatar fallback.
Provides classes for generating XML sitemaps of digitized records and CMS pages.
Contains statistical model classes for the Goobi viewer, including moving-wall annual statistics derived from the Solr index.
Provides classes for recording, aggregating, and indexing per-session and per-day usage statistics.
Provides model classes for the alphabetical term-browsing menu, including browse terms, their comparators, and field configuration.
Contains the table-of-contents model for digitized records, including the TOC aggregate, individual TOCElement entries, and the TocMaker that builds the hierarchy from Solr or METS data.
Provides PDF export support for table-of-contents data, using iText/OpenPDF to write formatted TOC entries into a PDF document.
Provides model and utility classes for integrating with the Transkribus handwritten text recognition (HTR) service.
Provides the core translation model, including multilingual text values, per-language translation entities, and the IPolyglott interface.
Contains model classes for the translation administration UI, grouping translatable items from Solr field names, Solr field values, and core/local message bundles into manageable translation groups.
Provides language metadata loaded from ISO 639 definitions, including the Language entity, a LanguageHelper for loading language data from configuration, and a LocaleComparator for sorting locales.
Provides URL resolution and navigation history support for the Goobi viewer web application.
Provides variable substitution support for template strings, replacing {variable-name} placeholders with values sourced from configuration and Solr document fields.
Contains the core viewer model, including the central ViewManager, physical and structural record elements, page navigation, MIME type handling, and supporting value types used across the viewer presentation layer.
Provides model classes for hierarchical collection browsing, including the CollectionView that manages tree state and Solr queries, and browse element types for flat and hierarchical DC collections.
Provides model classes for 3D object resources, including the Object entity with its URI and format, supported object formats, associated metadata, and a three-dimensional point type.
Provides strategies for loading record pages, with eager, lean, and empty implementations of the IPageLoader interface.
Provides visibility condition classes used to determine whether UI elements should be displayed for a given record page.
Contains the persistence model for viewer theme configuration, storing per-theme name, label, logo, and link settings in the database.
Provides XML validation support, including an error handler that collects parse errors and a value type for structured XML error details.
Extension module API for the Goobi viewer.
Defines the extension interfaces that viewer modules must implement, covering URL construction and Solr index augmentation.
Servlet classes of the Goobi viewer.
Provides oEmbed response model classes for the Goobi viewer oEmbed endpoint, including the base response, photo and rich embed subtypes, and a record descriptor used during oEmbed discovery.
Provides utility methods for servlet request handling, including construction of fully-qualified host URLs with correct scheme detection behind reverse proxies.
Solr integration layer of the Goobi viewer.
WebSocket endpoints of the Goobi viewer.