You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In Kitodo.Production we currently follow two main principles when rendering interactive UI elements like buttons and links.
Actions for which the current user does not have any permission are not rendered at all; for example, if the current user does not have the permission to delete processes, the "trash" icon is not displayed in the "Actions" column of the process list
Actions for which the current does have the permissions, but which cannot be performed in the current context, are rendered but disabled; the disabled UI element should have a tooltip to explain why the corresponding action cannot be performed at the moment; for example, the user may have the permission to create processes, but the "+" symbol in the project list for creating new processes is disabled because no template has been configured for some specific project.
This approach has the advantage of clearly informing the user about what he is allowed to do in the system and why some options may be deactivated in certain situations even though he has the neccessary permissions to perform the corresponding actions.
The tradeoff for this intricate way of evaluating and marking each individual action of each individual element in a list is a hit in performance. Since some actions - like "Export" in the process list - are linked to file checks, the resulting IO operations can result in significant performance reductions if lists are configured to show not just the default 20, but instead 50 or 100 elements per page.
We do have multiple performance issues documented that are related to those list actions and their eager permission evaluation, like for example #4378 and #3533.
Since some disabled icons seem to have a higher importance for users - for example the disabled "Export" action mentioned above is often used to get a quick overview over processes without images - this does not seem to be a case of simply removing the "disabled" check for all actions.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
In Kitodo.Production we currently follow two main principles when rendering interactive UI elements like buttons and links.
This approach has the advantage of clearly informing the user about what he is allowed to do in the system and why some options may be deactivated in certain situations even though he has the neccessary permissions to perform the corresponding actions.
The tradeoff for this intricate way of evaluating and marking each individual action of each individual element in a list is a hit in performance. Since some actions - like "Export" in the process list - are linked to file checks, the resulting IO operations can result in significant performance reductions if lists are configured to show not just the default 20, but instead 50 or 100 elements per page.
We do have multiple performance issues documented that are related to those list actions and their eager permission evaluation, like for example #4378 and #3533.
Since some disabled icons seem to have a higher importance for users - for example the disabled "Export" action mentioned above is often used to get a quick overview over processes without images - this does not seem to be a case of simply removing the "disabled" check for all actions.
Beta Was this translation helpful? Give feedback.
All reactions