Menu
DOCUMENTATION · 2.40.6

MediaTube Wiki

Install, operate and update your media platform.

Download latest package

94 documentation entries

Installation

Install or update the complete suite

Before installation

MediaTube is a Joomla 5 extension suite. Use the PHP and database versions supported by your installed Joomla release. Back up both the database and website files before updating. Test the package on a staging copy when possible.

Install the package

1. Sign in to Joomla Administrator with an account permitted to install extensions.

2. Open System → Install → Extensions → Upload Package File.

3. Upload the outer pkg_com_mediatube ZIP. Do not unpack it or install the nested ZIP files individually.

4. Wait for the installer result. If an error appears, resolve it before continuing.

5. Open Components → MediaTube → Media Library and confirm that existing items are present.

The complete platform contains 15 extensions: MediaTube component, SatHack template, local and remote MediaTube modules, SatHack Premium Menu, Smart Search and seller-profile plugins, provider and premium task plugins, premium UI, Traffic Trade tracking, Support Hub, two Support modules and the Support funnel plugin. See the new-site deployment manual for site-specific setup. Scheduled task plugins need their corresponding tasks configured in Joomla; their presence alone does not mean tasks are running.

Publish the Wiki menu item

1. Open Menus → your menu → New.

2. Set the menu title to MediaTube Wiki.

3. Choose Menu Item Type → MediaTube → MediaTube Wiki.

4. Choose an alias, access level and publication status, then Save & Close.

5. Open the published menu link and check the documentation tabs.

After updating

Reload Gallery and Media Library. Clear Joomla/page caching if older markup remains. Existing local hits and syndicated counters are preserved by the Wiki update. If your template overrides a component layout, check that override when a view-related fix does not appear.

Download links

In MediaTube Options → MediaTube Wiki, set Latest package download URL to your uploaded ZIP or release page. A menu item can override this URL. A blank URL hides the download button. Upload the new ZIP to your own chosen location and update the URL for each release.

Recovery

If Joomla reports a failed package installation, save the exact error and check whether a nested extension failed. A partial package result should not be treated as a completed upgrade. Restore your backup if necessary; do not remove extension data to fix an installation error.

Illustrated installation flow. This is a guide, not a screenshot.

Warning: Undefined array key "group" in /var/www/dertube.com/public_html/components/com_mediatube/tmpl/wiki/default.php on line 27

Manual

Quick start and menu pages

Media Library

Components → MediaTube → Media Library is the central list for published and unpublished media. Edit a title to open its record. Use checkboxes for selected-item toolbar actions such as publishing, unpublishing, deletion, AI rewriting and YouTube Syndicate.

Frontend pages

Create Joomla menu items using the layouts exposed by MediaTube. Media overview, Gallery, individual media details and member/directory pages have different purposes. Gallery presents published visuals and provider thumbnails; detail pages contain playback and item actions.

Module assignment

Publish mod_mediatube in a template module position and set its menu assignments, category and page context. The module can use separate overview and detail menu routes. A hidden detail menu item helps keep player links in the correct menu context.

Branding

Use MediaTube Options for the supported frontend brand and hero controls. Wiki navigation and documentation remain available independently of the Gallery hero setting.

Permissions

Set the Joomla menu access level to decide who may read a published Wiki page. Administrative operations retain their existing component permissions.

Adding and managing media

Sources

MediaTube supports uploaded media and source URLs for supported providers. Use the relevant upload/import form for the media type. YouTube and Spotify batch import accept one supported URL per line. A liked-videos URL using list=LL is account-specific and cannot serve as a public shared playlist.

Categories

Choose the intended category when importing or editing. The music-stream category is used for music discovery; category constraints also keep automatic playback within its selected music context. Publish an item when it should appear publicly.

Thumbnails

Gallery uses stored external thumbnail_url first, then local poster/artwork or visual media, and finally a provider placeholder. Thumbnail availability and statistics syndication are separate; seeing a thumbnail does not mean YouTube statistics have been fetched.

Local actions

Local playback views, reactions, favorites, reports and downloads are tracked by MediaTube. Provider statistics are stored separately from these local counters.

Deletion

Deletion is a selected-item administrative action. Review selected records before confirming removal.

Premium downloads

The Download button requires a signed-in user with active Kiosk Premium or streaming premium access and a readable, non-empty local media file. Otherwise it leads to Premium signup, including signed-in users without premium and premium users when no file exists. Remote YouTube/source URLs alone are not downloadable files. The direct download endpoint enforces the same rule. Signup redirects do not count as downloads.

YouTube syndication and view counts

Configure YouTube

Set the YouTube syndication API key in MediaTube Options. Configure description updates, comment syndication and the comment limit as required. Keep credentials in the administrator configuration.

Selected items

Select YouTube records in Media Library and click YouTube Syndicate to refresh their existing data. This uses the existing service to fetch titles, thumbnails, configured descriptions, statistics, origin source links and configured comments.

Express

Click Express YouTube Syndication without selecting records. It scans all library pages and categories for YouTube items without a successful statistics syndication timestamp. Already syndicated videos are skipped, including videos with zero views. Keep the administrator page open while it runs.

A run processes one item per sequential request and reports successes and failures. Stop finishes the current item. Failed items remain eligible for another Express run. Items imported during a run are considered on the next run. A comment warning can accompany a successful statistics sync.

Gallery counters

The gallery card displays YouTube views + local MediaTube views before the visitor opens the player. The breakdown under the counter identifies the two sources. The combined figure is a sum of counters; it is not a count of unique people across both sites, and embedded playback can also be counted by YouTube.

Example: 100,000 syndicated YouTube views + 12 local views displays 100,012. Refreshing syndication replaces the YouTube snapshot and preserves local hits. It does not add the old snapshot again.

YouTube views not synced yet means statistics have not been successfully fetched. Use Express for those records. If counts are still missing after a successful sync, check that the component update installed and that no older gallery override is being used.

Source limitations

YouTube does not expose public dislike totals through its API. MediaTube dislikes remain local. Spotify import and source metadata are separate from YouTube view statistics.

Gallery before the statistics data fix: thumbnails were present while local counters showed zero.
Illustration of independent YouTube and local counters.
Playlists and automatic playback

Playback queue

The music continuity release supports next-track context and playlist ordering options for related, random, ascending and descending behavior. Select the supported playlist controls in the module/player context.

Category boundary

The selected category remains a query constraint. The continuity queue is designed to avoid moving a music-stream session into an unrelated category.

Browser playback

Automatic playback depends on browser/provider playback policies and the media type. A queue can identify the next item without guaranteeing that a browser will allow audible autoplay.

Empty related queue

From 2.40.2 an empty Related queue retries once using Stable Random. It stays within the current category and only considers other published media. Stable ordering is seeded by the current item ID. If no other eligible media exists, the queue stays empty. Explicit ordering selections remain unchanged. The current Related mode ranks the same candidate pool, so fallback cannot populate a category with no other published media.

Effective fallback mode (2.40.4)

When Related is empty, the player selects Stable Random automatically. Next-track/autoplay links carry random forward. Lookup uses the current item’s stored category even when that category is absent from the published category catalogue. If there are no other published items in that category, the queue remains empty while Stable Random is selected.

Hub administration, members and commerce

Hub areas

The administrator submenu includes the dashboard, Media Library, categories, providers, XML Providers, actors, streaming catalogue, modes/ranking, API/traffic, reports/engagement, commerce, advertising, premium, legal documents and Wiki. Configure only the areas used by your site.

Modes and ranking

Purpose filters and adaptive ranking combine local engagement, freshness and available source/provider signals. Local analytics retain their local accounting; combined public YouTube view counters do not redefine the site's measured traffic.

Members

Member/profile features include published uploads and supported favorites, likes and social profile fields. Set access and permissions through Joomla and the applicable component settings.

Payments and Support

Configure the applicable payment settings and callback flow before exposing purchases or recurring premium access. Use Support terminology in public campaign labels. Scheduled renewal needs its configured Joomla task.

Remote module

The remote module receives a hub feed and uses the hub's supported API actions. Configure API access and routing on the server. See the historical API release notes for details introduced in each revision.

Updating Wiki documentation and releases

Menu and download link

Create a published MediaTube Wiki menu item to expose the documentation. The Wiki is also available from Hub Administration. Set Latest package download URL in MediaTube Options or on the Wiki menu item, then update it when your next ZIP is published.

Revision archive

The archive includes the revision notes preserved in this package and the recent fixes. Historical documentation describes behavior at that revision; later fixes can supersede it. Undocumented revisions are not filled with guessed release notes.

Updating a release package

Wiki content is shipped as media/wiki/wiki.json inside the component ZIP. Update its documents array when preparing a release. Each entry has a unique id, group, title, body, images and optional version/download_url. Groups are installation, manual and releases. Image entries use a file from media/wiki/images and a caption. The body supports headings, bullets, numbered lines and fenced code blocks; HTML is escaped.

Keep older revision entries when adding a new release. Update the component/package manifests and include the wiki folder in the component media installation section. Repackage the component ZIP and then the outer package ZIP.

Images

Click a guide image to open it in a larger dialog. Escape or the close button dismisses it. Focus returns to the clicked image. Future images can be added with the next package; avoid putting private keys or personal account data in documentation screenshots.

Complete platform: deploy another Joomla 5 site

Deploying the complete platform on another Joomla 5 site

1. Use a working Joomla 5 installation with its supported PHP/MySQL or MariaDB environment. Back up an existing site before updating. Make Joomla extension and media directories writable by the web-server account. FFmpeg is required for local-video processing features; remote embeds do not require local transcoding.

2. In System → Install → Extensions upload the complete platform ZIP directly. The package installs 15 extensions; no older component ZIP needs to be installed first. Check the installer messages before proceeding.

3. Open Components → MediaTube → MediaTube Wiki. The administrator Wiki is available immediately without a frontend menu. The new-site guide and release archive explain configuration.

4. In System → Site Template Styles choose tpl_sathack as the default when desired. Edit site name, logo, colours, portal menu and layout width. On another domain replace the SatHack.dk defaults with that site's branding. In MediaTube Options set the component frontend brand, default music-stream category, public hero and design settings.

5. Create Joomla menu entries using the installed component's menu-item types: Media overview, Gallery, individual media player where needed, Upload, Members/Profile, Premium signup and MediaTube Wiki. Create a Smart Search menu entry using Joomla's com_finder. Template portal behaviour uses the selected menu; it does not create the site's navigation automatically.

6. Publish module instances and assign menus. Use SatHack Premium Menu in sidebar-right or menu, MediaTube playlist context in sidebar-right-playlist (235px), and other MediaTube instances where required. Assign header content to header above the content. Avoid assigning a duplicate gallery module to a page already displaying the component Gallery. Remote modules are for satellite/hub scenarios and need their hub URL/API credentials; leave them unpublished until configured.

