- Stage: Development
- Planned Release: MP4
- Status Notes: Finishing stage of development
- Contact: Martin Taal (firstname.lastname@example.org
The goal of this development is to allow the user to save the layout of a window (grid, form, child tabs) using a specific name and later retrieve this layout through a pull down menu.
An administrator should be able to save pre-defined views on different levels (client, org, role) which are made available to users. Users can only edit/save views on their own levels and not change administrator entered views.
- save current layout using a name and easily retrieve these saves views
- the saved view should contain the following information:
- grid column state (visible, hidden, column order)
- grid sorting
- grid filter criteria
- grid formula/summary columns
- grid highlighting (new feature to be supported later)
- form layout (as edited by the form layout solution)
- location/height of child tabs
- view management should be made available to the user using a pull down menu from a button in the button bar
- an administrator should be able to save views on different levels. The same administration mechanism with levels should be supported as for widgets.
- it should be possible to flag a saved view as the default view for a user, by an administrator, or a user should be able to choose a certain view as the default.
- a user should be able to delete/remove a view, only the views he/she added themselves, or the views he/she is allowed to delete as an administrator
- a user should be able to update a saved view to reflect the current state.
The view saving will not include the following:
- if a view is in form of grid view
- the current shown record in a form
When an administrator saves/creates new views then they are not available for a user until he/she re-logins or refreshes the browser.
Users & use cases
There are 2 types of users which have almost the same usage pattern: end user and administrator.
A user enters the application and opens a window. He/she can then change the form layout using the form personalizer/layouter, hide/show columns in the grid, add/remove formula and summary columns. The user can enter filter criteria.
Then when the user is satisfied with the changes he/she can save the view. There is a specific toolbar button for saving views.
For an administrator the same popup is shown but showing two combos (the same as for widget administration), one to choose the level of saving the view (client, org, role) and one to choose a value for that level).
Summary of changes:
- add a new button to the toolbar with a pull-down menu
- adapt the OBUIAPP_UIPersonalization table to work on window level
- adapt the server side code which retrieves window settings to read all the applicable (for the user) window personalization records which are valid for a user
- implement code which translates the window personalization records to json and adds extra information (can edit) and send it back to the client using the same request
- implement the save and delete popups
- implement server side code which helps to create administrator level combos in the popup
- implement the save view logic, collect the grid/form and window state, translate to a json object, send to the server and store on the selected level
- when initializing a window read the window personalization records from the server and apply a default
- allow a user to set a default view, probably store this as a user preference
User experience design
See screenshot above.
Will be delivered for MP4.
This feature development is tracked using the following issue(s):
See the changesets in the issue above.
The following page will be updated/extended: Window_Personalization.