You may want to restrict administrators from accessing the Data Explorer and the Runtime Explorer in your deployed merged servers. 4D v19 R5 enables to do so.
Here is everything you need to know.
Some menu items are automatically added to help administrators manage them in the merged servers, by default. It’s the case of the Data Explorer, which lets you visualize raw data, and the Runtime Explorer, which helps to manage all the runtime environments. Remember that the user is always a Designer on the server-side and cannot be changed, which gives them access rights to the administration tools.
Here is the standard Window menu for merged servers:
Data Explorer
Sometimes you don’t want client administrators to have access to raw data, for instance, for privacy reasons.
There is a way to hide the Data Explorer menu item in the merged server interface. This can be done during the application build process using this key:
<BuildApp>
<CS>
<HideDataExplorerMenuItem>True</HideDataExplorerMenuItem>
When this key is set to True, the Window menu of your merged server will look like this:
You can also set by code the Data Explorer access from a browser :
ds.setAdminProtection(True) // Disable Data Explorer access
ds.setAdminProtection(False) // Enable Data Explorer access
Runtime Explorer
To prevent a client administrator from performing unwanted actions with the Runtime Explorer, you can now prevent its access by hiding the menu item from the merged server interface. This can be done during the build application process using this key:
<BuildApp>
<CS>
<HideRuntimeExplorerMenuItem>True</HideRuntimeExplorerMenuItem>
When this key is set to True, the Window menu of your merged server will look like this:
Note: If you choose to hide the Runtime Explorer access menu item, its keyboard shortcut (CMD+SHIFT+F9 on macOS and CTRL+SHIFT+F9 on Windows) is also disabled and then available for other purposes.
Regardless of whether the menu item is displayed, you can still display the Runtime Explorer on the merged server using the OPEN RUNTIME EXPLORER command, e.g., in a method executed on the server. This allows you to choose who can access it.