7. Review Plugins: Finder - MediaTube, user seller profile, Traffic Trade, premium UI, Support funnel and task providers. New installations enable these packaged plugins; updates retain previous enable/disable choices. Joomla's core Finder plugins remain managed by Joomla. After adding/importing published items run Components → Smart Search → Index. Re-index after media edits; this Finder revision does not automatically synchronize every change.

8. Add provider credentials locally: YouTube API key for syndication, Spotify credentials where used, supported XML/provider sources and remote API access. Import URLs or upload your own media. Express YouTube Syndication fills missing syndication on new items. Existing media data from SatHack is not included.

9. Configure OnPay/payment-window credentials, domain-specific callback URLs, plan amounts and currency locally before accepting payments. Configure premium user group and access settings. Premium downloads require both active premium access and an actual available local file. No payment secrets, subscriptions, orders or users are copied.

10. Configure Support Hub campaigns, campaign goals and payment settings; choose a campaign for frontend Support menus/modules. Technical component/module IDs still contain the legacy word donations. Public module labels use Support. The funnel plugin should only target your chosen Support paths.

11. In Joomla Scheduled Tasks create the installed provider sync and premium renewal tasks if used. Set intervals and execution/cron according to your host; installing a task plugin alone does not schedule a job.

12. Configure mail delivery for invitations and verification, permissions for members/actors, Traffic Trade referrer sources and return queue, advertising settings and legal documents for this site.

13. Clear Joomla cache. Verify Gallery and item playback, search ordering/results, guest versus premium download redirects, Support checkout in the payment provider's test environment, and template positions/mobile navigation. For Facebook preview test the public media URL using Sharing Debugger; the crawler must be able to access both page and thumbnail.

This installs the same software level, with the receiving site's own content and configuration. Transfer any media/content separately using an appropriate backup or migration workflow. Never transfer live payment/API secrets by publishing a distribution ZIP.

Sidebar placement

SatHack 2.9.3 places sidebar-right beside media cards at desktop widths above 1100px, at 235px wide. An assigned sidebar-right-playlist appears to its right in another 235px column. At 1100px and below they stack after the content.

Release documentation and maintenance

Every subsequent platform release must update this Wiki with the final component, template, module and plugin revisions included, the user-visible changes and relevant manual/deployment steps. Maintain the historical archive. Record unavailable historical notes honestly. Run Smart Search Index after media changes, review configured Scheduled Tasks and refresh caches after installation. Keep payment/API keys in local configuration rather than release archives.

Release archive

Current platform release: 2.40.6

Platform release archive updated through 2.40.6, including the complete 2.40.0 deployment release. Preserved historical notes are retained; unavailable historical records remain undocumented. Historical notes describe their original revisions.

2.40.4 — Effective continuity mode and category lookup

MediaTube 2.40.4 — Effective continuity mode and category lookup

Fixes the incomplete 2.40.2 fallback: when an empty Related queue triggers Stable Random, the service now reports the effective mode to both player views. The Queue order dropdown selects Stable Random, and manual next-track links and autoplay URLs retain playlist_order=random on subsequent navigation.

Playlist lookup uses the current item's stored non-empty category verbatim instead of normalizing it through the currently published category catalogue. This avoids searching an unrelated default category for a media item whose own category is not in that catalogue. An absent category still uses the configured default. Queries load available media columns without requiring a thumbnail/statistics projection. Publication filter and current-item exclusion are preserved.

No cross-category fallback is introduced. If the current category has no other published media, the dropdown still switches to Stable Random but there are no tracks to display. Database failures remain separate from an empty successful lookup. Existing Related, ascending and descending queues remain unchanged when tracks are available.

Wiki manual and release archive updated. Includes all 15 complete-platform extensions, including template 2.9.3. Validation: native PHP effective-mode, navigation-context and queue tests, plus all bundled PHP/XML/manifest/ZIP checks. Live Joomla installation was not performed.

2.40.3 — Desktop sidebar placement

MediaTube 2.40.3 / SatHack template 2.9.3 — Desktop sidebar placement

Template sidebar layout now explicitly places content in desktop column 1 and row 1, sidebar-right in column 2 and row 1, and an optional sidebar-right-playlist in column 3 and row 1. Sidebar columns remain 235px wide. Template-scoped selectors prevent lower-specificity layout rules from collapsing the desktop grid or spanning the content across the sidebar columns. The content track may shrink to accommodate media cards and embedded modules.

At viewport widths of 1100px or below, sidebars stack after the content in a single column at full width. Pages without sidebar modules keep their existing layout. Header and other module positions are retained.

MediaTube Wiki records this template revision and platform release. The complete package retains all 15 extensions and upgrades the template to 2.9.3. Clear Joomla/page/browser caches after installation. Validation: bundled PHP/XML/manifest/ZIP checks and CSS layout-rule checks; live Joomla rendering was not verified.

2.40.2 — Music continuity stable-random fallback

MediaTube 2.40.2 — Music continuity stable-random fallback

When the related Up Next queue returns no items, the shared playlist service retries once using Stable Random. Both canonical media detail and legacy video views use this service. Explicit ascending, descending and random modes retain their existing behaviour; query errors are not treated as empty related results.

The fallback retains the current category, published-only filter, current-item exclusion and bounded queue size. Stable Random is seeded by the current media ID and now uses ID as a deterministic tie-breaker. Repeated requests for the same item and unchanged eligible library return the same order.

The current related algorithm ranks all other published items in the current category, so its candidate pool is the same as Stable Random. If the category has no other published items, the fallback is also empty; this release does not invent recommendations or cross into other categories. Related recommendations remain selected when available, and playlist/autoplay route context is unchanged.

The complete platform still contains all 15 extensions. Wiki manual and release archive are updated. Validation: native PHP queue tests for fallback, no recursion, existing modes, published/category/exclusion constraints and bounded limit; bundled syntax/XML/manifest/ZIP checks. Live Joomla installation was not performed.

2.40.1 — Wiki release archive visibility

MediaTube 2.40.1 — Wiki release archive visibility

Fixes release archive ordering: current MediaTube platform notes appear first, followed by previous MediaTube releases, template revisions and plugin notes. Revisions within each family appear newest first. Release archive explicitly displays the current platform version, and the documentation search hint follows it dynamically.

The 2.40.0 complete-platform notes remain in the archive. They had been appended below the historical notes; the archive previously rendered insertion order. The installation overview now lists all 15 extensions instead of the older six-extension suite.

This patch retains all 15 extensions included in platform 2.40.0. Install the complete ZIP normally and clear Joomla page cache. Check the Wiki header for 2.40.1 and Release archive for 2.40.1 followed by 2.40.0.

Validation: native PHP archive ordering and frontend rendering using the installed-path documentation source, plus bundled PHP/XML/manifest/ZIP checks. Live Joomla installation was not performed.

2.40.0 — Complete Joomla 5 platform

MediaTube 2.40.0 — Complete Joomla 5 platform release

This release consolidates the current MediaTube platform into one Joomla installation ZIP: MediaTube 2.40.0, SatHack template 2.9.2, MediaTube module 1.8.1, remote module 1.5.0, Smart Search plugin 1.0.0, seller-profile plugin 1.0.1, provider and premium task plugins, premium UI plugin, SatHack Premium Menu 1.0.3, Traffic Trade tracking 1.0.1, Support Hub 1.1.3 and its two Support modules and funnel plugin. Independent legacy Support module labels now consistently use Support; technical extension IDs remain compatible.

All current component behavior is retained: provider imports and embeds, Gallery thumbnails, combined YouTube/local views, Express YouTube syndication, Wiki, premium/file-gated downloads, social preview metadata, subscriptions, member and actor features, advertising, ranking and commerce. The template includes restored header, 235px right and playlist positions, Joomla Smart Search routing, MediaTube-first result cards and collapsed search settings after submission. Template installation descriptions now describe the current revision.

The Wiki now archives platform changes as well as component releases. New deployment, configuration, dependency inventory and maintenance guides are included. Earlier unavailable historical documentation is explicitly identified rather than reconstructed as fact.

The package installs extension code and extension-owned database schema. It is not a clone of SatHack's media library, accounts, menus, API keys, orders, analytics or domain-specific configuration. An existing Joomla 5 installation is required. No Joomla core files are bundled. Existing template selection, menus, module assignments and previously chosen plugin enable/disable settings are preserved; newly installed platform plugins are enabled. Remote modules require their destination hub URLs and keys.

For a new site follow the New-site deployment guide in the Wiki or INSTALLATION.md included in this ZIP. Set the installed template as default when ready; create menu entries and publish modules for that site's design. Configure service credentials locally, run Smart Search Index after importing media, and create Scheduled Tasks for provider/premium jobs when those integrations are configured.

Validation: all bundled PHP syntax, XML and manifest file coverage, nested ZIP integrity, package extension identities and version inventory. Social metadata regression tests retained. A complete installation inside a running Joomla/MySQL site was not performed.

2.39.2 — Social link previews

MediaTube 2.39.2 — Social link previews

Published media detail and embed pages now render Open Graph title, description, canonical sharing URL and thumbnail in the server-rendered page head. Facebook can read these without executing player JavaScript or signing in. Twitter summary metadata is also included.

Image priority: stored thumbnail URL, public uploaded poster, then YouTube hqdefault thumbnail resolved from the source/playback URL. Protected media/download URLs are never used as preview images. Items without any suitable image do not advertise an invented thumbnail.

The existing SatHack template short-link redirect supports /?view=media&layout=video&id=336. No template upgrade is included or required for this change when that redirect is already installed.

Install this suite through Joomla Extensions → Install. Existing items need no reimport or YouTube statistics run. Clear Joomla page cache after installation. To refresh an older Facebook preview, submit the shared URL to Facebook Sharing Debugger and scrape again. The media page and thumbnail must be publicly accessible to Facebook's crawler; this release does not change firewall/crawler rules.

Validation: PHP syntax and metadata tests for escaping, absolute uploaded poster URLs, YouTube fallback, and omission of protected/invalid URLs. Live Facebook rendering was not verified.

MediaTube 2.39.1 — Premium Download Routing

MediaTube 2.39.1 — Premium Download Routing

The media detail Download button now routes to Premium signup unless a non-empty readable media file exists and the current visitor is signed in with active premium access. Active Kiosk Premium or streaming premium subscriptions qualify. Signed-in users without active premium access also go to signup.

The download endpoint enforces the same rule for direct requests. Missing files redirect rather than returning an unavailable-download error. Invalid/unpublished media IDs still return not-found. Successful premium downloads use the existing file response and download counter; signup redirects do not increment downloads. This premium download rule replaces the previous per-item rental check for this endpoint.

