Merge "Installation instructions"
diff --git a/_projectCommon.php b/_projectCommon.php
index a06397a..fa01198 100755
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -25,5 +25,6 @@
 $Nav->addCustomNav("FAQ", "http://wiki.eclipse.org/Henshin_FAQ", "_blank", 2);
 $Nav->addCustomNav("Javadoc", "http://download.eclipse.org/modeling/emft/henshin/javadoc/nightly/", "_blank", 2);
 $Nav->addCustomNav("Wiki", "http://wiki.eclipse.org/Henshin", "_blank", 2);
+$Nav->addCustomNav("Hudson", "https://hudson.eclipse.org/henshin/", "_blank", 2);
 
 ?>
diff --git a/description.html b/description.html
index d2b566b..afbf893 100755
--- a/description.html
+++ b/description.html
@@ -13,9 +13,9 @@
 </style>
 
 <div style="margin-top: 30px; margin-bottom:30px;">
-<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 13pt; width: 120px; text-align:center;"> <a href="install.php" class="lnk">INSTALL</a> </span> 
-<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 13pt; width: 120px; text-align:center;"> <a href="get-involved.php" class="lnk">GET INVOLVED</a> </span>
-<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 13pt; width: 120px; text-align:center;"> <a href="https://twitter.com/henshintool" target="_blank" class="lnk">FOLLOW US</a> </span>
+<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 12pt; width: 120px; text-align:center;"> <a href="install.php" class="lnk">INSTALL</a> </span> 
+<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 12pt; width: 120px; text-align:center;"> <a href="get-involved.php" class="lnk">GET INVOLVED</a> </span>
+<span style="background: #7036d0; padding: 10px; font-family: Calibri, Verdana; font-weight: bold; display: inline-block;font-size: 12pt; width: 120px; text-align:center;"> <a href="https://twitter.com/henshintool" target="_blank" class="lnk">FOLLOW US</a> </span>
 </div>
 
 <h2>Features</h2>
diff --git a/examples/apibasics/apibasics-example.zip b/examples/apibasics/apibasics-example.zip
new file mode 100644
index 0000000..093676c
--- /dev/null
+++ b/examples/apibasics/apibasics-example.zip
Binary files differ
diff --git a/examples/bank/index.html b/examples/bank/index.html
index 048cbed..d13e2c3 100644
--- a/examples/bank/index.html
+++ b/examples/bank/index.html
@@ -85,10 +85,25 @@
 To create a new transformation rule, use the <i>Rule</i> tool
 in the palette. In the top of every rule, its name and parameters
 are specified (and some optional information which we do not consider 
-here). In the below example, we write <i>createAccount(client, accountId)</i>,
+here). 
+
+<p>
+<b>Parameters:</b>
+In the below example, we write <i>createAccount(in client:EString, in accountId:EInt)</i>,
 where the <i>client</i> parameter is the name of the client for whom
 an account should be created, and <i>accountId</i> is the ID to be used
 for the new account.
+A parameter has a kind, which can be either 
+<i>in</i>, <i>out</i>, <i>inout</i>, or <i>var</i>.
+An <i>in</i> parameter is passed into the rule from the
+rule's context.
+An <i>out</i> parameter is passed out of the rule into the
+rule's context.
+An <i>inout</i> parameter is both passed both into and out of the rule, to and from its context.
+A <i>var</i> parameter or <i>variable</i> is used internally inside a rule only.
+Optionally, a parameter also has a type, like <i>EString</i> and <i>EInt</i> in the example.
+You can change the kind, type and name of a parameter simply by typing this information into the bar at the top of the rule.
+
 </p>
 
 <p>
@@ -159,7 +174,7 @@
 positive. If the conditions don not hold, the rule can not be applied.
 The conditions are evaluated by the Oracle Nashorn JavaScript Engine.
 Note also that <i>x</i> and <i>y</i> have to be specified as 
-parameters. When executing this rule, these parameters will
+<i>var</i> parameters. When executing this rule, these parameters will
 be automatically initialized by the found match.
 </p>
 
diff --git a/examples/index.html b/examples/index.html
index 56088ac..def4889 100644
--- a/examples/index.html
+++ b/examples/index.html
@@ -3,7 +3,7 @@
 
 <p>
 This page lists documented examples of Henshin transformations.
