Users without Emailaddress / Kids


we are currently developing a CMS system for kids on top of Kirby which is great fun as the tool and this community is great!

As our target user group are kids in the age of 7 to 13 many of them doesn’t have an emailadress at all. Since the Kirby team invests huge efforts require an email adress (since K3) i am wondering how we could “work around” this issue.

Sure we could simply use “dummy domains” and create usernames like “” but this wouldn’t be ideal from a UX perspective.

I would appreciate your help and input on how we could deal with this issue :slight_smile:

Best, Thomas

I think you have 2 options:

In any case you would have to make sure that the usernames you use are unique.

ok, i followed option 1 (create custom panel). What i did is

  • create new plugin with pluginkit
  • ran build and saw Example plugin in menu
  • changed index.js according to Panel login | Kirby CMS
  • ran npm build dev

but i still see the original login screen at /panel/login. Do i have add anything to the index.php of the plugin?

(see my src/index.js)

import LoginScreen from "./components/LoginScreen.vue";
panel.plugin("mynew/login", {
  login: LoginScreen

my index.php looks like


Kirby::plugin('digireporter/login', [

Actually I wonder if other solutions are worth the effort. Since you just need an username in the format of an E-Mail-Address, you could use or like that, with the hostname part whatever you like. Many professional systems work that way, e.g. Salesforce.

hmm … it seems to be me not understanding how to overwrite given functionality. Also tried to override k-users-view (according to Panel views | Kirby CMS) to no avail

Changing the plugins’ index.js to

import UsersView from "./components/UsersView.vue";

panel.plugin("digireporter/users", {
  views: {
    myusers: {
      component: UsersView,
      icon: "users",
      label: "My Users View"

adds an additional view to the topmenu and works for me, but

import UsersView from "./components/UsersView.vue";

panel.plugin("digireporter/users", {
  "k-users-view": {
    component: UsersView,
    icon: "users",
    label: "Meine Redaktion verwalten"

doesn’t override the standard view.

… any idea?