Panel in readonly mode

i defined in panel/bootstrap.php

if(!defined('READONLY')) define('READONLY', true);

and used this everywhere

if(!READONLY) { ... }

so it should be pretty self explanatory. but i still need to test it. :blush:

as texnixe suspected i need a special version of the panel, not a demo to show of how what the panel is.

but like you said i also had troubles showing customers what exactly the panel is and can do, just from the documentation available on https://getkirby.com/docs/panel. like how pages and files can be created and edited. but i most cases they did trust me if i said ‘it will be easy to do’.

I think the demo / read-only / sandbox / kiosk mode would be awesome;

Last week I wanted to demo the panel of Kirby, but could not do this - because it has no read-only mode at the moment.

My client is miles away and I didn’t want to set-up a fully functional Kirby site; I just wanted him to log in at an existing site (with real content / front-end), so he was able to see by himself how nice the panel can be customized and how it shows the content in the front-end.

Hope a kiosk-mode / sandbox-mode (were the content will be resetted after you log-out) once :slight_smile:

Frankly a kiosk mode or anything that strongly changes the CRUD (create, read, update, delete) rules of the panel would be an enormous undertaking with a lot of security implications. No one wants to go down that rabbit hole.

If you want to demo the panel to a client or prospective client there are plenty of options: you can do screenshots, video captures, a screen sharing session (you demo the panel on a test website), or you can install a throwaway test website on a server.

Or something like user-roles?

Like;

  • admin
  • user
  • author
  • subscriber

Where the last one can not do anything - but registering and lurking :slight_smile:


- edit - Of course you can cmod the content directory to read permission only and hide any error-message when trying to do so…

…or you can copy the site to another webroot and delete it once the client is done testing as @fvsch wrote.

i did test it and works as intended.