This is a great idea!!! Yes, I think “single” mode as default is the best. Thanks for asking the community for input. Here is my opinion…
I’ve noticed that there is much confusion about server and web administrator out there. I was very confused about it myself when I switched from ACF. That’s the reason I did a quick intro in the Lucee installations videos I’ve added to Lucee’s documentation as a contribution (see the video section here). Before going to my opinion about the proposed modes, I’d like to say something about that first.
Problem 1: The server / web tab of the login form page creates confusion
Reason: If you are new to Lucee and you install Lucee for the first time, you want to take a quick tour through the administrators. As soon as you are on that login page, you’ll ALWAYS see that server/web access tab and very likely click them. See the image below:
No matter if you are in web (blue) or in server (red) you’ll see the links as shown in the image above. If you have more than one web context running, that means that :
http://localhost has a server and a web admin link
http://mydomain.com has a server and a web admin link
http://myotherdomain.org has a server and a web admin link
http://mythirddomain.info has a server and a web admin link
That creates the wrong assumption that each web-context has also its own “Server Administrator” and its own “Web Administrator”. No chance to understand that “server administrator” is for the overall global setting of the running Lucee instance. In my opinion that should be very clear before you log into any administrator.
To add confusion to everything: At first sight the settings in each administrator seem to be identical. Server/Web-Admins have also same passwords by default. Another negative effect: Hosters who make “web administrators” available to customers will want to lockdown the server admin, causing 404 or 403 http status error codes for that links, having a bad effect/impact.
- Remove the server-admin and web-admin access links tabs from that login form page. Users who administer web contexts frequently can save the URLs as browser favorites.
- Add a title text to the login page using clear meaningful names:
=> For Server use “Global Server Administrator”, or “Server Administrator (Global Settings)”.
See as an example the image below:
=> For Web use “Web Administrator (mydomain.com settings)” or “Website Administrator (mydomain.com settings)”.
Problem 2: Running additional admin modes “single” or “multi” may add more complexity for users to understand the modes.
Reason: the names “single”, “multi”, “auto” and the colors can make more confusion, because the names can be misinterpreted with servlets contexts or how servlet engine instances run.
Because the global server administrator will always be “on”, I’d make it much simpler by just setting it in the “Global Server Admin” front end, just like so:
Enable Web Context Administrators=“no” (that would be your “single” mode and would be the default)
Enable Web Context Administrators=“yes” (that would be the same as “multi”)
Enable Web Context Administrators=“auto” (that would be the same as “auto”)
This parameter could also be set as system.property or environment variable.
To make this more visual, I’ve created a quick sample image (with the values as a boolean here instead of yes|no|auto):
About cfconfig: I surely know about cfconfig of CommandBox. Don’t know about cfconfig in Lucee. If these are not related, another name should be used instead.
That’s all I can add for now. Again, thank you for asking!