The existing published/access-compatible MediaTube Subscribe menu item is used when available, with the component's Subscribe page as fallback. File resolution checks the existing private and public media directories, rejects empty/missing files and path escapes, and does not fetch remote provider video files or relocate existing playback media.

The Wiki manual and revision archive include this release.

Install the outer suite package through Joomla Extensions and reload the media detail page. Existing template overrides of media/video.php may need their Download link updated; the component endpoint still enforces premium access.

Validation: native PHP syntax for changed files; tests using the actual helper and controller with mocked Joomla services cover guests, inactive accounts, both premium subscription systems, missing/empty/private files, path escapes, correct button destinations, direct request redirects, no counter updates on redirects, and actual byte delivery for an active premium user. Package XML and ZIP integrity checked. Not installed on the production site.

MediaTube 2.39.0 — Wiki

MediaTube 2.39.0 — Wiki

Adds the MediaTube Wiki frontend menu layout and Hub Administration submenu.

Includes installation instructions, a feature manual and the preserved revision archive.

Adds searchable documentation groups and an optional configurable latest-package download link.

Includes illustrated guides and a historical Gallery screenshot with accessible image dialogs.

Ships documentation as a versioned package asset so future releases can append notes.

Preserves the Gallery YouTube/local count fix and Express YouTube Syndication.

Validation: Native PHP syntax/rendering checks, XML/JavaScript checks, documentation/archive coverage, packaging integrity and rendered DOM interaction checks. Live Joomla installation was not tested.

MediaTube 2.38.3

MediaTube 2.38.3 — Gallery YouTube Views Fix

Fixed the gallery data query, which previously omitted youtube_view_count and youtube_syndicated_at. This caused the combined display introduced in 2.38.1 to show only local views in Gallery, even when syndicated statistics were stored correctly.

Gallery cards now receive the full media record and display the latest syndicated YouTube views plus local hits before the visitor opens the media detail page. A second line identifies YouTube views and local views separately. Items without a syndication timestamp show "YouTube views not synced yet" rather than presenting an unknown source count as a confirmed zero.

The gallery stylesheet version is bumped so updated styling can be loaded. No database reset is required, and existing syndicated counts become available immediately. Includes Express YouTube Syndication from 2.38.2 and the complete six-extension suite.

Install through Joomla's extension installer. Reload Gallery after installation. Use Express YouTube Syndication only for items that still lack syndicated statistics. A template override of the gallery layout may require the equivalent display change.

Validation: syntax parsed for changed PHP files; the actual gallery SELECT executed against a fixture database to verify that populated YouTube counts are returned with zero local hits, both counters are available for summation, and unpublished items remain excluded. Package XML references and ZIP integrity checked. Live Joomla installation was not tested.

MediaTube 2.38.2

MediaTube 2.38.2 — Express YouTube Syndication

Media Library now includes an Express YouTube Syndication button. No item selection is required. It scans all library pages, categories and publication states for YouTube items with no successful statistics syndication timestamp. Already syndicated items are skipped, including items with zero YouTube views.

One item is processed per sequential browser request, with progress, success/failure totals and run details. Stop finishes the current item before ending the run. Failed items are attempted once per run and remain eligible for the next run. Items added after the run starts are included on the next run. Keep the library page open while the run is active. Reload the library after completion to see updated statistics.

Express uses the existing syndication settings and requires a configured YouTube syndication API key. It fetches titles, configured descriptions, thumbnails, statistics, origin links and configured comments through the existing service. A comment warning does not undo successful statistics syndication. Local hits remain separate from YouTube counts.

The endpoint checks the Joomla CSRF token and both component manage/edit permissions. No database counter reset is performed. Includes the combined view count fixes from 2.38.1 and the full six-extension suite.

Install through Joomla's extension installer, then open MediaTube > Media Library and press Express YouTube Syndication.

Validation: changed PHP syntax parsed; browser flow exercised for completion, server errors, no matching items and stop; library selection checked for synced/non-YouTube exclusion, failed-item retry boundaries and new arrivals. Package manifest references and ZIP integrity checked. No live Joomla installation or YouTube API calls were tested.

MediaTube 2.38.1

MediaTube 2.38.1 — Combined YouTube and Local Views

Public YouTube media cards now display the latest syndicated YouTube view count plus local MediaTube hits. Applies to overview cards, media detail counters, playlist queue items, gallery cards, profile media cards and the local MediaTube module (1.8.1).

Live view registration and engagement API responses return the same combined total, with local_views and youtube_views included separately. The legacy feed hits field remains local for compatibility; public views and engagement.views contain the combined total. Remote cards already display engagement.views.

No database migration or counter reset is needed. Local hits remain local, and syndication continues to replace the YouTube snapshot independently. Refreshing syndication therefore does not add the previous snapshot again. Creator analytics, platform traffic, popularity sorting and profile aggregate statistics retain their existing local accounting.

Installation: upload this complete suite package using Joomla's extension installer. For YouTube items without syndicated statistics, select those items in Media Library and run Refresh / Syndicate using the configured YouTube API key. Until a YouTube count has been fetched, the displayed total uses local hits only. Template overrides that contain their own counter markup may need the same display change.

Validation: PHP syntax parsing, package manifest/archive integrity and focused view-count calculation checks. Installation and live Joomla behavior have not been verified against the production site.

MediaTube 2.38.0

MediaTube 2.38.0 — Dynamic Personality

Purpose-first adaptive discovery now combines local engagement, provider/YouTube signals, freshness, referrer-domain affinity and repeat-impression diversity.

Discover, New releases, Trending, Live, Community and Balanced purpose filters.

Stable daily variation gives returning visitors a refreshed view without pagination jitter.

Anonymous hashed visitor keys; no raw IP, user agent or full referrer URL is stored.

Aggregated impression history expires after a configurable retention period.

The current media category remains a hard query constraint, so automatic playback cannot escape a music-stream playlist.

MediaTube 2.37.0

MediaTube 2.37.0 — Music Continuity and Premium Stability

Music continuity

Adds an Up Next queue to the canonical media player page.

Constrains every related lookup to the current database category.

Keeps music-stream isolated from the Adult library during automatic navigation.

Supports Related, Stable Random, Ascending and Descending queue modes.

Continues MP3 and MP4 playback from the native ended event.

Continues YouTube playback through the official IFrame Player API when browser autoplay policy permits it.

Preserves playlist category, order and autoplay state across every generated URL.

Stability and design

Establishes music-stream across public listing, upload, redirect and media-table defaults.

Keeps provider crawler Adult defaults unchanged for explicit provider staging.

Consolidates both detail routes onto one canonical player template.

Correctly renders MP4 visual artwork in the Gallery as video instead of an image.

Improves gallery focus visibility, mobile density and metadata readability.

MediaTube 2.36.0

MediaTube 2.36.0 — UX Refinement I

This release establishes a calmer and more navigable MediaTube frontend for Joomla 5 while preserving the existing publishing, syndication, commerce and administration features.

Improvements

Replaces the 60-item gallery wall with server-side Joomla pagination.

Adds administrator-selectable gallery and overview page sizes: 8, 12, 16 or 24 items.

Makes the large overview and gallery promotional heroes optional and disabled by default.

Adds compact page introductions when promotional heroes are hidden.

Centralizes the frontend default category and sets music-stream as the installation default.

Limits card titles and descriptions visually to create a more stable scanning rhythm.

Adds clearer keyboard focus states and reduced-motion behavior.

Aligns the component and complete-suite versions at 2.36.0.

Compatibility

Designed as an in-place Joomla 5 upgrade from the MediaTube 2.35.1 complete suite. Existing media, categories, users, subscriptions and configuration data are retained.

MediaTube 2.35.1

MediaTube 2.35.1 — Consolidated Joomla 5 Suite

Release date: 27 August 2026

Platform: Joomla 5

Distribution type: Installable package (pkg)

Executive summary

MediaTube 2.35.1 is a consolidated deployment revision that transforms the current MediaTube codebase into a single, coherent Joomla installation package. The release preserves the functional maturity achieved throughout the 2.x development cycle while eliminating the operational friction of installing the component, modules and supporting plugins independently.

The package is designed as the authoritative installation baseline for a new MediaTube deployment and as an upgrade-safe distribution for an existing installation. Joomla processes each embedded extension through its native installer, thereby preserving the separation of responsibilities between the component, presentation modules and background or interface plugins.

Included extensions

| Extension | Type | Version | Function |

| --- | --- | --- | --- |

| com_mediatube | Component | 2.35.0 | Core media catalogue, administration, publishing, profiles, statistics, premium presentation and Super User controls |

| mod_mediatube | Site module | 1.7.0 | Local MediaTube presentation with provider-status support |

| mod_mediatube_remote | Site module | 1.5.0 | Remote-hub presentation and provider-status integration |

| plg_task_mediatubeproviders | Task plugin | 1.1.0 | Scheduled XML/provider synchronization |

| plg_task_mediatubepremium | Task plugin | 1.0.0 | Scheduled premium-state processing |

| plg_system_mediatubepremiumui | System plugin | 1.0.0 | Premium user-interface integration across the Joomla frontend |

The outer package revision is 2.35.1. Embedded extensions retain their own independently versioned manifests so Joomla can evaluate upgrades correctly.

Principal capabilities consolidated in this release

Multi-format media publication for uploaded media and external services, including YouTube, Spotify and supported streaming/provider sources.

Premium frontend presentation with responsive media cards, gallery thumbnails and dedicated directory views.

YouTube batch import from line-separated text input, automatic title retrieval and thumbnail rendering.

Configurable frontend brand naming, allowing the MediaTube product label to be replaced without hard-coded template edits.

Secure Super User media controls exposed contextually on frontend media items, including edit, remove, report, syndicate and rewrite operations.

YouTube synchronization support for origin-source metadata and available engagement statistics.

Provider-oriented scheduled processing through Joomla task plugins.

Local and remote MediaTube modules for distributed hub presentation and provider visibility.

Premium access and interface integration through dedicated task and system plugins.

Existing administration facilities for categories, media records, publishing, profiles, directories, traffic intelligence, premium functions and related platform management.

Deployment model

Install pkg_com_mediatube_2.35.1_complete_suite.zip through System → Install → Extensions in Joomla Administrator. The package manifest declares every embedded extension and uses Joomla's upgrade method, allowing the same archive to serve both clean installations and controlled upgrades.

After installation, review component options, publish the required site modules, enable the installed plugins, configure scheduled tasks where applicable, and confirm API/provider credentials before initiating synchronization.

Compatibility and operational notes

Intended for Joomla 5 and the PHP/runtime requirements imposed by the installed Joomla release.

Existing database content is expected to remain intact during an upgrade; a verified database and filesystem backup remains advisable before production deployment.

External statistics and metadata remain subject to the permissions, credentials and data availability of their originating services.

