anchor.diff:            }
   }
   ```
  -shows all attributes.
  -If you want to hide all attributes please use `show` field: `show: false`.
  -====
  -
  -As you can see from the sample json each attribute has:
  -
  -* A name: the name of schema from which the attribute has been generated.
  -* A body: specifies if attribute should be readonly and its default values.
  -
  -Here is an example of attribute specification:
  -
  -```
  -"firstname": {
  -                "readonly": true,
  -                "defaultValues": ["defaultFirstname","defaultFirstname2"]
  -              }
  -```
  -In the example `firstname` is readonly and has two default values defined by a (comma separated) array of strings. 
  -Default values section can be omitted if there are not default values to assign to that attribute.
  -
  -[CAUTION]
  -====
  -There are some clarifications to be made about form customization:
  -
  -* Default value of `show` (about schema sections) is `true`, i.e. if not specified the section is visible.
  -* `readonly` field must not be confused with schema `readonly` information. In form customization `readonly` 
  -means a front-end readonly, i.e. the attribute is not modifiable from the enduser, but it can be fully accessible 
  -from the administration console. 
  -It does not provide info about the schema, but about the specific attribute of the USER.
  -* If `readonly` is not specified it is considered `false` by default.
  -* `defaultValues` is an array of strings; this means that also date values should be specified as strings, in particular
  -in dates must be provided into timestamp format in milliseconds (this behavior will be improved further).
  -* `defaultValues` (obviously) do not averride populated fields, an attribute is filled with default values 
  -only if it is empty (in create and update).
  -====
  -
  -====== Hot deploy
  -
  -Form customization supports "hot deploy" feature. This means that `customForm.json` could be edited and reloaded 
  -without stopping and re-starting the application server.
  -Obviously to see "hot" modifications to the form you must refresh the page of the browser.
  +shows all `PLAIN` attributes.
  +
  +If all attributes are to be hidden, please set `"show": false`, instead.
  +====
  +
  +[NOTE]
  +====
  +The `readonly` field should not be confused with the read-only flag available for <<plain,Plain>> and
  +<<virtual,Virtual>> schema. +
  +Within Enduser form customization, `readonly` prevenst the user's browser to modify the value of a given attribute.
  +====
   
   [TIP]
   ====
  -When running Syncope into embedded mode you should edit `fit/enduser-reference/target/test-classes/customForm.json`
  -file.
  -
  -While running, instead, Syncope in a real environment you should edit the file under `conf.directory`. Please refer to <<deployment-directories>> section. 
  -====
  -
  +`defaultValues` is a string array: this means, in particular, that date values should be specified as strings
  +(timestamps). +
  +Moreover, `defaultValues` do not overwrite any existing value.
  +====
   
   [[customization-extensions]]
   ==== Extensions
  
positive.code:           {
              "show": false
            },
    "VIRTUAL": 
            {
              "show": true,
              "attributes": {
  
negative.code: and modify the JSON files under the new directory
  ====
  
  [[customization-enduser-form]]
  ===== Form customization
  
  The <<enduser-application>> allows to customize the form in order to:
  
  * hide / show attributes
  * set attributes read-only for users
  * provide default value(s)
  
  Under the `enduser/src/main/resources` directory, the `customForm.json` file is available, allowing to configure form
  customization.
  
  [NOTE]
  .Hot deploy
  ====
  The `customForm.json` could be edited and reloaded without the need of re-starting the Java EE container.
  ====
  
  [TIP]
  The `customForm.json` default content is just an empty object `{}`: if such file is missing, empty or not valid,
  form customization will be simply disabled and all attributes will be shown.
  
  .Sample form customization
  ====
  [source,json]
  ----
  {
    "PLAIN":
            {
              "show": true,
              "attributes": {
  