-All examples can be found in the <a href="http://dev.eclipse.org/svnroot/modeling/org.eclipse.emft.henshin/trunk/plugins/org.eclipse.emf.henshin.examples/">Henshin examples plug-in</a>.
+All examples can be found in the <a href="https://git.eclipse.org/c/henshin/org.eclipse.emft.henshin.git/tree/plugins/org.eclipse.emf.henshin.examples">Henshin examples plug-in</a>.
 </p>
 
 <h2>Endogenous Transformations</h2>
@@ -22,6 +22,10 @@
 <a href="examples.php?example=sierpinski">Sierpinski Triangle</a>: 
 A simple example for benchmarking the interpreter.
 </li>
+<li>
+<a href="examples.php?example=universitycourses">University Courses</a>:
+An example showing the capabilities and usage of Units.
+</li>
 </ol>
 
 
diff --git a/examples/universitycourses/index.html b/examples/universitycourses/index.html
new file mode 100644
index 0000000..e544e88
--- /dev/null
+++ b/examples/universitycourses/index.html
@@ -0,0 +1,124 @@
+<h1>Henshin Example: University Courses</h1>
+
+<p>
+<small><i>contributed by Benjamin Heidelmeier and Gabriele Taentzer</i></small>
+</p>
+
+<p>
+<i>PLEASE NOTE: This example does not work reliably with the Henshin 1.4 release. Try a newer release or the current nightly build.</i>
+The purpose of this example is to assign university courses to lecturers and students while avoiding time conflicts.
+It is also meant to be an accessible example for the usage of <a href="https://wiki.eclipse.org/Henshin/Units">Units</a>.
+This example wants to showcase as many units as possible.
+Therefore please pardon that some units' usage may seem unnecessarily complicated.
+The transformation model, example input models and source code can be found <a href="http://git.eclipse.org/c/henshin/org.eclipse.emft.henshin.git/tree/plugins/org.eclipse.emf.henshin.examples/src/org/eclipse/emf/henshin/examples/universitycourses">here</a>.
+</p>
+
+<h2>Metamodel</h2>
+
+<p>
+<a href="examples/universitycourses/universityCourses-model.png"><img src="examples/universitycourses/universityCourses-model.png" align="right" width="250" /></a>
+The metamodel describes a <i>University</i> which contains <i>Courses</i> and <i>Persons</i>..
+A <i>Course</i> has a name, belongs to a university and can be of two types.
+An <i>OfferedCourse</i> represents a course which can be staged in the next lecture period.
+A <i>ScheduledCourse</i> represents a course which is staged in the next lecture period with the hour it is starting.
+For the sake of simplicity, we consider one generic weekday only, moreover, every course duration is one hour.
+Furthermore it is required to have at least one lecturer.
+A <i>Lecturer</i> is a person who can teach offered courses and teaches scheduled courses.
+A <i>Student</i> is a person who is interested in courses.
+The <i>Temp</i> object contained in a university is defined to save transient information of course scheduling.</br>
+The metamodel is defined in the file <i>universityCourses.ecore</i>.
+</p>
+
+<h3>Instance Model Restrictions</h3>
+
+<p>
+Instance models - which should be transformed with the transformation rules below - have to meet the following requirements:
+<ul>
+	<li>The instance model should contain at least a <i>University</i> object.</li>
+	<li>The name of a <i>Course</i> is considered to be unique. There must not be any pair of <i>OfferedCourse/ScheduledCourse</i> objects which share the same name.</li>
+	<li>There must not be any time conflicts for a <i>Lecturer</i> or <i>Student</i> and their associated <i>ScheduledCourse</i>s.</li>
+</ul>
+</p>
+
+<h2>Henshin Rules and Units</h2>
+
+<a href="examples/universitycourses/universityCourses-planAllCoursesOrFail.png"><img src="examples/universitycourses/universityCourses-planAllCoursesOrFail.png" /></a>
+
+<p>
+The <i>SequentialUnit</i> <b>planAllCoursesOrFail</b> (<i>strict=true</i>, <i>rollback=false</i>) executes the rule <i>existsUnscheduledInterestingCourse</i> first.
+The rule <b>existsUnscheduledInterestingCourse</b> checks the existence of an <i>OfferedCourse</i> having an interested <i>Student</i> as well as a <i>Lecturer</i> capable of teaching the <i>Course</i>.
+If this application is successful, <i>planCourseOrIncrement</i> is executed.
+</p>
+
+<p>
+The <i>ConditionalUnit</i> <b>planCourseOrIncrement</b> tries to apply the sub-unit <i>planOneCourse</i>.
+If it is successfully applicable, <i>planCourseOrIncrement</i> basically calls itself recursively to attempt <i>planOneCourse</i> again by calling the <i>ConditionalUnit</i> <b>planUnscheduledInterestingCourses</b>.
+This unit uses <i>existsUnscheduledInterestingCourse</i> so that the application terminates as soon as all interesting courses are scheduled.
+In contrast to the very similar (<i>strict</i>) <i>SequentialUnit</i> <i>planAllCoursesOrFail</i>, this <i>ConditionalUnit</i> does not fail if no unscheduled courses exist.
+If it failed after all courses have been scheduled, the previous execution of <i>planCourseOrIncrement</i> would also be unsuccessful and would lead to the rescission of the last <i>planOneCourse</i> execution.
+In consequence there would always remain one unscheduled but interesting course after the successful application of <i>planAllCoursesOrFail</i>.
+Therefore the <i>ConditionalUnit</i> <i>planUnscheduledInterestingCourses</i> - which never fails after an unsuccessful application of its <i>if</i>-sub-unit - is used inside <i>planCourseOrIncrement</i>.
+</p>
+
+<p>
+<a href="examples/universitycourses/universityCourses-incrementHour.png"><img src="examples/universitycourses/universityCourses-incrementHour.png" /></a>
+</p>
+
+<p>
+If <i>planOneCourse</i> is not applicable, the <i>ConditionalUnit</i> <b>incrementIfPossible</b> first checks whether incrementing the current hour is possible by applying the rule <b>incrementPossible</b>.
+After a successful application of <i>incrementPossible</i> the <i>SequentialUnit</i> <i>incrementHour</i> is applied in the <i>SequentialUnit</i> <b>incrementAndContinue</b>.
+The unit <b>incrementHour</b> raises the passed-in <i>hour</i> parameter by one and returns the result via the parameter <i>oneMore</i></i>.
+After successfully incrementing the hour value <i>planCourseOrIncrement</i> is called again.
+In the end <i>planCourseOrIncrement</i> should only terminate with the maximum number of courses (with prospective students) scheduled between the starting time and the end of the day.
+</p>
+
+<p>
+<a href="examples/universitycourses/universityCourses-planOneCourse.png"><img src="examples/universitycourses/universityCourses-planOneCourse.png" align="right" width="350" /></a>
+
+<b>planOneCourse</b> is a <i>SequentialUnit</i> with the flags <i>strict=true</i> and <i>rollback=true</i>.
+First, it schedules a course which prevents time conflicts for lecturers by fixing the time using the rule <i>scheduleOfferedCourse</i>.
+Furthermore it attempts to associate all interested students without time conflicts with the scheduled course.
+Afterwards <i>planOneCourse</i> checks the absence of interested students with time conflicts by applying the rule <i>isScheduledCourseConflictFree</i>.
+At last, the according <i>OfferedCourse</i> is removed by an application of <i>removeOfferedCourseAfterScheduling</i>.
+This unit may fail in <i>scheduleOfferedCourse</i> if there is no lecturer associable without time conflict or in <i>isScheduledCourseConflictFree</i> if there is an interested student with time conflict.
+Due to the flag <i>strict=true</i>, the <i>SequentialUnit</i> application stopps at the failed rule and due to the flag <i>rollback=true</i> it reverts all applied transformations.
+This means that <i>planOneCourse</i> is applied only if there is no time conflict for students or lecturers.
+</p>
+
+<p>
+The rule <b>scheduleOfferedCourse</b> tries to find an <i>OfferedCourse</i> in which at least one <i>Student</i> is interested in and which can be taught by at least one <i>Lecturer</i>.
+The <i>in</i>-parameter <i>hour</i> defines the hour to which the course can be scheduled.
+The <i>Lecturer</i> must not teach another <i>ScheduledCourse</i> at the same time (here called <i>startingHour</i>).
+If those requirements are met, a new <i>ScheduledCourse</i> with the same name as the <i>OfferedCourse</i> is created at the given time.
+At the same time the rule attempts to move students to the ScheduledCourse.
+If a <i>Student</i> is not interested in another conflicting <i>ScheduledCourse</i> he/she will get associated with the <i>ScheduledCourse</i> instead of the <i>OfferedCourse</i>.
+</p>
+
+<p>
+The rule <b>isScheduledCourseConflictFree</b> checks whether there is no student interested in an <i>OfferedCourse</i> with corresponding <i>ScheduledCourse</i> and who is interested in a <i>ScheduledCourse</i> at the same time.
+This rule basically detects <i>Student</i>s who cannot be treated by <i>moveStudentsToScheduledCourse</i>.
+The rule <b>removeOfferedCourseAfterScheduling</b> (<i>checkDangling=false</i>) deletes an <i>OfferedCourse</i> that is scheduled.
+</p>
+
+<p>
+<a href="examples/universitycourses/universityCourses-manageCourses.png"><img src="examples/universitycourses/universityCourses-manageCourses.png" align="right" /></a>
+The starting point for the application of this example is the <i>IteratedUnit</i> <b>manageCourses</b> with the flag <i>strict</i> set to false.
+The <i>in</i>-parameter <i>startHour</i> in this and all other units sets the earliest hour to which courses can be scheduled.
+This unit tries to apply its sub-unit <i>planOrCleanup</i> two times which shall ensure that each of the two sub-units of <i>planOrCleanup</i> is applied at least once.
+<b>planOrCleanup</b> is a <i>PriorityUnit</i> with the sub-units <i>planAllCoursesOrFail</i> and <i>cleanupUninterestingCourses</i>.
+The former sub-unit can be applied <i>successfully</i> at most once.
+This means that the rule <b>cleanupUninterestingCourses</b> which removes <i>OfferedCourse</i>s without prospective students (<i>checkDangling=false</i>) is applied in the second iteration at latest.
+</p>
+
+<h3>Loop Unit vs. Nested Rule</h3>
+
+<p>
+<a href="examples/universitycourses/universityCourses-cleanupUninterestingCoursesUnit.png"><img src="examples/universitycourses/universityCourses-cleanupUninterestingCoursesUnit.png" /></a>
+</p>
+
+<p>
+The rule <i>cleanupUninterestingCourses</i>, which is realised using a nested rule, can alternatively be replaced by a <i>LoopUnit</i> <i>cleanupUninterestingCoursesUnit</i>.
+This unit contains the multi-rule of the formerly nested rule and is named <i>cleanupUninterestingCourse</i> here (singular!).
+The expression with a nested rule is preferreable in this case because of its greater simplicity.
+But for a unit (instead of a rule) which has to be executed as many times as possible a <i>LoopUnit</i> has to be used necessarily.
+</p>
diff --git a/examples/universitycourses/universityCourses-cleanupUninterestingCoursesUnit.png b/examples/universitycourses/universityCourses-cleanupUninterestingCoursesUnit.png
new file mode 100644
index 0000000..7cc0e93
--- /dev/null
+++ b/examples/universitycourses/universityCourses-cleanupUninterestingCoursesUnit.png
Binary files differ
diff --git a/examples/universitycourses/universityCourses-incrementHour.png b/examples/universitycourses/universityCourses-incrementHour.png
new file mode 100644
index 0000000..9d3363c
--- /dev/null
+++ b/examples/universitycourses/universityCourses-incrementHour.png
Binary files differ
diff --git a/examples/universitycourses/universityCourses-manageCourses.png b/examples/universitycourses/universityCourses-manageCourses.png
new file mode 100644
index 0000000..bb59873
--- /dev/null
+++ b/examples/universitycourses/universityCourses-manageCourses.png
Binary files differ
diff --git a/examples/universitycourses/universityCourses-model.png b/examples/universitycourses/universityCourses-model.png
new file mode 100644
index 0000000..8a8fd04
--- /dev/null
+++ b/examples/universitycourses/universityCourses-model.png
Binary files differ
diff --git a/examples/universitycourses/universityCourses-planAllCoursesOrFail.png b/examples/universitycourses/universityCourses-planAllCoursesOrFail.png
new file mode 100644
index 0000000..7c9e89d
--- /dev/null
+++ b/examples/universitycourses/universityCourses-planAllCoursesOrFail.png
Binary files differ
diff --git a/examples/universitycourses/universityCourses-planOneCourse.png b/examples/universitycourses/universityCourses-planOneCourse.png
new file mode 100644
index 0000000..3ca20a8
--- /dev/null
+++ b/examples/universitycourses/universityCourses-planOneCourse.png
Binary files differ
diff --git a/get-involved.php b/get-involved.php
index c1f71a2..603822c 100644
--- a/get-involved.php
+++ b/get-involved.php
@@ -49,7 +49,7 @@
 
 <h2>Contribute code</h2> 
 <ul>
