anchor.diff:  
   image::https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/180-app-user-entity.png[link="https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/180-app-user-entity.png"]
   
  -If not all of these properties are required, then they can be hidden either using security or though Isis' internal event bus (described below). Conversely, additional properties can be "grafted onto" the user using the contributed properties/collections discussed previously.
  +If not all of these properties are required, then they can be hidden either using security or though Isis' internal event bus (described below).
  +Conversely, additional properties can be "grafted onto" the user using the contributed properties/collections discussed previously.
   
   === Themes
   
  -Apache Isis' Wicket viewer uses link:http://getbootstrap.com[Twitter Bootstrap], which means that it can be themed. If more than one theme has been configured for the app, then the viewer allows the end-user to switch their theme:
  +Apache Isis' Wicket viewer uses link:http://getbootstrap.com[Twitter Bootstrap], which means that it can be themed.
  +If more than one theme has been configured for the app, then the viewer allows the end-user to switch their theme:
   
   image::https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/190-switch-theme.png[link="https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/190-switch-theme.png"]
   
  
positive.code: 
  == Extensible Views
  
  The Apache Isis viewer is implemented using http://wicket.apache.org[Apache Wicket], and has been architected to be extensible. For example, when a collection of objects is rendered, this is just one several views, as shown in the selector drop-down:
  
  image::https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/070-pluggable-views.png[link="https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/070-pluggable-views.png"]
  
  
negative.code: 
  image::https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/260-domain-event-test.png[link="https://raw.github.com/apache/isis/master/adocs/documentation/src/main/asciidoc/pages/isis-in-pictures/images/isis-in-pictures/260-domain-event-test.png"]
  
  In fact, the domain event is fired not once, but (up to) 5 times.
  It is called 3 times prior to execution, to check that the action is visible, enabled and that arguments are valid.
  It is then additionally called prior to execution, and also called after execution.
  What this means is that a subscriber can in either veto access to an action of some publishing object, and/or it can perform cascading updates if the action is allowed to proceed.
  
  Moreover, domain events are fired for all properties and collections, not just actions.
  Thus, subscribers can therefore switch on or switch off different parts of an application.
  Indeed, the example todoapp demonstrates this.
  
  
  
  