anchor.diff:  === Working with images
   Often applications are required to resize or crop images, hence appNG offers some tooling for that.
   
  -NOTE: Note that https://www.imagemagick.org[ImageMagick^] 6.9.9 needs to be installed and be availble in the system's path (7.x is currently not supported).
  -Furthermore the <<configurable-application-features,built-in application property>>  `featureImageProcessing` must be enabled.
  -
  -The following example shows how to make an image fit to 120x0120 pixel:
  +NOTE: Note that https://www.imagemagick.org[ImageMagick^] 6.9.9 needs to be installed and be available in the system's path (7.x is currently not supported).
  +Furthermore, the <<configurable-application-features,built-in application property>>  `featureImageProcessing` must be enabled.
  +
  +The following example demonstrates how to fit an image into a (imaginary) box sized 120x120 pixel:
   [source,java]
   ----
   FeatureProvider featureProvider = application.getFeatureProvider(); //<1>
  
positive.code: 
  ==== `SITE` scope
  The `SITE` scope can be used to store and retrieve data that is *not* bound to a particular session and thus needs to be available on a more global level.
  As the `PLATFORM` scope, it is bound to the {jee}/javax/servlet/ServletContext.html[javax.servlet.ServletContext^] appNG is executed in. There are no buil-in attributes that
  are stored in the `SITE` scope.
  
  
  ==== `SESSION` scope
  This is propably the most commonly used scope when developing an appNG applications. It is bound the {jee}/javax/servlet/http/HttpSession.html[javax.servlet.http.HttpSession^] and
  therefore keeps track of the user's session state. For example, you can use it to store the current workflow state within your application.
  
  The built-in constants used as attributes names can be found at {appng}/org/appng/api/Session.html[org.appng.api.Session^].
  
  Example usage:
  [source,java]
  
negative.code: <3> In that folder, create a new file.
  <4> Retrieve the binary data of the image.
  <5> Write the original image data to the `sourceFile`.
  <6> Retrieve a new {appng}/org/appng/tools/image/ImageProcessor.html[ImageProcessor^] using `sourceFile` as a source and defining the name of the target file (which will be located in the folder `imageCache`).
  <7> Resize the image to make it fit into a (imaginary) box with a size of 120x120 pixel (aspect ratio is kept!), set the quality to 80%, and finally return the target file.
  