- <li>Check out our codebase from the <a href="http://git.eclipse.org/c/henshin/org.eclipse.emft.henshin.git" target="_blank">Git repository</a> at Eclipse.</li>
+ <li>Check out our codebase from the <a href="http://git.eclipse.org/c/henshin/org.eclipse.emft.henshin.git" target="_blank">Git repository</a> at Eclipse. Please refer to our instructions for <a href="https://wiki.eclipse.org/Henshin_Committer_Instructions#imports" target="_blank">importing projects and resolving dependencies</a>. </li>
  <li>Ideally, please use <a href="https://git.eclipse.org/r/#/q/status%3Aopen+project%3Ahenshin/org.eclipse.emft.henshin" target="_blank">Gerrit</a> to contribute changes to the codebase. This allows us to apply our quality assurance process to all contributions. In our Wiki, we provide more detailed descriptions for <a href="https://wiki.eclipse.org/Henshin_Committer_Instructions" target="_blank">working with Gerrit</a>.</li>
  <li>Alternatively, you can also submit patches via e-mail -- especially if you want to contribute relatively small changes that do not justify the overhead of setting up Gerrit. In this case, <a href="#get-in-touch">get in touch with us</a>.</li>
 </ul>
@@ -71,7 +71,7 @@
 
 <h2><a name="get-in-touch"></a>Get in touch with us</h2> 
 <ul>
