A critical vulnerability was discovered in React Server Components (Next.js). Our Systems Remain Fully Protected. Learn More

Per Nergård (MVP)
Jun 30, 2014
  4894
(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
Jhoose Security Modules v2.6.0 — Added support for Permissions Policy and .NET 10

Version 2.6.0 adds Permissions Policy header support, updates to .NET 10, improved policy management, configurable security settings, and enhanced...

Andrew Markham | Dec 6, 2025 |

Building a 360° Customer Profile With AI: How Opal + Optimizely Unlock Predictive Personalization

Creating truly relevant customer experiences requires more than collecting data—it requires understanding it. Most organizations already have rich...

Sujit Senapati | Dec 4, 2025

Building a Lightweight Optimizely SaaS CMS Solution with 11ty

Modern web development often requires striking a difficult balance between site performance and the flexibility needed by content editors. To addre...

Minesh Shah (Netcel) | Dec 3, 2025

Creating Opal Tools Using The C# SDK

Over the last few months, my colleagues at Netcel and I have partaken in two different challenge events organised by Optimizely and centered around...

Mark Stott | Dec 3, 2025