Task plugins must be enabled and scheduled in Joomla before automated processing can occur.

Release character

This revision is primarily a distribution-integrity release: its significance lies not in a single isolated feature, but in the conversion of the accumulated MediaTube implementation into one reproducible, auditable and operationally complete installation unit.

MediaTube 2.35.0

MediaTube 2.35.0 — Frontend Super User Admin Tools

Adds a premium Admin Tools panel beneath media engagement buttons.

Visible only to authenticated Super Users with global core.admin permission.

Includes Edit, Reports, YouTube Syndicate, AI Rewrite and confirmed Remove actions.

Mutating actions use POST requests, Joomla CSRF tokens and server-side authorization.

Retains configurable frontend branding from version 2.34.0.

MediaTube 2.34.0

MediaTube 2.34.0 — Configurable Frontend Branding

Added

A central Frontend brand name option in the MediaTube component configuration.

Automatic replacement of the visible MediaTube and MEDIATUBE brand text across component frontend views.

Brand-aware browser document titles.

An 80-character limit, HTML stripping and a safe MediaTube fallback for empty values.

Compatibility

Technical identifiers including com_mediatube, PHP namespaces, database tables, routes and media asset paths remain unchanged. Existing integrations and menu links therefore continue to work when the public brand is renamed.

MediaTube 2.30.4

MediaTube 2.30.4 — YouTube Syndication Restoration

Restores selected YouTube metadata syndication in Hub Administration.

Restores canonical Origin Source URLs for each YouTube item.

Imports public top-level YouTube comments with author, avatar, date and like count.

Synchronizes YouTube view, like and public comment counters.

Displays MediaTube's local dislike counter because YouTube no longer exposes public dislike totals through Data API v3.

Adds safe runtime schema migration for existing installations.

Preserves Teams, Artists, Bands, Gallery thumbnails and Advertising Hub.

MediaTube 2.30.3

MediaTube 2.30.3 — Artists and Bands Endpoint Fix

Adds the missing Joomla site views for view=artists and view=bands.

Adds premium responsive directory cards, search, detail states and empty states.

Artists use accepted or active MediaTube actor profiles without exposing email addresses.

Bands use published MediaTube team/collective records and preserve membership counts.

Preserves the Teams fix, Gallery embed thumbnails and the complete 2.30.2 feature set.

MediaTube 2.30.2

MediaTube 2.30.2 — Premium Teams Directory Fix

Prevents the fatal type error when Teams opens without an id parameter.

Adds a responsive premium directory with statistics, search and team cards.

Adds dedicated team profiles and a graceful unavailable-team screen.

Preserves team creation, CSRF protection, ownership and Gallery improvements.

MediaTube 2.30.1

MediaTube 2.30.1 — Gallery Embed Thumbnails

Adds a persistent external thumbnail URL to MediaTube media items.

YouTube thumbnails are derived automatically from the selected video/embed ID.

Spotify artwork is resolved through Spotify oEmbed metadata and cached on the media item.

Upload forms allow an optional selected YouTube or Spotify provider thumbnail URL.

Administrator media editing exposes the stored external thumbnail URL.

Gallery prioritises the selected external thumbnail, then local poster/artwork, then a branded provider placeholder.

Existing embed items are backfilled lazily and cached when Gallery is opened.

Fresh-install and upgrade database routines include the new thumbnail column.

MediaTube 2.30.0

MediaTube 2.30.0 — Premium Directories and Routing

Stable component endpoints and Joomla menu types for Categories, Brands, Hold, Teams and Gallery.

Hold is a Danish compatibility endpoint backed by the same team register as Teams.

Categories link directly to valid MediaTube category filters.

Brands use published MediaTube providers and show their published media totals.

Teams support authenticated frontend creation, stable aliases, ownership and membership counts.

Gallery presents the latest public visual media through valid MediaTube detail routes.

Each directory has an individual responsive glass, glow and luxury presentation.

Upgrade and fresh-install database routines include the team and membership schema.

MediaTube 2.29.0

MediaTube 2.29.0 — Advertising Hub

Public Joomla menu type for a premium self-service advertiser dashboard.

Platform pageviews and anonymised daily unique visitors for the latest 30 days.

CPC click packages and CPM impression packages with configurable DKK pricing and minimum order.

Advertiser creative upload, destination URL, headline, description, placement and quantity selection.

Standard, Priority and Featured placement tiers mixed between MediaTube items.

Sponsored labels and rel=sponsored outbound links.

Campaign delivery stops automatically at the purchased volume.

Daily visitor deduplication for billed CPC delivery.

Advertiser-side campaign status, progress, impressions, clicks and CTR.

Administrator Advertising Hub for moderation, payment confirmation, campaign activation and pricing.

Payment and moderation are separate gates; no campaign becomes active before both are complete.

MediaTube 2.28.0

MediaTube 2.28.0 — Actor Invite Login Fix

Fixes invitations sent to an email address that already belongs to a Joomla account.

Existing users now receive their real Joomla username and use their existing password; their password is never silently replaced.

New users receive a temporary password that is stored on their new Joomla account and must be changed at first login.

The email clarifies that the temporary password belongs in the password field and is not a separate invitation code.

Adds a direct Joomla password-reset reference for existing users.

Applies identical credential logic to public and administrator-created actor invitations.

MediaTube 2.27.9

MediaTube 2.27.9 — Premium Media Overview

MediaTube homepage now matches Actor Invite and Members Overview.

Luxury glass hero with purple/gold glow and Font Awesome visual language.

Premium sort, category and account-access controls.

Refined upload/stream actions and expandable forms.

Elevated responsive media cards with playback glow and hover motion.

Premium pagination and empty-state presentation.

Existing ranking, category filters, uploads, streams and routes are unchanged.

MediaTube 2.27.8

MediaTube 2.27.8 — Luxury Members Overview

Members Overview now shares the luxury glass-and-glow design language used by Actor Invite and member profiles.

Premium community hero with purple/gold ambient lighting.

Glass search and online-status filters.

Responsive luxury member cards with illuminated avatars.

Font Awesome social, profile, friend, message and navigation icons.

Refined community pagination and mobile layout.

Existing search, status filtering, friendship, messaging and profile routes remain unchanged.

MediaTube 2.27.7

MediaTube 2.27.7 — Profile Statistics Layout Fix

Uploads, Views and Favorites are now explicitly positioned as three complete statistic cards. Each value remains directly above its matching label on desktop and mobile. The luxury glass-and-glow profile design is otherwise unchanged.

MediaTube 2.27.6

MediaTube 2.27.6 — Luxury Member Profile

Dedicated premium profile stylesheet loaded after the shared MediaTube styles.

Dark luxury canvas with purple and gold ambient glow.

Glass profile hero with illuminated avatar and gradient member name.

Premium statistic tiles for uploads, views and favorites.

Glass sections for About, connections, profile editing, uploads, favorites and likes.

Elevated media cards with hover glow and refined pagination.

Responsive tablet and mobile presentation.

MediaTube 2.27.5

MediaTube 2.27.5 — Member Favorites & Latest Likes

Member profiles now include a Favorites section styled like Uploads.

Favorites resolve from the logged-in Joomla user's stable MediaTube actor key.

Profiles include up to the 50 latest liked media-items.

Latest Likes displays 10 items per page with independent pagination.

Only published MediaTube items are exposed on public member profiles.

Font Awesome icons distinguish uploads, favorites and likes.

MediaTube 2.27.4

MediaTube 2.27.4 — Premium Actor Invite Asset Fix

The Actor Invite view now explicitly registers and loads MediaTube's site stylesheet with a new asset version. This fixes the unstyled single-column output and activates the intended glass panels, glow effects, two-column hero, gradient heading, premium controls and responsive layout.

MediaTube 2.27.3

MediaTube 2.27.3 — Premium Actor Invite Design

The public Actor Invite menu page now uses a responsive premium presentation with dark glass surfaces, purple and gold accents, invitation benefits, account quota, delivery notice and a refined form experience.

MediaTube 2.27.2

MediaTube 2.27.2 — Invitation Delivery Notice

The public Actor Invite page now explains that invitation messages can be delayed, filtered as spam or rejected by email providers, particularly free email services. It also clarifies that successful submission confirms handoff to the configured mail server, not final inbox delivery.

MediaTube 2.27.1

MediaTube 2.27.1 — Community Actor Invitations

New Joomla menu-item type: MediaTube → Actor Invite.

Logged-in users can invite actors from the frontend.

The inviter's Joomla user ID, email target, status, IP and timestamp are recorded.

Maximum five actor invitations per user per rolling 24 hours.

Duplicate actor email addresses are rejected.

Actor account receives a temporary password with forced reset on first login.

Mail failures are recorded for administrator follow-up.

MediaTube 2.27.0

MediaTube 2.27.0 — Actor Marketplace & Streaming Foundation

Actor directory and email invitation workflow with temporary password and forced reset.

Actor ownership foundation for uploads, rental, sale, streaming and live shows.

MediaTube Premium plan seeded at 99.00 DKK per month with five devices.

Subscription and device registry with enforceable five-device limit.

Unified catalogue supports film, series, season, episode, free, Premium, rent, sale and live access.

Free/embed catalogue preserves origin provider, source URL and contributor identity.

User contributions have a moderation status before publication.

Existing MediaTube 2.26.0 XML Provider Department and complete 2.25.1 suite retained.

MediaTube 2.26.0

MediaTube 2.26.0 — XML Provider Department

Separate MediaTube → XML Providers administrator menu.

Multiple independently named XML/JSON providers with replaceable feed URLs.

Configurable paths for models, performerIds, status, category, biography, turnsOn and turnsOff.

free_chat is displayed as Free Chat; provider categories are capitalized.

Biography becomes the MediaTube description; Turns On and Turns Off render under separate H3 headings.

Provider-specific player and optional status-indicator templates.

Every {performer} and performernicknamexxx occurrence is replaced with the current entry's exact performerIds value.

Synchronisation updates existing items by provider + performerIds without duplicates.

Existing MediaTube 2.25.1 functionality remains included.

MediaTube 2.25.1

MediaTube 2.25.1 — Media Detail CategoryService Fix

Maintenance release for Joomla 5.

Fixes Class "CategoryService" not found when opening a media item.

Moves the CategoryService import before its first use in both legacy and current media detail templates.

Preserves Premium Kiosk, Provider Crawler, AI features and Secure Logout from 2.25.0.

MediaTube 2.25.0

MediaTube 2.25.0 — Secure Logout

Adds a frontend menu item type MediaTube Secure Logout.

Logout flow

1. Menu item opens a short privacy/logout transition view.

2. The view immediately submits a CSRF-protected POST request. Logout is never triggered by a GET request.

3. Joomla's normal CMSApplication::logout() flow runs so normal Joomla logout plugins/events are honored.

