Fixed generated documentation inclusion and ignore

Change-Id: I533bd2d425f82626af4e261e3de90fedfa523d95
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/.gitignore b/doc/org.eclipse.emf.parsley.dev.doc/.gitignore
new file mode 100644
index 0000000..7f17541
--- /dev/null
+++ b/doc/org.eclipse.emf.parsley.dev.doc/.gitignore
@@ -0,0 +1,2 @@
+manual
+/images
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/contents/.gitignore b/doc/org.eclipse.emf.parsley.dev.doc/contents/.gitignore
new file mode 100644
index 0000000..d265afd
--- /dev/null
+++ b/doc/org.eclipse.emf.parsley.dev.doc/contents/.gitignore
@@ -0,0 +1,4 @@
+*
+!.gitignore
+!book.css
+!code.css
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources.html b/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources.html
deleted file mode 100644
index 9c3bd2b..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources.html
+++ /dev/null
@@ -1,15 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Emf Parsley Sources</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="GettingSources.html" title="">
-</head>
-<body>
-<h1>Emf Parsley Sources</h1>
-<ol><li><a href="GettingSources_1.html#GettingSources">Getting Sources</a>
-</li>
-</ol></body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources_1.html b/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources_1.html
deleted file mode 100644
index b2da68b..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/contents/GettingSources_1.html
+++ /dev/null
@@ -1,64 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" >
-<title>Getting Sources</title>
-
-<link href="book.css" rel="stylesheet" type="text/css">
-<link href="code.css" rel="stylesheet" type="text/css">
-<link rel="home" href="GettingSources.html" title="">
-</head>
-<body>
-<a name="GettingSources"></a>
-<h1>Getting Sources</h1>
-<p>
-If you want to get the sources of EMF Parsley,
-for instance, to contribute new features and patches, you can get them
-via Git and setup the workspace manually. However, we strongly reccomend to
-use the automatic procedure detailed below.
-</p>
-<p>
-If you want to develop also the <a href="http://eclipse.org/rap/">RAP</a>
-version of Emf Parsley, you will need a different workspace (and a different target platform).
-</p>
-<p>
-We use <a href="https://wiki.eclipse.org/Eclipse_Oomph_Installer">Oomph</a> for provisioning
-a full Eclipse IDE and workspace setup for Parsley.
-</p>
-<p>
-<ul>
-	<li>
-		Download and start Oomph: <a href="https://wiki.eclipse.org/Eclipse_Oomph_Installer">https://wiki.eclipse.org/Eclipse_Oomph_Installer</a>
-	</li>
-	<li>
-		On the initial page, click on the Switch to advanced mode button in the top right
-	</li>
-	<li>
-		On the Product page, select Eclipse IDE for Eclipse Committers.
-	</li>
-	<li>
-		On the Projects page, expand the "EMF Parsley" node.
-	</li>
-	<li>
-		either double-click on "RCP" or "RAP" for setting up the workspace for either the RCP version of
-		Parsley or the RAP version (it is likely that you choose the former).
-	</li>
-	<li>
-		Choose your preferred installation settings on the Variables page:
-		If you plan to contribute patches using Gerrit, check "Show all variables"
-		and make sure you select ("SSH (read-write Gerrit)") in the Git or Gerrit repository
-	</li>
-	<li>
-		Then specify your Bugzilla/Hudson password and Git/Gerrit user ID
-		(you can also specify the password and check that your credential are correct using the "Authenticate..." button).
-	</li>
-</ul>
-</p>
-<p>
-Press next and finish.
-This will first create an Eclipse installation with all the needed plug-ins for developing EMF Parsley
-and then will start the new installed Eclipse (press Finish to close the first installation dialog).
-The new installed Eclipse will automatically setup the workspace and you will have to wait for this procedure
-to end (you can click on the animated arrow icon on the status bar to show the progress).
-</p>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/contents/toc.xml b/doc/org.eclipse.emf.parsley.dev.doc/contents/toc.xml
deleted file mode 100644
index fc3721b..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/contents/toc.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="ISO-8859-1" ?>
-<toc topic="contents/GettingSources.html" label="Emf Parsley Sources" >
-	<topic href="contents/GettingSources_1.html#GettingSources" label="Getting Sources" >
-	</topic>
-</toc>
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/website/.gitignore b/doc/org.eclipse.emf.parsley.dev.doc/website/.gitignore
new file mode 100644
index 0000000..d6b7ef3
--- /dev/null
+++ b/doc/org.eclipse.emf.parsley.dev.doc/website/.gitignore
@@ -0,0 +1,2 @@
+*
+!.gitignore
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/website/_index.html b/doc/org.eclipse.emf.parsley.dev.doc/website/_index.html
deleted file mode 100644
index d4961dd..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/website/_index.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<br style="clear:both;height:1em;">
-<div id="leftcol">
-<div class="nav-logo">
-	<a href="index.php"><img src="logo.png" style="margin-left:10px; width:155px"/></a>
-</div>
-<ul id="leftnav">
-<li class="separator"><div class="separator">
-<img src="triangle.gif" style="height:12px; margin-right: 2px; display:none"  /><img src="triangle-90.gif" style="display:none; margin-right: 2px" height="12px" />
-<a href="GettingSources_1.php">Getting Sources</a></div>
-</li>
-</ul>
-</div>
-<br style="clear:both;height:1em;">
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/website/include.php b/doc/org.eclipse.emf.parsley.dev.doc/website/include.php
deleted file mode 100644
index 726444b..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/website/include.php
+++ /dev/null
@@ -1,22 +0,0 @@
-<?php
-
-
-	# Set the theme for your project's web pages.
-	# See the Committer Tools "How Do I" for list of themes
-	# https://dev.eclipse.org/committers/
-	# Optional: defaults to system theme 
-	$theme = "Nova";
-	
-	# Define your project-wide Nav bars here.
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
-	# these are optional
-	# $Nav->setLinkList(array());
-
-	$pageTitle 		= "Emf Parsley Sources";
-
-	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="code.css"/>' . "\n\t");
-	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="book.css"/>' . "\n\t");
-	$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="novaAddon.css"/>' . "\n\t");
-
-	$App->Promotion = TRUE;
-	?>
diff --git a/doc/org.eclipse.emf.parsley.dev.doc/website/index.php b/doc/org.eclipse.emf.parsley.dev.doc/website/index.php
deleted file mode 100644
index cbb927a..0000000
--- a/doc/org.eclipse.emf.parsley.dev.doc/website/index.php
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/app.class.php");	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/nav.class.php"); 	require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/menu.class.php"); 	$App 	= new App();	$Nav	= new Nav();	$Menu 	= new Menu();		include($App->getProjectCommon());    # All on the same line to unclutter the user's desktop'
-	include("include.php");
-	
-	$App->AddExtraHtmlHeader('
-	<script type="text/javascript">
-	function init() {
-		var docName = "GettingSources.html";
-	    initTocMenu(docName);
-		highlightCurrentSection(docName);
-	}
-	
-	function initTocMenu(ActiveSubTocElementId){
-		var menu = document.getElementById("leftnav");
-	
-		var chapters = menu.children;
-		addHideSubsectionFunction(chapters);
-		var subToc = document.getElementById(\'subToc_\' + ActiveSubTocElementId);
-		if(subToc) {
-			subToc.style.display = "block";
-			subToc.previousElementSibling.children[0].style.display = "none"
-			subToc.previousElementSibling.children[1].style.display = "inline"
-		}
-	}
-	
-	function switchImages(chap) {
-		
-	}
-	
-	function addHideSubsectionFunction(items){
-		for (var i = 0; i < items.length; i++) {
-			if (items[i].firstElementChild != null && items[i].className == "separator"){
-				if(items[i].firstElementChild.firstElementChild != null){
-					items[i].firstElementChild.firstElementChild.onclick = function(){this.nextElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
-					items[i].firstElementChild.firstElementChild.nextElementSibling.onclick = function(){this.previousElementSibling.style.display="inline";this.style.display = "none"; toc_toggle_subsections(this.parentNode.parentNode);};
-				}
-	 			items[i].firstElementChild.style.cursor = "pointer";
-			}
-		}
-	}
-	
-	function toc_toggle_subsections(chap){
-		if ( chap.children[1].style.display != "none" ) {
-			chap.children[1].style.display = "none"
-		} else {
-			chap.children[1].style.display = "block"
-		}
-	}
-	
-	function highlightCurrentSection(sec) {
-		document.getElementById(sec).style.backgroundColor= "#D0D0D0"
-	}
-	
-	if ( window.addEventListener ) { 
-		window.addEventListener( "load", init, false );
-	}
-	else if ( window.attachEvent ) { 
-		window.attachEvent( "onload", init );
-	} else 
-		if ( window.onLoad ) {
-			window.onload = init;
-	}
-	</script>');
-	
-	$pageTitle 		= "Emf Parsley Sources";
-	
-	$html .=  file_get_contents('_index.html');
-
-	# Generate the web page
-	$App->generatePage("Nova", $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/.gitignore b/doc/org.eclipse.emf.parsley.doc.websitegen/website/.gitignore
new file mode 100644
index 0000000..8c54c90
--- /dev/null
+++ b/doc/org.eclipse.emf.parsley.doc.websitegen/website/.gitignore
@@ -0,0 +1,6 @@
+/documentation.html
+/download.html
+/index.html
+/sources.html
+/support.html
+/userReviews.html
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/documentation.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/documentation.html
deleted file mode 100644
index 30de9d3..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/documentation.html
+++ /dev/null
@@ -1,3877 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-<!-- Marketing messaging and featurettes
-================================================== -->
-<!-- Wrap the rest of the page in another container to center all the content. -->
-<style>
-	.row {
-		-webkit-animation: fadeInRightBig 1.5s;
-		-moz-animation: fadeInRightBig 1.5s;
-		-ms-animation: fadeInRightBig 1.5s;
-		-o-animation: fadeInRightBig 1.5s;
-		animation: fadeInRightBig 1.5s;
-	}
-	
-	.dropdown-menu {
-		-webkit-animation: fadeInDownBig 1.5s;
-		-moz-animation: fadeInDownBig 1.5s;
-		-ms-animation: fadeInDownBig 1.5s;
-		-o-animation: fadeInDownBig 1.5s;
-		animation: fadeInDownBig 1.5s;
-	}
-	
-	.scrollup {
-		background: url(img/up.png) no-repeat scroll 0 0 rgba(0, 0, 0, 0);
-		bottom: 6%;
-		display: none;
-		opacity: 0.35;  /* modifica anche in mouseout */
-		position: fixed;
-		right: 4%;
-		z-index: 900;
-		width: 45px;
-		height: 45px;
-	}
-</style>
-<div class="containerdoc marketing">
-	<!-- SIDEBAR -->
-	<div style="position: fixed;" class="col-md-2">
-		<ul class="dropdown-menu" style="margin: 0px; max-width: 250px; display: block;box-shadow: 0 0px 7px rgba(0,0,0,.175);">
-			<li class="activemenu" ><a tabindex="-1" href="#par">Overview</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Parsley Components</a></li>
-			<li class="divider"></li>
-			<li><a tabindex="-1" href="#par">First Example</a></li>
-			<li class="divider"></li>
-			<li><a tabindex="-1" href="#par">Components</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Form Component</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Tree Component</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Tree Form Component</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Table Component</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Tree With Columns Component</a></li>
-			<li class="divider"></li>
-			<li><a tabindex="-1" href="#par">Customizations</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Dependency Injection With</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Google Guice</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Providers</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Contextual Menu</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Drag and Drop</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Factories</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Editing Domain</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Resources</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Configurator</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Validation</a></li>
-			<li class="divider"></li>
-			<li><a tabindex="-1" href="#par">Advanced Features</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Testing Framework</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">Eclipse 4.x</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">RAP</a></li>
-			<li class="divider"></li>
-			<li><a tabindex="-1" href="#par">Migration Guide</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">From 0.6.0 to 0.7.0</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">From 0.5.0 to 0.6.0</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">From 0.4 to 0.5</a></li>
-			<li><a class="submenu" tabindex="-1" href="#par">From 0.3 to 0.4</a></li>
-			<li class="divider"></li>
-		</ul>
-	</div>
-			
-	<!-- START THE FEATURETTES -->
-	</br>
-	<!-- scrollup ICON -->
-	<a class="scrollup" href="#top"></a>
-	<!-- scrollup ICON -->
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Overview</h1>
-			<p>
-			<strong>EMF Parsley</strong> is a lightweight framework that allows easy and quick UI development based
-			upon EMF. <strong>EMF Parsley</strong> is built on top of the EMF Edit framework and it implements features like Trees, Forms and Table builders with
-			standard JFace databinding, providing a complete component-based toolset.
-			EMF Parsley can be configured to use all kinds of EMF persistence
-			implementations (XMI, Teneo, CDO) 
-			Moreover a DSL allows to easily customize several behaviors in each component.
-			</p>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Parsley Components</h2>
-	<p>
-	<strong>EMF Parsley</strong> aims to provide a complete set of components to visualize your model with the introspective EMF capabilities
-	and can be used to easily build forms, viewers or editors.
-	</p>
-	<p>
-	There are some components that can be used out-of-the-box and can be considered as a reference implementation
-	of the mechanisms that are the basis of <strong>EMF Parsley</strong> itslef.
-	</p>
-	<p>
-	</p>
-	<ul>
-		<li><strong>Trees</strong></li>
-		<li><strong>Forms</strong></li>
-		<li><strong>Tables</strong></li>
-		<li><strong>Editors</strong></li>
-		<li><strong>Search boxes</strong> (coming soon)</li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	</p>
-	<img src="images/01-components.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Customize<a id="Customize"></a></h3>
-		<p>
-		The main feature of <strong>EMF Parsley</strong> is that you can customize all basic UI behaviours of the components with <strong>Dependency Injection</strong>
-		mechanisms (based on <a href="https://github.com/google/guice">Google Guice</a>).
-		You can get more info in the <a href="#addref" rel="Customizations">Customizations Section</a>, but you don't have to know all details
-		about the internal implementation to inject your own customization because
-		<strong>EMF Parsley</strong> provides a DSL to easy customize your UI, as explained in the next section.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Customize with the DSL<a id="Customizations_DSL"></a></h3>
-		<p>
-		You can use the DSL by creating a new project with the wizard "Create a new project" -&gt; "EMF Parsley DSL Based project"
-		</p>
-		<p>
-		</p>
-		<img src="images/01-new-project-dsl-wizard.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-		<p>
-		</p>
-		<p>
-		Clicking the "Finish" button the wizard will open directly the DSL editor. You can use the content assistant
-		to discover all features.
-		</p>
-		<p>
-		</p>
-		<img src="images/01-dsl-content-assistant.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-		<p>
-		</p>
-		<p>
-		The DSL allows to customize the most relevant behaviors. Here we list only a few of them:
-		</p>
-		<p>
-		</p>
-		<ul>
-			<li><strong>parts</strong> lets you define your View Parts: this will correspond to the standard Eclipse extension
-				points for the parts (see <a href="#PluginXml">How the DSL handles the plugin.xml</a>)</li>
-			<li><strong>bindings</strong> section lets you define which implementation will be used with Injection</li>
-			<li><strong>menu</strong> section lets you define the contextual menu for all viewers (<strong>trees</strong> and <strong>tables</strong>)</li>
-			<li><strong>features provider</strong> is used to retrieve the list of feature for a given EClass to build <strong>tables</strong>
-				and <strong>forms</strong></li>
-			<li><strong>viewer content provider</strong> mediates between the viewer's model and the viewer, to provide the
-				contents to be shown</li>
-			<li><strong>Label Provider</strong> is used to retrieve the image and text rapresentation of the objects of a
-				tree viewer</li>
-			<li><strong>Caption Provider</strong> provides captions for each feature (namely, EStructuredFeature) of the object shown in a form,
-				in a dialog or in a table row. 
-				Different implementations can be defined for <strong>dialogs</strong>, <strong>forms</strong> and <strong>tables</strong>.</li>
-			<li><strong>Control Factory</strong> provides a custom implementation of the Controls for each feature shown in a form or a dialog. 
-				Different implementations can be defined forfor <strong>dialogs</strong> and <strong>forms</strong></li>
-		</ul>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">The structure of an EMF Parsley project<a id="DslProjectStructure"></a></h3>
-		<p>
-		An EMF Parsley project, as created by the wizard, is an Eclipse plug-in project with a few
-		additional builders.
-		</p>
-		<p>
-		The <strong>emfparsley-gen</strong> source folder will contain all the Java files generated by the DSL
-		compiler.  The contents of this folder should never be modified manually, since their contents
-		will be overwritten by the DSL compiler.
-		</p>
-		<p>
-		The <strong>src</strong> source folder will contain an <abbr title="org.eclipse.ui.plugin.AbstractUIPlugin">AbstractUIPlugin</abbr>
-		 generated
-		by the wizard. This is generated only during the creation of the project and it can be safely modified
-		if you need to put other mechanisms in the activator.
-		</p>
-		<p>
-		IMPORTANT: it is crucial that the activator has the static method <strong>getDefault</strong>, so you must not remove
-		that method.
-		</p>
-		<p>
-		If you choose one of the templates provided by the wizard, the <strong>src</strong> folder will also contain
-		a Java class for the view, which extends the corresponding view of Parsley.  This can be safely modified
-		if you need to add some additional mechanisms or contents to the view.
-		</p>
-		<p>
-		You can then create additional <strong>.parsley</strong> files in the same project.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">How the DSL handles the plugin.xml<a id="PluginXml"></a></h3>
-		<p>
-		If you specify any <strong>part</strong> in the DSL file, then
-		the Parsley DSL will generate a <strong>plugin.xml_emfparsley_gen</strong> in the <strong>emfparsley-gen</strong> folder,
-		in a directory named after the containing module.  Then, the <strong>EMF Parsley builder</strong> will take
-		care of merging the generated content with the <strong>plugin.xml</strong> in the root folder of the current project.
-		If the <strong>plugin.xml</strong> does not exist it will create it.  Subsequent changes to the DSL file
-		will regenerate <strong>plugin.xml_emfparsley_gen</strong> and the builder will merge it with <strong>plugin.xml</strong>.
-		The merging will overwrite in the <strong>plugin.xml</strong> only the elements that are specified in the DSL.
-		Any other elements in the <strong>plugin.xml</strong> will not be touched, so you can also add other extension points
-		manually in the <strong>plugin.xml</strong>.
-		</p>
-		<p>
-		This merging takes place ONLY if your project has the <strong>EMF Parsley builder nature</strong>.
-		Since version 0.6.1 this nature is automatically applied to the projects created with our wizard.
-		In existing projects, you have to enable the nature yourself by right-clicking on the project,
-		then "Configure" and then "Enable EMF Parsley builder.
-		</p>
-		<p>
-		Note that this merging will not consider possible removed <strong>part</strong> sections in the DSL file.
-		The merging relies on the <strong>id</strong>, so if you change the <strong>id</strong>, e.g., the <strong>viewid</strong>, in the DSL file, then you will end up
-		with two extension points in the <strong>plugin.xml</strong>.  Thus, in general, if you removed a <strong>part</strong> section from
-		the DSL file, or if you rename an <strong>id</strong> in a <strong>part</strong> section, please make sure you manually modify
-		the <strong>plugin.xml</strong> accordingly.  The easiest way is to select to the files,
-		and use the context menu "Compare With" =&gt; "Each Other".  This way, you will soon detect the
-		changes that have to be manually applied.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Obtaining the Injector<a id="InjectorProvider"></a></h3>
-		<p>
-		Since we also generate the <strong>plugin.xml</strong> starting from the DSL file, we already make sure that the
-		views will be created via Google Guice injection mechanisms, using a generated
-		<strong>executable extension factory</strong>.
-		</p>
-		<p>
-		If you need to obtain an injector corresponding to a specific DSL file, you can use the
-		corresponding generated class <strong>injector provider</strong>.  This is prefixed with the name of the module
-		(first letter capitalized).  For example, given this DSL module
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		module org.eclipse.emf.parsley.examples.firstexample {
-			...
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		The Java class for the injector provider will be <strong>org.eclipse.emf.parsley.examples.firstexample.FirstexampleInjectorProvider</strong>.
-		</p>
-		<p>
-		These injector providers have a static method <strong>getInjector()</strong> that will return the <strong>singleton</strong> injector
-		corresponding to that module:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		Injector injector = FirstexampleInjectorProvider.getInjector();
-		</pre>
-		<p>
-		</p>
-		<p>
-		The returned injector is <strong>singleton</strong> in the sense that it is the same injector used
-		to create instances of the view parts specified as extension points in the <strong>plugin.xml</strong>.
-		</p>
-		<p>
-		Obtaining the injector this way is useful, for example, when you develop a pure e4 application,
-		where you do not define views in the <strong>plugin.xml</strong>.  See <a href="#addref" rel="Eclipse 4.x">Eclipse 4.x</a>.
-		</p>
-	</div>
-		</div>
-	</div>
-	 <hr style="width:64.6%;margin-bottom:28px;margin-top:30px;" class="col-md-8 col-md-offset-3"> 
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">First Example</h1>
-			<p>
-			The purpose of this first example is to make use of the classical EMF Library Model example and
-			create a view for editing such models using an EMF Parsley enabled plug-in.  We will use
-			one of the saveable views shipped with Parsley: a Tree Form View.
-			</p>
-			<p>
-			So let's start by creating the model plug-in with
-			</p>
-			<p>
-			</p>
-			<ol>
-				<li>File -&gt; New... -&gt; Example...</li>
-				<li>from Category "Eclipse Modeling Framework", select "Extended Library Model Example"</li>
-				<li>press Next and Finish</li>
-			</ol>
-			<p>
-			</p>
-			<p>
-			You will end up with three plug-ins:
-			</p>
-			<p>
-			</p>
-			<ul>
-				<li>org.eclipse.emf.examples.library (the model plug-in)</li>
-				<li>org.eclipse.emf.examples.library.edit (the edit plug-in)</li>
-				<li>org.eclipse.emf.examples.library.editor (the editor plug-in)</li>
-			</ul>
-			<p>
-			</p>
-			<p>
-			The editor plug-in project can be removed.
-			</p>
-			<p>
-			Please consider that here we are starting from this well known EMF model taken out-of-the-box from Eclipse,
-			but you can start from your EMF model (in that case you may probably omit the ".edit" and ".editor" plugins, depending on your model).
-			</p>
-			<p>
-			Now you can create your first example with the appropriate wizard.
-			</p>
-			<p>
-			</p>
-			<ol>
-				<li>select "File" -&gt; "New" -&gt; "Project..."</li>
-				<li>from the "Emf Parsley" category select "Emf Parsley Dsl based Project"
-					
-				<img src="images/01-new-project-dsl-wizard.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"></li>
-				<li>click "Next"</li>
-				<li>give a name to the project (e.g. "org.eclipse.emf.parsley.examples.firstexample")
-					and make sure the checkbox about using one of the templates is checked
-					
-				<img src="images/01-new-project-dsl-wizard2.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"></li>
-				<li>click "Next"</li>
-				<li>Select "Saveable Tree Form View"
-					
-				<img src="images/01-new-project-dsl-wizard3.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"></li>
-				<li>click "Finish"</li>
-			</ol>
-			<p>
-			
-			 
-			The generated project has some classes and a <strong>module.parlsey</strong> file, which opens automatically:
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			import org.eclipse.emf.parsley.examples.firstexample.FirstexampleSaveableTreeFormView
-			
-			/* org.eclipse.emf.parsley.examples.firstexample Emf Parsley Dsl Module file */
-			module org.eclipse.emf.parsley.examples.firstexample {
-				
-				parts {
-					viewpart org.eclipse.emf.parsley.examples.firstexample {
-						viewname "Firstexample"
-						viewclass FirstexampleSaveableTreeFormView
-					}
-				}
-				
-				configurator {
-					resourceURI {
-						FirstexampleSaveableTreeFormView -&gt; {
-							// TODO create and return a org.eclipse.emf.common.util.URI
-							return null;
-						}
-					}
-				}
-				
-				resourceManager {
-					initializeResource {
-						// Optional: initialize an empty Resource
-						// 'it' is of type Resource
-						// e.g., it.getContents += myFactory.createMyClass
-					}
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			The <strong>viewpart</strong> corresponds to the standard Eclipse view part extension point; the Parsley
-			DSL will handle the generation and update of the <strong>plugin.xml</strong> file.
-			Please have a look at <a href="#PluginXml">How the DSL handles the plugin.xml</a> for further
-			details.
-			</p>
-			<p>
-			The wizard will also generate a view part class into the project
-			(in this example, <strong>FirstexampleSaveableTreeFormView</strong>); you can add other controls
-			into that view, or customize other behaviors.  Note that the Parsley DSL will never
-			touch the files into the <strong>src</strong> source folder.  On the contrary, files generated into
-			<strong>emfparsley-gen</strong> source folder must never be manually modified, since its contents will
-			be regenerated each time you modify the <strong>module.parsley</strong> file.
-			</p>
-			<p>
-			For example, let's change the view name into "My Library Tree Form":
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			module org.eclipse.emf.parsley.examples.firstexample {
-				
-				parts {
-					viewpart org.eclipse.emf.parsley.examples.firstexample {
-						viewname "My Library Tree Form"
-						...
-			</pre>
-			<p>
-			</p>
-			<p>
-			Let's save the file, wait for Eclipse to rebuild, and update the
-			<strong>plugin.xml</strong> with the new <strong>plugin.xml_emfparsley_gen</strong>.
-			</p>
-			<p>
-			(Other <strong>viewpart</strong> sections can be created; content assist is available for that).
-			</p>
-			<p>
-			In the generated <strong>module.parsley</strong>, there is a <strong>configurator</strong> section, with
-			a <strong>TODO</strong> comment (The <strong>Configurator</strong> is detailed in the section <a href="#addref" rel="Configurator">Configurator</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			configurator {
-				resourceURI {
-					FirstexampleSaveableTreeFormView -&gt; {
-						// TODO create and return a org.eclipse.emf.common.util.URI
-						return null;
-					}
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			Let's focus on the above <strong>resourceURI</strong>: our goal is allowing to manage 
-			a library model instance which persists on a EMF <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-			.
-			So we must specify the <abbr title="org.eclipse.emf.common.util.URI">URI</abbr>
-			 of the resource
-			that will be edited by our tree form view.
-			In this example we choose to use the EMF default persistence (XMI), but you can provide any URI 
-			(e.g. using Teneo, CDO or any other EMF Resource Persistence implementation)
-			In particular here we choose to persist the Resource in a XMI file named <strong>"MyLibrary.library"</strong>
-			into the user home folder (you might want to change it with any other path).
-			To achieve this, we just need to create such a URI (recall that content assist is available
-			when typing Xbase expressions):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			configurator {
-				resourceURI {
-					FirstexampleSaveableTreeFormView -&gt; {
-						return URI.createFileURI( System.getProperty("user.home") + "/MyLibrary.library" );
-					}
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			If you simply copy and paste the above return statement, you'll get an error about
-			unresolvable Java type URI; "Organize Imports" context menu (or its shortcut "Ctrl+Shift+O")
-			can be used to automatically add the missing import (make sure you select
-			<abbr title="org.eclipse.emf.common.util.URI">URI</abbr>
-			).
-			</p>
-			<p>
-			Note that the specified URI, will be used for loading the resource only for our specific
-			view (the resource will be automatically created if it does not exist).
-			</p>
-			<p>
-			In the <strong>module.parsley</strong> there is another section that has been generated by the wizard:
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			resourceManager {
-				initializeResource {
-					// Optional: initialize an empty Resource
-					// 'it' is of type Resource
-					// e.g., it.getContents += myFactory.createMyClass
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			We can use this section to initialize our resource when it is empty
-			(i.e., the first time the resource is created); (The <strong>resourceManager</strong>
-			is detailed in section <a href="#ResourceManager">Resource Manager</a>).
-			</p>
-			<p>
-			In this example, we want to initialize an empty resource with a
-			<strong>Library</strong> object; so
-			we first need a <strong>Dependency</strong> from the model plug-in: so open <strong>MANIFEST.MF</strong> file, go to <strong>Dependencies</strong>
-			tab, press <strong>"Add..."</strong> button in <strong>"Required Plug-ins"</strong> section and insert <strong>"org.eclipse.emf.examples.library"</strong>
-			among dependencies.
-			</p>
-			<p>
-			Now we can implement the <strong>initializeResource</strong> method
-			(as described in the comment, the <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-			
-			to initialized is available through the parameter <strong>it</strong>); the Library object
-			is created using the standard EMF API: we need the factory of the library model:
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			resourceManager {
-				initializeResource {
-					it.getContents += EXTLibraryFactory.eINSTANCE.createLibrary
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			Again, use the content assist while typing, e.g., for automatically importing the
-			type <strong>EXTLibraryFactory</strong>, or use the "Organize Imports" functionality.
-			</p>
-			<p>
-			Now, we are ready to execute this example:
-			let's get back to the <strong>MANIFEST.MF</strong> and run the example
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-launch.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			As an Eclipse RCP developer you know, of course, that this will start another Eclipse instance (unless
-			you add an Application plug-in to the launch or define an Application in the current plug-in).
-			</p>
-			<p>
-			In this second Eclipse instance you can show the View in this way:
-			</p>
-			<ol>
-				<li><strong>Window -&gt; Show View -&gt; Other...</strong></li>
-				<li>from Category "Other", select "My Library Tree Form"</li>
-				<li>press <strong>OK</strong></li>
-			</ol>
-			<p>
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-run.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			With this simple view you can start editing the model instance. For example you can set the <strong>"name"</strong>
-			field; as soon as you start typing characters into this field you will notice that:
-			</p>
-			<ol>
-				<li>the View turns to a <strong>"dirty"</strong> state (an asterisk symbol appears on the view tab)</li>
-				<li>the <strong>"Save"</strong> toolbar button is enabled</li>
-				<li>the typed characters are reflected into the label correspondent to the Library icon</li>
-			</ol>
-			<p>
-			</p>
-			<p>
-			if you now perform a <strong>"Save"</strong> action the persistence mechanism will trigger and you will see that file 
-			</p>
-			&lt;user.home&gt;/MyLibrary.library
-			<p>
-			
-			is being created on the file system. From now on, this file will keep the state of the model object whenever
-			you change and save it.
-			</p>
-			<p>
-			To create a Writer into the Library just right-click on the Library object and select <strong>New Child -&gt; Writer</strong>
-			</p>
-			<p>
-			</p>
-			<img src="images/createWriter.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			Please note that you might see a slightly different content in the above context-menu in case you deleted
-			the .edit plugin when creating the model (e.g. <strong>"Writers Writer"</strong> instead of <strong>"Writer"</strong>, <strong>"Stock Book"</strong> instead of <strong>"Book"</strong> and
-			similar (this is because with EMF it is possible to customize labels also via .edit plugin).
-			</p>
-			<p>
-			Now set for instance the writer <strong>"name"</strong> field and save.
-			Now just play around creating Books, associating them to Writers and so on.
-			As you can see you can entirely manage the EMF model instance: creating, modifying and deleting elements.
-			</p>
-			<p>
-			Whenever the current selection on the upper side of the view changes, then the lower side shows the detail
-			of this selection.
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-default.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			However, up to this point, you have no control over the field to be shown and its order; for example
-			you may want just the <strong>"name"</strong> attribute for the Library and <strong>"name", "address" and "books"</strong> attributes
-			for Writers and maybe <strong>"title", "authors" and "category"</strong> for Books.
-			</p>
-			<p>
-			Well, it's indeed very easy to obtain this: just edit the <strong>module.parsley</strong> file, 
-			adding the following import (without ending line with ";")
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			import org.eclipse.emf.examples.extlibrary.*
-			</pre>
-			<p>
-			</p>
-			<p>
-			and then defining the features to show (the <strong>featuresProvider</strong> is detailed
-			in section <a href="#FeaturesProvider">Features Provider</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			module ... {
-			
-			...
-				featuresProvider {
-			        features {
-			            Library -&gt; name
-			            Writer -&gt; name, address, books
-			            Book -&gt; author, title, category
-			        }
-			    }
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			Remeber that code completion is available, just exploit it since it helps a lot.
-			</p>
-			<p>
-			If you restart now the application you will see that, when selecting an object, only the features
-			specified in the above section will be shown for each specified classes.
-			Furthermore, they are shown in the specified order.
-			</p>
-			<p>
-			NOTE: Did you run the application in Debug mode? Well, then you can change fields and order, save and see the
-			changes without even restarting the application.
-			</p>
-			<p>
-			Do you want to change text used for attribute captions in the form for a specific
-			class? Just add the following
-			(<strong>featureCaptionProvider</strong> is detailed in section <a href="#FeatureCaptionProvider">Feature Caption Provider</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			featureCaptionProvider {
-			    text {
-			        Book : author -&gt; "Written by:"
-			        Writer : name -&gt; "Name:"
-			    }
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			Or do you want to change the label shown on the tree nodes on the upper side and as detail title?
-			Maybe want to format the book label like this?
-			(<strong>labelProvider</strong> is detailed in section <a href="#ViewerLabelProvider">Viewer Label Provider</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			labelProvider {
-			    text {
-			        Book b -&gt; { '"' + b.title + '"' }
-			        Writer w -&gt; { w.name }
-			    }
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			The result of all the above customizations is shown in the following screenshot
-			(compare it with the previous screenshot):
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-customized.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			Now, let's customize the context menus; by default,
-			Parsley will generate context menus using EMF.Edit:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-default-menus.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			We will now customize the context menu for books and writers, using
-			the <strong>menuBuilder</strong> in the DSL (context menu customization is detailed
-			in section <a href="#addref" rel="Contextual Menu">Contextual Menu</a>).
-			</p>
-			<p>
-			What we want to achieve is to have a context menu for a <strong>Writer</strong>
-			to add a new book in the library, and set its author to the
-			selected writer (similarly, we want a context menu for a <strong>Book</strong>
-			to add a new writer in the library, and set the selected book as
-			one of the new writer's books):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			menuBuilder {
-				val factory = EXTLibraryFactory.eINSTANCE
-				
-				emfMenus {
-					Writer w -&gt; #[
-						actionChange("New book", w.eContainer as Library,
-							[
-								library |
-								val book = factory.createBook
-								library.books += book
-								book.title = "A new book"
-								book.author = w
-							]
-						),
-					]
-					Book b -&gt; #[
-						actionChange("New writer", b.eContainer as Library,
-							[
-								library |
-								val writer = factory.createWriter
-								library.writers += writer
-								writer.name = "A new writer"
-								writer.books += b
-							]
-						)
-					]
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			In this code we use Xbase features like list literals (<strong>#[...]</strong>) and
-			lambda expressions.
-			We use <strong>actionChange</strong> that allows to specify a menu performing some actions
-			on the model's elements, keeping track of such changes so that they can be
-			undone -- redo will work as well.  The implementation of the menu is specified
-			in the lambda expression passed as the last argument of actionChange; this lambda
-			will receive as argument the model's element specified as the second argument.
-			Only those modifications performed in the lambda concerning such specified model's element
-			will be recorded for undo/redo.
-			</p>
-			<p>
-			If you now restart the application, you see that the new
-			context menu appears on writer elements:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-custom-menus1.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			And selecting such a menu on a writer will add a new book, with
-			a title, and whose author is the selected writer:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-custom-menus2.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			You may want to try the new context menu on a book as well.
-			</p>
-			<p>
-			We also add another context menu for books, using <strong>actionAdd</strong>:
-			specifying the label for the menu,
-			the containment list in the model, the object to add in such list
-			and a lambda expression that will be executed ONLY after the menu
-			has been selected.  In this example, this menu available for
-			a book object will add a new book to the library with the same
-			name of the selected book:
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			menuBuilder {
-				val factory = EXTLibraryFactory.eINSTANCE
-				
-				emfMenus {
-					// ... as above
-					Book b -&gt; #[
-						actionChange(
-							// ... as above
-						),
-						actionAdd("New book (same title)",
-							(b.eContainer as Library).books,
-							factory.createBook,
-							[title = b.title]
-						)
-					]
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			Now, let's customize the contents shown in the tree view: by default,
-			as you can see from the previous screenshots, the tree will show all
-			the contents of the library.  If we want to show only the writers and
-			the books we can specify this section in the DSL
-			(the customization of the content provider is detailed in
-			section <a href="#ViewerContentProvider">Viewer Content Provider</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			viewerContentProvider {
-				children {
-					Library -&gt; {
-						writers + books
-					}
-				}
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			and the result can be seen in the following screenshot:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-custom-contents1.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			By default, double-clicking on a tree viewer of a saveable view will
-			show a dialog to edit that object (if you customized the
-			<strong>featuresProvider</strong>, the dialog will use your customized version);
-			by default, if you edit a field in such dialog, the modifications will
-			be applied immediately to the resource: this can be seen in the
-			labels of the tree which are automatically updated and in the dirty state of
-			the view:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-default-dialog.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			Such a strategy for editing is delegated to an injected
-			<abbr title="org.eclipse.emf.parsley.edit.IEditingStrategy">IEditingStrategy</abbr>
-			, which is
-			implemented by default by <abbr title="org.eclipse.emf.parsley.edit.OnTheFlyEditingStrategy">OnTheFlyEditingStrategy</abbr>
-			.
-			</p>
-			<p>
-			One may want to avoid this automatic update of the resource, and
-			have the changes applied only when the "OK" dialog button is pressed
-			(if "Cancel" is pressed, no changes should be applied at all).
-			To achieve this behavior, it is enough to bind the alternative implementation
-			<abbr title="org.eclipse.emf.parsley.edit.UndoableEditingStrategy">UndoableEditingStrategy</abbr>
-			, in the Guice module.
-			This can be achieved in the DSL using the <strong>binding</strong> section
-			(Guice bindings are detailed in section <a href="#addref" rel="Dependency Injection With</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Google Guice">Guice Bindings</a>):
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			bindings {
-				type IEditingStrategy -&gt; UndoableEditingStrategy
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			We strongly suggest you use the content assist to discover default
-			bindings, since they also show Javadoc for each default binding:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-custom-binding1.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			Besides types, you can also bind (i.e., inject) specific values
-			that are used in the framework; for example, you can change the
-			orientation of the tree form sash as follows
-			</p>
-			<p>
-			</p>
-			<pre class="prettyprint  lang-parsley" skin="desert">
-			...
-			bindings {
-				type IEditingStrategy -&gt; UndoableEditingStrategy
-				value int TreeFormSashStyle -&gt; SWT.HORIZONTAL
-			}
-			</pre>
-			<p>
-			</p>
-			<p>
-			and see the result:
-			</p>
-			<p>
-			</p>
-			<img src="images/first-example-custom-orientation.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-			<p>
-			</p>
-			<p>
-			This ends the first tutorial.
-			</p>
-		</div>
-	</div>
-	 <hr style="width:64.6%;margin-bottom:28px;margin-top:30px;" class="col-md-8 col-md-offset-3"> 
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Components</h1>
-			<p>
-			This section describes the components that are provided to be used out-of-the-box, that are the foundations for all parts built upon <strong>EMF Parsley</strong>.
-			Afetr a brief description, for each component we present a set of customizations, just to give an idea of how it works. You can refer
-			to <a href="#addref" rel="Customizations">Customizations Section</a> for a complete list.
-			</p>
-			<p>
-			Components and viewers have to be created using the factories we provide
-			(e.g., for viewers we provide <abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory">ViewerFactory</abbr>
-			);
-			such factories provide specific <strong>create</strong> methods that require all the needed parameters.
-			These factories must be injected.
-			</p>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Form Component</h2>
-	<p>
-	The <strong>Form Component</strong> can be used to rapresent an <abbr title="org.eclipse.emf.ecore.EObject">EObject</abbr>
-	 in a form,
-	like in the image above.
-	</p>
-	<p>
-	</p>
-	<img src="images/03-components-form.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	<strong>EMF Parsley</strong> provides a factory that can be used to create such a component, like in the code below.
-	Here you can see that a form can be configured in 2 lines, the constructor phase and the build&amp;fill phase.
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject FormFactory formFactory;
-	
-	(...)
-	
-	formComposite = formFactory.createFormDetailComposite(parent, SWT.NONE);
-	formComposite.init(eObject);
-	</pre>
-	<p>
-	</p>
-	<p>
-	Most of the job is done by the second line of code, which gets the list of <abbr title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr>
-	 defined
-	for the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-	
-	(that is the type of the object to represent) and builds a row for each of them. Each row is composed
-	by a <strong>caption</strong> which defaults to the name of the feature and a <strong>control</strong> to access the data.
-	</p>
-	<p>
-	All these aspects can be customized in many ways, for example you can customize the feature list, the captions and the controls.
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Feature List Customization<a id="FormComponent_features"></a></h3>
-		<p>
-		The <strong>list of features</strong> displayed on the form can be customized via the <a href="#FeaturesProvider">Feature Provider</a> 
-		that returns the list of the features (in a given order).
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Caption Customization<a id="FormComponent_captions"></a></h3>
-		<p>
-		The captions of the features shown in the form can be customizzed via the <a href="#FormFeatureCaptionProvider">Form Feature Caption Provider</a>.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Control Customization<a id="FormComponent_controls"></a></h3>
-		<p>
-		The Controls in the form can be customized via the <a href="#FormControlFactory">Form Control Factory</a>.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Proposal Provider<a id="FormComponent_proposals"></a></h3>
-		<p>
-		Depending on the feature types, some fields can have predefined values (e.g. combo). 
-		You can provide the exact proposal list via the <a href="#ProposalProvider">Proposal Provider</a>
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Tree Component</h2>
-	<p>
-	The <strong>Tree Component</strong> provides a tree representation of data that can be fed with an EResource, a
-	Resource URI, and a simple EObject. This component uses the EMF Meta-Model information to display objects in the tree.
-	</p>
-	<p>
-	</p>
-	<img src="images/03-components-tree.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	<strong>EMF Parsley</strong> provides a factory that can be used to create such a component, like in the code below:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject ViewerFactory viewerFactory;
-	
-	(...)
-	
-	treeViewer = new TreeViewer(parent);
-	viewerFactory.initialize(treeViewer, element);
-	</pre>
-	<p>
-	</p>
-	<p>
-	The <strong>Tree Component</strong>can be customized in several way via the standard EMF Edit facilities or with the EMF Parsley 
-	codeinjection based mechanism. If you are familiar with Jface APIs, you can easily use the basic class with some facilties to define the specific implementation. 
-	See the corrisponding sections for more details.
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Content Provider<a id="Tree_ContentProvider"></a></h3>
-		<p>
-		An IContentProvider is used in Jface to retrieve the list of <strong>elements</strong> and <strong>children</strong> to be showed
-		in the tree viewer. The <a href="#ViewerContentProvider">Viewer Content Provider</a> is the <strong>EMF Parsley</strong> implementation of that interface,
-		and by default uses the containment mechanisms to provide children as in EMF Edit framework, but it can
-		be customized as weel.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">LabelProvider<a id="Tree_LabelProvider"></a></h3>
-		<p>
-		The <a href="#ViewerLabelProvider">Viewer Label Provider</a> is the implementation of an ILabelProvider interface
-		and is responsible to provide the text and image representation for each EObject visualized.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Adding Menu<a id="Tree_MenuBuilder"></a></h3>
-		<p>
-		The contextual menu can be added to the viewer via an injected
-		<abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper">ViewerContextMenuHelper</abbr>
-		, as explained in the <a href="#addref" rel="Contextual Menu">Menu section</a>.
-		The <a href="#MenuBuilder">Menu Builder</a> allows to fully customize the menus.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Tree Form Component</h2>
-	<p>
-	The <strong>Tree Form Component</strong> contains a <a href="#addref" rel="Tree Component"></a> that provides a tree representation of data that can be fed with
-	an EResource, a Resource URI, and a simple EObject. This component uses the EMF Meta-Model information to display objects in 
-	the tree. The component also combines a <a href="#addref" rel="Form Component"></a> detail that display the current selected object.
-	</p>
-	<p>
-	</p>
-	<img src="images/03-components-treeform.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	<strong>EMF Parsley</strong> provides a factory to create such a component.
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject TreeFormFactory treeFormFactory;
-	
-	(...)
-	
-	treeFormComposite = treeFormFactory.createTreeFormComposite(parent, SWT.BORDER);
-	treeFormComposite.update(application);
-	</pre>
-	<p>
-	</p>
-	<p>
-	Since <strong>Tree Form Component</strong> is a combination of  <strong>Tree Component</strong> and  <strong>Form Component</strong>, all their customizations
-	are avaible for it.
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Table Component</h2>
-	<p>
-	The <strong>Table Component</strong> can rapresent data in a grid, once you have specified the type of objects to represent. 
-	It uses metamodel information to build columns as needed, and a
-	<abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-	 to retrieve
-	the contents of the specified type (see also <a href="#TableViewerContentProvider"></a>).
-	</p>
-	<p>
-	</p>
-	<img src="images/03-components-table.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject ViewerFactory viewerFactory;
-	
-	(...)
-	
-	tableViewer = viewerFactory.createTableViewer(composite, SWT.BORDER | SWT.FULL_SELECTION, eClass);
-	</pre>
-	<p>
-	</p>
-	<p>
-	The class <abbr title="org.eclipse.emf.parsley.viewers.TableViewerColumnBuilder">TableViewerColumnBuilder</abbr>
-	 has the responsibility to
-	build the columns of the Table, by using the <a href="#FeaturesProvider">Features Provider</a> to get the list
-	of features and the <a href="#FeatureCaptionProvider">Feature Caption Provider</a> for the column headers.
-	The class <abbr title="org.eclipse.emf.parsley.ui.provider.TableColumnLabelProvider">TableColumnLabelProvider</abbr>
-	 can be used to specify
-	an implementation of ILabelProvider for each cell in the table.
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Feature List Customization<a id="Table_features"></a></h3>
-		<p>
-		The <strong>list fo features</strong> displayed on the table can be customized via the <a href="#TableFeaturesProvider">Table Feature Provider</a>.
-		This list of features will be used for building the columns of the table.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Caption Customization<a id="Table_captions"></a></h3>
-		<p>
-		The headers of the table can be customizzed via the <a href="#FeatureCaptionProvider">Caption Provider</a>.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Column width Customization<a id="Table_columns_width"></a></h3>
-		<p>
-		All columns have the same size by default, but they can be customizzed via the <a href="#addref" rel="Configurator">Configurator</a>
-		for instance in the DSL, like in the example below.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		
-		bindings{
-			value List&lt;Integer&gt; TableColumnWeights -&gt; #[10,20,30,40]
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Adding Menu<a id="Table_MenuBuilder"></a></h3>
-		<p>
-		The contextual menu can be added to the viewer via an injected
-		<abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper">ViewerContextMenuHelper</abbr>
-		, as explained in the <a href="#addref" rel="Contextual Menu">Menu section</a>.
-		The <a href="#MenuBuilder">Menu Builder</a> allows to fully customize the menus.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Tree With Columns Component</h2>
-	<p>
-	The <strong>Tree With Columns Component</strong> provides a tree representation just like <a href="#addref" rel="Tree Component">Tree Component</a>,
-	but it also shows table columns representing the features of the specified <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-	.
-	</p>
-	<p>
-	IMPORTANT: the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-	 is used to retrieve the features to be shown, and
-	NOT to filter elements to be shown (as opposite to the <a href="#addref" rel="Table Component">Table Component</a>).  If a given
-	row in the tree represents an object whose class does not have the feature for a given column, then the
-	corresponding table cell for that object will be empty.
-	</p>
-	<p>
-	For example, the following screenshot shows a tree with columns representing a library; the specified
-	<abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-	 is the <strong>Writer</strong> so the columns show the features of the
-	<strong>Writer</strong>'s class.  Some of these features, e.g., <strong>address</strong>, <strong>firstName</strong> and <strong>lastName</strong>, are defined
-	in the superclasses of <strong>Writer</strong>.  The objects of class <strong>Employee</strong> have these features as well, while
-	they don't have features that are specific of <strong>Writer</strong>, e.g., <strong>name</strong> and <strong>books</strong>, thus the corresponding
-	cells for employees will be empty.
-	</p>
-	<p>
-	</p>
-	<img src="images/03-components-treecolumns.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	<strong>EMF Parsley</strong> provides a factory that can be used to create such a component, like in the code below:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject ViewerFactory viewerFactory;
-	
-	(...)
-	
-	treeViewer = createTreeViewerWithColumns(parent, getEClass(), getContents());
-	</pre>
-	<p>
-	</p>
-	<p>
-	Since this component mixes the features of a tree and a table, the customizations are basically the
-	same shown in the subsections of <a href="#addref" rel="Tree Component"></a> and <a href="#addref" rel="Table Component"></a>.
-	</p>
-	</div>
-		</div>
-	</div>
-	 <hr style="width:64.6%;margin-bottom:28px;margin-top:30px;" class="col-md-8 col-md-offset-3"> 
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Customizations</h1>
-			<p>
-			In this chapter we will describe how <strong>EMF Parsley</strong> lets you customize the standard behaviours.
-			A DSL is provided to easily customize most common features, but you can also customize all aspects
-			manually (i.e., in directly Java).
-			As a matter of fact each customization is explained in a single section, with the details on how to do
-			that with the DSL (if available) and in Java.
-			</p>
-			<p>
-			If you want to provide a specific implementation in
-			Java, you can use the Google Guice injection mechanism, by overriding the specific class with your own
-			implementation. Note that in some cases an explicit constructor is needed, with the <strong>@Inject</strong> annotation to make Guice
-			correctly works; when this is the case, the base class will already have such a constructor and you will only
-			need to override it, but you will also need to add the <strong>@Inject</strong> annotation explicitly.
-			</p>
-			<p>
-			Although one can specify any Guice <abbr title="com.google.inject.Module">Module</abbr>
-			, <strong>EMF Parsley</strong> ships with
-			some default base class modules that should be used for specifying custom
-			Guice bindings.  The default base class is
-			<abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule">EmfParsleyGuiceModule</abbr>
-			 that is suitable to be used
-			in an OSGI environment, like Eclipse itself or RAP (see also <a href="#addref" rel="Advanced Features">Eclipse 4.x &amp; RAP</a>).
-			Our project wizards will automatically use such module as the base class.
-			For CDO we have a specialized base module.
-			</p>
-			<p>
-			We also have a module to be used in a non OSGI environment, e.g., a pure Java environment:
-			<abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule">EmfParsleyJavaGuiceModule</abbr>
-			 (this is the base class of
-			<abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule">EmfParsleyGuiceModule</abbr>
-			).  This is useful also for
-			testing purposes, for writing plain Junit tests (i.e., not Plug-in Junit tests).
-			This is also used in our testing framework (see <a href="#addref" rel="Testing Framework">EMF Parsley Testing Framework</a>).
-			</p>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Dependency Injection With Google Guice</h2>
-	<p>
-	All Parsley components are assembled by means of <strong>Dependency Injection (DI)</strong>.
-	This means that whenever some code is in need for functionality (or state)
-	from another component, one just declares the dependency rather then stating
-	how to resolve it, i.e. obtaining that component.
-	</p>
-	<p>
-	For example, when some code wants to use a label provider,
-	it just declares a field (or method or constructor) and adds the
-	<abbr title="com.google.inject.Inject">@Inject</abbr>
-	 annotation:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	class MyView extends ViewPart {
-	
-		@Inject
-		private ILabelProvider labelProvider;
-	
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	It is not the duty of the client code to care about where the
-	actual <abbr title="org.eclipse.jface.viewers.ILabelProvider">ILabelProvider</abbr>
-	 comes from or
-	how it is created.
-	When the above class is instantiated, Guice sees that it requires an instance
-	of ILabelProvider and assigns it to the specified field or method parameter.
-	This of course only works, if the object itself is created by Guice.
-	In Parsley almost every instance is created that way and therefore the whole
-	dependency net is controlled and configured by the means of Google Guice.
-	</p>
-	<p>
-	Guice of course needs to know how to instantiate real objects for declared dependencies.
-	This is done in so called Modules. A <abbr title="com.google.inject.Module">Module</abbr>
-	
-	defines a set of mappings from types to either existing instances,
-	instance providers or concrete classes.
-	Modules are implemented in Java. Here's an example:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	public class MyGuiceModule extends AbstractGenericModule {
-	
-		@Override
-		public void configure(Binder binder) {
-			super.configure(binder);
-			binder.bind(ILabelProvider.class).to(MyLabelProvider.class);
-			binder.bind(...
-		}
-	</pre>
-	<p>
-	</p>
-	<p>
-	With plain Guice modules one implements a method called configure and gets a
-	<abbr title="com.google.inject.Binder">Binder</abbr>
-	 passed in.
-	That binder provides a fluent API to define the mentioned mappings.
-	This was just a very brief and simplified description.
-	We highly recommend to have a look at the <a href="https://github.com/google/guice">Google Guice</a>
-	website to learn more.
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Module API<a id="ModuleAPI"></a></h3>
-		<p>
-		Parsley comes with a slightly enhanced module API
-		(this was inspired by Xtext, so, if you are already familiar with the
-		enhnaced Guice module API of Xtext, you can use Parsley API right away).
-		</p>
-		<p>
-		The enhancement we added to Guice's Module API is that we provide an abstract base class,
-		which reflectively looks for certain methods in order to find declared bindings.
-		The standard base class is <abbr title="org.eclipse.emf.parsley.EmfParsleyGuiceModule">EmfParsleyGuiceModule</abbr>
-		,
-		which can be used in a standard Eclipse OSGI environment.  If you are using
-		CDO, it is better to use as base class <strong>CDOEmfParsleyModule</strong>, which has defaults
-		that better fit a CDO environment.  If you do not need OSGI, you can use
-		<abbr title="org.eclipse.emf.parsley.EmfParsleyJavaGuiceModule">EmfParsleyJavaGuiceModule</abbr>
-		 (e.g., to run tests
-		with plain Junit, see also <a href="#addref" rel="Testing Framework">Testing Framework</a>).
-		</p>
-		<p>
-		The most common kind of method is
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public Class&lt;? extends ILabelProvider&gt; bindILabelProvider() {
-			return MyLabelProvider.class;
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		which would do the same as the code snippet above.
-		It simply declares a binding from ILabelProvider to MyLabelProvider.
-		That binding will make Guice instantiate and inject a new instance of
-		MyLabelProviderProvider whenever a dependency to ILabelProvider is declared.
-		</p>
-		<p>
-		There are two additional kinds of binding-methods supported.
-		The first one allows to configure a provider.
-		A <abbr title="com.google.inject.Provider">Provider</abbr>
-		 is an interface with just one method:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public interface Provider&lt;T&gt; extends javax.inject.Provider&lt;T&gt; {
-		
-		  /**
-		   * Provides an instance of {@code T}. Must never return {@code null}.
-		   */
-		  T get();
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		This one can be used if you need a hook whenever an instance of a certain type
-		is created. For instance if you want to provide lazy access to a singleton
-		or you need to do some computation each time an instance is created (i.e. factory).
-		If you want to point to a provider rather than to a concrete class you can
-		use the following binding method:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public Class&lt;? extends Provider&lt;ILabelProvider&gt;&gt; provideILabelProvider() {
-			return MyLabelProviderFactory.class;
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		The last kind of binding allows to inject values in Parsley components;
-		here are some examples of such bindings implemented in the base class of
-		Parsley Guice module:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		/**
-		 * The String constant for Content Assist Shortcut
-		 */
-		public String valueContentAssistShortcut() {
-			return "Ctrl+Space";
-		}
-		
-		/**
-		 * The String constant used as a ellipses for Iterable string representation
-		 * when it is too long
-		 */
-		public String valueIterableStringEllipses() {
-			return "...";
-		}
-		
-		/**
-		 * The list of Integer weights for a table's columns
-		 */
-		public List&lt;Integer&gt; valueTableColumnWeights() {
-			return Collections.&lt;Integer&gt;emptyList();
-		}
-		
-		/**
-		 * The int constant defining the Sash style in a TreeFormComposite
-		 */
-		public int valueTreeFormSashStyle() {
-			return SWT.VERTICAL;
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Specify Guice Bindings in the DSL<a id="BindingsInTheDSL"></a></h3>
-		<p>
-		Guice bindings can be specified directly in the DSL, in the
-		<strong>bindings</strong> section.
-		</p>
-		<p>
-		In this section you can specify bindings of all the three above kinds with
-		<strong>type</strong>, <strong>provide</strong> and <strong>value</strong> respectively, e.g.,
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		bindings {
-			type ILabelProvider -&gt; MyLabelProvider
-			type ... -&gt; ...
-			provide ProposalCreator -&gt; MyProposalCreatorProvider
-			...
-			value int TreeFormSashStyle -&gt; SWT.HORIZONTAL
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		We strongly suggest you use the content assist to discover default
-		bindings, since they also show Javadoc for each default binding:
-		</p>
-		<p>
-		</p>
-		<img src="images/first-example-custom-binding1.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-		<p>
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Providers</h2>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Viewer Label Provider<a id="ViewerLabelProvider"></a></h3>
-		<p>
-		The Jface Label Provider allows to specify the representation of a given Object. <strong>EMF Parsley</strong>
-		provides an implementation that uses the information provided via the DSL, as you can see in the snippet
-		below. We allow customization for text, image, font, and foreground and background color.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		labelProvider{
-			text {
-				Book -&gt; "Book:"+title
-				Borrower -&gt; "Borrower: "+firstName
-			}
-			image {
-				Book -&gt; "book.png"
-			}
-			font {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Font
-			}
-			foreground {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Color
-			}
-			background {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Color
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		However if you want to customize the label provider in Java, you need to provide an implementation of <abbr title="org.eclipse.jface.viewers.ILabelProvider">ILabelProvider</abbr>
-		
-		and injecting it in the spefic module by overriding <strong>bindILabelProvider</strong>.
-		</p>
-		<p>
-		<strong>EMF Parsley</strong> provides such a base implementation with the class <abbr title="org.eclipse.emf.parsley.ui.provider.ViewerLabelProvider">ViewerLabelProvider</abbr>
-		
-		that is meant to be subclassed by the programmer to provide specific implementations like in the example below.
-		Our label provider also implements <abbr title="org.eclipse.jface.viewers.IFontProvider">IFontProvider</abbr>
-		 and
-		<abbr title="org.eclipse.jface.viewers.IColorProvider">IColorProvider</abbr>
-		, so that you can customize also the font, the foreground
-		and the background color.
-		</p>
-		<p>
-		This class, like many others in our framework, relies on the <strong>polymorphic dispatcher</strong> idiom to declaratively
-		specify text and image representations for objects. It boils down to the fact that the only thing you need to do is 
-		to implement a method that matches a specific signature: <strong>text</strong> and <strong>image</strong> for the String representation and
-		the image, respectively.  These methods will need to specify as parameter the type of the object to represent. 
-		For the image, you can either specify an image filename or an Image object.  File names for images are
-		assumed to refer to files in the <strong>icons</strong> folder of the containing plug-in.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public class CustomLibraryLabelProvider extends ViewerLabelProvider {
-		
-			@Inject
-			public CustomLibraryLabelProvider(AdapterFactoryLabelProvider delegate) {
-				super(delegate);
-			}
-		
-			public String text(Book book) {
-				return "Book: " + book.getTitle();
-			}
-		
-			public String image(Book book) {
-				return "book.png";
-			}
-		
-			public Font font(Book book) {
-				return // must return a org.eclipse.swt.graphics.Font
-			}
-		
-			public Color foreground(Book book) {
-				return // must return a org.eclipse.swt.graphics.Color
-			}
-		
-			public Color background(Book book) {
-				return // must return a org.eclipse.swt.graphics.Color
-			}
-		
-			public String text(Borrower b) {
-				return "Borrower: " + b.getFirstName();
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Viewer Content Provider<a id="ViewerContentProvider"></a></h3>
-		<p>
-		As in Jface, the Content Provider is used to get the elements to represent in a tree and their children
-		(as detailed in <a href="#TableViewerContentProvider">Table Viewer Content Provider</a>, for tables
-		we use a different content provider).
-		<strong>EMF Parsley</strong> provides an implementation that uses the DSL as in the code below.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		viewerContentProvider{
-			elements{
-				Library -&gt; books
-			}
-			children{
-				Library -&gt; books
-				Book b-&gt; {
-					new ArrayList()=&gt;[
-						add(b.author)
-						addAll(b.borrowers)
-					]
-				}
-			}
-		}</pre>
-		<p>
-		</p>
-		<p>
-		The developer can also provide a specific implementation of <abbr title="org.eclipse.jface.viewers.IContentProvider">IContentProvider</abbr>
-		
-		by injecting it in the spefic module <strong>(TODO)</strong>. EMF Parsley provides a base implementation with the class
-		<abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider">ViewerContentProvider</abbr>
-		 that can be easily used to
-		specify the children of all object on the tree, like in the example below (again, this uses the polymorphic dispatch idiom).
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public class CustomLibraryViewerContentProvider extends ViewerContentProvider {
-		
-			@Inject
-			public CustomLibraryViewerContentProvider(AdapterFactory adapterFactory) {
-				super(adapterFactory);
-			}
-		
-			public Object elements(Library library) {
-				return library.getBooks();
-			}
-		
-			public Object children(Library library) {
-				return library.getBooks();
-			}
-		
-			public Object children(Book book) {
-				ArrayList&lt;Object&gt; children = new ArrayList&lt;Object&gt;();
-				Writer author = book.getAuthor();
-				if (author != null) {
-					children.add(author);
-				}
-				children.addAll(book.getBorrowers());
-				return children;
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Table Viewer Content Provider<a id="TableViewerContentProvider"></a></h3>
-		<p>
-		For table viewers we use a customized content provider, which inherits from
-		the one described in <a href="#ViewerContentProvider">Viewer Content Provider</a>;
-		for tables we only need to specify how the root <strong>elements</strong> are computed
-		(no children are needed for tables).
-		</p>
-		<p>
-		This content provider, <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-		,
-		must be configured with the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 of the objects that
-		will be shown in the table, so the <strong>setEClass</strong> must be called before this content provider is
-		used.  This setup is already automatically performed in views that are shipped with Parsley; in
-		case you need to setup a table viewer yourself with this content provider, we strongly suggest
-		you inject a <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProviderFactory">TableViewerContentProviderFactory</abbr>
-		
-		and use its method <strong>createTableViewerContentProvider(EClass type)</strong>.
-		</p>
-		<p>
-		With the information about the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 this content provider
-		is able to automatically retrieve all the contents of that type from a <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-		
-		or any <abbr title="org.eclipse.emf.ecore.EObject">EObject</abbr>
-		, by retrieving inspecting all the containment
-		references of that type, recursively in the model.
-		</p>
-		<p>
-		In case you want to optimize the retrieval of contents, or in case you want to
-		show elements of the specified type which are not contained in an <abbr title="org.eclipse.emf.ecore.EObject">EObject</abbr>
-		
-		(because they are references with containment set to false), you can inject your own
-		custom <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-		
-		and define <strong>elements</strong> methods (again, this uses the polymorphic dispatch idiom).
-		</p>
-		<p>
-		In the DSL this can be done using the specific section.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		tableViewerContentProvider{
-			elements{
-				Library lib -&gt; {
-					// this is just an optimization: since books are contained in the library
-					// the default content provider will retrieve them automatically
-					lib.books
-				}
-				Writer w {
-					// writers' books would not be retrieved by the default content provider
-					// since they are NOT 'contained' in a writer.
-					w.books
-				}
-			}
-		}</pre>
-		<p>
-		</p>
-		<p>
-		IMPORTANT: customizations specified in a <abbr title="org.eclipse.emf.parsley.edit.ui.provider.ViewerContentProvider">ViewerContentProvider</abbr>
-		
-		will NOT be reused by a <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-		.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Table Label Provider<a id="TableLabelProvider"></a></h3>
-		<p>
-		The Jface Table Label Provider allows to specify the representation of a given cell in a table. <strong>EMF Parsley</strong>
-		provides an implementation that uses the information provided via the DSL, as you can see in the snippet
-		below. We allow customization for text, image, font, foreground and background color for a given object's feature
-		(which corresponds to a table cell), and also font, and foreground and background color for the entire row.
-		</p>
-		<p>
-		Concerning fonts and colors, a customization for a single cell has the precedence over the customization of an entire row.
-		</p>
-		<p>
-		Here's an example.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		tableLabelProvider {
-			text {
-				Library:name -&gt; 'Name' // constant
-				Library:books -&gt; 'Books' // constant
-				Writer:lastName -&gt; name.toFirstUpper // the implicit param is an EStructuralFeature
-			}
-			
-			image {
-				Book: author -&gt; 
-					if (author.name.nullOrEmpty) 
-						"noname.gif"
-					else
-						new ImageData("writer.jpeg")
-			}
-			
-			font {
-				Library : name -&gt; JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)
-			}
-			
-			foreground {
-				Library : books -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)
-			}
-			
-			background {
-				Library : address -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)
-			}
-			
-			rowFont {
-				Library -&gt; JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)
-			}
-			
-			rowForeground {
-				Library -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)
-			}
-			
-			rowBackground {
-				Library -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Features Provider<a id="FeaturesProvider"></a></h3>
-		<p>
-		<strong>EMF Parsley</strong> uses this kind of provider wherever a list of features is requested for a certain EClass.
-		The default is to return the list of all the features in the EClass, but the programmer can customize it (for instance,
-		by returning only a superset, or in a different order) on an EClass-based strategy.
-		Thus you can use the DSL to specify that list, as in the snipped below.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		featuresProvider{
-			features{
-				Book -&gt; title, author, category, pages
-			}
-		}
-		</pre>
-		<p>
-		 
-		 
-		If you want to customize it in Java, there are more ways to customize this behaviour, but we need to go deep in some
-		details of the <strong>Feature Provider</strong> implementation.
-		</p>
-		<p>
-		When the framework builds components according to the
-		<abbr title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr>
-		s of a given
-		<abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 it relies on an injected
-		<abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider">FeaturesProvider</abbr>
-		.
-		The default behavior is to simply return all the features of the a given EClass,
-		in the order they are defined in the EClass, as implemented by the method <strong>defaultFeatures</strong> in 
-		<abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider">FeaturesProvider</abbr>
-		.
-		</p>
-		<p>
-		You can set the mappings, i.e., specify the structural
-		features you want to be used given an EClass, by implementing
-		the method <strong>buildMap</strong>, which receives the
-		<abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider$EClassToEStructuralFeatureMap">FeaturesProvider.EClassToEStructuralFeatureMap</abbr>
-		
-		that can be filled with the method <strong>mapTo</strong>; 
-		for instance, using the EMF extended library
-		example, this customization will return only the <strong>name</strong> and <strong>address</strong> features
-		for <strong>Library</strong>, the <strong>firstName</strong>, <strong>lastName</strong> and <strong>address</strong> for
-		<strong>Person</strong>, and the <strong>firstName</strong>, <strong>lastName</strong> and <strong>books</strong> (but
-		not <strong>address</strong>) for <strong>Writer</strong> (which inherits from <strong>Person</strong>).
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		import static org.eclipse.emf.examples.extlibrary.EXTLibraryPackage.Literals.*;
-		import org.eclipse.emf.parsley.ui.provider.EStructuralFeaturesProvider;
-		
-		public class LibraryEStructuralFeaturesProvider extends
-				FeaturesProvider {
-		
-			@Override
-			protected void buildMap(EClassToEStructuralFeatureMap map) {
-				super.buildMap(map);
-				map.mapTo(LIBRARY,
-						LIBRARY__NAME, ADDRESSABLE__ADDRESS);
-				map.mapTo(PERSON, PERSON__FIRST_NAME, PERSON__LAST_NAME, ADDRESSABLE__ADDRESS);
-				map.mapTo(WRITER, PERSON__FIRST_NAME, PERSON__LAST_NAME, WRITER__BOOKS);
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		Another possibility is to build a map which relies on Strings
-		both for the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 and for
-		the list of <abbr title="org.eclipse.emf.ecore.EStructuralFeature">EStructuralFeature</abbr>
-		;
-		note that the name of the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 should
-		be obtained by using <strong>getInstanceClassName()</strong>; you can also
-		combine the two approaches.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Table Features Provider<a id="TableFeaturesProvider"></a></h3>
-		<p>
-		As an extension, you can use the <abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider">TableFeaturesProvider</abbr>
-		:
-		the customizations will be applied only to <a href="#addref" rel="Table Component">Tables</a>, not to <a href="#addref" rel="Form Component">Forms</a>.
-		</p>
-		<p>
-		If there are no specific customization in the <abbr title="org.eclipse.emf.parsley.ui.provider.TableFeaturesProvider">TableFeaturesProvider</abbr>
-		,
-		we fall back to <abbr title="org.eclipse.emf.parsley.ui.provider.FeaturesProvider">FeaturesProvider</abbr>
-		.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Feature Caption Provider<a id="FeatureCaptionProvider"></a></h3>
-		<p>
-		The <abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider">FeatureCaptionProvider</abbr>
-		 provides captions for
-		the features in <a href="#addref" rel="Table Component">Tables</a> and <a href="#addref" rel="Form Component">Forms</a>.
-		Here you can see an example of the DSL.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		featureCaptionProvider{
-			text{
-				Book:author -&gt; "Written by:"
-				Writer:name -&gt; "Name:"
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		If you want to customize it in Java, you need to derive from
-		<abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider">FeatureCaptionProvider</abbr>
-		.
-		It can be customized, with injection <a href="#addref" rel="Dependency Injection With</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Google Guice"></a>: this
-		way you can customize the caption label for controls in a form, dialog, and the headers in a table's column.
-		The framework uses a polimorphic mechanism to find customizations: it searches for
-		methods with a specific signature: the name is built by the string <strong>'text'</strong> followed by the EClass and the EStructuralFeature.
-		All parts of the name are separated by an underscore character and the method must accept a parameter of type EStructuralFeature.
-		</p>
-		<p>
-		In the following example we specify the caption text for the feature 'Author' of Book and the feature 'Name' for
-		Writer.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public String text_Book_author(final EStructuralFeature feature) {
-			return "Written by:";
-		}
-		
-		public String text_Writer_name(final EStructuralFeature feature) {
-			return "Name:";
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		If no customization is provided, the text will be computed using the feature's name.
-		This will always be the default for table column headers (since no object is available
-		when building the table); while for form and dialog captions we use a slightly different
-		default strategy, as shown in <a href="#FormFeatureCaptionProvider">Form and Dialog Feature Caption Provider</a>.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Form and Dialog Feature Caption Provider<a id="FormFeatureCaptionProvider"></a></h3>
-		<p>
-		The <abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider">FormFeatureCaptionProvider</abbr>
-		
-		(<abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider">DialogFeatureCaptionProvider</abbr>
-		, respectively)
-		can be used if you want to define the description only for forms (for dialogs, respectively).
-		For example using the <a href="#addref" rel="Tree Form Component">Tree Form</a> your definition will not be used in the tree.
-		</p>
-		<p>
-		In this case you can also define a method the returns directly the
-		<abbr title="org.eclipse.swt.widgets.Label">Label</abbr>
-		, like in the example
-		below. In such methods there is another parameter that is the parent composite (that is automatically
-		passed by the framework).
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public Label label_Writer_name(Composite parent, EStructuralFeature feature) {
-			Label label = defaultLabel(parent, feature);
-			label.setBackground(getFormToolkit().getColors().getColor(IFormColors.TITLE));
-			return label;
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		In the DSL you have the corresponding two sections available:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		formFeatureCaptionProvider{
-			text{
-				Book:author -&gt; "Written by:"
-			}
-			label{
-				Writer:name -&gt; createLabel(parent, "Name")
-			}
-		}
-		
-		dialogFeatureCaptionProvider{
-			text{
-				Book:author -&gt; "Author:"
-			}
-			label{
-				Writer:name -&gt; createLabel(parent, "Writer's name")
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		If there is no customization in the <abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider">FormFeatureCaptionProvider</abbr>
-		
-		(<abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider">DialogFeatureCaptionProvider</abbr>
-		, respectively),
-		the following steps are executed to create the text for the label:
-		</p>
-		<p>
-		</p>
-		<ul>
-			<li>we take possible customizations from <abbr title="org.eclipse.emf.parsley.ui.provider.FeatureCaptionProvider">FeatureCaptionProvider</abbr>
-			
-			if available, otherwise:</li>
-			<li>we take the text from <abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor">IItemPropertyDescriptor</abbr>
-			 if
-			the EObject provides it, otherwise:</li>
-			<li>we take the feature name</li>
-		</ul>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Proposal Provider<a id="ProposalProvider"></a></h3>
-		<p>
-		Some controls use a list of proposals to help the end user experince: for example a single value reference feature
-		will be rendered by default with a combo box, automatically filled with all the possible targets for
-		that reference; similarly for Enum features. You can customize the proposals, and you can specify proposals also
-		for simple text fields (a content assist dialog will show up for text fields).
-		</p>
-		<p>
-		For each feature you can specify a list of proposals via the DSL.  In the example below, we first
-		compute the default proposals for that feature and then we filter the proposals.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		proposals{
-			Book:author -&gt; {
-				defaultProposals(feature).
-					filter(Writer).
-					filter[name.startsWith("F")].toList
-			}
-		}
-		</pre>
-		<p>
-		
-		 
-		This customization can be done also in Java, by extending the class <abbr title="org.eclipse.emf.parsley.composite.ProposalCreator">ProposalCreator</abbr>
-		
-		and implementing the method </p>
-		<pre class="prettyprint" skin="desert">public List&lt;?&gt; proposals_Book_author(Book book) {...}</pre>
-		<p>
-		.  This
-		method follows the same convention on the signature name as explained in <a href="#FeatureCaptionProvider">Feature
-		Provider</a>.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Contextual Menu</h2>
-	<p>
-	A context menu can be added to any <abbr title="org.eclipse.jface.viewers.StructuredViewer">StructuredViewer</abbr>
-	 by using an
-	injected <abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper">ViewerContextMenuHelper</abbr>
-	. This provides some
-	methods for adding the context menu
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject ViewerContextMenuHelper contextMenuHelper;
-	(...)
-	
-	// simplest form
-	contextMenuHelper.addViewerContextMenu(viewer);
-	
-	// if you have an AdapterFactoryEditingDomain already
-	contextMenuHelper.addViewerContextMenu(viewer, editingDomain);
-	
-	// if you're inside an IWorkbenchPart
-	contextMenuHelper.addViewerContextMenu(viewer, editingDomain, part);
-	</pre>
-	<p>
-	</p>
-	<p>
-	The contents of such menu are built automatically by the framework or customized by the programmer,
-	as shown in the next section.
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Menu Builder<a id="MenuBuilder"></a></h3>
-		<p>
-		<strong>EMF Parsley</strong> uses the standard EMF.Edit features to build the contextual menus of
-		viewers (thus you will get by default the standard "New Child" and "New Sibling"
-		sections in the context menu).
-		</p>
-		<p>
-		You can customize context menus on a per class basis 
-		by extending the <abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder">EditingMenuBuilder</abbr>
-		
-		(and injecting it in the Guice module).  However, we suggest to use the
-		DSL for this task, as detailed in the following.
-		</p>
-		<p>
-		<strong>EMF Parsley</strong> logically separates the menu into 2 parts. The first section contains all common edit commands
-		such as <strong>copy</strong> and <strong>paste</strong>. The second section contains EMF specific commands, such as for example <strong>new child</strong>.
-		You can use the DSL to fully customize the menu, as in the example below.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		menuBuilder{
-			menus{
-				Library-&gt; #[
-					submenu("Edit",#[
-						actionCopy,
-						actionCut,
-						separator,
-						actionPaste
-					])
-				]
-			}
-			emfMenus{
-				Library lib -&gt; #[
-					actionAdd("Add a new book", lib.books,
-						EXTLibraryFactory.eINSTANCE.createBook)
-				]
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		For each EClass of your meta-model you can specify a list of menu items
-		(the #[] is the Xbase syntax for a list literal)
-		Content assist is available to select the editing actions, the separator and
-		also methods for EMF menu part.
-		</p>
-		<p>
-		In the <strong>emfMenus</strong> section, you can use some methods of
-		the <abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder">EditingMenuBuilder</abbr>
-		 class,
-		as detailed in the following.
-		</p>
-		<p>
-		The method <strong>actionAdd</strong>, specifying the label for the menu,
-		the containment list in the model, and the object to add in such list
-		when the menu is selected (Note that it is up to you to specify a
-		containment list); the DSL will issue an error if the object cannot be
-		added to the list (because it is not of the right type).
-		The object should be created using the standard EMF API (i.e., using
-		the EMF factory for your model).
-		</p>
-		<p>
-		If you want to specify further initialization instructions for the
-		created object you can pass a lambda expression as another argument
-		to <strong>actionAdd</strong>: that lambda will be executed ONLY after the menu
-		has been selected, i.e., ONLY after the created
-		object is part of the resource:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		emfMenus{
-			Writer w -&gt; #[
-				actionAdd("Add a new book for the writer",
-					(w.eContainer as Library).books,
-					EXTLibraryFactory.eINSTANCE.createBook,
-					[ book | book.title = "A new book" ]
-				)
-			]
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		IMPORTANT: do not set any reference feature of the created EObject in the lambda,
-		i.e., do not do something like the following
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		emfMenus{
-			Writer w -&gt; #[
-				actionAdd("Add a new book for the writer",
-					(w.eContainer as Library).books,
-					EXTLibraryFactory.eINSTANCE.createBook,
-					// WRONG: don't do that
-					[ book | book.author = w ]
-				)
-			]
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		This will not work if you undo the command: the writer that has been added
-		to the library will be removed, and the book.author will be a dangling reference!
-		as a consequence the resource cannot be saved.
-		</p>
-		<p>
-		If you want to implement more complex menu commands that do not
-		only add elements to a container, you can use the method
-		<strong>actionChange</strong>, specifying the label for the menu, the model's element
-		that will be affected by the changes specified as a lambda expression
-		(the third argument).  The lambda expression will also get the specified
-		model's element as argument.  The model's element can also be the whole
-		resource itself (formally, it can be any EMF <abbr title="org.eclipse.emf.common.notify.Notifier">Notifier</abbr>
-		).
-		</p>
-		<p>
-		It is crucial to specify the correct model's element to make undo/redo work
-		correctly: all the modifications performed in the lambda expression that concern the
-		specified element will be recorded, in order to implement undo/redo.
-		</p>
-		<p>
-		For example, this command, that will add a new book to the library, and sets
-		its author to the selected writer will work as expected, and selecting
-		undo will effectively remove the book from the writer's list and from the library:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		emfMenus{
-			Writer w -&gt; #[
-				actionChange("New book", w.eContainer as Library,
-					[
-						library |
-						val book = factory.createBook
-						library.books += book
-						book.title = "A new book"
-						book.author = w
-					]
-				)
-			]
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		This works since we specify the containing library as the model's element, thus,
-		all modifications that concern the library will be recorded.
-		</p>
-		<p>
-		On the contrary, this variant, will perform exacty the same actions on the model, but selecting
-		undo will only remove the book from the writer's list, and the book will still
-		be present in the library:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		emfMenus{
-			Writer w -&gt; #[
-				// in this variant undo will only unset the book's author,
-				// but it will not remove the added code from the library
-				// since we record changes concerning the writer only
-				actionChange("New book (variant)", w,
-					[
-						writer |
-						val library = writer.eContainer as Library
-						val book = factory.createBook
-						library.books += book
-						book.title = "A new book"
-						book.author = w
-					]
-				)
-			]
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		This happens since we specified the writer as the model's element, thus only
-		the changes that concern the writer will be undone.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Drag and Drop</h2>
-	<p>
-	Drag and drop can be added to any <abbr title="org.eclipse.jface.viewers.StructuredViewer">StructuredViewer</abbr>
-	 by using an
-	injected <abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper">ViewerDragAndDropHelper</abbr>
-	,
-	using its methods <strong>addDragAndDrop</strong>.
-	</p>
-	<p>
-	Currently, drag and drop is completely delegated to EMF.Edit.
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Factories</h2>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Widget Factory<a id="WidgetFactory"></a></h3>
-		<p>
-		The actual creation of text field, buttons, labels, etc. is delegated to an
-		implementation of <abbr title="org.eclipse.emf.parsley.widgets.IWidgetFactory">IWidgetFactory</abbr>
-		, which has several methods
-		like <strong>createText</strong>, <strong>createLabel</strong>, etc.  We provide two implementations of such interface
-		</p>
-		<p>
-		</p>
-		<ul>
-			<li><abbr title="org.eclipse.emf.parsley.widgets.DialogWidgetFactory">DialogWidgetFactory</abbr></li>
-			<li><abbr title="org.eclipse.emf.parsley.widgets.FormWidgetFactory">FormWidgetFactory</abbr>
-			 which is a specialization of the above,
-			specific for forms.</li>
-		</ul>
-		<p>
-		</p>
-		<p>
-		Usually, you do not need to customize such factories, which are used internally by the framework,
-		like in <a href="#FormControlFactory"></a> and <a href="#DialogControFactory"></a>.
-		</p>
-		<p>
-		You may want to customize such factories in case all your controls must have a specific style;
-		in such case, just inherit from our base classes
-		(there is no DSL section for such customizations, since they can be made in plain Java easily)
-		and bind such custom implementations in the Guice module.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Form Control Factory<a id="FormControlFactory"></a></h3>
-		<p>
-		<strong>EMF Parsley</strong> lets you customize the <strong>form controls</strong> via the DSL as in the following example.
-		 
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		formControlFactory {
-			control {
-				Library : name -&gt; { }
-				Writer : books -&gt; 
-					createLabel(
-						books.map[title].join(", "))
-				Writer : name -&gt; { createLabel(parent, "") }
-					target { observeText }
-				Writer : firstName -&gt; 
-					toolkit.createLabel(parent, "")
-					target observeText(SWT::Modify)
-				Borrower : firstName -&gt; {
-					createText(firstName, SWT::MULTI, SWT::BORDER,
-										SWT::WRAP, SWT::V_SCROLL)
-				}
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		For each pair EClass, EStructuralFeature you can either simply return a Control or specify also the target
-		for the databinding (see some examples above).
-		 
-		If you want to customize the controls in Java, you can extend the class <abbr title="org.eclipse.emf.parsley.composite.FormControlFactory">FormControlFactory</abbr>
-		.
-		Using the same polimorphic mechanism of the labels, the programmer can write a method with the keyword <strong>'control'</strong>
-		followed by the EClass and EStructuralFeature undescore-character-separated. The method
-		must accept as parameters the <strong>DataBinding Context</strong> and the <strong>Feature Observable</strong> that can be used for databinding.
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public Control control_Writer_name(DataBindingContext dbc,IObservableValue featureObservable) {
-			//Creating the control
-			Text text = getToolkit().createText(getParent(), "");
-			text.setData(FormToolkit.KEY_DRAW_BORDER, FormToolkit.TREE_BORDER);
-			text.setBackground(getToolkit().getColors().getColor(IFormColors.TITLE));
-			//Binding the control to the feature observable
-			dbc.bindValue(SWTObservables.observeText(text, SWT.Modify),	featureObservable);
-			return text;
-		}
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Dialog Control Factory<a id="DialogControFactory"></a></h3>
-		<p>
-		If you want to customize controls in Dialog, you can use the specific DSL section <strong>dialogControlFactory</strong>:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		dialogControlFactory {
-			control {
-				...
-			}
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		This customization is exactly as in the case of the form of the previous section.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Editing Domain</h2>
-	<p>
-	The concept of <abbr title="org.eclipse.emf.edit.domain.EditingDomain">EditingDomain</abbr>
-	 is crucial for editing
-	EMF models; we refer to the <strong>EMF.Edit</strong> <a href="http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.emf.doc%2Freferences%2Foverview%2FEMF.Edit.html">documentation</a> for further details.
-	In particular, the editing domain keeps track of commands executed on an EMF model,
-	thus enabling undo/redo mechanisms and "dirty state" management for saveable parts.
-	</p>
-	<p>
-	EMF Parsley aims at hiding the management of the editing domain, so that
-	everything should work smoothly and as expected, in an automatic way.  In particular,
-	it is rare that you need to perform customizations on this mechanisms.
-	However, there might be cases when you need to be aware of this concept, especially
-	if you need to use one of our customizations.  Moreover, you need to be aware of some
-	of the assumptions that EMF Parsley automatic mechanisms rely on (we inherit these assumptions
-	from EMF.Edit itself).
-	</p>
-	<p>
-	First of all, all the EMF <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-	s that you want to edit with EMF Parsley must be
-	contained in a <abbr title="org.eclipse.emf.ecore.resource.ResourceSet">ResourceSet</abbr>
-	, which, in turn,
-	must be contained in an <abbr title="org.eclipse.emf.edit.domain.EditingDomain">EditingDomain</abbr>
-	.
-	This is achieved automatically when using our <strong>ResourceLoader</strong>, <a href="#ResourceLoader">Resource Loader</a>.
-	</p>
-	<p>
-	Two resources loaded with different resource loaders will be contained in two
-	different editing domains.  Two resources loaded with the same resource loader will
-	be in the same resource set and use the same editing domain.
-	</p>
-	<p>
-	Our default implementation of editing domain uses the EMF <abbr title="org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain">AdapterFactoryEditingDomain</abbr>
-	,
-	so that all the EMF.Edit default mechanisms will work correctly.  In particular,
-	our customization uses Google Guice mechanisms (see <a href="#addref" rel="Dependency Injection With</br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Google Guice">Dependency Injection With Google
-	Guice</a>), thus if you need an editing domain in your own views all you have to do is
-	to inject it, e.g.,
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-		@Inject
-		private EditingDomain editingDomain;
-	</pre>
-	<p>
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Editing Domain Provider<a id="EditingDomainProvider"></a></h3>
-		<p>
-		If you need to provide a custom implementation of the editing domain
-		(for example, because you want to use a transactional editing domain), you need
-		to implement a custom Google Guice <abbr title="com.google.inject.Provider">Provider</abbr>
-		 and
-		in your Guice module override this method:
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint" skin="desert">
-		public Class&lt;? extends Provider&lt;EditingDomain&gt;&gt; provideEditingDomain() {
-			return DefaultEditingDomainProvider.class;
-		}
-		</pre>
-		<p>
-		</p>
-		<p>
-		Such custom provider will then have to create an editing domain and return it.
-		</p>
-		<p>
-		We have some custom editing domain providers that might be useful in some
-		situations:
-		</p>
-		<p>
-		</p>
-		<ul>
-			<li><strong>GlobalAdapterFactoryEditingDomainProvider</strong>: all the injected
-			editing domains will be the same in the same JVM, thus all your
-			components will share exactly the same editing domain instances, and
-			all the resources will be contained in the same resource set of the same
-			editing domain.</li>
-			<li><strong>SingletonAdapterFactoryEditingDomainModule</strong>: similar to the previous
-			one, but according to the semantics of Google Guice <abbr title="com.google.inject.Singleton">@Singleton</abbr>
-			,
-			i.e., only those components injected with the same injector will share
-			the same editing domain.  This basically means that all the components
-			created with the same Parsley Guice module will share the same editing domain.</li>
-		</ul>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Editing Domain Finder<a id="EditingDomainFinder"></a></h3>
-		<p>
-		All the EMF Parsley saveable views and editors will have their own
-		editing domain (modulo what we explained in <a href="#EditingDomainProvider">Editing Domain Provider</a>).
-		</p>
-		<p>
-		The EMF Parsley views that react on selection do NOT have a preset
-		editing domain, since they will represent (and possibly edit) EMF objects
-		selected in some other views, i.e., such objects can be contained in resources
-		of different resource sets (and different editing domains).
-		Thus, the editing domain of the currently shown object is dynamically
-		retrieved through an injected <strong>EditingDomainFinder</strong>.  This default
-		implementation basically delegates to the standard EMF.Edit mechanisms
-		for retrieving the editing domain.  In cases where the editing domain cannot
-		be found (e.g., because the object is not contained in a resource, or its resource
-		is not contained in a resource set, or its resource set is not contained in an
-		editing domain), then editing will not be possible (i.e., context menus <a href="#addref" rel="Contextual Menu"></a> and drag
-		and drop <a href="#addref" rel="Drag and Drop">Drag and Drop</a> will not work).
-		</p>
-		<p>
-		You can provide and bind a custom implementation of the <strong>EditingDomainFinder</strong>
-		which is particularly useful if you manage a transactional editing domain.
-		</p>
-		<p>
-		This is required only in some specific and advanced scenarios.
-		</p>
-		<p>
-		In standard situations you will not have to worry about that, and
-		editing mechanisms will work out of the box, including dragging an
-		element from one view into another view, provided they are in the
-		same resource set and such drag and drop makes sense.
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Resources</h2>
-	<p>
-	</p>
-	<ul>
-		<li>If you need a machanism to fill some data for the first time you use a model, you can provide
-			a specific implementation of <a href="#ResourceManager">Resource Manager</a>.</li>
-		<li>If you want to interact with Resource Loading, you can provide a specific <a href="#ResourceLoader">Resource
-			Loader</a></li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	Concerning saving objects, there are some specific parts that can be customized:
-	</p>
-	<p>
-	</p>
-	<ul>
-		<li><a href="#ResourceSaveStrategy">Resource Save Strategy</a>, if you want to manage the save.</li>
-	</ul>
-	<p>
-	</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Resource Loader<a id="ResourceLoader"></a></h3>
-		<p>
-		The class <abbr title="org.eclipse.emf.parsley.resource.ResourceLoader">ResourceLoader</abbr>
-		 can be used to handle resource loading.
-		This class uses internally the <a href="#ResourceManager">Resource Manager</a>.
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Resource Manager<a id="ResourceManager"></a></h3>
-		<p>
-		Tasks concerning an EMF <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-		 are
-		delegated to <abbr title="org.eclipse.emf.parsley.resource.ResourceManager">ResourceManager</abbr>
-		.
-		</p>
-		<p>
-		One of such tasks is initializing the resource, e.g., when, after loading, it is
-		found empty.  You can derive from this class (and bind it in the Guice module) and provide a custom implementation 
-		of the method <strong>initialize</strong>.
-		</p>
-		<p>
-		Saving a resource is also delegated to this class, using the method <strong>save</strong>,
-		which is expected to return a boolean value representing whether saving
-		has succeeded (the default implementation simply saves the resource and returns true).
-		</p>
-		<p>
-		In the DSL, you can specify a <strong>resourceManager</strong> block, and within that block
-		you can specify <strong>initializeResource</strong> and <strong>saveResource</strong>, which correspond to
-		<strong>inizialize</strong> and <strong>save</strong> methods, respectively.  In both cases, inside the
-		block expression, the resource is available with the name <strong>it</strong>; for example
-		</p>
-		<p>
-		</p>
-		<pre class="prettyprint  lang-parsley" skin="desert">
-		import org.eclipse.emf.parsley.examples.library.EXTLibraryFactory
-		
-		...
-		
-		resourceManager {
-			val EXTLibraryFactory libraryFactory = EXTLibraryFactory.eINSTANCE;
-			
-			initializeResource {
-				// it is of type org.eclipse.emf.ecore.resource.Resource
-				it.getContents() += libraryFactory.createLibrary
-			}
-			saveResource {
-				// it is of type org.eclipse.emf.ecore.resource.Resource
-				it.save(null)
-				return true
-			}
-		}
-		
-		...
-		</pre>
-		<p>
-		</p>
-		</br>
-		<h3 class="featurette-heading text-parsley2">Resource Save Strategy<a id="ResourceSaveStrategy"></a></h3>
-		<p>
-		Resource saving is delegated to <abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy">ResourceSaveStrategy</abbr>
-		
-		which, by defaults only saves the passed <abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-		,
-		by delegating to <abbr title="org.eclipse.emf.parsley.resource.ResourceManager">ResourceManager</abbr>
-		
-		(see <a href="#ResourceManager"></a>).
-		You can inject your own save strategy and customize the saving strategy, for
-		instance, you may want to validate the resource before saving
-		(a usable example of this strategy is
-		<abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy">ValidateBeforeSaveStrategy</abbr>
-		,
-		see also section <a href="#addref" rel="Validation">Validation</a>).
-		</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Configurator</h2>
-	<p>
-	In Parsley, instead of using abstract classes, we often provide concrete
-	classes that implement superclass' abstract methods (or interface methods)
-	by delegating to an injected <abbr title="org.eclipse.emf.parsley.config.Configurator">Configurator</abbr>
-	.
-	Such configurator calls methods in its hierarchy using polymorphic dispatch;
-	in particular, the first argument passed to these methods is the object
-	requesting that specific service to the configurator; typically it will be
-	a UI object, e.g., a view part.
-	</p>
-	<p>
-	These are the methods that can be customized declaratively:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	/**
-	 * Returns the {@link URI} of the resource for the requestor for any use the requestor may need it
-	 * @param requestor
-	 * @return
-	 */
-	public URI resourceURI(Object requestor) {
-		return null;
-	}
-	
-	/**
-	 * Returns the {@link EClass} for the requestor
-	 * @param requestor
-	 * @return
-	 */
-	public EClass eClass(Object requestor) {
-		return null;
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	The idea is that clients that use such an injected instance should call
-	the <strong>get</strong> methods, e.g., <strong>getEClass</strong>, while the customization should be defined
-	using polymorphic dispatch, e.g.,
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	class MyConfigurator extends Configurator {
-	
-		public EClass eClass(MyView1 view1) {
-			return ...;
-		}
-	
-		public EClass eClass(MyOtherView view) {
-			return ...;
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	In the DSL, you can specify a <strong>configurator</strong> section, e.g.,
-	(the requestor object can be accessed using the implicit variable
-	<strong>it</strong>):
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint  lang-parsley" skin="desert">
-	module my.project {
-	
-		configurator {
-			resourceURI {
-				MyTreeFormView -&gt; {
-					return ...;
-				}
-				MyTableView -&gt; {
-					return ...;
-				}
-			}
-			eClass {
-				MyTableView -&gt; {
-					return ...;
-				}
-				MyTableFormView -&gt; {
-					return ...;
-				}
-			}
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	The project wizard will generate in the <strong>module.parsley</strong> the
-	required <strong>configurator</strong> sections, depending on the specific template chosen,
-	with some <strong>// TODO</strong> comments to help implementing them, e.g.,
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint  lang-parsley" skin="desert">
-	module my.project {
-	
-		configurator {
-			eClass {
-				MyView -&gt; {
-					// TODO return the EClass of objects to be shown
-				}
-			}
-			resourceURI {
-				MyView -&gt; {
-					// TODO create and return a org.eclipse.emf.common.util.URI
-					return null;
-				}
-			}
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Validation</h2>
-	<p>
-	EMF Parsley supports standard EMF validation automatically, e.g., via the context menu
-	"Validate"; thus, if you already have constraints implemented for your meta-model, the
-	validation action will check them.
-	</p>
-	<p>
-	EMF validation can also be triggered manually using an injected <abbr title="org.eclipse.emf.parsley.validation.ValidationRunner">ValidationRunner</abbr>
-	,
-	which provides methods for validating a single <abbr title="org.eclipse.emf.ecore.EObject">EObject</abbr>
-	 or an entire
-	<abbr title="org.eclipse.emf.ecore.resource.Resource">Resource</abbr>
-	.  These <strong>validate</strong> methods return an EMF
-	<abbr title="org.eclipse.emf.common.util.Diagnostic">Diagnostic</abbr>
-	 that can be used to find out possible errors, warnings
-	and infos collected during the validation.
-	</p>
-	<p>
-	There are overloaded versions of <strong>validate</strong> methods that also take an
-	<abbr title="org.eclipse.emf.parsley.validation.IssueReporter">IssueReporter</abbr>
-	:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	/**
-	 * Validates, reports diagnostics through the passed {@link IssueReporter}
-	 * and returns the list of reported diagnostics.
-	 * 
-	 * @param eObject
-	 * @param reporter
-	 * @return
-	 */
-	public List&lt;Diagnostic&gt; validate(EObject eObject, IssueReporter reporter) {
-		return reporter.report(validate(eObject));
-	}
-	
-	/**
-	 * Validates, reports diagnostics through the passed {@link IssueReporter}
-	 * and returns the list of reported diagnostics.
-	 * 
-	 * @param resource
-	 * @param reporter
-	 * @return
-	 */
-	public List&lt;Diagnostic&gt; validate(Resource resource, IssueReporter reporter) {
-		return reporter.report(validate(resource));
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	The reporter is asked to report the collected diagnostic and it is expected to return
-	the list of issues effectively reported.  For example, an issue reporter can
-	report only errors (e.g., diagnostic whose severity is <strong>Diagnostic.ERROR</strong>), while
-	ignoring warnings and other diagnostic information.
-	</p>
-	<p>
-	We provide a utility class that can be injected, <abbr title="org.eclipse.emf.parsley.validation.DiagnosticUtil">DiagnosticUtil</abbr>
-	,
-	with utility methods, like flattening diagnostic into a list (EMF diagnostic are typically nested in
-	a tree form), to quickly select only the errors, and to have a string representation.
-	</p>
-	<p>
-	The default implementation of <abbr title="org.eclipse.emf.parsley.validation.IssueReporter">IssueReporter</abbr>
-	
-	is <abbr title="org.eclipse.emf.parsley.validation.DialogErrorReporter">DialogErrorReporter</abbr>
-	, which uses an EMF
-	dialog to report ONLY errors.  Another implementation that can be used for testing purposes
-	is <abbr title="org.eclipse.emf.parsley.validation.LogIssueReporter">LogIssueReporter</abbr>
-	, which logs diagnostic using
-	the corresponding log4j methods (i.e., <strong>error</strong>, <strong>warn</strong>, <strong>info</strong>).
-	</p>
-	<p>
-	An example of use of the above classes can be found in <abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy">ValidateBeforeSaveStrategy</abbr>
-	
-	(see section <a href="#ResourceSaveStrategy">Resource Save Strategy</a>):
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	public class ValidateBeforeSaveStrategy extends ResourceSaveStrategy {
-	
-		@Inject
-		private ValidationRunner validationRunner;
-		
-		@Inject
-		private IssueReporter issueReporter;
-	
-	    @Override
-		public boolean save(Resource resource) throws IOException {
-			if (!precondition(resource)) {
-				return false;
-			}
-			return super.save(resource);
-		}
-	    
-		protected boolean precondition(Resource resource) {
-			return validationRunner.validate(resource, issueReporter).size() == 0;
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	Thus, if you use a <abbr title="org.eclipse.emf.parsley.resource.ValidateBeforeSaveStrategy">ValidateBeforeSaveStrategy</abbr>
-	,
-	with the default Guice bindings, upon saving, if validation finds errors, it will
-	cancel the saving and it will show a dialog with errors.
-	</p>
-	</div>
-		</div>
-	</div>
-	 <hr style="width:64.6%;margin-bottom:28px;margin-top:30px;" class="col-md-8 col-md-offset-3"> 
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Advanced Features</h1>
-			<p>
-			In this chapter we describe some advanced features.
-			</p>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Testing Framework</h2>
-	<p>
-	We provide some utility classes for testing <strong>EMF Parsley</strong> components in the feature
-	"Emf Parsley Junit4 Support".  By deriving from one of the abstract classes in our
-	testing bundle, you will be able to write tests that are meant to be run as Junit test,
-	that is to say, NOT as Plug-in Junit tests.  Thus, you will not need a running Eclipse product
-	to execute such tests: they will be much faster.  Indeed, many parts of Parsley can
-	be tested even without a running Eclipse.
-	</p>
-	<p>
-	</p>
-	<ul>
-		<li><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyTest">AbstractEmfParsleyTest</abbr>
-		: this provides
-			a few utility methods, e.g., for creating an <abbr title="com.google.inject.Injector">Injector</abbr>
-		.</li>
-		<li><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyShellBasedTest">AbstractEmfParsleyShellBasedTest</abbr>
-		: this allows
-			to run Junit tests that require a <abbr title="org.eclipse.swt.widgets.Display">Display</abbr>
-		 and a
-		<abbr title="org.eclipse.swt.widgets.Shell">Shell</abbr>
-		.</li>
-		<li><abbr title="org.eclipse.emf.parsley.junit4.AbstractEmfParsleyControlBasedTest">AbstractEmfParsleyControlBasedTest</abbr>
-		: an extension
-			of the previous class for tests that also require databinding capabilities, e.g.,
-			tests for <abbr title="org.eclipse.swt.widgets.Control">Control</abbr>
-		 elements; this provides many assert
-			methods for several kinds of controls, such as <strong>assertCheckbox</strong>, <strong>assertCombo</strong>, etc.</li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	We use these classes for testing most of our classes; you might want to have a look
-	at the project <strong>org.eclipse.emf.parsley.tests</strong> for some usage examples.
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">Eclipse 4.x</h2>
-	<p>
-	Instead of using the Extension Point mechanism, EMF Parsley leverages from DSL and Google Guice Injection.
-	</p>
-	<p>
-	Because of this, it is very easy to use it with Eclipse 4.x (e4).
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>First Example Setup</strong>
-	</p>
-	<p>
-	If you followed the steps described in section <a href="#addref" rel="First Example">First Example</a> you will have already
-	what we need to begin. Otherwise the following wizard will bring you to that point.
-	</p>
-	<p>
-	</p>
-	<ol>
-		<li>File -&gt; New... -&gt; Example...</li>
-		<li>from Category "Emf Parsley Examples", select "Emf Parsley First Example"</li>
-		<li>press Next and Finish</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	You will end up with three plug-ins:
-	</p>
-	<p>
-	</p>
-	<ul>
-		<li>org.eclipse.emf.parsley.examples.firstexample (the EMF Parsley example plug-in)</li>
-		<li>org.eclipse.emf.examples.library (the model plug-in)</li>
-		<li>org.eclipse.emf.examples.library.edit (the model.edit plug-in)</li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	As a reminder, in section <a href="#addref" rel="First Example">First Example</a> we reached the point where we launched a second Eclipse
-	instance (but, of course, just defining a product you could have a standalone 3.x application) with a
-	view (called "My Library Tree Form") that allowed to manage the model.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Preparing for a pure e4 Application</strong>
-	</p>
-	<p>
-	What we will do now is starting from the previous step and create an e4 Application (on top of
-	the previous plug-ins) that gets to the same result, but now with a pure e4 Part.
-	</p>
-	<p>
-	In order to do this we need to export the <strong>"org.eclipse.emf.parsley.examples.firstexample"</strong> package from the first plug-in.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Create an e4 Application</strong>
-	</p>
-	<p>
-	Now let's create a new, empty, e4 application, e.g. <strong>"org.eclipse.emf.parsley.examples.firstexample.application"</strong>
-	(you can find details on how to create e4 applications in <a href="http://www.rcp-vision.com/?p=4694&lang=en">our
-	tutorials</a>).
-	</p>
-	<p>
-	Create a Part and ensure that the application starts.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Using a TreeComposite into an e4 Part</strong>
-	</p>
-	<p>
-	In the just created plug-in we need dependencies from the previous plug-ins: so open the <strong>org.eclipse.emf.parsley.examples.firstexample.application/MANIFEST.MF</strong> file, go to <strong>Dependencies</strong>
-	tab and add the three previous plug-ins. Add also <strong>"org.eclipse.emf.parsley"</strong> plug-in.
-	Don't forget to add the previous, and the required plug-ins, also to the Product.
-	</p>
-	<p>
-	Open the Part java class and make the following changes:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	// Use these imports during Organizing Imports operation
-	import org.eclipse.emf.common.util.URI;
-	import org.eclipse.emf.ecore.resource.Resource;
-	import org.eclipse.swt.widgets.Composite;
-	
-	// The part implements IMenuListener for context menu handling
-	public class MyEclipse4Part {
-	
-		//the EMF Parley composite for showing a tree and a detail form
-		private TreeFormComposite treeFormComposite;
-		//the EMF Resource
-		private Resource resource;
-		//URI for EMF Resource
-		private URI uri = URI.createFileURI(System.getProperty("user.home")
-			+ "/MyLibrary.library");
-	
-	</pre>
-	<p>
-	</p>
-	<p>
-	Modify the <strong>@PostConstruct</strong> method with this code:
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@PostConstruct
-	public void postConstruct(Composite parent) throws Exception {
-		// Guice injector
-		private Injector injector = FirstexampleInjectorProvider.getInjector();
-	
-		// The EditingDomain is needed for context menu and drag and drop
-		EditingDomain editingDomain = injector.getInstance(EditingDomain.class);
-	
-		ResourceLoader resourceLoader = injector.getInstance(ResourceLoader.class);
-		//load the resource
-		resource = resourceLoader.getResource(editingDomain, uri).getResource();
-	
-		TreeFormFactory treeFormFactory = injector.getInstance(TreeFormFactory.class);
-		//create the tree-form composite
-		treeFormComposite = treeFormFactory.createTreeFormComposite(parent, SWT.BORDER);
-	
-		// Guice injected viewer context menu helper
-		ViewerContextMenuHelper contextMenuHelper = injector.getInstance(ViewerContextMenuHelper.class);
-		// Guice injected viewer drag and drop helper
-		ViewerDragAndDropHelper dragAndDropHelper = injector.getInstance(ViewerDragAndDropHelper.class);
-	
-		// set context menu and drag and drop
-		contextMenuHelper.addViewerContextMenu(treeFormComposite.getViewer(), editingDomain);
-		dragAndDropHelper.addDragAndDrop(treeFormComposite.getViewer(), editingDomain);
-	
-		//update the composite
-		treeFormComposite.update(resource);
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	The Google Guice Injector (not to be confused with the Eclipse e4 Injector) is retrieved
-	using the injector provider class generated by the DSL compiler
-	(see also <a href="#InjectorProvider">Obtaining the Injector</a>).
-	</p>
-	<p>
-	If you now run the application you will be able to manage the model:
-	</p>
-	<p>
-	</p>
-	<img src="images/07-eclipse4-part.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	but you will notice that it is not possible to persist the changes to the model.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Adding the dirty state and Save command</strong>
-	</p>
-	<p>
-	In order to allow persisting the model changes we have to add the dirty state handling to the part and
-	the Save command to the application.
-	Let's start with adding the following attribute to the part
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Inject
-	MDirtyable dirty;
-	</pre>
-	<p>
-	</p>
-	<p>
-	add to <strong>@PostConstruct</strong> method the following code in order to update the dirty state
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	editingDomain.getCommandStack().addCommandStackListener(
-				new CommandStackListener() {
-					public void commandStackChanged(EventObject event) {
-						if (dirty != null)
-							dirty.setDirty(true);
-					}
-				});
-	</pre>
-	<p>
-	</p>
-	<p>
-	and add the <strong>@Persist</strong> method, which will be called when the part is saved
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	@Persist
-	public void save(MDirtyable dirty) throws IOException {
-		resource.save(null);
-		if (dirty != null) {
-			dirty.setDirty(false);
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	<p>
-	and, in the end, add the <strong>Save</strong> handler along with the correspondent <strong>Command</strong> and <strong>Menu</strong>
-	(you can find how to create handlers, commands and menus in an e4 applications in <a href="http://www.rcp-vision.com/?p=4972&lang=en">our
-	tutorials</a>)
-	</p>
-	<p>
-	</p>
-	<pre class="prettyprint" skin="desert">
-	import javax.inject.Named;
-	
-	public class SaveHandler {
-	
-		@Execute
-		void execute(EPartService partService, @Named(IServiceConstants.ACTIVE_PART) MPart part) {
-			partService.savePart(part, false);
-		}
-	}
-	</pre>
-	<p>
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">RAP</h2>
-	<p>
-	As you may know <a href="http://eclipse.org/rap/">RAP (Remote Application Platform)</a> is a technology that allows you to run an Eclipse RCP application over the web.
-	</p>
-	<p>
-	In order to obtain this goal you have to setup a specific RAP Target Platform, for instance the one that RAP itself provides once you install it.
-	</p>
-	<p>
-	However when you want to use an Eclipse RCP framework over the RAP Platform, you generally have to deal with
-	dependencies, since not all Eclipse frameworks are ready-to-use with RAP, especially those related with the SWT layer.
-	</p>
-	<p>
-	EMF Parsley provides a proper RAP Target Platform that allows you to start leveraging Parsley potentials to the web the same way you have 
-	learned to do with desktop (RCP) development.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Installing the RAP Tools</strong>
-	</p>
-	<p>
-	To begin with, you need to install the RAP Tools into the IDE.
-	This can be accomplished with the following steps:
-	</p>
-	<ol>
-		<li>Help -&gt; Install New Software ...</li>
-		<li>select the main Eclipse Update site</li>
-		<li>expand category "Web, XML, Java EE and OSGi Enterprise Development"</li>
-		<li>select "RAP Tools" and complete the installation, restarting the IDE at the end</li>
-		<li>after IDE restarts just close the Welcome page</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Setup the EMF Parsley RAP Target Platform</strong>
-	</p>
-	<p>
-	After having installed EMF Parsley as described <a href="https://www.eclipse.org/emf-parsley/download.html">here</a> and
-	created a new workspace, you can setup the EMF Parsley RAP Target Platform in the following way: 
-	</p>
-	<ol>
-		<li>File -&gt; New... -&gt; Example...</li>
-		<li>from Category "Emf Parsley Examples", select "Emf Parsley Rap Target Platform Example"</li>
-		<li>press Next and Finish</li>
-		<li>open the Target Definition file <strong>emf-parsely-rap.target</strong></li>
-		<li>wait until the "Resolving Target Definition" job is done (check the status bar)</li>
-		<li>when finished, click on hyperlink "Set as Target Platform"</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	You will end up with a RAP-enabled workspace, enhanced by EMF and Parsley!
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Running the Parsley RAP UI Example</strong>
-	</p>
-	<p>
-	Here is the fastest way to get a working web application with all the stuff put togheter:
-	</p>
-	<ol>
-		<li>File -&gt; New... -&gt; Example...</li>
-		<li>from Category "Emf Parsley Examples", select "Emf Parsley Rap Example"</li>
-		<li>press Next and Finish</li>
-		<li>expand plug-in <strong>"org.eclipse.emf.parsley.examples.rap.ui"</strong></li>
-		<li>right-click "Emf_Parsley_RAP_UI_Example.launch" and click "Run as" "Emf_Parsley_RAP_UI_Example"</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	What you will get is a web application that allows you to interact with the model instance as you would
-	do in a desktop (RCP) environment.
-	</p>
-	<p>
-	</p>
-	<img src="images/08-rap-ui-example-running.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	In this web application you can see two views: 
-	</p>
-	<ul>
-		<li>the one on the left is a read-only view; it just reflects the model content, but it does not react to changes (the classic Eclipse dirty indicator is not triggered
-		by changes) and you are not able to save. Its model is created in class <strong>org.eclipse.emf.parsley.examples.rap.ui.GuiceModule.CustomResourceManager</strong>
-		and is not persisted</li>
-		<li>the view on the right is instead a Saveable view and therefore it not only triggers the dirty state after
-		a change, but also allows you to save the modifications with the automatic dirty state reset. Its model
-		is persisted in file <strong>System.getProperty("java.io.tmpdir")+"/My.model")</strong></li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	Of course, since this is a web application, you can also open a browser on another pc or device on the same network and type the address,
-	replacing 127.0.0.1 with the IP of the machine where the application was launched.
-	</p>
-	<p>
-	</p>
-	<ol>
-	</ol>
-	<p>
-	</p>
-	<p>
-	<strong>Running the Parsley RAP CDO Example</strong>
-	</p>
-	<p>
-	The EMF default XMI persistence is certainly very handy to start with, but as soon as you want a more
-	production-ready EMF persistence architecture, well, <a href="http://wiki.eclipse.org/CDO">CDO</a> is for sure the way to go.
-	In fact with CDO you basically have an EMF model instance shared between clients, that also allows the
-	clients to be synchronized with the model changes.
-	</p>
-	<p>
-	In this example, in order to keep things simple, we will use CDO with an in-memory store (MEMStore) whose contents will be lost once the server is stopped.
-	However CDO can be configured for usage with RDBMS, Object-oriented or NO-SQL databases (see <a href="http://eclipse.org/cdo/documentation/">here</a> for details)
-	</p>
-	<p>
-	To start with we need a CDO Server running and we can obtain it with an example plugin that can be used
-	both in an RCP and in a RAP workspace.
-	</p>
-	<p>
-	</p>
-	<ol>
-		<li>File -&gt; New... -&gt; Example...</li>
-		<li>from Category "Emf Parsley Examples", select "Emf Parsley Cdo Server Example"</li>
-		<li>press Next and Finish</li>
-		<li>expand plug-in <strong>"org.eclipse.emf.parsley.examples.cdo.server"</strong></li>
-		<li>right-click "CDOServerExample.launch" and click "Run as" "CDOServerExample"</li>
-		<li>a message on the Console <strong>"Repository[demo] started!"</strong> informs that the CDO Server instance
-			is started!</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	Now we can create the web application that will use the CDO server just started.
-	</p>
-	<p>
-	</p>
-	<ol>
-		<li>File -&gt; New... -&gt; Example...</li>
-		<li>from Category "Emf Parsley Examples", select "Emf Parsley Rap Cdo Example"</li>
-		<li>press Next and Finish</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	The plug-in projects created are:
-	</p>
-	<p>
-	</p>
-	<ul>
-		<li>the Model (org.eclipse.emf.parsley.examples.cdo.model)</li>
-		<li>a Parsley plug-in with a TreeForm (org.eclipse.emf.parsley.examples.cdo.treeform)</li>
-		<li>the webapp (org.eclipse.emf.parsley.examples.cdo.rap)</li>
-	</ul>
-	<p>
-	</p>
-	<p>
-	Then let's start the application
-	</p>
-	<p>
-	</p>
-	<ol>
-		<li>expand plug-in <strong>"org.eclipse.emf.parsley.examples.cdo.rap"</strong></li>
-		<li>right-click "EMF-Parsley_Library_RAP.launch" and click "Run as" "EMF-Parsley_Library_RAP"</li>
-	</ol>
-	<p>
-	</p>
-	<p>
-	If you happen to see this
-	</p>
-	<p>
-	</p>
-	<img src="images/08-rap-refresh.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	just press the refresh button and should see the following
-	</p>
-	<p>
-	</p>
-	<img src="images/08-rap-cdo-1.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	<p>
-	Now feel free to open the same address from more browsers window (yes, on different machines or devices, possibly)
-	and see the power of this technology stack at work!
-	</p>
-	<p>
-	</p>
-	<img src="images/08-rap-cdo-2.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;">
-	<p>
-	</p>
-	</div>
-		</div>
-	</div>
-	 <hr style="width:64.6%;margin-bottom:28px;margin-top:30px;" class="col-md-8 col-md-offset-3"> 
-	<div class="row featurette">
-		<div class="col-md-8 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Migration Guide</h1>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">From 0.6.0 to 0.7.0</h2>
-	<p>
-	</p>
-	<ul>
-		<li><strong>Multiple DSL files in the same project</strong>: thanks to the radical change to the structure
-		of EMF Parsley projects, detailed in the following, it is now possible to define several
-		<strong>.parsley</strong> files in the same project.</li>
-		<li><strong>Structure of projects</strong>: the structure of EMF Parsley projects has radically changed
-		(see <a href="#DslProjectStructure">The structure of an EMF Parsley project</a>).
-		If you have existing projects you need to perform these steps to adjust the compilation errors you will
-		get:<ol>
-			<li>Remove the executable extension factory class from the <strong>src</strong> folder (the DSL will now generate it in the
-			<strong>emfparsley-gen</strong> source folder)
-			<img src="images/project-migration-exec-ext-fact.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"></li>
-			<li>Remove the guice module from the <strong>src</strong> folder, in the example above, it is <strong>FirstexampleGuiceModule</strong></li>
-			<li>Modify the activator: instead of extending <strong>EmfParsleyAbstractActivator</strong> it must extend the
-			standard <abbr title="org.eclipse.ui.plugin.AbstractUIPlugin">AbstractUIPlugin</abbr>
-			; then remove the method<pre class="prettyprint" skin="desert">
-			public EmfParsleyGuiceModule createModule()
-			</pre></li>
-			<li>Manually remove all the contents of the <strong>emfparsley-gen</strong> folder (the name of the generated
-			classes are now prefixed with the module name, but the previously generated ones might still be there)
-			<img src="images/project-migration-clean-gen.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"></li>
-			<li>Perform a "clean" on the project (so that the contents of <strong>emfparsley-gen</strong> are generated)</li>
-			<li>Read the next part about <strong>plugin.xml</strong></li>
-		</ol></li>
-		<li><strong>The plugin.xml and the new EMF Parsley builder</strong>: the way we handle the
-		<strong>plugin.xml</strong> has improved, and we also automatically merge subsequent changes in the
-		DSL file <strong>parts</strong> section.  Please have a look at <a href="#PluginXml">How the DSL handles the plugin.xml</a> for
-		the details.IMPORTANT: This merging takes place ONLY if your project has the <strong>EMF Parsley builder nature</strong>.
-		Since version 0.6.1 this nature is automatically applied to the projects created with our wizard.
-		In existing projects, you have to enable the nature yourself by right-clicking on the project,
-		then "Configure" and then "Enable EMF Parsley builder.Once you added this new nature, please remove the <strong>plugin.xml_emfparsley_gen</strong> from the root
-		of your project, and perform a clean of the project.</li>
-		<li><strong>InjectorProvider</strong>: the activator generated by the project wizard does not provide
-		anymore a means to retrieve the injector.  This functionality is now implemented by an <strong>InjectorProvider</strong>
-		class which is automatically generated for each DSL module (see <a href="#InjectorProvider">Obtaining the Injector</a>).For example, in the first example,
-		<a href="#addref" rel="First Example">First Example</a>, instead of doing<pre class="prettyprint" skin="desert">
-		FirstexampleActivator.getDefault().getInjector();
-		</pre>you need to do<pre class="prettyprint" skin="desert">
-		FirstexampleInjectorProvider.getInjector();
-		</pre></li>
-	</ul>
-	<p>
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">From 0.5.0 to 0.6.0</h2>
-	<p>
-	</p>
-	<ul>
-		<li>The way we handle the <abbr title="org.eclipse.emf.edit.domain.EditingDomain">EditingDomain</abbr>
-		 is
-		changed and improved to some extent.  In standard scenarios this should not
-		require any modifications.  In advanced scenarios this will provide complete
-		control on the editing domain.  We refer to the new section in the documentation,
-		<a href="#addref" rel="Editing Domain">Editing Domain</a>.</li>
-		<li><strong>Tree With Columns</strong>: a new component has been added:The <strong>Tree With Columns Component</strong> provides a tree representation just like <a href="#addref" rel="Tree Component">Tree Component</a>,
-		but it also shows table columns representing the features of the specified <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		.IMPORTANT: the <abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 is used to retrieve the features to be shown, and
-		NOT to filter elements to be shown (as opposite to the <a href="#addref" rel="Table Component">Table Component</a>).  If a given
-		row in the tree represents an object whose class does not have the feature for a given column, then the
-		corresponding table cell for that object will be empty.For example, the following screenshot shows a tree with columns representing a library; the specified
-		<abbr title="org.eclipse.emf.ecore.EClass">EClass</abbr>
-		 is the <strong>Writer</strong> so the columns show the features of the
-		<strong>Writer</strong>'s class.  Some of these features, e.g., <strong>address</strong>, <strong>firstName</strong> and <strong>lastName</strong>, are defined
-		in the superclasses of <strong>Writer</strong>.  The objects of class <strong>Employee</strong> have these features as well, while
-		they don't have features that are specific of <strong>Writer</strong>, e.g., <strong>name</strong> and <strong>books</strong>, thus the corresponding
-		cells for employees will be empty.<img src="images/03-components-treecolumns.png" class="img-responsive centered" style="margin-top:10px;margin-bottom:10px;"><strong>EMF Parsley</strong> provides a factory that can be used to create such a component, like in the code below:<pre class="prettyprint" skin="desert">
-		@Inject ViewerFactory viewerFactory;
-		
-		(...)
-		
-		treeViewer = createTreeViewerWithColumns(parent, getEClass(), getContents());
-		</pre>Since this component mixes the features of a tree and a table, the customizations are basically the
-		same shown in the subsections of <a href="#addref" rel="Tree Component"></a> and <a href="#addref" rel="Table Component"></a>.</li>
-		<li><strong>EmfSelectionHelper</strong> only deals with selection element; utility methods for events is now
-		delegated to <strong>EmfEventHelper</strong>.</li>
-		<li>label provider for trees and table label providers for tables can now specify declaratively custom
-		fonts, foreground and background colors.For tables, you can customize the font, foreground and background color for the entire row or for a single
-		cell.Here are some examples:<pre class="prettyprint  lang-parsley" skin="desert">
-		labelProvider{
-		...
-			font {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Font
-			}
-			foreground {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Color
-			}
-			background {
-				Book -&gt; // must return a org.eclipse.swt.graphics.Color
-			}
-		}
-		</pre><pre class="prettyprint  lang-parsley" skin="desert">
-		tableLabelProvider {
-		...	
-			font {
-				Library : name -&gt; JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)
-			}
-			
-			foreground {
-				Library : books -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)
-			}
-			
-			background {
-				Library : address -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)
-			}
-			
-			rowFont {
-				Library -&gt; JFaceResources.getFontRegistry().getBold(JFaceResources.DEFAULT_FONT)
-			}
-			
-			rowForeground {
-				Library -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_BLUE)
-			}
-			
-			rowBackground {
-				Library -&gt; Display.getCurrent().getSystemColor(SWT.COLOR_GREEN)
-			}
-		}
-		</pre></li>
-	</ul>
-	<p>
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">From 0.4 to 0.5</h2>
-	<p>
-	</p>
-	<ul>
-		<li><strong>ViewerInitializer</strong> has been removed: all creation and initialization of viewers
-		is performed using <abbr title="org.eclipse.emf.parsley.viewers.ViewerFactory">ViewerFactory</abbr>
-		; its API has been
-		revised and simplified.</li>
-		<li>the packages <strong>factories</strong> and <strong>builders</strong> have been removed
-		and their classes have been moved to other packages.
-		If you get compiler errors, a simple "Organize Imports" should fix
-		the imports.  If you use the DSL a simple regeneration should fix things.</li>
-		<li><strong>IViewerMouseListener</strong> has been moved from the <strong>listeners</strong>
-		package to the <strong>viewers</strong> package.</li>
-		<li>classes in <strong>editor.outline</strong> have been moved into <strong>editors</strong>
-		package.</li>
-		<li>The creation of caption labels for forms and dialogs has slightly
-		changed, concerning the default behavior
-		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691">https://bugs.eclipse.org/bugs/show_bug.cgi?id=472691</a>):
-		we take the text from <abbr title="org.eclipse.emf.edit.provider.IItemPropertyDescriptor">IItemPropertyDescriptor</abbr>
-		 if
-		the EObject provides it. (This does not happen for table column headers, since we don't have
-		any EObject when we build the table columns).
-		If you used to call this method on a
-		<abbr title="org.eclipse.emf.parsley.ui.provider.FormFeatureCaptionProvider">FormFeatureCaptionProvider</abbr>
-		 or
-		<abbr title="org.eclipse.emf.parsley.ui.provider.DialogFeatureCaptionProvider">DialogFeatureCaptionProvider</abbr><pre class="prettyprint" skin="desert">
-		public Label getLabel(Composite parent, EClass eClass, EStructuralFeature feature)
-		</pre>be warned that this method has changed its signature into<pre class="prettyprint" skin="desert">
-		public Label getLabel(Composite parent, EObject o, EStructuralFeature feature)
-		</pre>and of course also its semantics, since you need to pass an EObject not its EClass.</li>
-		<li>a new method is available in <abbr title="org.eclipse.emf.parsley.edit.action.EditingMenuBuilder">EditingMenuBuilder</abbr>
-		,
-		<strong>actionChange</strong>: If you want to implement more complex menu commands that do not
-		only add elements to a container, you can use the method
-		<strong>actionChange</strong>, specifying the label for the menu, the model's element
-		that will be affected by the changes specified as a lambda expression
-		(the third argument).  The lambda expression will also get the specified
-		model's element as argument.  (This is related to
-		<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=475188">https://bugs.eclipse.org/bugs/show_bug.cgi?id=475188</a>).
-		Please also have a look at the updated documentation of section <a href="#addref" rel="Contextual Menu">Contextual Menu</a>:
-		the already existing <strong>actionAdd</strong> should be used with care, since it might leave the model
-		with dangling references -- with that respect we also updated the first example
-		<a href="#addref" rel="First Example">First Example</a>, so that
-		it uses <strong>actionChange</strong> to implement correctly what we used to achieve with <strong>actionAdd</strong>.</li>
-		<li>Adding context menu to a viewer has been extremely simplified
-		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727">https://bugs.eclipse.org/bugs/show_bug.cgi?id=455727</a>):
-		A context menu can be added to any <abbr title="org.eclipse.jface.viewers.StructuredViewer">StructuredViewer</abbr>
-		 by using an
-		injected <abbr title="org.eclipse.emf.parsley.menus.ViewerContextMenuHelper">ViewerContextMenuHelper</abbr>
-		. This provides some
-		methods for adding the context menu<pre class="prettyprint" skin="desert">
-		@Inject ViewerContextMenuHelper contextMenuHelper;
-		(...)
-		
-		// simplest form
-		contextMenuHelper.addViewerContextMenu(viewer);
-		
-		// if you have an AdapterFactoryEditingDomain already
-		contextMenuHelper.addViewerContextMenu(viewer, editingDomain);
-		
-		// if you're inside an IWorkbenchPart
-		contextMenuHelper.addViewerContextMenu(viewer, editingDomain, part);
-		</pre></li>
-		<li>Drag and drop support has been separated from context menu support
-		(<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914">https://bugs.eclipse.org/bugs/show_bug.cgi?id=475914</a>):
-		thus, adding context menu does NOT automatically add drag and drop.Drag and drop can be added to any <abbr title="org.eclipse.jface.viewers.StructuredViewer">StructuredViewer</abbr>
-		 by using an
-		injected <abbr title="org.eclipse.emf.parsley.edit.ui.dnd.ViewerDragAndDropHelper">ViewerDragAndDropHelper</abbr>
-		,
-		using its methods <strong>addDragAndDrop</strong>.</li>
-		<li>Saveable table views and table views reacting on selection
-		do not require an implementation of the method
-		<strong>getContents()</strong>, which has also been removed from the API, from the
-		<abbr title="org.eclipse.emf.parsley.config.Configurator">Configurator</abbr>
-		 methods, and from
-		the <strong>configurator</strong> section in the DSL: contents retrieval is completely
-		delegated to the new <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-		,
-		whose default implementation is able to automatically retrieve all the
-		contents of a given type (i.e., EClass) automatically.
-		The DSL provides the new <strong>tableViewerContentProvider</strong> specification,
-		see the new section <a href="#TableViewerContentProvider">Table Viewer Content Provider</a>.</li>
-		<li>Similarly, table views reacting on selection
-		do not require an implementation of the method
-		<strong>getEStructuralFeature()</strong>: they require an implementation of
-		<strong>getEClass()</strong> which specifies the type of the objects to be
-		shown in the table.
-		<strong>getEStructuralFeature()</strong> has also been removed from the API, from the
-		<abbr title="org.eclipse.emf.parsley.config.Configurator">Configurator</abbr>
-		 methods, and from
-		the <strong>configurator</strong> section in the DSL: contents retrieval is not
-		performed using a feature (which is limitative): it is completely
-		delegated to the new <abbr title="org.eclipse.emf.parsley.edit.ui.provider.TableViewerContentProvider">TableViewerContentProvider</abbr>
-		,
-		whose default implementation is able to automatically retrieve all the
-		contents of a given type (i.e., EClass) automatically.</li>
-	</ul>
-	<p>
-	</p>
-	</div>
-	</br>
-	<div >
-		<h2 id="par" class="featurette-heading text-parsley1">From 0.3 to 0.4</h2>
-	<p>
-	</p>
-	<ul>
-		<li><strong>EmptyResourceInitializer</strong> has been removed: you should now use
-		<abbr title="org.eclipse.emf.parsley.resource.ResourceManager">ResourceManager</abbr>
-		,
-		see section <a href="#ResourceManager">Resource Manager</a></li>
-		<li><strong>ResourceSaveManager</strong> has been removed: you should now use
-		<abbr title="org.eclipse.emf.parsley.resource.ResourceSaveStrategy">ResourceSaveStrategy</abbr>
-		,
-		see section <a href="#ResourceSaveStrategy">Resource Save Strategy</a></li>
-		<li>Project wizards have been redesigned: they generate a <strong>module.parsley</strong>
-		that uses the <strong>configurator</strong> for specifying required information
-		(see section <a href="#addref" rel="Configurator">Configurator</a> and the updated
-		first example, section <a href="#addref" rel="First Example">First Example</a>)</li>
-	</ul>
-	<p>
-	</p>
-	</div>
-		</div>
-	</div>
-	</br></br></br></br></br></br></br>
-	<!-- /END THE FEATURETTES -->
-</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-	<script type="text/javascript" src="google-code-prettify/lang-common.js"></script><script type="text/javascript">
-		registerLanguage('import|module|parts|labelProvider|text|image|elements|label|featuresProvider|features|formControlFactory|control|target|viewerContentProvider|tableViewerContentProvider|children|viewpart|viewname|viewclass|viewcategory|for|new|switch|default|boolean|do|if|this|double|throw|null|true|false|it|as|byte|else|case|enum|instanceof|return|featureCaptionProvider|formFeatureCaptionProvider|dialogFeatureCaptionProvider|val|var|catch|extends|int|short|try|char|void|finally|long|float|super|while|proposals|dialogControlFactory|menuBuilder|menus|emfMenus|resourceManager|initializeResource|saveResource|configurator|resourceURI|eClass|bindings|type|provide|value|font|foreground|background|tableLabelProvider|rowFont|rowForeground|rowBackground', 'emfparsley');
-	</script>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/download.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/download.html
deleted file mode 100644
index 019bf95..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/download.html
+++ /dev/null
@@ -1,399 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-<style>
-.row {
-	-webkit-animation: fadeInDownBig 1s;
-	-moz-animation: fadeInDownBig 1s;
-	-ms-animation: fadeInDownBig 1s;
-	-o-animation: fadeInDownBig 1s;
-	animation: fadeInDownBig 1s;
-}
-
-#baseanim {
-	padding:0px;
-	width: 50px;
-	margin: 8px 0px 0px -100px;
-}
-
-#arrowanim {
-	padding:0px;
-	width: 22px;
-	margin: -12px 0px 0px -85px;
-	-webkit-animation: mybounceInDown 2s;
-	-moz-animation: mybounceInDown 2s;
-	-ms-animation: mybounceInDown 2s;
-	-o-animation: mybounceInDown 2s;
-	animation: mybounceInDown 2s;
-}
-</style>
-
-<div class="container marketing" style="margin-top:2%;">
-	<div class="row featurette">
-		<div class="col-md-10 col-md-offset-1">
-			<img src="img/arrow_down.png" alt="" class="featurette-image img-responsive pull-left" id="arrowanim">
-			<img src="img/base.png" alt="" class="featurette-image img-responsive pull-left" id="baseanim">
-			<h1 class="featurette-heading text-parsley">EMF Parsley - Downloads</h1>
-			<p>
-				To install via the update site URL listed below, copy and paste it into the "Help &gt; Install new software" dialog.
-			</p>
-			<p>
-				N.B. All API are to be considered provisional!
-			</p>
-			<br><br>
-			<div>
-				<h2 class="featurette-heading text-parsley1">Update Sites</h2>
-				<ul>
-					<li>All Releases: <a href="http://download.eclipse.org/emf-parsley/updates">http://download.eclipse.org/emf-parsley/updates</a></li>
-					<li>0.6.x: <a href="http://download.eclipse.org/emf-parsley/updates/0.6">http://download.eclipse.org/emf-parsley/updates/0.6</a>
-						 (EMF Parsley DSL requires Xtext 2.9.1, which has to be taken from http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ so make sure you add this update site before installing the DSL feature - included in the SDK).</li>
-					<li>0.5.x: <a href="http://download.eclipse.org/emf-parsley/updates/0.5">http://download.eclipse.org/emf-parsley/updates/0.5</a>
-						 (EMF Parsley DSL requires Xtext 2.8.4, which has to be taken from http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ so make sure you add this update site before installing the DSL feature - included in the SDK).</li>
-					<li>0.4.x: <a href="http://download.eclipse.org/emf-parsley/updates/0.4">http://download.eclipse.org/emf-parsley/updates/0.4</a>
-						 (EMF Parsley DSL requires Xtext 2.8.3, which has to be taken from http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ so make sure you add this update site before installing the DSL feature - included in the SDK).</li>
-					<li>0.3.x: <a href="http://download.eclipse.org/emf-parsley/updates/0.3">http://download.eclipse.org/emf-parsley/updates/0.3</a>
-						 (EMF Parsley DSL requires Xtext 2.7.3, which has to be taken from http://download.eclipse.org/modeling/tmf/xtext/updates/composite/releases/ so make sure you add this update site before installing the DSL feature - included in the SDK).</li>
-				<li>Latest Stable Nightly Build: <a href="https://hudson.eclipse.org/emf-parsley/job/emf-parsley-nightly/lastSuccessfulBuild/artifact/target/repository/">https://hudson.eclipse.org/emf-parsley/job/emf-parsley-nightly/lastSuccessfulBuild/artifact/target/repository/</a></li>
-				<li>Latest Stable Snapshot Build: <a href="https://hudson.eclipse.org/emf-parsley/job/emf-parsley-tycho-gerrit/lastSuccessfulBuild/artifact/target/repository/">https://hudson.eclipse.org/emf-parsley/job/emf-parsley-tycho-gerrit/lastSuccessfulBuild/artifact/target/repository/</a></li>
-				</ul>
-				<p>
-					All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.
-				</p>
-			</div>
-			<br><br>
-			<div>
-				<h2 class="featurette-heading text-parsley1">Old Milestones</h2>
-				<ul>
-					<li>These are old milestone releases: <a href="http://download.eclipse.org/emf-parsley/archive/updates">http://download.eclipse.org/emf-parsley/archive/updates</a></li>
-				</ul>
-				<p>
-					All downloads are provided under the terms and conditions of the Eclipse Foundation Software User Agreement unless otherwise specified.
-				</p>
-			</div>
-			<br><br>
-			<div style="margin-bottom:9%;">
-			<h2 class="featurette-heading text-parsley1">Links</h2>
-			<p>
-				<a href="https://projects.eclipse.org/content/eclipse-public-license-1.0">Eclipse Public License 1.0</a>
-			</p>
-			</div>
-		</div>
-	</div>
-</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/index.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/index.html
deleted file mode 100644
index c1607b0..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/index.html
+++ /dev/null
@@ -1,364 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-<style>
-	.row {
-		-webkit-animation: zoomIn 1.5s;
-		-moz-animation: zoomIn 1.5s;
-		-ms-animation: zoomIn 1.5s;
-		-o-animation: zoomIn 1.5s;
-		animation: zoomIn 1.5s;
-	}
-		
-	#rbhover>img:hover{
-		-webkit-animation: rubberBand 0.8s;
-		-moz-animation: rubberBand 0.8s;
-		-ms-animation: rubberBand 0.8s;
-		-o-animation: rubberBand 0.8s;
-		animation: rubberBand 0.8s;
-	}
-</style>
-<div class="container marketing" style="margin-top:34px;">
-	<div class="row featurette">
-		<div class="col-sm-6 col-md-6">
-			<h2 class="featurette-heading" style="margin-top:-13px;color: #246025;">What is EMF Parsley?</h2><!-- <span class="text-muted">It'll blow your mind.</span> -->
-			<p class="lead" style="text-align: justify; padding-right: 5px;margin-bottom: 26px;color:#383838;">EMF Parsley is an Eclipse project that provides a set of reusable UI components based on EMF (trees, tables, forms, views, editors), hiding most of the complexity of internal details, that can be used in your EMF-based plugin out-of-the-box. These parts are easily customizable via a DSL, implemented in Xtext. This project has been designed starting from EMF UI generated code, adding extensibility mechanism that make it very modular: all components are highly reusable and customizable via Dependency Injection (via Google Guice).<BR>As in cooking, EMF Parsley aims to be used in several EMF based parts. Its little components can be embedded wherever there is an EMF model and fully customized.</p>					
-			<div class="row">
-				<div class="col-md-5 col-md-offset-1"><a id="rbhover" href="download.html" style="text-decoration: none;font-size: 19px; font-family: Corbert, Segoe UI,sans-serif; letter-spacing: -0.5px;"><img class="img-responsive pull-left" alt="" src="img/dowload_icon.png"/></br>Download</a></div>
-				<div class="col-md-6" style="padding-left:0px;"><a id="rbhover" href="documentation.html" style="text-decoration: none;font-size: 19px; font-family: Corbert, Segoe UI,sans-serif; letter-spacing: -0.5px;"><img class="img-responsive pull-left" alt="" src="img/documentation_icon.png"/></br>Documentation</a></div>
-			</div>
-		</div>
-		<div class="col-md-1" style="width:4%"></div>
-		<div class="embed-responsive embed-responsive-16by9">
-		  <iframe class="embed-responsive-item" style="border: 4px solid rgb(229, 236, 242);" wmode="Opaque" allowfullscreen="" src="https://www.youtube.com/embed/-S8mh5p-ChE"></iframe>
-		</div>
-	</div>
-	<div class="row featurette" style="margin-top:8%;">
-		<div class="col-md-10 col-md-offset-1" style="padding:0px;"><img class="img-responsive" src="img/made.jpg"></div>
-	</div>
-	<div class="row featurette" style="margin-top:7.5%;margin-bottom:6%;">
-		<div class="col-md-10 col-md-offset-1" style="padding:0px;">
-		  <a href="#"><img id="zoom_img" class="featurette-image img-responsive" src="img/works.jpg" style="margin-left:auto;margin-right:auto;"></a>
-		</div>
-		<div id="myModal" class="modal fade" tabindex="-1" role="dialog" style="overflow:hidden;">
-			<div class="lightbox-content img-responsive" style="display: block; margin: 5% 1%;"></div>
-		</div>
-	</div>
-</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/sources.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/sources.html
deleted file mode 100644
index e8c3423..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/sources.html
+++ /dev/null
@@ -1,386 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-
-	<style>
-	.row {
-	    -webkit-animation: zoomIn 1.5s;
-	    -moz-animation: zoomIn 1.5s;
-	    -ms-animation: zoomIn 1.5s;
-	    -o-animation: zoomIn 1.5s;
-	    animation: zoomIn 1.5s;
-	}
-	</style>
-
-	<!-- START THE FEATURETTES -->
-	<div id="page">  
-		<div class="inner">
-	</br>
-	<!-- scrollup ICON -->
-	<a class="scrollup" href="#top"></a>
-	<!-- scrollup ICON -->
-	<div class="row featurette">
-		<div class="col-md-6 col-md-offset-3">
-			<h1 id="par" class="featurette-heading text-parsley">Getting Sources</h1>
-			<p>
-			If you want to get the sources of EMF Parsley,
-			for instance, to contribute new features and patches, you can get them
-			via Git and setup the workspace manually. However, we strongly reccomend to
-			use the automatic procedure detailed below.
-			</p>
-			<p>
-			If you want to develop also the <a href="http://eclipse.org/rap/">RAP</a>
-			version of Emf Parsley, you will need a different workspace (and a different target platform).
-			</p>
-			<p>
-			We use <a href="https://wiki.eclipse.org/Eclipse_Oomph_Installer">Oomph</a> for provisioning
-			a full Eclipse IDE and workspace setup for Parsley.
-			</p>
-			<p>
-			</p>
-			<ul>
-				<li>Download and start Oomph: <a href="https://wiki.eclipse.org/Eclipse_Oomph_Installer">https://wiki.eclipse.org/Eclipse_Oomph_Installer</a></li>
-				<li>On the initial page, click on the Switch to advanced mode button in the top right</li>
-				<li>On the Product page, select Eclipse IDE for Eclipse Committers.</li>
-				<li>On the Projects page, expand the "EMF Parsley" node.</li>
-				<li>either double-click on "RCP" or "RAP" for setting up the workspace for either the RCP version of
-				Parsley or the RAP version (it is likely that you choose the former).</li>
-				<li>Choose your preferred installation settings on the Variables page:
-				If you plan to contribute patches using Gerrit, check "Show all variables"
-				and make sure you select ("SSH (read-write Gerrit)") in the Git or Gerrit repository</li>
-				<li>Then specify your Bugzilla/Hudson password and Git/Gerrit user ID
-				(you can also specify the password and check that your credential are correct using the "Authenticate..." button).</li>
-			</ul>
-			<p>
-			</p>
-			<p>
-			Press next and finish.
-			This will first create an Eclipse installation with all the needed plug-ins for developing EMF Parsley
-			and then will start the new installed Eclipse (press Finish to close the first installation dialog).
-			The new installed Eclipse will automatically setup the workspace and you will have to wait for this procedure
-			to end (you can click on the animated arrow icon on the status bar to show the progress).
-			</p>
-		</div>
-	</div>
-		</div>
-		</br></br></br></br></br></br></br>
-		<!-- /END THE FEATURETTES -->
-	</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-	<script type="text/javascript" src="google-code-prettify/lang-common.js"></script>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/support.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/support.html
deleted file mode 100644
index b6b38df..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/support.html
+++ /dev/null
@@ -1,383 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-<style>
-	.divbox {
-		border: 1px solid #e7e7e7;
-		margin-bottom:2.5%;
-		padding:5px 0px 32px 0px;
-	}
-	
-	#questiondiv,#suppdiv {
-		-webkit-animation: zoomInRight 1.5s;
-		-moz-animation: zoomInRight 1.5s;
-		-ms-animation: zoomInRight 1.5s;
-		-o-animation: zoomInRight 1.5s;
-		animation: zoomInRight 1.5s;
-	}
-	
-	#bugdiv,#twdiv {
-		-webkit-animation: zoomInLeft 1.5s;
-		-moz-animation: zoomInLeft 1.5s;
-		-ms-animation: zoomInLeft 1.5s;
-		-o-animation: zoomInLeft 1.5s;
-		animation: zoomInLeft 1.5s;
-	}
-</style>
-<div class="container marketing" style="margin-top:6px;">
-	<div class="row featurette">
-		<a href="http://www.eclipse.org/forums/index.php?t=thread&frm_id=263" target="_blank">
-			<div id="questiondiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0% 0% #e8f9ea;">
-				<img src="img/question.png" alt="" class="featurette-image img-responsive pull-left" style="width:64px; margin:25px 58px 0px 44px;">
-				<h3 style="text-shadow: 0px 0px 4px #80BA81;color:#2B2B2B;">Got Questions?</h3>
-				<p>
-					The <b>EMF Parsley forum</b> is the first sources for getting answers.<br>Please ask any questions clearly and with sufficient information attached.
-				</p>
-			</div>
-		</a>
-		<a href="https://bugs.eclipse.org/bugs/buglist.cgi?classification=Modeling&component=Core&product=EMF.Parsley" target="_blank">
-			<div id="bugdiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0% 0% rgb(246, 247, 227);">
-				<img style="width:70px; margin:36px 55px 5px 41px;" class="featurette-image img-responsive pull-left" alt="" src="img/bug.png">
-				<h3 style="text-shadow: 0px 0px 4px #B2B56E;color:#2B2B2B;">Found a Bug?</h3>
-				<p>
-					Bug reports and enhancement request are tracked at <b>bugs.eclipse.org</b>.<br>Please explain the problem and provide a reduced but reproducible example.
-				</p>
-			</div>
-		</a>
-		<a href="http://www.rcp-vision.com/?page_id=6927" target="_blank">
-			<div id="suppdiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0% 0% rgb(242, 242, 242);">
-				<img style="width:48px; margin:39px 66px 5px 52px;" class="featurette-image img-responsive pull-left" alt="" src="img/support.png">
-				<h3 style="text-shadow: 0px 0px 4px #9E7479;color:#2B2B2B;">Professional Support</h3>
-				<p>
-					Need training, problem solving, or just a prototype for your modeled UI?<br><b>RCP Vision</b> offers all kinds of professional consulting around EMF Parsley.
-				</p>
-			</div>
-		</a>
-		<a href="https://twitter.com/EmfParsley" target="_blank">
-			<div id="twdiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0 0 #e8f3fc;margin-bottom:1.5%;">
-				<img style="width:46px; margin:41px 67px 5px 53px;" class="featurette-image img-responsive pull-left" alt="" src="img/twitter_support.png">
-				<h3 style="text-shadow: 0px 0px 4px #648CAD;color:#2B2B2B;">EmfParsley on Twitter</h3>
-				<p>
-					If you are on twitter and want to get notified about all things EmfParsley,<br>you should consider following <b>@EmfParsley</b>.
-				</p>
-			</div>
-		</a>
-	</div>
-</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-</body>
-</html>
diff --git a/doc/org.eclipse.emf.parsley.doc.websitegen/website/userReviews.html b/doc/org.eclipse.emf.parsley.doc.websitegen/website/userReviews.html
deleted file mode 100644
index eb9841c..0000000
--- a/doc/org.eclipse.emf.parsley.doc.websitegen/website/userReviews.html
+++ /dev/null
@@ -1,367 +0,0 @@
-<!DOCTYPE html>
-<html lang="en">
-<head>
-	<meta charset="utf-8">
-	<meta http-equiv="X-UA-Compatible" content="IE=edge">
-	<meta name="viewport" content="width=device-width, initial-scale=1">
-	<meta name="description" content="The website of Eclipse EMF Parsley, an open-source framework for development User Interfaces upon EMF models">
-	<meta name="author" content="Francesco Guidieri, Paolo Bachini">
-	<link rel="icon" href="/favicon.ico">
-
-	<title>EMF Parsley - Play with your UI and EMF!</title>
-	<link rel="SHORTCUT ICON" href="img/logo_nw.gif" /> 
-	<!--  styles -->
-	<!-- Le HTML5 shim, for IE6-8 support of HTML5 elements -->
-	<!--[if lt IE 9]>
-	  <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
-	<![endif]-->
-	
-	<!-- Bootstrap core CSS -->
-	<link href="css/bootstrap.min.css" rel="stylesheet">
-	<link href="css/main.css" rel="stylesheet">
-	<!-- Animate CSS -->
-	<link href="css/animate.css" rel="stylesheet">
-	
-	<!--[if lt IE 9]>
-	<link href="css/iebugs.css" rel="stylesheet" type='text/css'>
-	<![endif]-->
-	
-	<!-- Custom styles for this template -->
-	<link href="carousel.css" rel="stylesheet">
-	
-	<!-- Bootstrap Lightbox -->
-	<link href="bootstrap-lightbox/bootstrap-lightbox.min.css" rel="stylesheet">
-	<!--<script src="js/twitter.js" type="text/javascript"></script>-->
-	<!-- Just for debugging purposes. Don't actually copy these 2 lines! -->
-	<!--[if lt IE 9]><script src="../../assets/js/ie8-responsive-file-warning.js"></script><![endif]-->
-	<script src="assets/js/ie-emulation-modes-warning.js"></script>
-	
-	<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
-	<script src="assets/js/ie10-viewport-bug-workaround.js"></script>
-	
-	<!-- Run Prettify -->
-	<script src="prettify/run_prettify.js"></script>
-	
-	<!-- HTML5 shim and Respond.js IE8 support of HTML5 elements and media queries -->
-	<!--[if lt IE 9]>
-	  <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
-	  <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
-	<![endif]-->
-	<script>
-	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-	
-	  ga('create', 'UA-58549052-1', 'auto');
-	  ga('send', 'pageview');
-	
-	</script>
-</head>
-<body>
-	<!-- ====== NAVBAR ====== -->
-	<body style="overflow-y: scroll; padding-top:185px;">
-		<div class="navbar-fixed-top" style="background:url(img/bg-100x100.jpg)">
-			<div class="container" style="width:1150px;">
-				<div class="navbar-header">
-					<a href="index.html"><img class="img-responsive" alt="" src="img/logo.gif"/></a>
-				</div>
-			</div>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-31px 0px 3px 0px;min-height: 36px;">
-				<div class="container">
-					<div class="navbar-header">
-						<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" style="margin-bottom:2px;">
-							<span class="sr-only">Toggle navigation</span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-							<span class="icon-bar"></span>
-						 </button>
-					</div>
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
-						<ul class="nav navbar-nav pull-right mioli">
-							<li><a href="support.html">Contact Us</a></li>
-							<li><a href="http://www.eclipse.org">Eclipse.org</a></li>
-							<li style="border-right: 0 none;"><a target="_blank" href="https://twitter.com/EmfParsley" id="twitterli"><img style="width:25px;float:left;margin-top: 5px; margin-right:1px;" alt="" src="img/twitter.png"/>@EmfParsley</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<div style="background:url(img/bg1-100x100.jpg);">
-				<nav class="navbar navbar-default miomenubar" role="navigation" style="border-radius:0px; background: url('img/menu.jpg') no-repeat; border: 0 none; -webkit-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);box-shadow: 0px 3px 8px 0px rgba(171,209,173,1);margin-bottom:0;">
-					<div class="container">
-						<div class="navbar-header">
-							<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
-								<span class="sr-only">Toggle navigation</span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-								<span class="icon-bar"></span>
-							</button>
-						</div>
-						<!-- Collect the nav links, forms, and other content for toggling -->
-						<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
-							<ul class="nav navbar-nav pull-left miomenu">
-								<li><a href="index.html">Home</a></li>
-								<li><a href="download.html">Download</a></li>
-								<li><a href="documentation.html">Documentation</a></li>
-								<li><a href="sources.html">Sources</a></li>
-								<li><a href="support.html">Support</a></li>
-								<li><a href="userReviews.html">UserReviews</a></li>
-							</ul>
-						</div><!-- /.navbar-collapse -->
-					</div>
-				</nav>
-			</div>
-		</div>		
-		<!-- NAVBAR End -->
-<style>
-	.divbox {
-		border: 1px solid #e7e7e7;
-		margin-bottom:2.5%;
-		padding:5px 0px 32px 0px;
-	}
-	
-	#questiondiv,#suppdiv {
-		-webkit-animation: zoomInRight 1.5s;
-		-moz-animation: zoomInRight 1.5s;
-		-ms-animation: zoomInRight 1.5s;
-		-o-animation: zoomInRight 1.5s;
-		animation: zoomInRight 1.5s;
-	}
-	
-	#bugdiv,#twdiv {
-		-webkit-animation: zoomInLeft 1.5s;
-		-moz-animation: zoomInLeft 1.5s;
-		-ms-animation: zoomInLeft 1.5s;
-		-o-animation: zoomInLeft 1.5s;
-		animation: zoomInLeft 1.5s;
-	}
-</style>
-<div class="container marketing" style="margin-top:6px;">
-	<div class="row featurette">
-	<a href="https://goo.gl/pLtvOg" target="_blank">
-		<div id="questiondiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0% 0% #e8f9ea;">
-			<h3 style="text-shadow: 0px 0px 4px #80BA81;color:#2B2B2B;margin-left: 10px;">Ed Merks - EMF Project Lead</h3>
-			<p style="margin-left: 20px;margin-right: 20px;">
-				<b>"What you've showed is crazy cool..."</b> commenting the First talk on EMF Parsley at EclipseConEurope 2013!
-				<br><br><i>Click for the video</i>
-			</p>
-		</div>
-	</a>
-	<a href="http://www.objectsecurity.com/img/2a.jpg" target="_blank">
-		<div id="bugdiv" class="col-md-9 col-md-offset-1 divbox" style="background: none repeat scroll 0% 0% rgb(246, 247, 227);">
-			<h3 style="text-shadow: 0px 0px 4px #B2B56E;color:#2B2B2B;margin-left: 10px;">Ulrich Lang - Object Security</h3>
-			<p style="margin-left: 20px;margin-right: 20px;">
-				“EMF Parsley has helped us achieve some of the specific UI goals for our EMF-based product. We were looking for a tool that would give us a flexible, low-maintenance EMF-based model editing capability without hard-coding etc. and that would support Eclipse RAP. At the same time we were looking for ways to make the editor visually appealing. 
-				And because this was for production use, we needed good documentation and technical support. EMF Parsley met these requirements very well. 
-				<br>And the Parsley technical support team at RCP-Vision was great to assist us, very competent and responsive.”
-				<br><br><i>Click for a screenshot</i>
-		</p>
-		</div>
-	</a>
-</div>
-</div>
-	<!-- FOOTER -->
-		<footer style="z-index: 1001;position:relative;background-color:#35414C;-webkit-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);-moz-box-shadow: 0px -3px 8px 0px rgba(171,209,173,1);box-shadow: 0px -3px 8px 0px rgba(30,51,72,1);margin-top:1.3%;">
-			<img width="100%" alt="" src="img/footer.jpg" />
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-97px 0px 31px 0px;min-height: 36px;">
-				<div class="container" style="width:37.6%;">
-				
-				</div>
-			</nav>
-			<nav class="navbar navbar-default" role="navigation" style="background-color:transparent; border:0 none; margin:-18px 0px 0px 0px;min-height: 36px;">
-				<div class="container" style="width:57%;">
-					<!-- Collect the nav links, forms, and other content for toggling -->
-					<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-4">
-						<ul class="nav navbar-nav miolifooter">
-							<li><a href="index.html">Home</a></li>
-							<li><a href="download.html">Download</a></li>
-							<li><a href="documentation.html">Documentation</a></li>
-							<li><a href="sources.html">Sources</a></li>
-							<li><a href="support.html">Support</a></li>
-							<li style="border-right: 0 none;"><a href="userReviews.html">UserReviews</a></li>
-						</ul>
-					</div><!-- /.navbar-collapse -->
-				</div>
-			</nav>
-			<p class="terms" style="margin:0px;padding:21px 0px 6px 20px;"><a target="_blank" href="http://www.eclipse.org/legal/privacy.php">Privacy Policy</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/termsofuse.php">Terms of Use</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/copyright.php">Copyright Agent</a>&nbsp;&nbsp;&middot;&nbsp;&nbsp;<a target="_blank" href="http://www.eclipse.org/legal/">Legal</a><a class="pull-right" style="z-index: 1001;position:relative;margin:-38px 4% 0px 0px;" href="#top" id="topbutton"><img alt="Back to top" src="img/arrow_up.png"/></a></p>
-		</footer>
-		<!-- Bootstrap core JavaScript
-		================================================== -->
-		<!-- Placed at the end of the document so the pages load faster -->
-		<!--<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>-->
-		<script src="js/vendor/jquery.min.js"></script>
-		<script src="js/vendor/jquery.scrollstop.js"></script>
-		<script src="js/vendor/bootstrap.min.js"></script>
-		
-		<!-- Open lightbox-content image -->
-		<script type="text/javascript">
-		$('.featurette-image').click(function(){
-		$('.lightbox-content').empty();  	
-		$($(this).parents('div').html()).appendTo('.lightbox-content');
-		$('#myModal').modal({show:true});});
-		</script>
-		
-		<script type="text/javascript">
-		$('#twitterli').mouseover(function() {
-			$('a#twitterli > img').attr('src','img/twitter_h1.png');
-		});
-		$('#twitterli').mouseout(function() {
-			$('a#twitterli > img').attr('src','img/twitter.png');
-		});
-		
-		$('#twitterfooter').mouseover(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter_h2.png');
-		});
-		$('#twitterfooter').mouseout(function() {
-			$('a#twitterfooter > img').attr('src','img/twitter.png');
-		});
-		
-		$('#topbutton').mouseover(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up_h.png');
-		});
-		$('#topbutton').mouseout(function() {
-			$('a#topbutton > img').attr('src','img/arrow_up.png');
-		});
-		
-		$('.scrollup').mouseover(function() {
-			$('a.scrollup').css('opacity', '1');
-		});
-		$('.scrollup').mouseout(function() {
-			$('a.scrollup').css('opacity', '0.35');
-		});
-		
-		//gestione scroll verticale
-		$(function() {
-		  $('a[href*=#]').click(function() {
-			if(this.hash=="#top"){
-				$('html,body').animate({scrollTop:0}, 800);
-				return false;
-			} else {
-				var arrivo = $(this.hash);
-				if (arrivo.length) {
-					arrivo=arrivo.offset().top;
-					$('html,body').animate({scrollTop:arrivo-205}, 500);
-					return false;
-				}
-			}
-		  });
-		});
-		
-		$(window).scroll(function() {
-			var y = $(this).scrollTop();
-			if (y < 800)
-				$('a.scrollup').fadeOut();
-			else
-				$('a.scrollup').fadeIn();
-		});
-		//prevscroll
-		var prevscroll = 0;
-		$(window).on("scrollstop", function() {
-			var scrollposition = $('html,body').scrollTop()+210;
-			if(/chrome/.test(navigator.userAgent.toLowerCase()))
-				scrollposition = $("body").scrollTop()+210;
-			var mieipar = $("[id^='par']");
-			mieipar.each(function(idx) {
-				if(idx==mieipar.length-1 && scrollposition>=$(this).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				} else if(scrollposition>=$(this).offset().top && scrollposition<mieipar.eq(idx + 1).offset().top){
-					var parid = $(this).attr('id').match(/\d+/);
-					$('.activemenu').removeClass("activemenu");
-					$("a[href='#par"+parid+"']").parent().addClass("activemenu");
-				}
-			});
-			//inizio prevscroll
-			//Gestione scroll del menu laterale in base alla posizione della pagina
-			var menuScrollSize = '-250px';
-			var pageScrollThreshold = 16730;
-			if($(window).height()<$(".dropdown-menu").height()+190){
-				if(prevscroll<scrollposition){
-					if(scrollposition>pageScrollThreshold)
-						$(".dropdown-menu").css('top', menuScrollSize);
-				} else	
-					$(".dropdown-menu").css('top', '0px');
-				prevscroll=scrollposition;
-			} else if($(".dropdown-menu").css('top')!=null && $(".dropdown-menu").css('top')==menuScrollSize){
-				$(".dropdown-menu").css('top', '0px');
-			}
-			//fine prevscroll
-		});
-		
-		$(document).ready(function() {
-			//Setto link attivo nel menu
-			var mieili = $('.miomenu li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).addClass('mioactive');
-					 return false;
-				}
-			});
-			//Setto link attivo nel footer
-			mieili = $('.miolifooter li');
-			mieili.each(function(idx) {
-				var indirizzo = $(this).children().attr('href');
-				if(indirizzo!=null && indirizzo.length>0 && (window.location.href.indexOf(indirizzo)>0 || (window.location.href=='http://www.eclipse.org/emf-parsley/' || window.location.href=='https://www.eclipse.org/emf-parsley/' && indirizzo.indexOf('index')>0))){
-					 $(this).children().addClass('mioactivefooter');
-					 return false;
-				}
-			});
-			
-			//Setto gli indici per l'effertto hover del dropdown-menu
-			var mieiidx = $(".dropdown-menu a[href='#par']");
-			var mieipar = $("[id^='par']");
-			mieiidx.each(function(idx) {
-				$(this).attr('href','#par'+idx);
-				if(idx<mieipar.length)
-					mieipar.eq(idx).attr('id','par'+idx);
-			});
-			
-			//Setto le references #addref
-			var mieiaddref = $("a[href='#addref']");
-			mieiaddref.each(function(idx) {
-				var ref = $(".dropdown-menu a:contains("+$(this).attr('rel')+")").attr('href');
-				if(ref!=null && ref.length>0)
-					$(this).attr('href',ref);
-			});
-		});
-		
-		//Levo il blur da tutti i link
-		$("a").focus(
-			function () {
-				if ($(this).blur) $(this).blur();
-			}
-		);
-		
-		$('#questiondiv').mouseover(function() {
-			$('#questiondiv').css('background-color','#D7EFDA');
-		});
-		$('#questiondiv').mouseout(function() {
-			$('#questiondiv').css('background-color','#e8f9ea');
-		});
-		
-		$('#bugdiv').mouseover(function() {
-			$('#bugdiv').css('background-color','#F0F2C6');
-		});
-		$('#bugdiv').mouseout(function() {
-			$('#bugdiv').css('background-color','rgb(246, 247, 227)');
-		});
-		
-		$('#suppdiv').mouseover(function() {
-			$('#suppdiv').css('background-color','#E8E8E8');
-		});
-		$('#suppdiv').mouseout(function() {
-			$('#suppdiv').css('background-color','rgb(242, 242, 242)');
-		});
-		
-		$('#twdiv').mouseover(function() {
-			$('#twdiv').css('background-color','#CFE5F7');
-		});
-		$('#twdiv').mouseout(function() {
-			$('#twdiv').css('background-color','#e8f3fc');
-		});
-	</script>
-</body>
-</html>