uMediaOps 2.0.0

dotnet add package uMediaOps --version 2.0.0
                    
NuGet\Install-Package uMediaOps -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="uMediaOps" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="uMediaOps" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="uMediaOps" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add uMediaOps --version 2.0.0
                    
#r "nuget: uMediaOps, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package uMediaOps@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=uMediaOps&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=uMediaOps&version=2.0.0
                    
Install as a Cake Tool

uMediaOps - Media Management Suite for Umbraco

NuGet NuGet Downloads Umbraco Marketplace License: MIT Umbraco 17 | 18 .NET 10

uMediaOps Logo

Comprehensive media management package for Umbraco 17 & 18 that helps you find duplicates, clean up unused media, create backups, and track all operations with audit logging.

Features

Feature Description
Duplicate Detection SHA256-based file hashing with bulk delete operations and reference checking
Unused Media Finder Scans content, templates, views, JS, CSS, SCSS, TypeScript, and config files for unreferenced media
Backup Management Export media library as ZIP with integrity verification
Audit Log Full history of all media operations with user attribution
Analytics Dashboard Duplicate trends over time, storage savings tracking, and file type statistics

Screenshots

Overview Dashboard Duplicate Detection Duplicate Results Duplicate Group Detail Unused Media Finder Unused Media Results Backup Management Audit Log

Installation

dotnet add package uMediaOps

On Umbraco 17? Use the v1.x branch: dotnet add package uMediaOps --version 1.0.6

The package automatically:

  • Registers all services via Umbraco's Composer pattern
  • Runs database migrations on first startup
  • Adds the "uMediaOps" section to the Umbraco backoffice

Getting Started

After installing the package and restarting your Umbraco site:

  1. Log in to the Umbraco backoffice
  2. Go to Users section → select your user group (e.g., "Administrators")
  3. Under Permissions → Sections, enable the uMediaOps section and save
  4. Refresh the page — the uMediaOps icon will appear in the left sidebar
  5. Click it to access the Overview dashboard with all features

Configuration

Add to your appsettings.json (optional — defaults are provided):

{
  "uMediaOps": {
    "BackupDirectory": "~/App_Data/uMediaOps/Backups",
    "BackupRetentionDays": 30
  }
}
Setting Default Description
BackupDirectory ~/App_Data/uMediaOps/Backups Directory for backup ZIP files. ~/ resolves to content root.
BackupRetentionDays 30 Days to retain backups before cleanup eligibility. 0 = keep indefinitely.

Requirements

  • Umbraco 18.0+
  • .NET 10.0+
  • SQLite or SQL Server

Version Compatibility

uMediaOps Version Umbraco Version .NET Version Branch NuGet Package
2.x Umbraco 18.x .NET 10 main uMediaOps v2.x
1.x Umbraco 17.x .NET 10 v17/dev uMediaOps v1.x

Which version should I use?

  • Umbraco 18 → Install uMediaOps version 2.x (dotnet add package uMediaOps)
  • Umbraco 17 → Install uMediaOps version 1.x (dotnet add package uMediaOps --version 1.0.6)

Upgrading from 1.x to 2.x

If you're upgrading from Umbraco 17 to Umbraco 18:

  1. Update your Umbraco packages to 18.x
  2. Update uMediaOps to 2.x: dotnet add package uMediaOps --version 2.0.0
  3. Build and run — no code changes or migration steps required

The v2.0 package is API-compatible with v1.x. The only change is the Umbraco version target. All database tables, configuration, and functionality remain the same.

Branch Strategy

  • main — Active development for Umbraco 18 (v2.x releases)
  • v17/dev — Maintenance branch for Umbraco 17 (v1.x patch releases)

Database Tables

uMediaOps creates the following tables automatically via migrations:

  • uMediaOps_FileHashes — SHA256 hashes for duplicate detection
  • uMediaOps_References — Media reference tracking
  • uMediaOps_AuditLog — Operation audit trail
  • uMediaOps_Analytics — Scan statistics and trends
  • uMediaOps_Backups — Backup metadata
  • uMediaOps_UnusedMediaScans — Unused media scan metadata
  • uMediaOps_UnusedMediaItems — Individual unused media items

API Endpoints

All endpoints require backoffice authentication and are available under: /umbraco/management/api/v1/umediaops/

Route Prefix Description
umediaops/scan Duplicate scan operations
umediaops/duplicates Duplicate group management
umediaops/unused Unused media scanning
umediaops/backup Backup create/list/download/delete
umediaops/auditlog Audit log queries
umediaops/analytics Statistics and trends
umediaops/references Media reference lookups

Known Limitations

  • Background operations (scans, backups) run in-process. If the app pool recycles mid-operation, work in progress will be lost.
  • Progress tracking uses in-process memory cache, designed for single-instance deployments.

Documentation

License

MIT License — see LICENSE for details.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 105 7/26/2026
1.0.6 158 5/20/2026
1.0.5 207 5/14/2026
1.0.4 126 4/28/2026
1.0.3 111 4/28/2026
1.0.2 100 4/28/2026
1.0.1 119 4/27/2026
1.0.0 108 4/27/2026