Install

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

Using Composer to manage Drupal site dependencies

Alternative installation files

Download tar.gz 438.81 KB
MD5: e020f19b798406235a8c63638c11d8b3
SHA-1: 8f6c22c0f27b1b77dac3a61613c0dd5bd357a028
SHA-256: e1b0e228c4d803dc3331038dcbca72e5b058c9e0bed191c94378f4024ef07e61
Download zip 486.13 KB
MD5: b751c1857a944e3ef73cfc47bed304c3
SHA-1: 91049a662fba7df4b03a39d5defa5ba184b7b652
SHA-256: a0b7e388fc98e73fbc8bb9842bd9e165736f0b0cbdcdec62a32b7be37f841720

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: 23 Mar 2026 at 13:55 UTC
Last updated: 23 Mar 2026 at 13:55 UTC
Bug fixes
New features

Other releases