-<li>Do not hesitate to contact us with ideas and improvement suggestions. For establishing a first contact, please send an e-mail to <a href="https://rgse.uni-koblenz.de/web/pages/people/strueber/index_en.shtml">the project lead</a>.</li>
+<li>Do not hesitate to contact us with ideas and improvement suggestions. For establishing a first contact, please send an e-mail to  <a href="mailto:&#100;&#097;&#110;&#115;&#116;&#114;&#117;&#064;&#099;&#104;&#097;&#108;&#109;&#101;&#114;&#115;&#046;&#115;&#101;">the project lead</a> (Daniel Str&uuml;ber).</li>
 </ul>
 
 
diff --git a/index.php b/index.php
index bdb4211..1c42903 100755
--- a/index.php
+++ b/index.php
@@ -1,123 +1,128 @@
-<?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());

-

-#

-# Begin: page-specific settings.  Change these. 

-$pageTitle 	= "Henshin";

-$pageKeywords	= "EMF, Henshin, model transformation, state space analysis";

-$pageAuthor	= "Christian Krause";

-

-# Load project description from a separate file:

-ob_start();

-include 'description.html';

-$description = ob_get_contents();

-ob_end_clean();

-

-# Load project news from a separate file:

-ob_start();

-include 'news.html';

-$news = ob_get_contents();

