SplatDev.Umbraco.Plugins.PhotoGallery 1.4.3

dotnet add package SplatDev.Umbraco.Plugins.PhotoGallery --version 1.4.3
                    
NuGet\Install-Package SplatDev.Umbraco.Plugins.PhotoGallery -Version 1.4.3
                    
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="SplatDev.Umbraco.Plugins.PhotoGallery" Version="1.4.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SplatDev.Umbraco.Plugins.PhotoGallery" Version="1.4.3" />
                    
Directory.Packages.props
<PackageReference Include="SplatDev.Umbraco.Plugins.PhotoGallery" />
                    
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 SplatDev.Umbraco.Plugins.PhotoGallery --version 1.4.3
                    
#r "nuget: SplatDev.Umbraco.Plugins.PhotoGallery, 1.4.3"
                    
#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 SplatDev.Umbraco.Plugins.PhotoGallery@1.4.3
                    
#: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=SplatDev.Umbraco.Plugins.PhotoGallery&version=1.4.3
                    
Install as a Cake Addin
#tool nuget:?package=SplatDev.Umbraco.Plugins.PhotoGallery&version=1.4.3
                    
Install as a Cake Tool

PhotoGallery

Photo gallery plugin for Umbraco — stores gallery albums and photos with EF Core, renders via view component.

PhotoGallery dashboard

PhotoGallery property editor

PhotoGallery data type

PhotoGallery on the front end

NuGet

Compatibility

Umbraco .NET Package Version Dashboard
13.x 8.0 1.4.3 AngularJS
17.x 10.0 1.4.3 Lit (Bellissima)

Installation

dotnet add package SplatDev.Umbraco.Plugins.PhotoGallery

Quick Start

No registration call is needed. The package ships Umbraco composers, so the AddComposers() already in the default Program.cs picks the plugin up as soon as the package is referenced.

The Photo Gallery dashboard appears under the Settings section in the Umbraco backoffice. It displays albums and photos managed through the gallery.

U17 Bellissima Dashboard (Lit)

The U17 dashboard is built as a Lit Web Component using Vite and TypeScript.

Development

cd client
npm install  # or pnpm install
npm run dev  # watch mode during development
npm run build  # production build

The build output is placed at App_Plugins/PhotoGallery/dist/photogallery-dashboard.element.js and registered in umbraco-package.json.

Architecture

  • client/ — Vite + TypeScript + Lit source
  • client/src/photogallery-dashboard.element.ts — Lit element displaying albums with photo grids
  • Controllers/ — Back-end API endpoints for album/photo CRUD
  • Services/ — Gallery business logic with EF Core

Rendering an album

@* The first album — the usual case on a site with one: *@
@await Component.InvokeAsync("PhotoGallery")

@* A specific album by id: *@
@await Component.InvokeAsync("PhotoGallery", new { albumId = 1 })

@* Or the one chosen on this page with the Album property editor: *@
@await Component.InvokeAsync("PhotoGallery", new { albumId = Model.Value<int>("album") })

The markup carries splatdev-gallery__* class names and no styles of its own, so it inherits your site's design. Thumbnails are used where a photo has one and each links to the full image; photos below the fold load lazily.

Changelog

1.4.3 — 2026-08-26

Fixes a duplicate registration on sites that still have a physical App_Plugins folder for this plugin, left behind by an older release that copied content into the site. Umbraco registered those extensions twice - once from its own scan of the folder, once from this package's embedded manifest - and logged "Extension with alias ... is already registered". The embedded manifest now yields to the physical copy.

1.4.2 — 2026-08-25

Documentation only, no code change. The README's Quick Start told you to call a registration method that does not exist in this package — following it produced a compile error on the first build. There is nothing to register: the package ships Umbraco composers and the AddComposers() already in the default Program.cs finds it. The Compatibility table also now shows the version actually being shipped instead of the one it was written at.

1.4.1 — 2026-08-24

Package metadata only: the listing now carries an icon and search tags, and the project and repository links point at the organisation that actually hosts this code. No code changes.

1.4.0 — 2026-08-23

Adds a view component so the album chosen with the property editor can actually be rendered on a page. Until now the picker stored an id nothing consumed.

1.3.0 — 2026-08-23

  • A content editor can choose which album a page shows. The plugin stored albums in its own tables with no way for a page to reference one, so an album could be filled and never appear anywhere.

1.2.3 — 2026-08-22

  • The dashboard manages albums and photos, which is what it was for. It listed album names and offered no controls at all, while the API behind it had supported creating, renaming and deleting albums and adding and removing photos the whole time.
  • Select an album to see its photos, with thumbnails, and add or remove them there.
  • Images are chosen from the media library with a picker. Nothing asks you to type a URL, and what gets stored is the site-relative path, so the records survive the site moving domain.
  • Deleting asks first and says what goes with it — and makes clear the media library itself is untouched.

1.2.2 — 2026-08-21

  • Dashboard now sends the backoffice token with its API calls. On Umbraco 17 those calls were arriving unauthenticated and coming back 401, which the dashboard rendered as an empty state rather than an error.
  • A failed request now raises a notification instead of leaving the dashboard looking like there is simply no data.
  • The plugin's tables are created on startup. They were never created before, so anything touching them failed on a fresh install.
  • Runs on SQLite as well as SQL Server. It previously assumed SQL Server and failed with "Keyword not supported: 'cache'" on the database Umbraco's installer offers by default.

License

MIT © SplatDev

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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
1.4.3 104 8/27/2026