A critical vulnerability was discovered in React Server Components (Next.js). Our systems remain protected but we advise to update packages to newest version. Learn More

Per Nergård (MVP)
Jun 30, 2014
  4906
(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
Building simple Opal tools for product search and content creation

Optimizely Opal tools make it easy for AI agents to call your APIs – in this post we’ll build a small ASP.NET host that exposes two of them: one fo...

Pär Wissmark | Dec 13, 2025 |

CMS Audiences - check all usage

Sometimes you want to check if an Audience from your CMS (former Visitor Group) has been used by which page(and which version of that page) Then yo...

Tuan Anh Hoang | Dec 12, 2025

Data Imports in Optimizely: Part 2 - Query data efficiently

One of the more time consuming parts of an import is looking up data to update. Naively, it is possible to use the PageCriteriaQueryService to quer...

Matt FitzGerald-Chamberlain | Dec 11, 2025 |

Beginner's Guide for Optimizely Backend Developers

Developing with Optimizely (formerly Episerver) requires more than just technical know‑how. It’s about respecting the editor’s perspective, ensurin...

MilosR | Dec 10, 2025