Install

Works with Drupal: ^9 || ^10 || ^11

Using dev releases is not recommended, except for testing.

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 438.81 KB
MD5: 078700995c891cab7cc928a9b39aa6a8
SHA-1: 7757dbaa91ca65445b62114df7f7202921e3622b
SHA-256: 4db5dce241e93795e06b2e75a0f1acd84a202323398b950fe7dafbbb7f03d08d
Download zip 486.13 KB
MD5: 4a3fddc3c11ddb8104f112f1366eee34
SHA-1: e7eaab934c05a78f3734db8b8b337f36e6e962e7
SHA-256: 8da5e43ce91de0103b04c955a78b96fdca0cf7611cf52c6fc66005f98599c910

Release notes

Problem/Motivation
Following the evolution of its APIs and internal system updates, Thron has released a new generation of APIs (Thron X) with enhanced capabilities and improved data structures. The existing Drupal connector module, while compatible with Drupal 11.x, requires comprehensive updates to leverage these new endpoints while maintaining backward compatibility for existing authentication workflows.
The Drupal/Thron module currently relies on legacy API endpoints and data formats that do not fully support:

Modern content delivery mechanisms with optimized URL schemes
Advanced media metadata management (including proper thumbnail handling)
Flexible content and product filtering at the configuration level
Multi-language preview configuration through API-driven endpoints

These limitations impact content management workflows, media handling efficiency, and the ability to leverage Thron's latest platform features from within Drupal.
Steps to reproduce

Install the Drupal/Thron module for Drupal 11.x with legacy API credentials
Configure authentication through THRONConfigurationForm
Attempt to browse or embed IMAGE assets using THRON Player format
Observe the following issues:

IMAGE assets fail to render in embedded player displays (work fine with VIDEO, AUDIO, DOCUMENT)
Thumbnail URLs use incorrect format, causing broken image references
Large file uploads are not supported
Preview language selection is limited to hardcoded values
Default content filters cannot be configured globally

Proposed resolution
Update the Drupal/Thron module to fully support Thron X API endpoints while maintaining backward compatibility with existing authentication mechanisms. The implementation should:

Update API Integration

Migrate HTTP client implementations to support new Thron X API endpoints
Maintain compatibility with legacy endpoints where applicable
Implement proper error handling for deprecated endpoints

Enhance Configuration Management

Add support for Thron X API credentials in the THRONConfigurationForm
Implement configurable default content and product filters that apply globally to content browsing
Store filter configurations persistently through Drupal's configuration system
Add API-driven preview language selection through new Thron X endpoints

Improve Media Handling

Update content delivery URL schemes to use the new Thron X content delivery API format
Implement proper URL transformation for thumbnail handling (e.g., /thumbnail → /image/image)
Add support for advanced image manipulation parameters (crop coordinates: cx, cy, cw, ch)
Fix template rendering for IMAGE assets in embedded player displays

Implement Asset Upload Functionality

Add user-facing upload capabilities to transfer media directly from Drupal to the Thron platform
Implement chunked upload mechanism for large file support
Handle upload progress tracking and error recovery
Automatically register uploaded assets in Drupal's media library

Maintain Module Stability

Ensure all existing field formatters continue to function (THRON Player, HTML5 Tag)
Preserve entity embedding workflow and media browser integration
Maintain backward compatibility with existing configurations

User interface changes
THRONConfigurationForm Enhancements:

New Thron X credential fields (Client ID, Client Secret)
Default Content Filters configuration section
Default Product Filters configuration section
Dynamic Preview Language selection from API
Upload configuration options (chunk size, max file size, allowed types)

Entity Embed Dialog Changes:

Smart display format selection based on content type
Advanced Image Options for IMAGE assets (crop mode, brightness, contrast, sharpness, color, quality)
Crop button with visual crop tool
Real-time preview of adjustments in CKEditor

Media Browser Upload Widget:

Drag-and-drop upload area
File selection button with multi-file support
Progress bar showing upload status
Error messages with retry option for failed uploads

API Integration changes
New Thron X Endpoints Supported:

Content Delivery API: /api/v1/content-delivery/{contentId}/image (replaces /api/delivery/thumbnail)
Preview Languages API: Dynamically fetches available languages from Thron X endpoints
Upload API: Supports multipart chunked uploads for large files
Asset Management: Enhanced metadata retrieval with improved data structures

HTTP Client Updates:

Centralized HTTP communication through proper credential management
Support for both Thron X and legacy endpoints (backward compatibility where applicable)
Request/response transformation for data mapping

Data model changes
Enhanced Media Metadata:

content_url: Updated to Thron X content delivery format
thumbnail_url: Transformed to support advanced parameters
sources: Array of available content sources (VIDEO, AUDIO)
imageset: Responsive image set with multiple breakpoints
width, height: Pixel dimensions
aspect_ratio: Aspect ratio in string format (e.g., "16:9")
tags: Array of associated keywords
created: Asset creation timestamp
name, description: Content metadata

Configuration Schema Extensions:

thronx_client_id: Thron X API client identifier
thronx_client_secret: Thron X API client secret
api_endpoint_url: Thron X API base URL
preview_language: Currently selected preview language
default_content_filters: Array of content filter criteria
default_product_filters: Array of product filter criteria
upload_chunk_size: Upload chunk size in bytes (default 5MB)
upload_max_file_size: Maximum file size for upload
upload_allowed_types: Array of allowed MIME types

Field Formatter Configuration:

embed_template: Player template selection
embed_resizing: Fixed or responsive sizing mode
embed_resizing_fixed_width/height: Fixed dimensions
embed_resizing_responsive_width: Percentage width (0-100)
embed_advanced_option: Image-specific settings (crop mode, enhancements, parameters)

Template Changes:

Added missing IMAGE content type rendering block
Includes schema.org/ImageObject structured data
Consistent with VIDEO, AUDIO, DOCUMENT blocks
Proper rendering in both preview and normal views

Created by: gigiabba
Created on: 13 Mar 2026 at 10:42 UTC
Last updated: 23 Mar 2026 at 13:53 UTC
Bug fixes
New features

Other releases