Clip.Umbraco
13.0.1
dotnet add package Clip.Umbraco --version 13.0.1
NuGet\Install-Package Clip.Umbraco -Version 13.0.1
<PackageReference Include="Clip.Umbraco" Version="13.0.1" />
paket add Clip.Umbraco --version 13.0.1
#r "nuget: Clip.Umbraco, 13.0.1"
// Install Clip.Umbraco as a Cake Addin #addin nuget:?package=Clip.Umbraco&version=13.0.1 // Install Clip.Umbraco as a Cake Tool #tool nuget:?package=Clip.Umbraco&version=13.0.1
One of the great features of Umbraco's backoffice is the permissions model applied to document (and media) types - developers can implement a tightly controlled information architecture by configuring the parent-child relationships between those document types.
That's lovely, and allows developers plenty of control over how the site is ultimately structured.
However, there are a couple of gaps in how that model works:
- it's not possible to control who can create which types
- it's not possible to control how many of each type can be created
Fret not, Clip is here to help.
Control who creates what
We know Umbraco offers lots of flexibility, but sometimes we need to reign that in a little.
In large sites, with lots of user groups and more document and media types, we need to be able to control which groups can create which types.
Clip adds this functionality to the backoffice by allowing administrators to set permitted document and media types for each user group.
When creating new items, the allowed child node list is filtered to include only the permitted types.
Control how many of each type
Sometimes it doesn't make sense to allow more than one instance of a document or media type.
Typically, a site might have one news landing page. It more than likely has one homepage.
A site for a restaurant might have a page for each location, but shouldn't allow editors to create additional locations.
Clip adds this control to the backoffice by allowing administrators to set a maximum item count for any document or media type.
When creating new items, the allowed child node list is filtered to include only types that haven't hit their maximum item count.
Configuration options
- If a user group is added and has no document or media types selected, the group will be unable to create any items
- If a user group is added and has only document types selected, the group will be able to create all media types as well as the selected document types
- If a user group is added and has only media types selected, the group will be able to create all document types as well as the selected media types
The two latter options above are true assuming the document/media type has not hit a configured limit.
Why Clip?
Clip follows hot on the heels of Flip and Blip, so obviously needed to follow the silly naming pattern.
Blip is the Block List Item Picker.
Flip is the document-type flipper.
Clip trims the allowed child types.
Easy!
Getting started
Install Clip: dotnet add package Clip.Umbraco
.
After restarting your site, you'll find a new node in the settings tree - 'Content Creation Rules'.
The view allows adding rules for user groups and content type limits.
Contributing
Sure, pull requests are more than welcome. Go for it.
Changelog
Upgrading from v1.0 to v10+? There's some manual tomfoolery required.
Since v10+ includes support for media, the underlying data store had to change which meant Clip needs to distinguish Document and Media types, as well as the actual content type.
That then means there's no upgrade path without data loss (ie, if you update, you'll lose configuration). To combat that, export your existing configuration either manually or straight from the database, and manually re-enter same after updating. It's a bit of a pain, but a lot less painful than writing a migration to do the same.
Product | Versions 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. |
-
net8.0
- Umbraco.Cms.Web.BackOffice (>= 13.0.3 && < 14.0.0)
- Umbraco.Cms.Web.Website (>= 13.0.3 && < 14.0.0)
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 |
---|---|---|
13.0.1 | 861 | 3/9/2024 |
13.0.0 | 265 | 2/15/2024 |
12.0.1 | 122 | 3/9/2024 |
12.0.0 | 210 | 9/5/2023 |
11.1.0 | 152 | 9/13/2023 |
11.1.0-rc1 | 129 | 3/17/2023 |
11.0.2 | 362 | 2/2/2023 |
11.0.1 | 316 | 1/22/2023 |
11.0.0 | 338 | 12/22/2022 |
10.1.1 | 122 | 3/9/2024 |
10.1.0 | 165 | 9/13/2023 |
10.1.0-rc1 | 131 | 3/17/2023 |
10.0.2 | 332 | 2/2/2023 |
10.0.1 | 296 | 1/22/2023 |
10.0.0 | 318 | 12/22/2022 |
1.0.0 | 348 | 11/15/2022 |
1.0.0-rc1.969 | 142 | 7/16/2022 |