Our.Umbraco.Lockdown
1.0.0-beta.1
dotnet add package Our.Umbraco.Lockdown --version 1.0.0-beta.1
NuGet\Install-Package Our.Umbraco.Lockdown -Version 1.0.0-beta.1
<PackageReference Include="Our.Umbraco.Lockdown" Version="1.0.0-beta.1" />
<PackageVersion Include="Our.Umbraco.Lockdown" Version="1.0.0-beta.1" />
<PackageReference Include="Our.Umbraco.Lockdown" />
paket add Our.Umbraco.Lockdown --version 1.0.0-beta.1
#r "nuget: Our.Umbraco.Lockdown, 1.0.0-beta.1"
#:package Our.Umbraco.Lockdown@1.0.0-beta.1
#addin nuget:?package=Our.Umbraco.Lockdown&version=1.0.0-beta.1&prerelease
#tool nuget:?package=Our.Umbraco.Lockdown&version=1.0.0-beta.1&prerelease
🔒 Our.Umbraco.Lockdown
A comprehensive content lockdown plugin for Umbraco CMS that provides role-based publishing controls and security enforcement during maintenance periods.
📋 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
- Via Dashboard:
- Navigate to the Lockdown section in the Umbraco backoffice
- Use the toggle switch to enable/disable lockdown mode
- 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:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - 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
- Issues: Report bugs and feature requests via GitHub Issues
- Documentation: Check the Wiki for detailed documentation
- Community: Join the discussion in Umbraco Community
🏢 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.
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Our.Umbraco.Lockdown.Core (>= 1.0.0-beta.1)
- Umbraco.Cms.Web.BackOffice (>= 13.8.1)
- Umbraco.Cms.Web.Common (>= 13.8.1)
- Umbraco.Cms.Web.Website (>= 13.8.1)
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 |