4. The remaining Joomla/PHP session is destroyed when supported.

5. The response is marked no-store, noindex and no-referrer.

6. Optional Clear-Site-Data: "cache", "cookies", "storage" requests strong same-origin cleanup in supported browsers.

7. Best-effort JavaScript removes localStorage, sessionStorage, accessible cookies, Cache Storage and IndexedDB.

8. Optional service-worker unregistering is available but disabled by default.

9. location.replace() returns to the configured same-site path without retaining the cleanup response as a useful back-navigation page.

Important limitation

A web application cannot erase the browser's complete history, downloads, OS-level traces, DNS/network/provider logs, browser sync history, or data owned by other origins. Secure Logout only clears what Joomla and a same-origin web page are technically allowed to clear.

Menu setup

Create a Joomla menu item and select:

MediaTube → MediaTube Secure Logout

Recommended access: Registered so the link is only shown while a user is logged in. The component view still handles guest access safely if invoked directly.

MediaTube 2.24.1

MediaTube 2.24.1 — Premium ACL Joomla 5.4 Fix

Maintenance release for the Premium Kiosk ACL provisioning workflow.

Fixed

Removes the invalid Joomla\CMS\Table\Usergroup::setLocation() call that fails on Joomla 5.4.x.

Creates the MediaTube Premium child group below Registered using Joomla user-group nested-set fields in a database transaction.

Reuses an existing MediaTube Premium group or viewing access level instead of creating duplicates.

Repairs the view-level rules if an earlier provisioning attempt created only part of the ACL setup.

Validates the selected frontend Home2/menu item before assigning Premium access.

Keeps ACL provisioning repeatable: the administrator may safely run Create / Repair Premium ACL & Protect Home2 again.

No OnPay subscription schema or payment behaviour changes are included in this maintenance release.

MediaTube 2.24.0

MediaTube 2.24.0 — Premium Kiosk

Adds a frontend Subscribe MediaTube Premium menu-item view, WYSIWYG kiosk configuration, OnPay subscription checkout with HMAC callback validation, automatic Premium Joomla group/access provisioning, Hidden Menu/Home2 protection, premium membership status, cancellation at period end, and schema for scheduled monthly renewals.

Setup

1. Open Components → MediaTube → Premium Kiosk.

2. Edit kiosk content with the Joomla WYSIWYG editor.

3. Set monthly price/currency and OnPay Gateway ID + Shared Secret.

4. Select the Hidden Menu/Home2 menu item.

5. Click Create / Repair Premium ACL & Protect Home2.

6. Create a frontend menu item of type MediaTube → Subscribe MediaTube Premium.

7. Configure the OnPay API Bearer token before enabling scheduled monthly renewal.

MediaTube 2.23.1

MediaTube 2.23.1 — Provider Crawler Migration Fix

Fixes Joomla/MySQL error 1146 where #__mediatube_provider_items could be missing after upgrading from MediaTube 2.22.x.

Fixes

Moves the 2.23 provider schema migration before the installer return path.

Creates #__mediatube_providers and #__mediatube_provider_items during update/postflight.

Adds provider fields to #__mediatube_media during upgrade.

Adds administrator self-healing: Provider Crawler verifies/creates its schema before executing list queries.

Existing MediaTube data is preserved; all schema operations use CREATE TABLE IF NOT EXISTS and add only missing columns.

MediaTube 2.23.0

MediaTube 2.23.0 Provider Crawler Edition

Adds an administrator-only Provider Crawler / Import Center. Twitch discovery uses the official Helix API with OAuth client credentials. HTML providers (XVideos, Pornhub and generic) use conservative public-page discovery: configured seed/search URLs are fetched with cURL, public item links are discovered, and item pages are inspected for standard iframe/OG metadata. The crawler never bypasses login, CAPTCHA, robots restrictions or anti-bot challenges.

Workflow

Provider CRUD in MediaTube administrator.

Super Users or configured Joomla groups can manage providers.

Discovery items are staged separately from MediaTube media.

Batch import creates/updates MediaTube items and prevents duplicates with provider_id + provider_key.

Adult HTML imports default to unpublished unless auto-publish is explicitly enabled.

Twitch live state and viewer counts refresh existing imported items.

Provider-aware ordering keeps live provider streams first, normal MediaTube items in the middle and offline provider items last.

Authenticated-click ordering field is available for logged-in-user ranking workflows.

Hub API exposes provider_live, provider_viewers and authenticated_clicks plus provider-smart ordering capability.

Scheduling

Install the companion plg_task_mediatubeproviders package and create a Joomla Scheduled Task for MediaTube Provider Sync. The provider itself controls its minimum interval.

HTML provider caveat

Third-party page structure and terms can change. MediaTube does not attempt to evade blocks. Use only public URLs that you are permitted to retrieve and prefer official APIs/embeds where available.

MediaTube 2.22.0

MediaTube 2.22.0 — Dynamic Categories Edition

Administrator Category Manager

MediaTube now includes a first-class Categories area in Joomla Administrator.

Administrators can:

create categories;

edit category title, stable alias, description and frontend icon;

publish or unpublish categories;

delete unused categories;

set ordering;

see how many media items currently use each category.

To protect existing media data, a category that is still assigned to one or more media items cannot be deleted until those items have been reassigned.

Dynamic frontend integration

Published categories are no longer hardcoded to the original three values. MediaTube reads the category registry dynamically for:

frontend category navigation;

MP4 upload;

MP3 upload;

RTMP registration;

YouTube registration;

Spotify registration;

Twitch registration;

Joomla menu category binding;

administrator media editing.

The existing Adult, Music Stream and Music Hybrid categories are migrated automatically and remain compatible with existing media rows and URLs.

Future dynamic category detection foundation

Each category includes a detection profile with:

detection enabled/disabled;

priority;

keyword/rule vocabulary;

semantic AI classification hint;

preferred media/provider types.

Media rows now have reserved audit fields for category_source, category_suggested, category_confidence and category_detection_meta. A deterministic category suggestion service is included as a foundation for a later heuristic/AI detector. Automatic reassignment is not forced in 2.22.0; manual category selection remains authoritative until an explicit detection mode is enabled in a later release.

This architecture allows future classification to examine upload title, description, filename, stream URL/provider, media type and eventually extracted/transcribed content while retaining an auditable distinction between the selected category and the detector's suggestion.

MediaTube 2.21.0

MediaTube 2.21.0 — Twitch Provider Edition

Added

Adds Twitch Live as a first-class MediaTube media type alongside MP4, MP3, RTMP, YouTube and Spotify.

Adds Add Twitch Stream to the frontend MediaTube publishing workspace and Media Library upload controls.

Accepts Twitch channel URLs such as https://twitch.tv/stream, https://www.twitch.tv/stream and twitch.tv/stream.

Automatically extracts and validates the Twitch channel name.

Twitch titles are optional; when omitted MediaTube generates a channel-based title automatically.

Generates the Twitch player dynamically at render time using the current site's hostname as Twitch's required parent parameter.

Adds Twitch badges/placeholders to MediaTube cards and media detail pages.

Adds Twitch to the Hub Administration media type selector.

Provider architecture

Introduces ExternalProviderService for provider URL normalization, provider IDs and runtime playback URL generation.

YouTube, Spotify and Twitch now share a common external-provider normalization layer.

The MediaTube Hub API now exposes backward-compatible provider and provider_id fields for YouTube, Spotify and Twitch items.

Twitch API records deliberately keep the original/canonical source URL available so remote MediaTube clients can generate a Twitch player with their own required parent hostname.

Compatibility

Built on MediaTube 2.20.1 and preserves AI title rewrite, AI description rewrite, batch AI rewrite, members/profile functionality, creator analytics, Hub modes/ranking, commerce, legal/audit functions and the existing Traffic Hub API.

No database schema changes are required; media_type, stream_url and playback_url remain backward compatible.

Upgrade

Install directly over MediaTube 2.20.1 using Joomla Extensions → Install. Existing MediaTube data is preserved.

MediaTube 2.20.1

MediaTube 2.20.1 — Joomla 5 AI Batch Rewrite Fix

Fixed

Fixes fatal error Call to undefined method ... MediaController::getDatabase() when running AI Rewrite Title + Description from Hub Administration → Media Library.

MediaController now resolves Joomla\Database\DatabaseInterface through Joomla 5's dependency injection container.

Applies the same controller database fix to Media Library publish/unpublish/delete operations and LegalController database writes.

No database schema changes. Existing MediaTube 2.20.0 AI settings, original title/description audit fields and media data are preserved.

Upgrade

Install directly over MediaTube 2.20.0 using Joomla Extensions → Install.

MediaTube 2.20.0

MediaTube 2.20.0 — Hub AI Batch Rewrite

MediaTube 2.20.0 adds explicit AI batch rewriting for existing media-items in Hub Administration.

Administration workflow

1. Open Components → MediaTube → Media Library.

2. Select one or more existing media-items with the row checkboxes.

3. Click AI Rewrite Title + Description in the Joomla toolbar.

4. MediaTube processes each selected item independently and reports a summary.

Behaviour

AI Title Rewrite runs only when Automatic AI title rewrite is enabled.

AI Description Rewrite runs only when Automatic AI description rewrite is enabled.

The explicit batch action does not require the separate "rewrite on administrator save" switches.

Empty descriptions remain empty.

One failed media-item does not stop later selected items.

The first stored ai_title_original and ai_description_original values are preserved rather than overwritten on later batch passes.

The current model and rewrite timestamp are recorded whenever a field is actually changed.

A configurable safety limit prevents accidentally starting excessively large synchronous batches. Default: 20 items, maximum configurable value: 100.

If the selected count exceeds the configured limit, MediaTube aborts before changing any selected item.

Requirements

The OpenAI API key and AI model settings continue to be configured in MediaTube → Options. Existing 2.19.0 AI audit columns are reused; no destructive schema migration is required.

MediaTube 2.19.0

MediaTube 2.19.0 — Automatic AI Description Rewrite

Automatic rewriting of non-empty descriptions for MP4, MP3, RTMP, YouTube and Spotify items. Original text is retained when a rewrite occurs, with model and timestamp audit fields. Uses the existing server-side OpenAI API key. AI timeout/failure never blocks media creation. Empty descriptions are left empty rather than generated from scratch.

MediaTube 2.18.0

MediaTube 2.18.0 — Automatic AI Title Rewrite

MediaTube 2.18.0 adds a server-side AI title rewriting engine for newly created media items.

AI title engine

Supports MP4 uploads, MP3 uploads, RTMP streams, YouTube embeds and Spotify embeds.

Uses the OpenAI Responses API from the Joomla server; the API key is never exposed to frontend JavaScript.

Enable under MediaTube component Options → MediaTube AI Title Rewrite.