-ob_end_clean();

-

-# Load screenshots from a separate file:

-ob_start();

-include 'screenshots.html';

-$screenshots = ob_get_contents();

-ob_end_clean();

-

-# Add page-specific Nav bars here

-# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)

-# $Nav->addNavSeparator("My Page Links", 	"downloads.php");

-# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);

-# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);

-

-# End: page-specific settings

-#

-		

-# Paste your HTML content between the EOHTML markers!	

-$html = <<<EOHTML

-

-<div id="maincontent">

-

-    <div id="midcolumn">

-	<h1>$pageTitle</h1>

-	<img style="float:right" src="henshin_small.png" alt="" style="border-width:0px"/>

-	

-	$description

-	

-	<div class="homeitem">

-	$news

-	</div>

-	

+<?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());
+
+#
+# Begin: page-specific settings.  Change these. 
+$pageTitle 	= "Henshin";
+$pageKeywords	= "EMF, Henshin, model transformation, state space analysis";
+$pageAuthor	= "Christian Krause";
+
+# Load project description from a separate file:
+ob_start();
+include 'description.html';
+$description = ob_get_contents();
+ob_end_clean();
+
+# Load project news from a separate file:
+ob_start();
+include 'news.html';
+$news = ob_get_contents();
+ob_end_clean();
+
+# Load screenshots from a separate file:
+ob_start();
+include 'screenshots.html';
+$screenshots = ob_get_contents();
+ob_end_clean();
+
+# Add page-specific Nav bars here
+# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank), level (1, 2 or 3)
+# $Nav->addNavSeparator("My Page Links", 	"downloads.php");
+# $Nav->addCustomNav("My Link", "mypage.php", "_self", 3);
+# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 3);
+
+# End: page-specific settings
+#
+		
+# Paste your HTML content between the EOHTML markers!	
+$html = <<<EOHTML
+
+<script>
+if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent))
+document.getElementById("novaContent").style.backgroundColor = '#FFFFFF';
+</script> 
+
+<div id="maincontent">
+
+    <div id="midcolumn">
+	<h1>$pageTitle</h1>
+	<img style="float:right" src="henshin_small.png" alt="" style="border-width:0px"/>
+	
+	$description
+	
+	<div class="homeitem">
+	$news
+	</div>
+	
 	$screenshots
