Kexi/User Mode
Proposed: 2004-08-04, jstaniek Implemented: December 2006, jstaniek
Introduction
Simply speaking, User Mode is a mode that makes all the database schema read-only. This mode is aimed at users who can enter, edit, process, and remove data but cannot remove tables, queries, forms, and so on, nor can they edit their properties. A command for switching to the design mode of particular objects (table, form, etc.) is hidden in User Mode.
User Mode helps maintain a multi-user environment, where there are database developers delivering functionality for business logic and users, on the other hand.
For server databases, a good companion to using User Mode is to also set permissions on particular tables (and "system" KEXI's kexi__* tables) so users cannot modify them. This provides a more fine-grained permission system. KEXI does not yet provide GUI tools for this kind of administration, so a dedicated database administration tool (e.g., MySQL Admin) should be used.
History
What is the best name for this mode, more reasonable than 'Final'?
Since we've chosen 'Design Mode,' and it is well-defined, a name for the second KEXI Mode is hard to pick.
Proposals given here are ordered by my subjective preference:
- User Mode <-- our pick
- Release Mode
- Production Mode
- Work Mode
Usage
How can this mode be used while deploying KEXI projects to the users? Currently, there is no option to set User Mode permanently in the database project. Instead, the --user-mode
command-line option can be used to force switching to User Mode on startup. Simply create a shell script or shortcut (KDE, MS Windows) that invokes the kexi command with all needed options, the --user-mode
option, and a database name. Then, a user who runs the script or clicks on the shortcut will be switched to User Mode by default.