Configurable model, language, maximum title length and request timeout.

Original titles are preserved in the MediaTube database when a rewrite occurs.

AI failure is non-fatal: MediaTube automatically falls back to the submitted/generated title and completes the upload.

Optional administrator-save rewriting is available separately and is disabled by default to avoid changing manually curated titles unexpectedly.

Database audit fields

The updater adds ai_title_original, ai_title_rewritten, ai_title_model and ai_title_modified to #__mediatube_media without replacing existing data.

Existing features

Includes all MediaTube 2.17.0 Members Directory/Profile functionality and the existing 2.16.x Hub Administration Center functionality.

MediaTube 2.17.0

MediaTube 2.17.0 — Native Members & Profile Edition

Adds native Joomla menu item types MediaTube Members and MediaTube Member Profile directly to com_mediatube.

Features: member cards, nickname/username, 15-minute online status, social profile links, friend requests, private messages, editable MediaTube profile fields, creator upload/view totals and latest public uploads.

MediaTube 2.16.1

MediaTube Hub 2.16.1 — Hub Administration Center Edition

MediaTube 2.16.1 reorganizes the Administrator experience into a visible operational control surface.

Hub Dashboard

The component now opens on a dedicated MediaTube Hub Administration Center rather than dropping directly into the Media Library.

The dashboard exposes:

Published and total media

Lifetime views

Recent uploads

Open reports

Paid/pending commerce state

Remote API clients and active API keys

Remote click volume

Current Traffic / Profit / Disco mode

Live/default ranking status

Remote API and traffic-attribution status

Secure Stream FFmpeg configuration

Administrator navigation

The MediaTube submenu now exposes:

Hub Dashboard

Media Library

Modes & Ranking

API & Traffic Hub

Reports & Engagement

Commerce & Orders

Legal Documents

Modes & Ranking

Traffic, Profit and Disco are now manageable from a dedicated MediaTube administrator page.

Administrators can directly change:

Active Hub mode

Live sort enabled/disabled

Live as default

Traffic guest lifetime-view weight

Traffic member lifetime-view weight

The page explains the purpose of each mode and the rule that explicit frontend sorting remains user-controlled.

Reports & Engagement

A dedicated backend view exposes:

Likes

Dislikes

Favorites

Downloads

Open report count

Recent moderation reports with source, reason, status and comment

Commerce & Orders

A dedicated backend view exposes:

Paid orders

Pending orders

Cancelled orders

Permanent purchases

Rentals

Recent order details, gateway and payment state

Frontend shortcuts

The dashboard provides direct links to:

Media frontend

Upload Portal

Creator Analytics

All MediaTube 2.16.0 Live Ranking Modes functionality is retained.

MediaTube 2.16.0

MediaTube Hub 2.16.0 — Live Ranking Modes Edition

MediaTube 2.16.0 introduces administrator-controlled live ranking objectives for the Hub and Remote feed.

Hub modes

Traffic

Designed to maximize useful current circulation rather than blindly repeating lifetime popularity.

Signals include:

24-hour and 7-day view velocity

traffic-source diversity

MediaTube Remote distribution breadth

likes, favorites and downloads

negative reaction penalty

freshness

softened lifetime-view contribution

For unregistered/global traffic, lifetime popularity is deliberately weighted lower than for authenticated users. This reduces the tendency for already-popular media to permanently monopolize exposure.

Profit

Designed for commercial outcome.

Signals include:

verified paid order count

conversion efficiency

current demand

favorite/download intent

whether the item is monetized

freshness and negative reaction quality signals

Raw revenue amounts are not compared across currencies because MediaTube can sell in DKK, EUR, USD and other currencies. Profit mode therefore uses verified commercial outcomes and conversion efficiency rather than producing mathematically invalid cross-currency ranking.

Disco

Discovery-oriented ranking.

Signals include:

freshness

source diversity

Remote distribution breadth

engagement efficiency

current view activity

favorites

negative reaction penalty

controlled penalty for extreme lifetime exposure

Disco is specifically designed to counter popularity lock-in and give high-quality under-exposed content a path into visible positions.

Frontend balance

When a Hub mode is active, MediaTube adds:

Live · Traffic

Live · Profit

or

Live · Disco

as a frontend sort option.

Administrator can make Live the default sort.

Visitor intent is still preserved. Explicit frontend selections such as:

Newest

Oldest

Most viewed

Category filters

override the automatic Live order.

This creates a two-layer model:

Hub objective → adaptive default ranking

Visitor filter/sort → explicit local intent

The algorithm therefore guides discovery without removing user control.

Remote network

When Remote API clients do not explicitly request another ordering, the active Hub Live mode can also rank the MediaTube feed. The API response advertises current ranking mode metadata so Remote clients can understand the Hub objective.

Administration

Configure under:

MediaTube → Options → MediaTube Live Ranking Modes

Settings include:

Active Hub mode

Enable Live sort

Use Live as default sort

Traffic guest lifetime-view weight

Traffic member lifetime-view weight

All functionality from MediaTube 2.15.0 Creator Analytics Edition is retained.

MediaTube 2.15.0

MediaTube Hub 2.15.0 — Creator Analytics Edition

Adds a private, menu-item-friendly Creator Analytics area for registered MediaTube publishers.

Menu view

Create a frontend menu item using:

MediaTube → MediaTube Creator Analytics

Route:

index.php?option=com_mediatube&view=creatoranalytics

Guests are redirected to login. Authenticated users can only query media where created_by matches their own user ID.

Creator metrics

Own uploads

Lifetime views

Period-tracked views

Likes

Dislikes

Favorites

Downloads

Permanent sales

Per-upload performance

Referral/source mix

MediaTube Remote client traffic

Device class mix

Filters

Creators can filter by:

One specific owned media item or all uploads

7 days

30 days

90 days

12 months

Privacy-preserving audience intelligence

MediaTube does not infer sensitive demographics such as age, gender, ethnicity or identity. Audience insight is based on technical traffic signals:

Direct

Internal

Referral domain

MediaTube Remote client

Desktop

Mobile

Tablet

Bot/unknown

View-event analytics

2.15.0 introduces #__mediatube_view_events for timestamped traffic-source and device-class analysis.

Existing hits remain the authoritative lifetime view counter. Period-based view analytics begin when 2.15.0 is installed; historical lifetime views are not fabricated as timestamped events.

All functionality from MediaTube 2.14.2 is retained.

MediaTube 2.14.2

MediaTube Hub 2.14.2 — First Impression Toolbar Edition

Improves the primary MediaTube browsing interface with a consolidated control bar before the media grid.

New top toolbar order

1. Sort

2. Filter

3. Access / publishing

Sorting is intentionally presented first, while account and publishing actions are positioned last in the same visual toolbar.

Sorting

Newest

Oldest

Most viewed

Media filters

All media

Adult

Music Stream

Music Hybrid

Access actions

Guests see:

Upload

Register

Login

Authenticated users see:

Upload

My account

Upload remains visible for guests because it leads to the MediaTube Upload Portal, which presents registration when the visitor is not authenticated.

Presentation

The toolbar uses MediaTube's dark visual system with high-contrast light text, responsive wrapping, active-state highlighting, glass-like surfaces and distinct publishing/account accents.

All functionality from MediaTube 2.14.1 is retained.

MediaTube 2.14.1

MediaTube Hub 2.14.1 — Branded Upload Portal Edition

MediaTube-first presentation

The public Upload Portal no longer presents platform implementation terminology to end users. Visible account and registration wording is branded as MediaTube.

Technical framework namespaces and internal CMS API references remain unchanged where required for runtime compatibility.

Dark publishing workspace

The Upload Portal has been redesigned as a cohesive dark MediaTube workspace with:

High-contrast light typography

Glass-style navigation

Gradient and glow accents

Animated upload cards

Smooth section navigation

Responsive mobile layout

Enhanced drag-and-drop feedback

Marketplace/seller-state highlighting

Dark themed registration surface

Improved focus, input and button states

Progress-bar and upload-state refinement

JavaScript interaction layer

A dedicated upload-portal.js layer now provides:

Progressive reveal animations

Single-open publishing panels

Smooth upload-option navigation

Seller-mode visual state

Drag-over feedback

Registration loading state

Same-origin registration form dark-theme injection

Submit-state feedback for non-batch publishing forms

The existing MediaTube AJAX MP4 batch uploader remains responsible for upload progress and transfer handling.

All Seller Marketplace, Remote Write API, Secure Stream, Engagement, Share/Embed and existing upload functionality is retained.

MediaTube 2.14.0

MediaTube Hub 2.14.0 — Upload Portal Edition

MediaTube 2.14.0 adds a dedicated Joomla menu-item-friendly upload page.

New menu view

Create a Joomla menu item using:

MediaTube → MediaTube Upload

The new view resolves to:

index.php?option=com_mediatube&view=upload

Logged-in experience

Authenticated users receive a dedicated publishing portal containing:

MP4 upload

MP3 upload

RTMP registration

YouTube registration

Spotify registration

Media category selection

Upload terms acceptance

Media seller / permanent purchase options

PayPal recipient override for uploaded MP4 products

Uploads remain attached to the authenticated Joomla user.

Logged-out experience

Guests do not receive upload controls. The Upload page instead presents the Joomla native registration view directly inside the MediaTube upload portal, together with a login path for existing users.

After account creation and login, the same menu item automatically becomes the upload interface.

Architecture

The upload portal is a dedicated view=upload and does not depend on the MediaTube media-list page. This makes it suitable for normal Joomla menu assignment, access levels, modules and template positioning.

All Seller Marketplace, Remote Write API, Share & Embed, Engagement Network, Secure Stream and rental functionality from previous releases is retained.

MediaTube 2.13.0

MediaTube Hub 2.13.0 — Seller Marketplace Edition

MediaTube 2.13.0 adds direct creator sales to the frontend.

Seller payment identity

A seller can configure a private PayPal receiving email in two places:

1. MediaTube Seller Profile on the Joomla user registration/profile form.

2. A per-item override during frontend MP4 upload or administrator media editing.

The seller PayPal email is stored server-side and is not rendered publicly by MediaTube.

Permanent purchase

A media item can enable:

Sell media

Sale price

Currency

PayPal receiving account

Buyers see a Buy with PayPal action on the media detail page. A completed purchase creates a permanent MediaTube entitlement with no expiry date.

Payment architecture

Seller purchases use a dedicated MediaTube marketplace payment event and do not interfere with the existing rental/OnPay flow.

The MediaTube PayPal Marketplace gateway creates a PayPal Orders v2 order and specifies the media seller as the transaction payee. PayPal checkout happens outside MediaTube. The return is captured and verified server-side before access is granted.

Privacy model

