Our.Umbraco.Lockdown 1.0.0-beta.1

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

🔒 Our.Umbraco.Lockdown

A comprehensive content lockdown plugin for Umbraco CMS that provides role-based publishing controls and security enforcement during maintenance periods.

CI NuGet

📋 Overview

Our.Umbraco.Lockdown provides granular control over content publishing in Umbraco CMS, allowing administrators to temporarily restrict editing capabilities during maintenance periods. The plugin features visual indicators, role-based access controls, and comprehensive lockdown management through both the backoffice and login screens.

🎯 Current Support

Currently supported: Umbraco v13 (Legacy version with AngularJS UI)

Coming soon: Support for Umbraco v14+ with modern Lit-based UI components

✨ Features

Core Functionality

  • Global Lockdown Toggle: Instantly enable/disable editing across the entire CMS
  • Role-Based Access: Administrators can bypass lockdown restrictions while regular users are blocked
  • Visual Indicators:
    • Modal overlays in the backoffice showing lockdown status
    • Login page banners alerting users to maintenance mode
    • Persistent notification banners throughout the admin interface
  • Maintenance Mode: Perfect for preventing content changes during deployments or system maintenance

Technical Features

  • SignalR Integration: Real-time lockdown state synchronization across all user sessions
  • Middleware Integration: Automatic injection of lockdown messages into login pages
  • Custom Dashboard: Dedicated backoffice dashboard for lockdown management
  • Persistent Settings: Lockdown state maintained using Umbraco's key-value settings service
  • Graceful Degradation: Fallback UI elements if custom templates are unavailable

User Experience

  • Admin Bypass: Administrators can dismiss lockdown overlays using Escape key or clicking outside
  • Non-Admin Protection: Regular users see persistent lockdown messages without bypass options
  • Responsive Design: Lockdown indicators adapt to different screen sizes and UI layouts
  • Custom Styling: Leverages Umbraco's existing CSS classes for consistent appearance

🚀 Installation

Via NuGet Package Manager

Install-Package Our.Umbraco.Lockdown

Via .NET CLI

dotnet add package Our.Umbraco.Lockdown

Via Package Manager UI

Search for "Our.Umbraco.Lockdown" in the NuGet Package Manager in Visual Studio.

📖 Usage

Enabling Lockdown

  1. Via Dashboard:
  • Navigate to the Lockdown section in the Umbraco backoffice
  • Use the toggle switch to enable/disable lockdown mode
  1. Programmatic Control:
// Inject ILockdownService in your code
   lockdownService.SetLockdownState(true); // Enable lockdown
   lockdownService.SetLockdownState(false); // Disable lockdown

What Happens During Lockdown

For Administrators:

  • See dismissible overlay notifications in the backoffice
  • Can access lockdown toggle to disable maintenance mode
  • Receive visual indicators but retain full editing capabilities

For Regular Users:

  • Encounter persistent modal overlays preventing editing
  • See maintenance banners on login pages
  • Cannot dismiss lockdown notifications
  • Editing functionality is completely disabled

Login Page Experience:

  • Automatic injection of maintenance banners
  • Clear messaging about system status
  • Responsive design adjustments for banner visibility

🔄 Version Compatibility

Umbraco Version Plugin Version UI Technology Status Features
v13.x 1.x AngularJS ✅ Supported Full lockdown with overlays
v14.x 2.x Lit 🚧 In Development Modern UI components
v15.x 2.x Lit 🚧 Planned Enhanced functionality

🔧 Configuration

Custom Login Messages

Customize the lockdown message by modifying:

App_Plugins/Our.Umbraco.Lockdown/lockdown.login.message.html

Styling Customization

Override default styles in:

App_Plugins/Our.Umbraco.Lockdown/lockdown.css

Service Integration

The plugin automatically registers with Umbraco's dependency injection container and requires no additional configuration for basic functionality.

🤝 Contributing

We welcome contributions! Please:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Guidelines

  • Follow existing code patterns and naming conventions
  • Ensure all tests pass before submitting PRs
  • Update documentation for new features
  • Consider backward compatibility when making changes

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🆘 Support

🏢 About Prolific Notion

Built with ❤️ by Simon Dingley of Prolific Notion Ltd - Your trusted partner for Umbraco development.


Note: This package currently supports Umbraco v13 with legacy AngularJS components. Support for Umbraco v14+ with modern Lit-based UI components is under active development and will be available in future releases.

There are no supported framework assets in this 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.0.0-beta.1 232 8/12/2025
1.0.0-beta.0 136 8/12/2025