-	

-	<!--

-		

-	<div class="homeitem">

-		<h3>Narrow column</h3>

-		<ul>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		</ul>

-	</div>

-		

-	<div class="homeitem">

-		<h3>Narrow column</h3>

-		<ul>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		</ul>

-	</div>

-	

-	<div class="homeitem3col">

-		<h3>This is a wide column</h3>

-		<ul>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>

-		</ul>

-	</div>

-	

-	<hr class="clearer" />

-	<p>Some free text</p>

-	<ul class="midlist">

-	<li>list of items in free text</li>

-	<li>list of items in free text</li>

-	<li>list of items in free text</li>

-	</ul>

-	<ol>

-	<li>Ordered list</li>

-	<li>Ordered list</li>

-	<li>Ordered list</li>

-	</ol>

-		

-	-->

-		

-	</div>

-		

-	<div id="rightcolumn">

-	<div class="sideitem">

-		<div class="sideitem">

-		<h6>Incubation</h6>

-		<div align="center"><a href="/projects/what-is-incubation.php"><img align="center" src="egg-incubation.png" border="0" alt="Incubation" /></a></div>

-		</div>

-	</div>

-	

-</div>

-

-EOHTML;

-

-# Generate the web page

-$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);

-

-?>

+	
+	<!--
+		
+	<div class="homeitem">
+		<h3>Narrow column</h3>
+		<ul>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		</ul>
+	</div>
+		
+	<div class="homeitem">
+		<h3>Narrow column</h3>
+		<ul>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		</ul>
+	</div>
+	
+	<div class="homeitem3col">
+		<h3>This is a wide column</h3>
+		<ul>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		<li><a href="#">Link</a>. Teaser text <a href="#">'Reference'</a><span class="dates">02/05/05</span></li>
+		</ul>
+	</div>
+	
+	<hr class="clearer" />
+	<p>Some free text</p>
+	<ul class="midlist">
+	<li>list of items in free text</li>
+	<li>list of items in free text</li>
+	<li>list of items in free text</li>
+	</ul>
+	<ol>
+	<li>Ordered list</li>
+	<li>Ordered list</li>
+	<li>Ordered list</li>
+	</ol>
+		
+	-->
+		
+	</div>
+		
+	<div id="rightcolumn">
+	<div class="sideitem">
+		<h6>Incubation</h6>
+		<div align="center"><a href="/projects/what-is-incubation.php"><img align="center" src="egg-incubation.png" border="0" width="180" alt="Incubation" /></a></div>
+	</div>
+	</div>
+
+
+</div>
+
+EOHTML;
+
+# Generate the web page
+$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
+
+?>