MediaTube does not expose seller payout email addresses to visitors. Buyer and seller do not need to exchange payment information directly through the MediaTube UI. PayPal remains the payment processor and may disclose transaction information according to PayPal account, legal and transaction requirements.

Security

No entitlement is created merely because the browser returns to MediaTube.

MediaTube verifies PayPal order identity, MediaTube order reference, currency and amount.

Permanent access is created only after a completed capture.

Existing Secure Stream protection remains active for protected media.

Requires:

MediaTube PayPal Marketplace Plugin 1.0.0

MediaTube Seller Profile Plugin 1.0.0 for account-level default payout email

MediaTube 2.12.0

MediaTube Hub 2.12.0 — Remote Write API Edition

MediaTube 2.12.0 adds a Joomla Web Services write path for Remote user interaction.

New API capability

Remote sites can submit network interaction to the Hub through:

POST /api/index.php/v1/mediatube/media/{id}/interaction

POST action=stats

POST action=view

POST action=like

POST action=dislike

POST action=favorite

POST action=report

POST action=download

The Hub remains the authoritative source of all counters and reaction state.

Authentication

Write requests use the MediaTube API key only between servers. The browser never receives it.

Each request includes:

X-MediaTube-Key

X-MediaTube-Client

X-MediaTube-Timestamp

X-MediaTube-Signature

The signature is an HMAC-SHA256 over the timestamp, Remote client ID, media ID, action and anonymous actor token. Requests outside the five-minute replay window are rejected.

API permissions

New managed API keys can explicitly receive the engage permission. Existing keys with feed permission remain compatible with Remote interaction during the 2.12 upgrade cycle.

Shared state

Views, Likes, Dislikes, Favorites, Reports and Downloads written through the API update the same Hub tables and counters used by local MediaTube pages and all Remote clients.

All Share & Embed, Secure Stream, Commerce and Engagement Network functionality from 2.11.0 is retained.

MediaTube 2.11.0

MediaTube Hub 2.11.0 — Share & Embed Edition

Adds per-media sharing and embeddable MP4 playback.

Share options

Each MediaTube detail page provides:

Facebook

Reddit

SMS

Email

WhatsApp

LinkedIn

Pinterest

Copy link

Native device share where the Web Share API is supported

All share targets use MediaTube's current Joomla-generated detail URL instead of a hardcoded SEF path.

MP4 Embed

Uploaded MP4 media includes a copyable iframe snippet and a dedicated minimal player:

index.php?option=com_mediatube&view=media&layout=embed&id={ID}&Itemid={ITEMID}

Secure Stream compatibility

Rental and protected MP4 embeds never expose the original file. The embedded player uses the same Secure Stream endpoint as the MediaTube detail page. Without active entitlement, only the configured preview derivative is available.

Public non-rental MP4 files embed normally.

All MediaTube 2.10.0 Engagement Network features are retained.

MediaTube 2.10.0

MediaTube Hub 2.10.0 — Engagement Network Edition

Adds shared network-wide views, likes, dislikes, favorites, reports and downloads.

Hub is the authoritative source of counters.

Local and remote actions update the same database.

Feed returns engagement totals and signed action_urls.

Remote clicks increment the same hits field used by Hub views / Most viewed.

Like/dislike are mutually exclusive per actor.

Favorites toggle per actor.

Reports are persistently queued with reason, comment, client and status.

Downloads are counted centrally; protected rental downloads still require entitlement on Hub.

Signed remote action URLs do not expose the MediaTube API key in browser code.

Remote modules refresh counters through an uncached signed stats action, so feed caching does not create divergent network totals.

MediaTube 2.9.4

MediaTube Hub 2.9.4 — Secure Preview Playback Edition

Secure preview playback fix

Version 2.9.4 corrects a condition where rental media could display the configured preview duration but the HTML5 player could not begin playback.

Changes

Preview derivatives are now re-encoded as browser-compatible H.264/AAC MP4 with faststart as the primary generation method.

A stream-copy fallback remains available for FFmpeg builds without libx264.

Temporary/output buffering is cleared before binary media delivery to prevent Joomla/template bytes from corrupting MP4 responses.

HTTP HEAD requests are supported in addition to Range/206 responses.

Secure stream requests retain the MediaTube Itemid.

FFmpeg path validation has been corrected for executable names and absolute paths.

