Every time a user logs in Openbravo a new Openbravo session is opened.
While loging in the user enters several variables such as the Role, the Client and the Organization and once in navigates to a Window.
All those variables have a key influence on the session values the user will get.
In other words, Preferences allow to define session values, session values which can either be a property or an attribute defined for a single client or for all of them, or for a single organization or for all of them.
Preferences can be assigned to the system or to a specific module, therefore while exporting that module, the preferences it has assigned will also be exported so those general settings can be reused.
For instance, there is an existing Property named "Implements an alternative Invoice Process button". That existing property is currently assigned to the Module "Advanced Payables and Receivables Management" with a value = "Y" for any client, organization, user, role and window:
- Above preference means that if the Advanced Payables and Receivables Management module is installed, it will use an alternative invoice process button, besides every user loging in Openbravo will get that feature working regardless its role, user and the client or the organization it is working on.
For instance, there is an Attribute named "Autosave" which is currently assigned to the system with a value ="Y". This attribute is visible and therefore applicable to System client and to (*) organization for any user, role and window.
- Above preference means that every user loging in Openbravo will get that feature working regardless its role and user and the client or the organization it is working on.