Take the community feedback survey now.

Per Nergård (MVP)
Jun 30, 2014
  4869
(7 votes)

Limit block and page types to be created only once.

In the last couple of solutions I have been involved in we have had the need to create additional tools for specific business needs.

We have often chosen too create the tools as page types to make the tools blend in with the rest of the site and be able to set access rights.

One drawback is that the tool types clutter down the create new type list. Sure it’s easy to fix via disabling “available in edit mode” and what I did might be a solution to a very small problem but it seemed like a good idea at the time Ler.

I created an interface and an initializing module. Just implement the interface returning true and the module will set the “available in edit mode” to false as soon as an item of specified content is created. To be able to create a new one the content needs to be deleted and the waste basket emptied.

You can get the code over at GitHub.

Jun 30, 2014

Comments

Petter Klang
Petter Klang Jul 1, 2014 08:20 AM

Interesting concept. Haven't run across the need for it yet but will keep it in mind if it comes up!

Martin Pickering
Martin Pickering Jul 1, 2014 11:16 AM

Hey, I like this sideways glance at a interesting issue.
Thanks very much for taking the time to share it with us.
M

Jul 1, 2014 02:45 PM

I liked the idea. In many sites, there are pagetypes that should exist only once. The frontpage springs to mind, and often we have a separate globalsettings page (instead of letting all the settings live on the startpage). There are usually a number of other pagetypes with a "should-exist-only-once" situation as well. My normal way of doing this has of course been to set the "available in edit mode" to false once the pagetype has been created.

Roland Kierkels
Roland Kierkels Aug 12, 2014 04:28 PM

How can i use this? Any documentation available or examples?

Please login to comment.
Latest blogs
OptiID: What is it and why now is a good time to use it

If you’ve been hearing the term  OptiID floating around and wondering what the fuss is about, let’s break it down in plain English. What is OptiID ...

Jon Williams | Nov 12, 2025

Using Serilog in DXP

TL;DR  Use Serilog.Sinks.Console for DXP apps — or skip Serilog entirely and rely on default logging. It’s common during investigations that all th...

Karl Stålenheim | Nov 12, 2025

Handling Multiple OpenID Connect Providers in Optimizely CMS with .NET 8

When you need to authenticate against more than one OpenID Connect provider in the same ASP.NET Core app – say IdentityServer  for the public site...

Eric Herlitz | Nov 12, 2025 |

New Certification Alert: Become a Certified Optimizely CMS PaaS Administrator

If you’ve ever managed an Optimizely CMS environment, you already know it’s not just about deployments and settings. It’s about keeping everything...

Satata Satez | Nov 10, 2025