Existing broken preview derivatives are regenerated automatically when missing/stale; administrators may delete mediatube_secure/previews/*.mp4 to force regeneration immediately.

All Joomla native routing, OnPay commerce, entitlement, referral and Secure Stream functionality is retained.

MediaTube 2.9.3

MediaTube Hub 2.9.3 — Joomla Native Routing Edition

Routing architecture correction

MediaTube no longer hardcodes the SatHack SEF path

/livecam-shows/xrated-18-videos/.

All internal detail links now originate from Joomla component URLs:

index.php?option=com_mediatube&view=media&layout=video&id={ID}&Itemid={ITEMID}

The URL is passed through Joomla's router where appropriate, so Joomla itself decides whether the final URL is SEF or non-SEF.

Behaviour

Joomla SEF disabled → non-SEF component URLs are generated.

Joomla SEF enabled → Joomla may generate the configured SEF menu route.

MediaTube no longer forces a site-specific alias.

Commerce redirects use the same central RouteHelper.

API detail fallbacks use a generic Joomla component URL instead of a SatHack-specific SEF path.

All Secure Stream and commerce functionality from 2.9.1/2.9.2 is retained.

MediaTube 2.9.2

MediaTube Hub 2.9.2 — Secure Stream Routing Edition

Frontend detail routing fix

MediaTube 2.9.2 corrects a frontend routing regression introduced in the Secure Stream branch.

Media cards now link directly to the site's canonical MediaTube detail route:

/livecam-shows/xrated-18-videos/?layout=video&id={ID}

instead of generating a generic Joomla component URL which could be resolved by the active menu context as the site front page.

Preserved functionality

All MediaTube 2.9.1 Secure Stream functionality is retained:

protected rental MP4 storage outside the public webroot

entitlement-controlled full playback

FFmpeg preview derivatives

HTTP Range / 206 Partial Content streaming

OnPay commerce compatibility

persistent referral analytics

MediaTube API and click tracking

MediaTube 2.9.1

MediaTube Hub 2.9.1 — Secure Stream Edition

MediaTube Hub 2.9.1 extends the 2.9.0 commerce foundation with server-side protection for rentable local MP4 media.

Secure Stream architecture

Rental-enabled MP4 originals are migrated from /images/mediatube/ to a protected storage directory outside the Joomla public webroot:

../mediatube_secure/

The original MP4 is never used as the unauthenticated preview source.

Full playback is delivered through task=stream.play only after MediaTube verifies an active entitlement for the logged-in Joomla user.

HTTP Range requests and 206 Partial Content are supported for normal HTML5 seeking.

Direct media_url disclosure is suppressed in the MediaTube remote API for protected/rental media.

Protected originals are removed from both public and secure storage when their MediaTube item is deleted.

Secure preview derivatives

For a rental item without active entitlement, MediaTube attempts to generate a physically separate preview MP4 using FFmpeg and the configured preview_seconds value.

Example:

Full media duration: 1 hour 30 minutes

Preview: 600 seconds

Rental period: 48 hours

Only the derivative containing the preview segment is delivered before payment. The full original remains outside the public webroot.

If FFmpeg is unavailable or preview generation fails, MediaTube fails closed: the protected original is not exposed as a fallback.

Upgrade behavior

During installation/update, existing rental-enabled local MP4 files are migrated to protected storage when the filesystem permits it. The database field secure_storage records successful migration.

Editing and saving a rental-enabled MP4 in the administrator also attempts migration to protected storage.

Configuration

MediaTube → Options → MediaTube Secure Stream

FFmpeg executable: defaults to ffmpeg

Streaming chunk size: defaults to 1024 KB

Commerce compatibility

MediaTube Hub 2.9.1 remains compatible with the MediaTube OnPay gateway plugin introduced for the 2.9.x commerce architecture. Orders and entitlements continue to use #__mediatube_orders and #__mediatube_entitlements.

Security model

2.9.1 is access-controlled streaming, not DRM. An authorized user who can legitimately play a video can potentially record or capture delivered media. The edition is designed to prevent the much simpler bypass where an unpaid visitor discovers or downloads the original public MP4 URL.

MediaTube 2.9.0

MediaTube Hub 2.9.0 — Commerce Foundation & Rental Access

Per-media rental enable/disable, price, currency, rental hours and preview seconds.

Persistent orders and entitlements.

Generic MediaTube payment plugin events.

HMAC-verifiable gateway callback architecture.

Frontend Rent Media UI and timed preview enforcement for local HTML5 media.

Compatible with MediaTube OnPay plugin 1.0.0.

Security note: the 2.9.0 preview limiter controls the MediaTube player UI. Original files stored in a publicly reachable Joomla images directory are not DRM protected. For high-value content, move protected originals outside the public web root and serve them through an entitlement-aware streaming controller.

MediaTube 2.8.12

MediaTube Hub 2.8.12

Routing fix

API click redirects now use the public MediaTube Joomla menu route:

/livecam-shows/xrated-18-videos/?layout=video&id={ID}

Fixes redirects that previously resolved to the site root with MediaTube query parameters.

Keeps the persistent referral-domain tracking introduced in 2.8.8 and subsequent routing fixes.

MediaTube 2.8.11

MediaTube 2.8.12

API click redirect fix

Fixes remote/related click redirects when Public Detail Base URL is empty.

Previously, api.click used the site root as its fallback detail base, producing redirects such as:

https://example.com/?id=52

The fallback now uses the canonical MediaTube detail controller:

https://example.com/index.php?option=com_mediatube&view=media&layout=video&id=52

An explicitly configured Public Detail Base URL is still respected.

Includes all fixes from 2.8.10 and earlier releases.

MediaTube 2.8.10

MediaTube 2.8.10

Canonical detail URL fix

Fixes media-card/detail links being collapsed by Joomla routing to /?id=NN.

MediaTube detail links are now generated as canonical component URLs:

index.php?option=com_mediatube&view=media&layout=video&id=NN.

This deliberately bypasses Joomla SEF rewriting for detail links so option, view and layout cannot be stripped by an incorrect menu context.

Keeps all MediaTube 2.8.9 routing safeguards and the persistent referral-domain analytics introduced in 2.8.8.

MediaTube 2.8.9

MediaTube 2.8.9

Routing fix

Fixes 404 Category not found when opening media detail links under an unrelated Joomla menu context.

MediaTube no longer blindly propagates the current Itemid to media-detail URLs.

A new RouteHelper validates that an Itemid belongs to com_mediatube.

Dedicated hidden view=media&layout=video menu routes are preferred automatically when present.

Falls back safely to a normal MediaTube menu item if no dedicated detail menu exists.

Existing MediaTube 2.8.8 referral analytics and media data are unchanged.

MediaTube 2.8.8

MediaTube 2.8.8

Persistent Referral Analytics

MediaTube 2.8.8 fixes the Top Referral Domains subsystem introduced in earlier builds.

Changes

Referral-domain counters now use the persistent Joomla database table #__mediatube_referrals instead of Joomla's cache directory.

Referral statistics therefore survive normal Joomla cache cleanup.

Existing MediaTube 2.8.7 referral JSON files are imported automatically per media item when they are still available.

The migration is guarded against duplicate imports.

External referrers are normalized to lowercase hostnames and www. is removed.

Same-site referrals and subdomains of the current MediaTube host are ignored.

Only valid HTTP/HTTPS referral hosts are counted.

A referral is counted once per Joomla session, media item and referral domain.

Database or analytics failures remain non-fatal and cannot interrupt media playback.

Top Referral Domains continues to return the 50 highest-count external domains by default.

Upgrade

Install com_mediatube_2.8.8.zip through Joomla's Extensions installer over the existing MediaTube installation. Existing media, API configuration, legal documents, chat data and traffic data are retained.

Database

The installer/update script automatically creates:

#__mediatube_referrals

with persistent counters keyed by media ID and referral domain.

MediaTube 2.8.7

MediaTube 2.8.7

Unified API enablement hotfix. The API Hub and frontend feed now use the same activation rule. The API is enabled when MediaTube Options explicitly enables it or when at least one managed API key is enabled in API & Traffic Hub. Boolean values are normalized safely across Joomla/PHP representations.

MediaTube 2.7.0

MediaTube 2.7.0

Adds a read-only remote JSON feed for sharing published MediaTube content with other Joomla installations.

Endpoint:

/index.php?option=com_mediatube&task=api.feed&format=json

Query parameters: category, ordering, limit, offset. Optional authentication uses X-MediaTube-Key or api_key.

Enable and configure the API in Components → MediaTube → Options → MediaTube Remote API. Set Public Detail Base URL to the dedicated MediaTube detail menu route so remote cards link back to the correct source detail page.

MediaTube 2.6.0

MediaTube Component 2.6.0

Adds a dedicated Joomla menu-item type: MediaTube media item detail.

Create this menu item in a hidden menu. Its route becomes the stable context for individual media item pages. The item ID is appended dynamically by the MediaTube module.

Legacy component overview

MediaTube 2.20.1

Joomla 5 controller database compatibility fix for AI Batch Rewrite.

MediaTube 2.20.0

Current release adds Hub Administration AI batch rewriting for selected existing media-items. See README-2.20.0.md.

MediaTube 2.8.12

Current release: 2.8.12. See README-2.8.12.md for the API click redirect fix.

MediaTube 2.8.8

Current release: persistent Top Referral Domains analytics stored in the Joomla database. See README-2.8.8.md for upgrade notes.

MediaTube Component 2.5.2

Adds a robust detail-page fallback through the existing Media view. Detail URLs now use:

?view=media&layout=video&id=ID

This avoids Joomla installations that cannot resolve the separate Video site view.

Secure Stream Edition (2.9.1)

See README-2.9.1.md for protected rental MP4 storage, preview derivatives and entitlement-controlled HTTP Range streaming.

SatHack template 2.9.3 — Desktop sidebar placement

MediaTube 2.40.3 / SatHack template 2.9.3 — Desktop sidebar placement

Template sidebar layout now explicitly places content in desktop column 1 and row 1, sidebar-right in column 2 and row 1, and an optional sidebar-right-playlist in column 3 and row 1. Sidebar columns remain 235px wide. Template-scoped selectors prevent lower-specificity layout rules from collapsing the desktop grid or spanning the content across the sidebar columns. The content track may shrink to accommodate media cards and embedded modules.

At viewport widths of 1100px or below, sidebars stack after the content in a single column at full width. Pages without sidebar modules keep their existing layout. Header and other module positions are retained.

MediaTube Wiki records this template revision and platform release. The complete package retains all 15 extensions and upgrades the template to 2.9.3. Clear Joomla/page/browser caches after installation. Validation: bundled PHP/XML/manifest/ZIP checks and CSS layout-rule checks; live Joomla rendering was not verified.

SatHack template 2.9.2

SatHack template 2.9.2

Installer descriptions now reflect the current template release. Includes the restored header position, separate 235px sidebar-right-playlist, Smart Search component routing, MediaTube-first relevance cards and collapsed search controls. Bundled in MediaTube platform 2.40.0. Existing template parameters and selection are preserved.

SatHack template 2.9.1

SatHack Portal 2.9.1 — Compact Search Results

After a Smart Search has been performed, the full form (search terms, help text and advanced filters) is hidden inside a closed native details element. The summary "Ny søgning / søgeindstillinger" opens the existing form without clearing its values. Before a search, the form is shown normally. Works without custom JavaScript and keeps the original Joomla Finder form, assets and results lifecycle.

Preserves MediaTube-first search cards, related suggestions, the header module position and both 235px right sidebars.

Validation: native PHP syntax and rendered template branches checked for initial search and completed searches. ZIP integrity checked. Not installed on the production site.

SatHack template 2.9.0

SatHack Portal 2.9.0 — Search Cards

Adds a Smart Search results override with MediaTube items before Joomla/other indexed content. Direct results use descending Finder relevance and preserve that order within each source. Source grouping is applied across the full direct result set before pagination, rather than just reordering the current page.

Adds up to 24 related results from the existing Finder index using query-word/word-stem similarity in titles and descriptions. Direct matches precede related results within each source. When no direct matches exist, related indexed items can still appear. Unrelated candidates with zero textual relevance are omitted. This is lexical relevance, not semantic AI search.

Related queries respect indexed publication state, access levels, publication dates and active site language. Additional related suggestions are disabled for explicit filters or recognized advanced query syntax to avoid broadening those restrictions. The fallback needs the Finder index to contain the content.

Cards include available indexed images, source groups, Match/Related labels, title, description and a link. Responsive columns adapt to desktop and mobile. Preserves the header position, both 235px sidebars and the earlier Smart Search component-rendering fix.

Install this template ZIP using Joomla Extensions. Keep Smart Search - MediaTube enabled and run Smart Search Index when necessary. No component/plugin update is required for this layout.

Validation: native PHP syntax, MediaTube-first partitioning, preservation of direct relevance ordering and lexical scoring tested. Manifest and ZIP integrity checked. Live Joomla behavior and visual browser rendering were not tested.

SatHack template 2.8.3

SatHack Portal 2.8.3 — Smart Search Rendering

Smart Search (com_finder) now always renders the Joomla component, even when Joomla retains the Home menu item for a search route without a dedicated search menu item. Portal section rendering also respects explicitly routed MediaTube/Smart Search requests.

Preserves the restored header position and both 235px right sidebar positions. No search index or database changes are made. Search matches still depend on Joomla Smart Search having indexed content and on enabled Finder integrations for the content types involved.

Validation: PHP syntax; portal decision branches tested for Home, section portals, Smart Search with inherited Home or section context, and explicit MediaTube views; manifest and ZIP integrity checked. The public search URL rejected inspection with HTTP 455, so the site's index state and live results have not been verified.

SatHack template 2.8.2

SatHack Portal 2.8.2

Restores the header module position in templateDetails.xml and renders its assigned modules above the content layout on component, home portal and section portal pages. It is independent of the logo/site-header visibility switch. Existing header module assignments can render again after installing this update. The above-header and above-content positions remain available, together with both 235px right sidebar positions.

Validation: PHP syntax, module position declarations, placement before the content branches and ZIP integrity checked. Not installed on the production site.

SatHack template 2.8.1

SatHack Portal 2.8.1

Adds the optional sidebar-right-playlist Joomla module position to the right of sidebar-right on component/content pages. Desktop width is 235px. When both positions contain assigned modules, the layout is content | sidebar-right (235px) | sidebar-right-playlist (235px). Empty positions do not reserve a column. At viewport widths of 1100px and below, the sidebars follow the content vertically and the playlist position uses the available width.

Install this template ZIP through Joomla Extensions, then assign a published module to sidebar-right-playlist and select its menu assignments. The existing portal landing/section pages retain their current module layout. This change supplies a module position; assign your playlist module to it.

Validation: native PHP syntax, manifest/module render declaration and ZIP integrity checked. Not installed on the production site.

SatHack template 2.8.0

SatHack Portal Template 2.8.0 — Premium Stability Structure

Aligns the template's MediaTube menu fallback with music-stream.

Uses Joomla's typed DatabaseInterface service for menu loading.

Refines content, sidebar, header, breadcrumb and dropdown surfaces.

Adds constrained, scrollable mobile navigation for long menus.

Preserves the accessibility and responsive improvements from 2.7.0.

SatHack template 2.7.0

SatHack Portal Template 2.7.0 — UX Refinement I

Repairs the 1380 px static and 100% wide layout modes.

Restores accessible desktop submenus and nested mobile navigation.

Adds Escape, outside-click and breakpoint handling to the mobile menu.

Prevents background scrolling while the mobile navigation is open.

Adds visible keyboard focus and a global reduced-motion mode.

Filters direct menu loading by the active Joomla language.

Uses the configured site name consistently in the footer.

Localizes navigation accessibility labels in Danish and English.

Seller profile 1.0.1 — Contact compatibility

Contact preparation may supply an array. The seller plugin now accepts mixed form data and only modifies supported object profile data. This fixes the contact page type error without changing unrelated contact data.

Smart Search 1.0.0

Smart Search - MediaTube 1.0.0 (Joomla 5)

Install this ZIP in Joomla Extensions. Enable Smart Search - MediaTube under System > Manage > Plugins. Open Components > Smart Search and click Index. MediaTube titles and descriptions then participate in the site's existing Smart Search, together with category and media-type metadata. Results use the MediaTube media detail route, with layout=video and the record ID. An optional detail menu item can be selected in plugin settings.

Public results are limited to records with published=1; other records receive an unpublished search state during indexing. Only public catalogue metadata is included, never private files, account data or payment credentials. The current MediaTube frontend catalogue uses public access and no per-item language/access columns; this adapter matches that model.

Run Index again after importing, editing or unpublishing media. This initial adapter does not claim immediate incremental updates from every MediaTube import or syndication code path. Joomla's Finder garbage collection can remove deleted records. Use the site's configured Smart Search scheduled indexing if available.

A search for game matches indexed text using Joomla's search/token rules. It will not match every record merely because the site's subject is gaming. Smart Search filters and menu restrictions can further limit results.

Validation: native PHP syntax, adapter query and index behavior tested against Joomla service stubs; SQL projection/publication states and result URLs checked. Provider follows Joomla 5's Finder plugin dependency-injection pattern. Not installed on the production site.