diff --git a/_projectCommon.php b/_projectCommon.php
index ab02887..052495b 100644
--- a/_projectCommon.php
+++ b/_projectCommon.php
@@ -1,22 +1,24 @@
 <?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+
 
 	# 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 = "Phoenix";
-	$pageAuthor="Equinox Committers";
-	//$App->ExtraHtmlHeaders = '<link rel="stylesheet" type="text/css" href="/equinox/equinox.css">';
-	# 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() );
-	$Nav->addNavSeparator("Ganymede", "/ganymede/");
-	$Nav->addCustomNav("Download Ganymede", "/downloads/packages/", "_self", 1);
-	$Nav->addCustomNav("Learn more about Ganymede", "/ganymede/learn.php", "_self", 1);
-	$Nav->addCustomNav("Ganymede Buzz", "/ganymede/buzz.php", "_self", 1);
-	$Nav->addCustomNav("Ganymede Around the World", "/ganymede/map.php", "_self", 1);
-	$App->setPromotionPath("/ganymede/headerThin.php");
-	$App->Promotion = TRUE;
+	# Optional: defaults to system theme
+$theme = NULL;
+$App->Promotion = FALSE;
+
+$App->setOutDated( '2011-11-11', '<a href="https://projects.eclipse.org/releases/ganymede">Ganymede</a> is a past version of Eclipse. Please visit our <a href="/downloads/">download</a> page for the latest version of Eclipse. ' );
 
 ?>
\ No newline at end of file
diff --git a/aroundtheworld.php b/aroundtheworld.php
index 2f9c25d..6cd162b 100644
--- a/aroundtheworld.php
+++ b/aroundtheworld.php
@@ -1,102 +1,36 @@
-<?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'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# template.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2005-06-16
-	#
-	# Description: Type your page comments here - these are not sent to the browser
-	#
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Around the World Contest";
-	$pageKeywords	= "ganymede, world, contest, blog, podcast, video";
-	$pageAuthor		= "Lynn Gayowski";
-	
-	# 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", 1);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);
-
-	# End: page-specific settings
-	#
-	// This file is linked to from lots of different places.
-	// Use absolute paths to make sure that we can actually test
-	// that the file renders properly (i.e. testing using) "/index.php",
-	// and "/home/index.php" both work.
-
-	# Paste your HTML content between the EOHTML markers!	
-	$html = <<<EOHTML
-<div id="widecontainer">
-	<div id="midcolumnwide">
-		<h1>$pageTitle</h1>
-	
-		<p>We want to hear how you&#146;re using the Eclipse projects in the <a href="http://www.eclipse.org/ganymede/">Ganymede</a> release. 
-		Write a blog post, create a screencast/video, or record a podcast telling the world what&#146;s great or what you dislike
-		about Ganymede.  For your efforts, we&#146;ll send you an Eclipse shirt.</p>
-		
-		<p> Once you have posted your review, add it to the <a href="map.php">Ganymede Around the World map</a>.  Eclipse is a global
-		community, so we encourage you to create a review in your native language.  </p>
-		
-	 	<p>If you want to show your support but don&#146;t have the time to prepare a review, you can still add yourself to the
-	 	<a href="map.php">Ganymede Around the World map</a>.  Just enter your name, address and a short message or image about how you
-	 	use Eclipse. Everyone who adds their name will be entered into a random draw for 5 Eclipse jackets.  </p>		
-		
-		<p>To enter the contest, a review must be of sufficient technical content. Long essays aren&#146;t
-		necessary, but as a guideline, include 3 to 5 points of what you like or don&#146;t like about the Ganymede projects.
-		The top 3 reviews will win an Eclipse jacket and the best entry will win their choice of a pass to
-		 <a href="http://www.eclipsecon.org/2009/">EclipseCon 2009</a> or
-		 <a href="http://eclipsesummit.org/summiteurope2008/">Eclipse Summit Europe 2008</a>!</p>
-		 
-		 <p>The deadline for submissions to the contest is <b>July 31, 2008</b>.  The top 3 and best reviews will be selected by a
-		 panel of judges.</p>
-
-		 <p><b>Important Details:</b>
-		 	<ul>
-		 		<li>You can submit multiple reviews but only one shirt per person will be sent.</li>
-		 		<li>Shirt quantities are limited so shirts will be distributed to reviewers on a first come, first served basis.</li>		 		
-				<li>The EclipseCon or Eclipse Summit Europe pass only covers the conference registration.
-				It does not include any travel expenses. The pass is non-transferable, non-refundable and
-				has no cash value. If you can&#146;t go to either conference or you receive a free pass
-				some other way (such as a speaker pass), you won&#146;t be able to take advantage of the prize.</li>
-				<li>Informed, insightful, educated reviews &#150; positive and negative &#150; are always welcome.
-				However, FUD-spewers, propagandists and mean-spirited curmudgeons need not apply.</li>
-				<li>A review needs to be submitted to the <a href="map.php">Ganymede Around the World </a>map with an email address
-				to participate in the contest.</li>
-			</ul>
-		</p>
-		
-		<br><br>
-
-	</div>
-
-	<!-- remove the entire <div> tag to omit the right column!  -->
-	<div id="rightcolumnwide">
-		<div class="sideitem">
-			<h6>Ganymede Around the World</h6>
-			<ul>
-				<li><a href="http://www.eclipse.org/ganymede/">Ganymede</a></li>
-				<li><a href="map.php">Ganymede Map</a></li>
-			</ul>
-		</div>
-		<div align="center">
-			<a href="/donate/"><img src="images/ganymede.gif"/></a>
-		</div>
-	</div>	
-	
-	
-</div>
-
-	
-EOHTML;
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
 
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede Around the World Contest";
+$pageKeywords	= "ganymede, world, contest, blog, podcast, video";
+$pageAuthor		= "Lynn Gayowski";
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/buzz.php b/buzz.php
index 452c4c5..8500a4f 100644
--- a/buzz.php
+++ b/buzz.php
@@ -1,76 +1,38 @@
-<?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'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# buzz.php
-	#
-	# Author: 		Nathan Gervais
-	# Date:			2005-06-16
-	#
-	# Description: Ganymede Buzz page.
-	#
-	#
-	#****************************************************************************
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede  Buzz";
-	$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
-	$pageAuthor		= "Nathan Gervais";
-	$App->PageRSS = "/home/eclipseinthenews.rss";
-	$App->PageRSSTitle = "Eclipse In The News";
-	# 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", 1);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);
 
-	# End: page-specific settings
-	#
-		
-	# The next two lines load the $news variable with the HTML equivalent to the contents of the eclipsenews.rss file.
-	# Reference the $news variable to drop the HTML into your content...
-	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
-	require_once('scripts/functions.php');
-	require_once('scripts/blogs.php');
-	$filepath = $documentRoot . '/community/news/2005inthenewsarchive.rss';
-	$eclipsenews = rss_to_news_html($filepath, 'ganymede',10);
-	$ganymedeBlogs = ganymedeBlogs(10);
-	# Paste your HTML content between the EOHTML markers!	
-	ob_start();
-	?>
-	<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
-	<body>
-	<div id="midcolumn">
-		<img src="http://dev.eclipse.org/large_icons/devices/network-wireless.png">
-		<h1 class="inline"><?=$pageTitle;?></h1>
-				
-		<div class="homeitem3col">
-			<h3>Community Buzz</h3>
-			<?=$eclipsenews;?>
-		</div>
-		
-		<div class="homeitem3col">
-			<h3>Ganymede Around the World Blogs</h3>
-			<?=$ganymedeBlogs;?>
-		</div>
-	</div>
-	<div id="rightcolumn">
-		<div class='sideitem'>
-			<h6>Related Links</h6>
-			<ul>
-				<li><a href="map.php">Ganymede Around the World</a></li>
-				<li><a href="postercontest.php">Ganymede Poster Contest</a></li>
-				<li><a href="friends.php">Friends of Ganymede</a></li>
-			</ul>
-		</div>
-	</div>
-</div>
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede  Buzz";
+$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
+$pageAuthor		= "Nathan Gervais";
+$App->PageRSS = "/home/eclipseinthenews.rss";
+$App->PageRSSTitle = "Eclipse In The News";
 
-<?	
-	$html = ob_get_clean();
-	$html = mb_convert_encoding($html, "HTML-ENTITIES", "auto");
-	# Generate the web page
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/buzzmore.php b/buzzmore.php
index f6203b4..8500a4f 100644
--- a/buzzmore.php
+++ b/buzzmore.php
@@ -1,70 +1,38 @@
-<?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'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# buzz.php
-	#
-	# Author: 		Nathan Gervais
-	# Date:			2005-06-16
-	#
-	# Description: Ganymede Buzz page.
-	#
-	#
-	#****************************************************************************
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede  Buzz";
-	$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
-	$pageAuthor		= "Nathan Gervais";
-	$App->PageRSS = "/home/eclipseinthenews.rss";
-	$App->PageRSSTitle = "Eclipse In The News";
-	# 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", 1);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);
 
-	# End: page-specific settings
-	#
-		
-	# The next two lines load the $news variable with the HTML equivalent to the contents of the eclipsenews.rss file.
-	# Reference the $news variable to drop the HTML into your content...
-	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
-	require_once('scripts/functions.php');
-	require_once('scripts/blogs.php');
-	$filepath = $documentRoot . '/community/news/2005inthenewsarchive.rss';
-	$eclipsenews = rss_to_news_html($filepath, 'ganymede',100, false);
-	$ganymedeBlogs = ganymedeBlogs(10);
-	# Paste your HTML content between the EOHTML markers!	
-	ob_start();
-	?>
-	<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
-	<body>
-	<div id="midcolumn">
-		<img src="http://dev.eclipse.org/large_icons/devices/network-wireless.png">
-		<h1 class="inline"><?=$pageTitle;?></h1>
-				
-		<div class="homeitem3col">
-			<h3>Community Buzz</h3>
-			<?=$eclipsenews;?>
-		</div>
-	</div>
-	<div id="rightcolumn">
-		<div class='sideitem'>
-			<h6>Related Links</h6>
-			<ul>
-				<li><a href="map.php">Ganymede Around the World</a></li>
-				<li><a href="friends.php">Friends of Ganymede</a></li>
-			</ul>
-		</div>
-	</div>
-</div>
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede  Buzz";
+$pageKeywords	= "ganymede, release, ganymede release train, buzz, press";
+$pageAuthor		= "Nathan Gervais";
+$App->PageRSS = "/home/eclipseinthenews.rss";
+$App->PageRSSTitle = "Eclipse In The News";
 
-<?	
-	$html = ob_get_clean();
-	$html = mb_convert_encoding($html, "HTML-ENTITIES", "auto");
-	# Generate the web page
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/content/en_aroundtheworld.php b/content/en_aroundtheworld.php
new file mode 100644
index 0000000..55d70c4
--- /dev/null
+++ b/content/en_aroundtheworld.php
@@ -0,0 +1,125 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+
+<div id="ganymedeHeader">
+  <div id="headerGraphic">
+    <map name="ganymedeHeaderIMap">
+      <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+      <area shape="rect" coords="450,60,745,125"
+        href="/downloads/packages/release/ganymede/sr2">
+    </map>
+    <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+      usemap="#ganymedeHeaderIMap">
+  </div>
+</div>
+<!-- nav -->
+<aside id="leftcol" class="col-md-4">
+  <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+    <li class="separator"><a class="separator" href="/ganymede/">
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/downloads/packages/" target="_self"> Download Ganymede </a>
+    </li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/learn.php" target="_self"> Learn more about
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/mapList.php" target="_self"> Ganymede Around the World
+    </a></li>
+  </ul>
+</aside>
+<div id="maincontent">
+  <div id="midcolumn">
+    <h1>Ganymede Around the World Contest</h1>
+
+    <p>
+      We want to hear how you&#146;re using the Eclipse projects in the
+      <a href="http://www.eclipse.org/ganymede/">Ganymede</a> release.
+      Write a blog post, create a screencast/video, or record a podcast
+      telling the world what&#146;s great or what you dislike about
+      Ganymede. For your efforts, we&#146;ll send you an Eclipse shirt.
+    </p>
+
+    <p>
+      Once you have posted your review, add it to the <a href="mapList.php">Ganymede
+        Around the World map</a>. Eclipse is a global community, so we
+      encourage you to create a review in your native language.
+    </p>
+
+    <p>
+      If you want to show your support but don&#146;t have the time to
+      prepare a review, you can still add yourself to the <a
+        href="mapList.php">Ganymede Around the World map</a>. Just enter
+      your name, address and a short message or image about how you use
+      Eclipse. Everyone who adds their name will be entered into a
+      random draw for 5 Eclipse jackets.
+    </p>
+
+    <p>
+      To enter the contest, a review must be of sufficient technical
+      content. Long essays aren&#146;t necessary, but as a guideline,
+      include 3 to 5 points of what you like or don&#146;t like about
+      the Ganymede projects. The top 3 reviews will win an Eclipse
+      jacket and the best entry will win their choice of a pass to <a
+        href="http://www.eclipsecon.org/2009/">EclipseCon 2009</a> or <a
+        href="http://eclipsesummit.org/summiteurope2008/">Eclipse Summit
+        Europe 2008</a>!
+    </p>
+
+    <p>
+      The deadline for submissions to the contest is <b>July 31, 2008</b>.
+      The top 3 and best reviews will be selected by a panel of judges.
+    </p>
+
+    <p>
+      <b>Important Details:</b>
+    </p>
+
+
+    <ul>
+      <li>You can submit multiple reviews but only one shirt per person
+        will be sent.</li>
+      <li>Shirt quantities are limited so shirts will be distributed to
+        reviewers on a first come, first served basis.</li>
+      <li>The EclipseCon or Eclipse Summit Europe pass only covers the
+        conference registration. It does not include any travel
+        expenses. The pass is non-transferable, non-refundable and has
+        no cash value. If you can&#146;t go to either conference or you
+        receive a free pass some other way (such as a speaker pass), you
+        won&#146;t be able to take advantage of the prize.</li>
+      <li>Informed, insightful, educated reviews &#150; positive and
+        negative &#150; are always welcome. However, FUD-spewers,
+        propagandists and mean-spirited curmudgeons need not apply.</li>
+      <li>A review needs to be submitted to the <a href="mapList.php">Ganymede
+          Around the World </a>map with an email address to participate
+        in the contest.
+      </li>
+    </ul>
+  </div>
+</div>
+<!-- remove the entire <div> tag to omit the right column!  -->
+<div id="rightcolumn">
+  <div class="sideitem">
+    <h6>Ganymede Around the World</h6>
+    <ul>
+      <li><a href="http://www.eclipse.org/ganymede/">Ganymede</a></li>
+      <li><a href="mapList.php">Ganymede Map</a></li>
+    </ul>
+  </div>
+  <div align="center">
+    <a href="/donate/"><img src="images/ganymede.gif" /></a>
+  </div>
+</div>
\ No newline at end of file
diff --git a/content/en_buzz.php b/content/en_buzz.php
new file mode 100644
index 0000000..2a792ed
--- /dev/null
+++ b/content/en_buzz.php
@@ -0,0 +1,202 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<aside id="leftcol" class="col-md-4">
+  <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+    <li class="separator"><a class="separator" href="/ganymede/">
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/downloads/packages/" target="_self"> Download Ganymede </a>
+    </li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/learn.php" target="_self"> Learn more about
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/mapList.php" target="_self"> Ganymede Around the World
+    </a></li>
+
+  </ul>
+</aside>
+<div id="maincontent">
+  <div id="midcolumn">
+    <img
+      src="http://dev.eclipse.org/large_icons/devices/network-wireless.png">
+    <h1 class="inline">Ganymede Buzz</h1>
+
+    <div class="homeitem3col">
+      <h3>Community Buzz</h3>
+      <ul>
+
+        <li><a href="http://www.myeclipseide.com/Article79.html"
+          target="_blank">MyEclipse Delivers Advanced Ajax Tools for
+            Ganymede </a> <span class="posted">+371&nbsp;weeks&nbsp;ago</span>
+          <p>Genuitec is pleased to announce today the immediate
+            availability of MyEclipse Enterprise Workbench 7.0 milestone
+            1. This milestone release delivers advanced Ajax tooling for
+            Java EE and full Application Lifecycle Management (ALM)
+            capabilities for Eclipse 3.4 Ganymede, among other
+            enhancements.</p></li>
+
+        <li><a
+          href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
+          target="_blank">Protecode Annouces General Availability of
+            Governance and Intellectual Property Management Software </a>
+          <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+          <p>Protecode Inc., today announced the general availability of
+            its software development tool for governance and
+            Intellectual Property (IP) management. The latest release
+            enables commercial software developers and open source
+            creators to accelerate managed adoption of open source code
+            in a simple, painless process. Additionally, the software is
+            now available to the Eclipse community for anyone working on
+            an active Eclipse project.</p></li>
+
+        <li><a href="http://www.ddj.com/linux-open-source/208802482"
+          target="_blank">The Eclipse Ganymede Release </a> <span
+          class="posted">+376&nbsp;weeks&nbsp;ago</span>
+          <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director of
+            the Eclipse Foundation, about the Eclipse Ganymede release,
+            a coordinated release of 23 different Eclipse project teams
+            and represents over 18 million lines of code.</p></li>
+
+        <li><a
+          href="http://www.froglogic.com/pg?id=NewsEvents&category=98"
+          target="_blank">Java GUI Testing Tool Squish Supports New
+            Eclipse "Ganymede" 3.4 </a> <span class="posted">+377&nbsp;weeks&nbsp;ago</span>
+          <p>
+            froglogic GmbH today announced support for automated testing
+            of Java Rich Client Platform (RCP) applications based on the
+            new Eclipse 3.4 release code named Ganymede.<br /> Squish
+            for Java is a leading functional GUI and regression testing
+            tool enabling the creation and execution of automated GUI
+            tests for Java SWT/RCP and AWT/Swing applications.
+          </p></li>
+
+        <li><a href="http://www.ecommercetimes.com/story/63659.html"
+          target="_blank">Eclipse Release Is Great but Doesn't Reach the
+            Cloud </a> <span class="posted">+377&nbsp;weeks&nbsp;ago</span>
+          <p>The Eclipse Foundation has delivered a healthy package of
+            updates, right on time, for the third year in a row. That's
+            commendable, writes contributor Dana Gardner. What he'd
+            really like to see, however, is a greater commitment on
+            Eclipse's part to integrate with cloud-based development.</p>
+        </li>
+
+        <li><a
+          href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li"
+          target="_blank">Eclipse Ganymede - 18 Million Lines of Code
+            Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+          <p>As many of you may know the annual Eclipse release train,
+            called Ganymede, is now available. This is the third year in
+            a row that the Eclipse community has shipped a coordinate
+            release of multiple projects; 23 projects are included this
+            year. An important reason for the release trains is to make
+            it easier for Eclipse users and adopters, who tend to use
+            multiple projects, to upgrade to a new release. A
+            coordinated release schedule makes its possible for timely
+            upgrades in the Eclipse community.</p></li>
+
+        <li><a href="http://blogs.zdnet.com/Gardner/?p=2698"
+          target="_blank">Eclipse Foundation delivers Ganymede train
+            with 23 cars, but where are the cloud on-ramps? </a> <span
+          class="posted">+378&nbsp;weeks&nbsp;ago</span>
+          <p>For the third year in a row, the Eclipse community has
+            delivered, on the same day as in previous years, numerous
+            software updates across a wide range of projects.</p></li>
+
+        <li><a href="http://www.ddj.com/linux-open-source/208800860"
+          target="_blank">Eclipse Delivers Annual Release </a> <span
+          class="posted">+378&nbsp;weeks&nbsp;ago</span>
+          <p>"Once again the Eclipse community has delivered our annual
+            release train and continues to deliver innovative software
+            in a predictable manner," said Mike Milinkovich, Executive
+            Director of the Eclipse Foundation. "New features like the
+            Equinox p2 provisioning system, new modeling tools and tools
+            that support SOA developers will be popular features for
+            Eclipse users."</p></li>
+
+        <li><a href="http://www.devxnews.com/article.php/3755391"
+          target="_blank">Eclipse Ganymede Makes It Easier for Devs </a>
+          <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+          <p>Some open source efforts are satisfied with releasing one
+            or two projects a year. That's not the case with the open
+            source Eclipse Foundation, which today released 23 projects
+            as part of its Ganymede release train.</p></li>
+
+        <li><a
+          href="http://www.instantiations.com/press/release/080625.html"
+          target="_blank">Instantiations Rolls Out Product Updates in
+            Conjunction with Eclipse 3.4 and Ganymede </a> <span
+          class="posted">+378&nbsp;weeks&nbsp;ago</span>
+          <p>Instantiations, Inc., a leading provider of software
+            quality and productivity solutions for the Eclipse platform,
+            today announced that its entire Eclipse-based product line
+            has been updated to coincide with the annual Eclipse open
+            source release, Ganymede. Included with the roll-out are
+            significant additions in the area of security to its CodePro
+            AnalytiX&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&sbquo;&not;&Aring;&frac34;&Atilde;&sbquo;&Acirc;&cent;
+            comprehensive code quality product, bringing advanced
+            standards-based security auditing to developers desktops as
+            they write code. The Ganymede release train includes Eclipse
+            3.4, the annual release of the Eclipse platform, which was
+            delivered today.</p></li>
+        <li class="more">
+          <div class="more">
+            <a href="buzzmore.php">Read More</a>
+          </div>
+        </li>
+      </ul>
+    </div>
+
+    <div class="homeitem3col">
+      <h3>Ganymede Around the World Blogs</h3>
+      <ul>
+        <li><a href="http://siagian.p.blog.com" target="_blank">siagian.p</a>
+          - verdy</li>
+        <li><a href="http://hi.baidu.com/mimimo" target="_blank">mamimoluo</a>
+          - mamimoluo</li>
+        <li><a href="http://" target="_blank">http://</a> - mansouri med
+          ali</li>
+        <li><a href="http://" target="_blank">http://</a> - WANGBL</li>
+        <li><a href="http://" target="_blank">http://</a> - WANGBL</li>
+        <li><a href="http://" target="_blank">http://</a> - Mario A.
+          Gimenez</li>
+        <li><a href="http://anandharidas.blogspot.com/" target="_blank">http://anandharidas.blogspot.com/</a>
+          - Anand Haridas</li>
+        <li><a href="http://codenaut.blogspot.com" target="_blank">http://codenaut.blogspot.com</a>
+          - FRJK</li>
+        <li><a href="http://codenaut.blogger.com" target="_blank">http://codenaut.blogger.com</a>
+          - FRJK</li>
+        <li><a href="http://sites.google.com/struts2spring"
+          target="_blank">struts2spring</a> - Vijay Kumar Keshri</li>
+        <li class="more">
+          <div class="more">
+            <a href="mapList.php">Read More</a>
+          </div>
+        </li>
+      </ul>
+    </div>
+  </div>
+  <div id="rightcolumn">
+    <div class='sideitem'>
+      <h6>Related Links</h6>
+      <ul>
+        <li><a href="mapList.php">Ganymede Around the World</a></li>
+        <li><a href="postercontest.php">Ganymede Poster Contest</a></li>
+        <li><a href="friends.php">Friends of Ganymede</a></li>
+      </ul>
+    </div>
+  </div>
+  </div>
\ No newline at end of file
diff --git a/content/en_buzzmore.php b/content/en_buzzmore.php
new file mode 100644
index 0000000..939e815
--- /dev/null
+++ b/content/en_buzzmore.php
@@ -0,0 +1,385 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div id="ganymedeHeader">
+  <div id="headerGraphic">
+    <map name="ganymedeHeaderIMap">
+      <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+      <area shape="rect" coords="450,60,745,125"
+        href="/downloads/packages/release/ganymede/sr2">
+    </map>
+    <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+      usemap="#ganymedeHeaderIMap">
+  </div>
+</div>
+</div>
+</div>
+<main role="main" class=" no-promo">
+<div class="container background-image-none" id="novaContent">
+  <!-- nav -->
+  <aside id="leftcol" class="col-md-4">
+    <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+
+
+      <li class="separator"><a class="separator" href="/ganymede/">
+          Ganymede </a></li>
+
+
+
+      <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+        href="/downloads/packages/" target="_self"> Download Ganymede </a>
+      </li>
+
+
+
+      <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+        href="/ganymede/learn.php" target="_self"> Learn more about
+          Ganymede </a></li>
+
+
+
+      <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+        href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+
+
+
+      <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+        href="/ganymede/mapList.php" target="_self"> Ganymede Around the
+          World </a></li>
+
+    </ul>
+  </aside>
+    <div id="midcolumn">
+      <img
+        src="http://dev.eclipse.org/large_icons/devices/network-wireless.png">
+      <h1 class="inline">Ganymede Buzz</h1>
+
+      <div class="homeitem3col">
+        <h3>Community Buzz</h3>
+        <ul>
+
+          <li><a href="http://www.myeclipseide.com/Article79.html"
+            target="_blank">MyEclipse Delivers Advanced Ajax Tools for
+              Ganymede </a> <span class="posted">+371&nbsp;weeks&nbsp;ago</span>
+            <p>Genuitec is pleased to announce today the immediate
+              availability of MyEclipse Enterprise Workbench 7.0
+              milestone 1. This milestone release delivers advanced Ajax
+              tooling for Java EE and full Application Lifecycle
+              Management (ALM) capabilities for Eclipse 3.4 Ganymede,
+              among other enhancements.</p></li>
+
+          <li><a
+            href="http://www.protecode.com/site/pdf/GA%20Availability%20Press%20Rel.pdf"
+            target="_blank">Protecode Annouces General Availability of
+              Governance and Intellectual Property Management Software </a>
+            <span class="posted">+376&nbsp;weeks&nbsp;ago</span>
+            <p>Protecode Inc., today announced the general availability
+              of its software development tool for governance and
+              Intellectual Property (IP) management. The latest release
+              enables commercial software developers and open source
+              creators to accelerate managed adoption of open source
+              code in a simple, painless process. Additionally, the
+              software is now available to the Eclipse community for
+              anyone working on an active Eclipse project.</p></li>
+
+          <li><a href="http://www.ddj.com/linux-open-source/208802482"
+            target="_blank">The Eclipse Ganymede Release </a> <span
+            class="posted">+376&nbsp;weeks&nbsp;ago</span>
+            <p>Dr. Dobb's talks to Mike Milinkovich, Executive Director
+              of the Eclipse Foundation, about the Eclipse Ganymede
+              release, a coordinated release of 23 different Eclipse
+              project teams and represents over 18 million lines of
+              code.</p></li>
+
+          <li><a
+            href="http://www.froglogic.com/pg?id=NewsEvents&category=98"
+            target="_blank">Java GUI Testing Tool Squish Supports New
+              Eclipse "Ganymede" 3.4 </a> <span class="posted">+377&nbsp;weeks&nbsp;ago</span>
+            <p>
+              froglogic GmbH today announced support for automated
+              testing of Java Rich Client Platform (RCP) applications
+              based on the new Eclipse 3.4 release code named Ganymede.<br />
+              Squish for Java is a leading functional GUI and regression
+              testing tool enabling the creation and execution of
+              automated GUI tests for Java SWT/RCP and AWT/Swing
+              applications.
+            </p></li>
+
+          <li><a href="http://www.ecommercetimes.com/story/63659.html"
+            target="_blank">Eclipse Release Is Great but Doesn't Reach
+              the Cloud </a> <span class="posted">+377&nbsp;weeks&nbsp;ago</span>
+            <p>The Eclipse Foundation has delivered a healthy package of
+              updates, right on time, for the third year in a row.
+              That's commendable, writes contributor Dana Gardner. What
+              he'd really like to see, however, is a greater commitment
+              on Eclipse's part to integrate with cloud-based
+              development.</p></li>
+
+          <li><a
+            href="http://eclipse.dzone.com/articles/eclipse-ganymede-18-million-li"
+            target="_blank">Eclipse Ganymede - 18 Million Lines of Code
+              Delivered on Schedule </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>As many of you may know the annual Eclipse release train,
+              called Ganymede, is now available. This is the third year
+              in a row that the Eclipse community has shipped a
+              coordinate release of multiple projects; 23 projects are
+              included this year. An important reason for the release
+              trains is to make it easier for Eclipse users and
+              adopters, who tend to use multiple projects, to upgrade to
+              a new release. A coordinated release schedule makes its
+              possible for timely upgrades in the Eclipse community.</p>
+          </li>
+
+          <li><a href="http://blogs.zdnet.com/Gardner/?p=2698"
+            target="_blank">Eclipse Foundation delivers Ganymede train
+              with 23 cars, but where are the cloud on-ramps? </a> <span
+            class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>For the third year in a row, the Eclipse community has
+              delivered, on the same day as in previous years, numerous
+              software updates across a wide range of projects.</p></li>
+
+          <li><a href="http://www.ddj.com/linux-open-source/208800860"
+            target="_blank">Eclipse Delivers Annual Release </a> <span
+            class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>"Once again the Eclipse community has delivered our
+              annual release train and continues to deliver innovative
+              software in a predictable manner," said Mike Milinkovich,
+              Executive Director of the Eclipse Foundation. "New
+              features like the Equinox p2 provisioning system, new
+              modeling tools and tools that support SOA developers will
+              be popular features for Eclipse users."</p></li>
+
+          <li><a href="http://www.devxnews.com/article.php/3755391"
+            target="_blank">Eclipse Ganymede Makes It Easier for Devs </a>
+            <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>Some open source efforts are satisfied with releasing one
+              or two projects a year. That's not the case with the open
+              source Eclipse Foundation, which today released 23
+              projects as part of its Ganymede release train.</p></li>
+
+          <li><a
+            href="http://www.instantiations.com/press/release/080625.html"
+            target="_blank">Instantiations Rolls Out Product Updates in
+              Conjunction with Eclipse 3.4 and Ganymede </a> <span
+            class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>Instantiations, Inc., a leading provider of software
+              quality and productivity solutions for the Eclipse
+              platform, today announced that its entire Eclipse-based
+              product line has been updated to coincide with the annual
+              Eclipse open source release, Ganymede. Included with the
+              roll-out are significant additions in the area of security
+              to its CodePro
+              AnalytiX&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&sbquo;&not;&Aring;&frac34;&Atilde;&sbquo;&Acirc;&cent;
+              comprehensive code quality product, bringing advanced
+              standards-based security auditing to developers desktops
+              as they write code. The Ganymede release train includes
+              Eclipse 3.4, the annual release of the Eclipse platform,
+              which was delivered today.</p></li>
+
+          <li><a
+            href="http://www.emediawire.com/releases/2008/6/prweb1055254.htm"
+            target="_blank">Migrate Easily to Eclipse 3.4 Ganymede,
+              Manage Configurations with Pulse </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>
+              Genuitec, LLC, a founding member of the Eclipse
+              Foundation, announced today the general availability of
+              Pulse 2.2, the free and easiest way to obtain, manage and
+              configure Eclipse Ganymede and plugins. <br />Genuitec is
+              pleased to offer this product to Pulse users on the day of
+              the Ganymede release. As of today, Pulse 2.2 will support
+              full Ganymede tool stacks.
+            </p></li>
+
+          <li><a href="http://tasktop.com/blog/?p=32" target="_blank">Mylyn
+              3.0 released </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>The Mylyn team is very pleased to announce
+              today&Atilde;&fnof;&Acirc;&cent;&Atilde;&cent;&acirc;&euro;&scaron;&Acirc;&not;&Atilde;&cent;&acirc;&euro;&#382;&Acirc;&cent;s
+              release of Mylyn 3.0 along with the Eclipse Ganymede
+              release train. This occasion marks a big step in the
+              evolution of the task-focused interface</p></li>
+
+          <li><a href="http://www.adtmag.com/article.aspx?id=22837"
+            target="_blank">Eclipse's Third 'Release Train' on Schedule
+          </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>On Wednesday June 25 the Eclipse Foundation is sending
+              its third annual "release train" chugging down the track.
+              This year's synchronized launch of several Eclipse
+              projects at once (code named "Ganymede") involved the
+              coordinated release of 23 projects, up from 21 in last
+              year's "Europa" release, and 10 in 2006 with the original
+              "Callisto" release. One of the goals of the release-train
+              strategy, said Eclipse Foundation executive director Mike
+              Milinkovich, is to provide "a level of predictability"
+              that will promote commercial adoption of the Eclipse
+              community's products.</p></li>
+
+          <li><a
+            href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9102838"
+            target="_blank">Eclipse set for coordinated release of 23
+              updates </a> <span class="posted">+378&nbsp;weeks&nbsp;ago</span>
+            <p>The Eclipse Foundation is set to make available tomorrow
+              its annual coordinated release of open-source projects,
+              which this year includes some 18 million lines of code and
+              updates to 23 different projects.</p></li>
+
+          <li><a
+            href="http://eclipse.dzone.com/articles/eclipse-34-hidden-treasures"
+            target="_blank">Eclipse 3.4 Hidden Treasures </a> <span
+            class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>Eclipse 3.4 "Ganymede" will be released in the upcoming
+              days. I've been working with the RC builds for some time
+              now and I like it. Eclipse 3.4 is a better IDE and a more
+              robust platform than its' successor. In this post, I've
+              gathered some new features which I like and may be "off
+              the beaten path".</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-jdt"
+            target="_blank">Eclipse Ganymede: An in-depth look at JDT
+              (Java Development Tools) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>As part of the upcoming Eclipse Ganymede release,
+              scheduled for June 25th, InfoQ will cover a series of
+              Eclipse subprojects. Today, the subproject is JDT (Java
+              Development Tools), which is releasing version 3.4. InfoQ
+              spoke with Philippe Mulet, lead of the Eclipse project,
+              and Martin Aeschlimann, lead of the JDT UI subproject, to
+              learn more about what to expect in Ganymede.</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-pde"
+            target="_blank">Eclipse Ganymede: An in-depth look at PDE
+              (Plugin Development Environment) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>As part of the upcoming Eclipse Ganymede release which is
+              scheduled for June 25th, InfoQ will cover a series of
+              Eclipse subprojects. Today, the subproject is PDE (Plugin
+              Development Environment), which is releasing version 3.4.
+              InfoQ spoke with Chris Aniszczyk, PDE Technical Lead and
+              Principal Consultant at Code9, to learn more about PDE and
+              what it provides.</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-mylyn"
+            target="_blank">Eclipse Ganymede: An in-depth look at Mylyn
+          </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>As part of the upcoming Eclipse Ganymede release,
+              scheduled for June 25th, InfoQ is covering a series of
+              Eclipse subprojects. Today, the topic is Mylyn. InfoQ
+              spoke with Mik Kersten, lead of the Mylyn project and
+              President of Tasktop Technologies, to learn more about
+              what to expect in Ganymede.</p></li>
+
+          <li><a
+            href="http://www-128.ibm.com/developerworks/library/os-eclipse-ganymede/"
+            target="_blank">Eclipse Ganymede at a glance </a> <span
+            class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>The Eclipse Ganymede release of 24 projects showcases the
+              diversity and innovation going on inside the Eclipse
+              ecosystem. Get an overview of several Ganymede projects,
+              along with resources to find out more information.</p></li>
+
+          <li><a
+            href="http://www.infoworld.com/article/08/06/19/Eclipse-readies-Ganymede-release_1.html"
+            target="_blank">Eclipse readies Ganymede release </a> <span
+            class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>The Eclipse Foundation next week is set to offer its
+              annual simultaneous release of open-source project
+              updates, this time called the Ganymede Release and
+              featuring improvements in the core OSGI-based component
+              model and SOA tools.</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-rap"
+            target="_blank">Eclipse Ganymede: An in-depth look at RAP
+              (Rich Ajax Platform) </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>As part of the upcoming Eclipse Ganymede release which is
+              scheduled for June 25th, InfoQ will cover a series of
+              Eclipse subprojects. Today, the subproject is RAP (Rich
+              Ajax Platform), which is releasing version 1.1. InfoQ
+              spoke with Jochen Krause to learn more about RAP and what
+              it provides.</p></li>
+
+          <li><a
+            href="http://eclipse.dzone.com/articles/understanding-eclipse-p2-provi"
+            target="_blank">Understanding the Eclipse p2 Provisioning
+              System </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>p2 is the new provisioning system which will be provided
+              along with the Eclipse Ganymede release on June 25th. This
+              is one feature that I didn't really follow closely
+              enough,so I was really happy when I called Pascal
+              Rapicault to get an explanation from the project lead.Ian
+              Skerrett has recently blogged about 10 reasons p2 is going
+              to rock, and after reading this, I'm sure you'll agree.</p>
+          </li>
+
+          <li><a
+            href="http://searchsoa.techtarget.com/news/article/0,289142,sid26_gci1317879,00.html"
+            target="_blank">Eclipse Ganymede Part 1: What's in it for
+              SOA? </a> <span class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>This is the first in a series of four articles previewing
+              the Eclipse Foundation's annual downloadable project
+              release, code named Ganymede, which is set for Wednesday,
+              June 25.</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-ecf"
+            target="_blank">Eclipse Ganymede: An in-depth look at ECF
+              (Eclipse Communication Framework) </a> <span
+            class="posted">+379&nbsp;weeks&nbsp;ago</span>
+            <p>s part of the upcoming Eclipse Ganymede release,
+              scheduled for June 25th, InfoQ is covering a series of
+              Eclipse subprojects. Today, the topic is the Eclipse
+              Communication Framework. InfoQ spoke with Scott Lewis,
+              project lead for ECF and Principal at his consulting
+              company, Composent, Inc to learn more about ECF and what
+              capabilities it provides.</p></li>
+
+          <li><a
+            href="http://www.infoq.com/news/2008/06/eclipse-ganymede-p2"
+            target="_blank">Eclipse Ganymede: An in-depth look at
+              Equinox p2 (Provisioning Platform) </a> <span
+            class="posted">+380&nbsp;weeks&nbsp;ago</span>
+            <p>As part of the upcoming Eclipse Ganymede release,
+              scheduled for June 25th, InfoQ will cover a series of
+              Eclipse subprojects. Today, the subproject is Equinox p2
+              (Provisioning Platform), which is a framework for
+              provisioning Eclipse-based applications. InfoQ spoke with
+              Jeff McAffer and Pascal Rapicault to learn more about p2
+              and what it provides.</p></li>
+
+          <li><a
+            href="http://www.theregister.co.uk/2008/06/16/eclipse_ganymede_overview/"
+            target="_blank">Eclipse projects squeeze into record Summer
+              fun pack </a> <span class="posted">+380&nbsp;weeks&nbsp;ago</span>
+            <p>
+              The Eclipse Foundation's annual code blitz - this year
+              under the name Ganymede - kicks off at the end of this
+              month with 24 Eclipse projects co-ordinating their new
+              releases.<br />Now in its third year, this annual big push
+              keeps getting bigger. Ganymede is Eclipse's largest
+              co-ordinate release of updated projects to-date, beating
+              last year's update by three.
+            </p></li>
+        </ul>
+      </div>
+    </div>
+    <div id="rightcolumn">
+      <div class='sideitem'>
+        <h6>Related Links</h6>
+        <ul>
+          <li><a href="mapList.php">Ganymede Around the World</a></li>
+          <li><a href="friends.php">Friends of Ganymede</a></li>
+        </ul>
+      </div>
+    </div>
+
+</div>
\ No newline at end of file
diff --git a/content/en_friends.php b/content/en_friends.php
new file mode 100644
index 0000000..adc43ec
--- /dev/null
+++ b/content/en_friends.php
@@ -0,0 +1,81 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div id="ganymedeHeader">
+  <div id="headerGraphic">
+    <map name="ganymedeHeaderIMap">
+      <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+      <area shape="rect" coords="450,60,745,125"
+        href="/downloads/packages/release/ganymede/sr2">
+    </map>
+    <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+      usemap="#ganymedeHeaderIMap">
+  </div>
+</div>
+<!-- nav -->
+<aside id="leftcol" class="col-md-4">
+  <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+
+
+    <li class="separator"><a class="separator" href="/ganymede/">
+        Ganymede </a></li>
+
+
+
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/downloads/packages/" target="_self"> Download Ganymede </a>
+    </li>
+
+
+
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/learn.php" target="_self"> Learn more about
+        Ganymede </a></li>
+
+
+
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+
+
+
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/mapList.php" target="_self"> Ganymede Around the World
+    </a></li>
+
+  </ul>
+</aside>
+<div id="midcolumn">
+  <div>
+    <h1>Friends of Ganymede</h1>
+    <p>Want to join the Friends of Ganymede? Put one of these images up
+      on your website.</p>
+    <div>
+      <h2>Square Button (160 x 160 px)</h2>
+      <img border=0 alt="Ganymede is Coming" title="Eclipse Ganymede"
+        src="images/ganymedeFriend.jpg"><br /> <br />
+      <textarea class="smallType" cols=60 rows=4 readonly>&lt;a href="http://www.eclipse.org/ganymede/"&gt;&lt;img src="http://www.eclipse.org/ganymede/images/ganymedeFriend.jpg" border=0 alt="Ganymede is coming!" title="Ganymede is coming!" &gt;&lt;/a&gt;</textarea>
+    </div>
+    <br /> <br />
+    <div>
+      <h2>Ganymede Wallpapers</h2>
+      <img border=0 alt="Ganymede Wallpaper"
+        src="images/wallpaperThumb.jpg"><br /> <br /> Decorate your
+      Desktop with one of these Ganymede Wallpapers.<br /> <a
+        href="images/wallpaper1024.jpg">1024x768</a> - <a
+        href="images/wallpaper1280.jpg">1280x960</a> - <a
+        href="images/wallpaper1600.jpg">1600x1200</a> - <a
+        href="images/wallpaper1680.jpg">1680x1050</a><br /> <br />
+    </div>
+  </div>
+</div>
\ No newline at end of file
diff --git a/content/en_index.php b/content/en_index.php
new file mode 100644
index 0000000..e094769
--- /dev/null
+++ b/content/en_index.php
@@ -0,0 +1,69 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div class="col-sm-24">
+  <div id="ganymedeHeader">
+    <div id="headerGraphic">
+      <map name="ganymedeHeaderIMap">
+        <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+        <area shape="rect" coords="450,60,745,125"
+          href="/downloads/packages/release/ganymede/sr2">
+      </map>
+      <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+        usemap="#ganymedeHeaderIMap">
+    </div>
+  </div>
+  <div id="widecontent">
+    <br />
+    <table width="70%" align="center">
+      <tr>
+        <td colspan="5">
+          <p>
+            Eclipse Ganymede is the annual release of Eclipse projects
+            in 2008; this year including 23 projects. Some highlights of
+            the release include the new p2 provisioning platform, new
+            Equinox security features, new Ecore modeling tools, support
+            for SOA and much more. Use the links below to download and
+            discover more about the projects in the Ganymede release. <br />
+            <br />
+          </p>
+          <p>
+            Click <a href="http://wiki.eclipse.org/Simultaneous_Release">here</a>
+            to find out about the newest Eclipse Simultaneous Release
+          </p>
+
+        </td>
+      </tr>
+      <tr>
+        <td align="center" valign="top"><a
+          href="/downloads/packages/release/ganymede/sr2"><img
+            src="http://dev.eclipse.org/huge_icons/actions/document-save.png" /></a><br />
+          <a href="/downloads/packages/release/ganymede/sr2">Download
+            Ganymede</a></td>
+        <td align="center" valign="top"><a href="learn.php"><img
+            src="http://dev.eclipse.org/huge_icons/actions/system-search.png" /></a><br />
+          <a href="learn.php">Learn&nbsp;more about&nbsp;Ganymede</a></td>
+        <td align="center" valign="top"><a href="buzz.php"><img
+            src="http://dev.eclipse.org/huge_icons/devices/network-wireless.png" /></a><br />
+          <a href="buzz.php">Ganymede Buzz</a></td>
+        <td align="center" valign="top"><a href="mapList.php"><img
+            src="http://dev.eclipse.org/huge_icons/categories/applications-internet.png" /></a><br />
+          <a href="mapList.php">Ganymede&nbsp;Around the&nbsp;World</a></td>
+        <td align="center" valign="top"><a href="/donate/"><img
+            src="http://dev.eclipse.org/huge_icons/apps/system-users.png" /></a><br />
+          <a href="/donate/">Friends of Eclipse</a></td>
+      </tr>
+    </table>
+  </div>
+
+</div>
\ No newline at end of file
diff --git a/content/en_learn.php b/content/en_learn.php
new file mode 100644
index 0000000..73460a9
--- /dev/null
+++ b/content/en_learn.php
@@ -0,0 +1,1347 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div id="ganymedeHeader">
+  <div id="headerGraphic">
+    <map name="ganymedeHeaderIMap">
+      <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+      <area shape="rect" coords="450,60,745,125"
+        href="/downloads/packages/release/ganymede/sr2">
+    </map>
+    <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+      usemap="#ganymedeHeaderIMap">
+  </div>
+</div>
+<aside id="leftcol" class="col-md-4">
+  <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+    <li class="separator"><a class="separator" href="/ganymede/">
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/downloads/packages/" target="_self"> Download Ganymede </a>
+    </li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/learn.php" target="_self"> Learn more about
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/mapList.php" target="_self"> Ganymede Around the World
+    </a></li>
+
+  </ul>
+</aside>
+<div id="midcolumn">
+
+
+  <div class="title">
+    <img align="absbottom"
+      src="http://dev.eclipse.org/large_icons/actions/system-search.png" />
+    <h1 class="inline">Learn more about Ganymede</h1>
+  </div>
+  <div id="intro">
+    <p>
+      Browse our Ganymede Demos from <a href="http://live.eclipse.org"
+        target="_blank">Eclipse Live</a> or view the list of Ganymede
+      Projects.
+    </p>
+  </div>
+  <div id="dataBox">
+    <div id="tabData">
+
+
+      <table cellspacing=0 class="webinars">
+        <tr class="header">
+          <td width="35%">Project Name</td>
+          <td width="12%" align="center">Version</td>
+          <td width="10%" align="center">Project Summary</td>
+          <td width="12%" align="center">Download</td>
+        </tr>
+        <tr class="tableRow">
+          <td><b></b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.java-ee-config"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/java-ee-config/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b></b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.umlx"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/gmt/downloads/?project=umlx">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b></b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.sdo"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="/modeling/emf/downloads/?project=sdo">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b></b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt.tcf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b></b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.emf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="/modeling/emf/downloads/?project=emf">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Acceleo</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.acceleo"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/acceleo/download">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Accessibility Tools Framework</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.actf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/actf/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Agent Modeling Platform</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://eclipse.org/amp/installing/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Amalgamation</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amalgam"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/downloads/packages/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>ATL</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.atl"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://eclipse.org/mmt/downloads/?project=atl">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>BPEL Designer</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpel"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="https://hudson.eclipse.org/hudson/job/bpel-0.5/lastSuccessfulBuild/artifact/site/target/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>BPMN modeler</b></td>
+          <td align="center">1.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmnmodeler"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>BPMN2 Modeler Project</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmn2-modeler"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/bpmn2-modeler/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Buckminster Component Assembly</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.buckminster"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/buckminster/downloads.html">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Business Intelligence and Reporting Tools (BIRT)</b></td>
+          <td align="center">2.3.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=birt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/birt/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>C/C++ Development Tooling (CDT)</b></td>
+          <td align="center">5.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/cdt/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>CDO Model Repository</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.cdo"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/cdo/downloads">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Code Recommenders</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.recommenders"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://eclipse.org/recommenders/download/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Dali Java Persistence Tools</b></td>
+          <td align="center">2.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.dali"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/dali/downloads.html">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Data Tools Platform</b></td>
+          <td align="center">1.6 (\"Ganymede\")</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/datatools/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Device Debugging</b></td>
+          <td align="center">1.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=dsdp.dd"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/dsdp/dd/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Dynamic Languages Toolkit</b></td>
+          <td align="center">0.95</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.dltk"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/technology/dltk/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Communication Framework</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.ecf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/ecf/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Communication Framework Project</b></td>
+          <td align="center">2.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.ecf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/ecf/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Generation Factories (EGF)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.egf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/downloads/download.php?file=/egf/tool/egf_1.0.0RC2/org.eclipse.egf_1.0.0.v20120528-1601.zip">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Git Team Provider</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.egit"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="http://eclipse.org/egit/download">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Gyrex Project</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.gyrex"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/gyrex/download/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Model Framework Technology (EMFT)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Modeling Framework (EMF)</b></td>
+          <td align="center">2.4.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=emf">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Packaging Project</b></td>
+          <td align="center">1.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/downloads/packages/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Platform</b></td>
+          <td align="center">3.4</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Project</b></td>
+          <td align="center">3.4</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Runtime Packaging Project</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.rtp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="http://eclipse.org/rtp/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Scout</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.scout"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/scout/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Eclipse Web Tools Platform Project</b></td>
+          <td align="center">WTP 3.0.0 (Ganymede)</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EclipseLink Project</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/eclipselink/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Ecore Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.ecoretools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=ecoretools">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Compare</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.compare"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=compare">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Compare</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.compare"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=compare">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Diff/Merge</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.diffmerge"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://wiki.eclipse.org/EMF_DiffMerge/Download">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Facet</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.emf-facet"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/facet/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Query</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=query">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Query2</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query2"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/modeling/emf/query2/updates/1.0/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Teneo Model Relational Mapping</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.teneo"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=teneo">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Transaction</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.transaction"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=transaction">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>EMF Validation</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.validation"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/?project=validation">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Enterprise Tools for the OSGi Service Platform</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.libra"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/libra/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Equinox</b></td>
+          <td align="center">3.4</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/equinox/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Equinox p2</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox.p2"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/equinox/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Extended Editing Framework (EEF)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.eef"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=eef">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Fortran Development Tools (Photran)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp.photran"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphical Editing Framework (GEF)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.gef"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/gef/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphical Modeling Framework</b></td>
+          <td align="center">2.1.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/gmf/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphical Modeling Framework (GMF) Notation</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-notation"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-notation">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphical Modeling Framework (GMF) Runtime</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-runtime"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-runtime">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphical Modeling Framework (GMF) Tooling</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-tooling"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-tooling">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Graphiti</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.graphiti"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/graphiti/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Hudson</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.hudson"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Intent</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs.intent"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/intent/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Java development tools debug</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt.debug"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Java Emitter Templates (JET2)</b></td>
+          <td align="center">M2T JET 0.9.0 (Ganymede)</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.jet"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/m2t/downloads/?project=jet">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Java implementation of Git</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jgit"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/jgit/download/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Java Workflow Tooling</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.jwt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://wiki.eclipse.org/JWT_Downloads#Current_Releases">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>JavaScript Development Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsdt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>JavaServer Faces</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>JDT - Java development tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Jetty - Servlet Engine and Http Server</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.jetty"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/jetty/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Jubula Functional Testing Tool</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jubula"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/jubula/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Koneki</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.koneki"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/koneki/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Linux Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.linuxtools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/linuxtools/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Marketplace Client</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.mpc"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Maven Integration</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="http://eclipse.org/m2e/download/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Maven Integration for Web Tools Platform</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e.m2e-wtp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="m2e-wtp/download/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>MDT UML2</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="/modeling/mdt/downloads/?project=uml2">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>MDT UML2 Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2-tools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2tools">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>MDT XSD (XML Schema Definition)</b></td>
+          <td align="center">2.4.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.xsd"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/mdt/downloads/?project=xsd">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Memory Analyzer</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.mat"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mat/downloads.php">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Memory Analyzer</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mat"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/mat/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mint</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mint"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=mint">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mobile Tools for Java</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah.mtj"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/dsdp/mtj/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Model Development Tools (MDT)</b></td>
+          <td align="center">Ganymede</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/modeling/mdt/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Model Discovery</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.modisco"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/gmt/modisco/download/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Model Focusing Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context.mft"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Model To Text (M2T)</b></td>
+          <td align="center">0.9.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/m2t/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Model-to-Model Transformation (MMT)</b></td>
+          <td align="center">Ganymede</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mmt/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Modeling Team Framework</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mtf"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Modeling Workflow Engine</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.mwe"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>modeling.emft.mwe</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mwe"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>MoDisco</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.modisco"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/MoDisco/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn</b></td>
+          <td align="center">3.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mylyn"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn</b></td>
+          <td align="center">3.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Builds</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.builds"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Commons</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.commons"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Context</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Docs</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Reviews</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.reviews"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Tasks</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.tasks"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Mylyn Versions</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.versions"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Net4j Signalling Platform</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.net4j"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/emf/downloads/index.php?project=net4j">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Object Teams</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.objectteams"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/objectteams/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>OCL (Object Constraint Language)</b></td>
+          <td align="center">1.2 (Ganymede)</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/mdt/downloads/?project=ocl">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Orion</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.orion"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/orion/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Papyrus</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.papyrus"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Parallel Tools Platform (PTP)</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/ptp/downloads.php">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>PDE - Plugin Development Environment</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.pde"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>PHP Development Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.pdt"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/tools/pdt/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Platform Ant</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform.ant"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>QVT Operational</b></td>
+          <td align="center">1.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.qvt-oml"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/mmt/downloads/index.php?project=qvto&showAll=0&showMax=5">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Remote Application Platform</b></td>
+          <td align="center">1.1</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.rap"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/rap/downloads/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Riena Project</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.riena"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://wiki.eclipse.org/Riena_Getting_started">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Sapphire</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sapphire"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/sapphire/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>SCA Tools</b></td>
+          <td align="center">1.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.sca"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://wiki.eclipse.org/SCA#Install">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Sequoyah</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/sequoyah/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Server Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.servertools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Sketch</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sketch"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/sketch/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>SOA Tools</b></td>
+          <td align="center">1.0.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=stp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/stp/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Sphinx</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.sphinx"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/sphinx/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Stardust</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.stardust"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://git.eclipse.org/c/q=stardust">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Subversive - SVN Team Provider</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/subversive/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Swordfish</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.swordfish"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/swordfish/downloads">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Target Management</b></td>
+          <td align="center">3.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.tm"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/tm/downloads/index.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b> Test and Performance Tools Platform Project</b></td>
+          <td align="center">4.5.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tptp"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/tptp/home/downloads/downloads.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>VE - Visual Editor</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ve"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/tools/ve/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Virgo</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.virgo"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/virgo/download/">Download</a></td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Web Services Tools</b></td>
+          <td align="center">WTP 3.0</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.webservices"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Webtools Releng</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.releng"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>WindowBuilder</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.windowbuilder"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="/windowbuilder/download.php">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>WTP Common Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.common"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>WTP EJB Tools</b></td>
+          <td align="center">WTP 3.0 (Ganymede)</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.ejbtools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>WTP Java EE Tools</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jeetools"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>WTP Source Editing</b></td>
+          <td align="center">3.0 (Ganymede)</td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.sourceediting"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://download.eclipse.org/webtools/downloads/">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Xpand</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.xpand"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/modeling/m2t/downloads/?showAll=0&project=xpand">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Xtend</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.xtend"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a href="http://www.eclipse.org/xtend">Download</a>
+          </td>
+        </tr>
+        <tr class="tableRow">
+          <td><b>Xtext</b></td>
+          <td align="center"></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.tmf.xtext"><img
+              src="images/homepage.gif"></a></td>
+          <td align="center"><a
+            href="http://www.eclipse.org/Xtext/download/">Download</a></td>
+        </tr>
+      </table>
+    </div>
+  </div>
+</div>
diff --git a/content/en_map.php b/content/en_map.php
new file mode 100644
index 0000000..29c1b88
--- /dev/null
+++ b/content/en_map.php
@@ -0,0 +1,227 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+	<script type="text/javascript" src="functions.js"></script>
+	<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA85Ct-u89MRBL6KQDW1oYFRRVZIdxFKFwDr3XyDwet7lo3BxWzRQ-OiA6LG0_IUfBnGsh0fZU1lolWA"
+      type="text/javascript"></script>
+
+    <body onunload="GUnload()">
+  	 <div id="midcolumn">
+
+  	   <div class="mapDiv">
+ 		<div class="dialog">
+ 		<div class="dialogContent">
+  			<div class="t"></div>
+  			<!-- Your content goes here -->
+		  	<table class="dialogTable" cellspacing=0 cellpadding=0>
+	  			<tr>
+	  	  			<td style="text-align:center;font-size:120%" colspan="2">
+	  	  			  <h1>Ganymede Around the World</h1>
+	  	  			  <div align="center" style="width:100%"><p class="contestText">Join the Eclipse global community.  Write a blog, record a video/podcast, or leave a message on how you are using the new Ganymede release and have an opportunity to <b>win cool Eclipse stuff</b>. <a href="./aroundtheworld.php">Full details here</a>.</p> </div>
+	  	  			</td>
+	  	  		</tr>
+				<tr>
+					<td colspan="2"> <br/></td>
+				</tr>
+	  	  			<td valign="top" class="left">
+	  	  			  <div id="map" style="width:610px; height: 400px"></div>
+	  	  			  <div style="font-size:80%;text-align:right;padding-right:5px;"><a href="mapList.php">See a list of all the entries.</a></div>
+	  	  			</td>
+	  	  			<td valign="top" class="right">
+	  	  							<div class="form">
+					<form action="" method="POST" name="spotForm">
+					<table width="240" class="formBox">
+						<tr>
+							<td>Name<span class="required">*</span>:</td>
+							<td><input type="text" name="name" id="name"/></td>
+						</tr>
+						<tr>
+							<td>City<span class="required">*</span>:</td>
+							<td><input type="text" name="city" id="city"/></td>
+						</tr>
+						<tr>
+							<td>State/Prov:</td>
+							<td><input type="text" name="state" id="state"/></td>
+						</tr>
+						<tr>
+							<td>Country<span class="required">*</span>:</td>
+							<td><input type="text" name="country" id="country"/></td>
+						</tr>
+						<tr>
+							<td colspan="2">
+								<input name="type" type="radio" value="Blog" id="Blog" checked onclick="checkReq('Blog');"/>Blog
+								<input name="type" type="radio" value="Message" id="Message" onclick="checkReq('Message');"/>Message
+								<input name="type" type="radio" value="Recording" id="Recording" onclick="checkReq('Recording');"/>Recording
+							</td>
+						</tr>
+						<tr>
+							<td><div id="">Title:</div></td>
+							<td><div id=""><input type="text" name="title" id="title" value=""/></div></td>
+						</tr>
+						<tr>
+							<td>URL<span id="urlReq"class="required">*</span>:</td>
+							<td><input type="text" name="url" id="url" value="http://"/></td>
+						</tr>
+						<tr>
+							<td valign="top">Message<span id="messageReq" class="required invisible">*</span>:</td>
+							<td valign="top"><textarea cols=15 name="content" id="content"></textarea><br/><span style="font-size:80%;">(256 Character Max)</span></td>
+						</tr>
+						<tr>
+							<td colspan="2"><br/></td>
+						</tr>
+						<tr>
+							<td>Email:</td>
+							<td><input type="text" name="email" id="email"/></td>
+						</tr>
+						<tr>
+							<td><span id="urlReq"class="required">12 - 18=</span></td>
+							<td><input type="text" name="useranswer"/></td>
+						<tr>
+							<td colspan="2" style="font-size:80%;">To be included in the <a href="./aroundtheworld.php">Ganymede Around the World Contest</a> be sure to provide us with your email address.</td>
+						</tr>
+						<!--  <tr>
+							<td valign="top">Ganymede Projects:</td>
+							<td>
+								<div id="projects"><a class="expandProjects" onclick="showProjects()">Click here to choose which Ganymede Projects you are using.</a></div>
+							</td>
+						</tr>
+						<tr>
+							<td colspan=2>
+								<div id="selectProjects" class="invisible">
+									<table width="100%">
+										<tr>
+
+										</tr>
+									</table>
+								</div>
+							</td>
+						</tr> -->
+						<tr>
+							<td>&nbsp;</td>
+							<td>
+								<input type="hidden" id="lat" name="lat" value="0"/>
+								<input type="hidden" id="lng" name="lng" value="0"/>
+								<input type="hidden" name="securityanswer" value="czoxMzoidGUuT3RoYXNUSTV6cyI7"/>
+								<input type="button" value="Submit" onclick="fetchLocation();"/>
+							</td>
+						</tr>
+					</table>
+				</form>
+			</div>
+	  	  			</td>
+	  	  		</tr>
+	  	  		<tr>
+	  	  			<td align="center" class="left">
+	  	  				<div id="filters">
+	  	  					<input type="checkbox" id="BlogFilter" checked onclick="toggleType('Blog')"/>Blog (298)
+	  	  					<input type="checkbox" id="MessageFilter" checked onclick="toggleType('Message')"/>Message (417)
+	  	  					<input type="checkbox" id="RecordingFilter" checked onclick="toggleType('Recording')"/>Recording (14)
+	  	  				</div>
+	  	  			</td>
+	  	  			<td class="right">&nbsp;</td>
+	  	  		</tr>
+	  	  	</table>
+			</div>
+ 			<div class="b"><div></div></div>
+		</div>
+		</div>
+  	 </div>
+	<hr class="clearer"/><br/><br/><br/><br/>
+	<hr class="clearer"/>
+
+ <script type="text/javascript">
+    checkReq('');
+    if (GBrowserIsCompatible()) {
+      // arrays to hold copies of the markers used by the side_bar
+      // because the function closure trick doesnt work there
+      var gmarkers = [];
+      var gmarkersType = [];
+      var i = 0;
+      // A function to create the marker and set up the event window
+      function createMarker(point,html,type) {
+        var marker = new GMarker(point);
+        GEvent.addListener(marker, "click", function() {
+          marker.openInfoWindowHtml(html);
+        });
+        gmarkers[i] = marker;
+        gmarkersType[i] = type;
+        i++;
+        return marker;
+      }
+      // This function picks up the click and opens the corresponding info window
+      function myclick(i) {
+        GEvent.trigger(gmarkers[i], "click");
+      }
+      // create the map
+      var map = new GMap2(document.getElementById("map"));
+      map.addControl(new GSmallMapControl());
+      map.setCenter(new GLatLng(38.345739 ,-75.765338), 1);  //Center on Eclipse Foundation HQ
+	  //map.setMapType(G_HYBRID_MAP);
+      // Read the data from example.xml
+      var request = GXmlHttp.create();
+      request.open("GET", "mapData.php", true);
+      request.onreadystatechange = function() {
+        if (request.readyState == 4) {
+          var xmlDoc = GXml.parse(request.responseText);
+          // obtain the array of markers and loop through it
+          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
+          for (var i = 0; i < markers.length; i++) {
+            // obtain the attribues of each marker
+            var lat = parseFloat(markers[i].getAttribute("lat"));
+            var lng = parseFloat(markers[i].getAttribute("lng"));
+            var point = new GLatLng(lat,lng);
+            var author = markers[i].getAttribute("author");
+            var location = markers[i].getAttribute("location");
+            var url = markers[i].getAttribute("url");
+            var type = markers[i].getAttribute("type");
+            var typeText = type;
+            var title = markers[i].getAttribute('title');
+			if (url == "http://")
+			{
+				url = "";
+			}
+           	if ((title.length == 0) && (url.length > 0)) // No title supplied so just display URL
+           	{
+           		typeText = type + ' - <a href="' + url + '" target=_"blank">' + url.substring(7) + '</a>';
+			}
+			else if ((title.length > 0) && (url.length == 0)) // No URL supplied so just display the title;
+			{
+				typeText = type + ' - ' + title;
+			}
+			else if ((title.length > 0) && (url.length > 0)) // We have both lets display both.
+			{
+            	typeText = type + ' - <a href="' + url + '" target=_"blank">' + title + '</a>';
+            }
+            else
+            {
+            	typeText = type;
+            }
+
+            var html = '<div class="infoWindow"><b>' + author + '</b><br/>' + location + '<br/>' + typeText + '<br/><br/>' + markers[i].textContent + '</div>';
+            // create the marker
+            var marker = createMarker(point, html,type );
+            map.addOverlay(marker);
+          }
+          // Markers have all been added, lets check to see if they should be visible
+
+          checkVisibility('Blog');
+          checkVisibility('Message');
+          checkVisibility('Recording');
+        }
+      }
+      request.send(null);
+    }
+    else {
+      alert("Sorry, the Google Maps API is not compatible with this browser");
+    }
+    </script>
diff --git a/content/en_mapList.php b/content/en_mapList.php
new file mode 100644
index 0000000..b398a28
--- /dev/null
+++ b/content/en_mapList.php
@@ -0,0 +1,5436 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div id="midcolumn">
+  <h1>Ganymede Around the World</h1>
+  <br />
+  <table class="list">
+    <tr class="header">
+      <td><a href="?sort=name">Name</a></td>
+      <td><a href="?sort=location_country">Location</a></td>
+      <td>Content</td>
+    </tr>
+    <tr>
+      <td>Juan Pino Rodr�guez</td>
+      <td>malaga, Espa�a</td>
+      <td>Message - Me gusta<br />Soy programador Java, pero lo m�s
+        importante que encuentro es lo complicado de instalar
+        actualizaciones o plugins, esto no es solo una opinion personal,
+        toda la comunidad de eclipse en Espa�a opinan lo mismo. Las
+        actualizaciones de plugins, instalaciones,
+      </td>
+    </tr>
+    <tr>
+      <td>verdy</td>
+      <td>indonesia, jambi</td>
+      <td>Blog - <a href="http://siagian.p.blog.com" target="_blank">siagian.p</a><br />i
+        can tray
+      </td>
+    </tr>
+    <tr>
+      <td>ashraf</td>
+      <td>sfax, Tunisia</td>
+      <td>Message <br />proud to be involved
+      </td>
+    </tr>
+    <tr>
+      <td>mamimoluo</td>
+      <td>chuzhou, china</td>
+      <td>Blog - <a href="http://hi.baidu.com/mimimo" target="_blank">mamimoluo</a><br />just
+        soso
+      </td>
+    </tr>
+    <tr>
+      <td>Khaled</td>
+      <td>Sfax, Tunisia</td>
+      <td>Message - Ganymede<br />Eclipse Ganymede is very rich, it's
+        wonderfull.
+      </td>
+    </tr>
+    <tr>
+      <td>mansouri med ali</td>
+      <td>amdoun , tunisie</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Frizky</td>
+      <td>Jakarta, IIndonesia</td>
+      <td>Message - Masih di Ganymede<br />Untuk sekarang masih di
+        Ganymede belum pindah ke Galileo
+      </td>
+    </tr>
+    <tr>
+      <td>Phuc Ngo Hoang</td>
+      <td>Ho Chi Minh City, Vietnam</td>
+      <td>Message <br />Great development tool
+      </td>
+    </tr>
+    <tr>
+      <td>nelu</td>
+      <td>satu mare, romania</td>
+      <td>Message - features of ganymede<br />Do you now someone what
+        are the features of eclipse ganymede ?
+      </td>
+    </tr>
+    <tr>
+      <td>Frank</td>
+      <td>San Salvador, El Salvador</td>
+      <td>Message - Excellent<br />Good Job race
+      </td>
+    </tr>
+    <tr>
+      <td>madalin</td>
+      <td>timisoara, romania</td>
+      <td>Message <br />Cool!
+      </td>
+    </tr>
+    <tr>
+      <td>henrique lopes</td>
+      <td>nil�polis, Brasil</td>
+      <td>Recording <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Borko Djurovic</td>
+      <td>Pljevlja, Montenegro</td>
+      <td>Message - The best base for aplication Development<br />Thank
+        You Ganimede
+      </td>
+    </tr>
+    <tr>
+      <td>Mayur Daftari</td>
+      <td>Pune, India</td>
+      <td>Message - Walking on Moon<br />The Ganymede release gives me
+        the experience as i am walking on moon with java and j2ee
+        technologies unders my arms.
+      </td>
+    </tr>
+    <tr>
+      <td>WANGBL</td>
+      <td>beijing, CHINA</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>WANGBL</td>
+      <td>beijing, CHINA</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Marcelo Gennari</td>
+      <td>S�o Paulo, Brazil</td>
+      <td>Message - I use it!<br />Thank you for all Ganymede team for
+        providing us, such a great development tool.
+      </td>
+    </tr>
+    <tr>
+      <td>Feng Yingcai</td>
+      <td>Guangzhou, China</td>
+      <td>Message - I like eclipse<br />Eclipse is an excellent ide for
+        java, but sometime it is not enough when I want to update it.
+      </td>
+    </tr>
+    <tr>
+      <td>Max</td>
+      <td>Brattleboro, USA</td>
+      <td>Message <br />Eclipse in VT
+      </td>
+    </tr>
+    <tr>
+      <td>Mario A. Gimenez</td>
+      <td>Florencio Varela, Argentina</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Mano Java - Funvic</td>
+      <td>Mococa, Brazil</td>
+      <td>Message - Show de Bola<br />E ai rapaziada!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Eduardo Martin Vega</td>
+      <td>Capital Federal, Argentina</td>
+      <td>Message <br /> Hello friends of eclipse. I am writing to
+        congratulate the Eclipse development environment. I like more
+        than Netbase, is very practical and can be added besides the
+        plugin you want. I would like to send me the shirt of eclipse is
+        very good. Saludos desd
+      </td>
+    </tr>
+    <tr>
+      <td>Anand Haridas</td>
+      <td>Bangaloru, India</td>
+      <td>Blog - <a href="http://anandharidas.blogspot.com/"
+        target="_blank">http://anandharidas.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Amardeep Singh Paneser</td>
+      <td>Bangalore, India</td>
+      <td>Message <br />This is a Great IDE
+      </td>
+    </tr>
+    <tr>
+      <td>FRJK</td>
+      <td>Chennai, India</td>
+      <td>Blog - <a href="http://codenaut.blogspot.com" target="_blank">http://codenaut.blogspot.com</a><br />
+      </td>
+    </tr>
+    <td>FRJK</td>
+    <td>Chennai, India</td>
+    <td>Blog - <a href="http://codenaut.blogger.com" target="_blank">http://codenaut.blogger.com</a><br />
+    </td>
+    </tr>
+    <tr>
+      <td>Vijay Kumar Keshri</td>
+      <td>Bangalore, India</td>
+      <td>Blog - <a href="http://sites.google.com/struts2spring"
+        target="_blank">struts2spring</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Krzysztof Adamczyk</td>
+      <td>Rybnik, Poland</td>
+      <td>Blog - <a href="http://k-adamczyk.blogspot.com/"
+        target="_blank">Krzysztof Adamczyk - Java Developer's Diary</a><br />I
+        use Eclipse both as an IDE and as a Rich Client Platform and
+        it's great :) Working with Eclipse is a pleasure.
+      </td>
+    </tr>
+    <tr>
+      <td>Simon Pettersson</td>
+      <td>Stockholm, sweden</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>F�bio Alves</td>
+      <td>Cuiab�, Brazil</td>
+      <td>Message <br />the most powerful IDE for PHP and Java
+      </td>
+    </tr>
+    <tr>
+      <td>Han Feng</td>
+      <td>Dalian, China</td>
+      <td>Message <br />I think there would be a lot of improvement to
+        do with Real-time linux(preempt-rt).
+      </td>
+    </tr>
+    <tr>
+      <td>POKQ</td>
+      <td>Shenzhen, China</td>
+      <td>Message - Wonderful Ganymede<br />Ganymede,it is a wonderful
+        version to Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>IT Formation</td>
+      <td>Marrakech, Maroc</td>
+      <td>Blog - <a href="http://www.itformation.com" target="_blank">IT
+          Formation</a><br />IT Formation
+      </td>
+    </tr>
+    <tr>
+      <td>Elson Bezerra Benevides</td>
+      <td>Cuiaba, Brazil</td>
+      <td>Blog - <a href="http://smarttalk.com.br" target="_blank">Mr.</a><br />Hello
+        World: if talks Java, WebApps, travel web solutions
+      </td>
+    </tr>
+    <tr>
+      <td>sivaram</td>
+      <td>vizianagaram, india</td>
+      <td>Blog - eclipse ganymade<br />fkdfdf
+      </td>
+    </tr>
+    <tr>
+      <td>Vladimir Pakan</td>
+      <td>Myjava, Slovakia</td>
+      <td>Message <br />Hi there. I'm using Eclipse mostly as Java IDE
+        together with subclipse. I realy like improvements you have made
+        in GANYMEDE :-) and I like it at all. Good work.
+      </td>
+    </tr>
+    <tr>
+      <td>Picles</td>
+      <td>Blumenau, Brazil</td>
+      <td>Message - The <br />Ganymede is here!
+      </td>
+    </tr>
+    <tr>
+      <td>My GirlFriend</td>
+      <td>mumbai, india</td>
+      <td>Message <br />Hi Girl
+      </td>
+    </tr>
+    <tr>
+      <td>Tanmay</td>
+      <td>Shah, India</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Apolo Rodriguez</td>
+      <td>Mexico DF, Mexico</td>
+      <td>Message - <a href="http://linuxsetufree.blogspot.com"
+        target="_blank">Great IDE</a><br />Grettings for the new
+        eclipse, in now i use eclipse ganymede for a development proyect
+        with Struts2, spring an hibernate an the plugins an the easy way
+        to charge the tool is awesome, the most i like of eclipse that
+        you can use in linux and windows an mac
+      </td>
+    </tr>
+    <tr>
+      <td>Ola Spjuth</td>
+      <td>Uppsala, Sweden</td>
+      <td>Blog - <a href="http://bioclipse.blogspot.com/"
+        target="_blank">Bioclipse - a workbench for life science built
+          on Eclipse</a><br />This blog is dedicated to the development
+        of Bioclipse - a workbench for life science built on Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Sudarshan B. Singh</td>
+      <td>Kathmandu, Nepal</td>
+      <td>Blog - <a href="http://www.sudarshansingh.com.np"
+        target="_blank">http://www.sudarshansingh.com.np</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ed Williams</td>
+      <td>Helena, USA</td>
+      <td>Message <br />Trying Ganymede with jboss for a few projects...
+      </td>
+    </tr>
+    <tr>
+      <td>zhangyj</td>
+      <td>changchun, china</td>
+      <td>Blog - <a href="http://oxidy.javaeye.com" target="_blank">http://oxidy.javaeye.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Brian Welch</td>
+      <td>Sydney, Australia</td>
+      <td>Blog - <a href="http://bwsitblog.blogspot.com/"
+        target="_blank">BW's IT Blog </a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Raj S</td>
+      <td>Dallas, USA</td>
+      <td>Message <br />Ganymede + PDT + XDebug with symfony framework
+        and YUI developing LAMP+AJAX Website.
+      </td>
+    </tr>
+    <tr>
+      <td>EXINI Diagnostics</td>
+      <td>Lund, Sweden</td>
+      <td>Message <br />EXINI Diagnostics use Eclipse to develop
+        intelligent diagnostic software for healthcare.
+      </td>
+    </tr>
+    <tr>
+      <td>Adri�n L�pez</td>
+      <td>Ciudad del Este, Paraguay</td>
+      <td>Recording - <a
+        href="http://sites.google.com/site/adriansite86/"
+        target="_blank">Add</a><br />Hoolaa
+      </td>
+    </tr>
+    <tr>
+      <td>Geoffrey</td>
+      <td>Ghent, Belgium</td>
+      <td>Blog - <a href="http://www.mediavan.be" target="_blank">http://www.mediavan.be</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Saket</td>
+      <td>Bangalore, India</td>
+      <td>Message <br />Ganymede rocks! It integrates a number of
+        diverse tools in my favourite IDE :)
+      </td>
+    </tr>
+    <tr>
+      <td>Benaddy</td>
+      <td>Agadir, Morocco</td>
+      <td>Message <br />Thank you eclipse stay free
+      </td>
+    </tr>
+    <tr>
+      <td>Dario Fantoni</td>
+      <td>Viadana, Italy</td>
+      <td>Recording <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Krasimir Gucev</td>
+      <td>Sofia, Bulgaria</td>
+      <td>Recording - <a href="http://indexbg.com" target="_blank">http://indexbg.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Stephan Fink</td>
+      <td>Coswig, Germany</td>
+      <td>Message - Eclipse ist toll!<br />Ich nutze Eclipse f�r mein
+        Studium und auf Arbeit f�r fast jede Programmiersprache, die ich
+        brauche.
+      </td>
+    </tr>
+    <tr>
+      <td>Joao PC Costa</td>
+      <td>Lisbon, Portugal</td>
+      <td>Blog - <a href="http://www.meshone.net" target="_blank">http://www.meshone.net</a><br />IT
+        Engineer for 5 years, 2008. The best open-source for
+        development. Good modeler, deployer and best maintenance
+        application.
+      </td>
+    </tr>
+    <tr>
+      <td>Alexis</td>
+      <td>San Javier, San Javier</td>
+      <td>Message - framework "SPRING" sorry<br />.
+      </td>
+    </tr>
+    <tr>
+      <td>Alexis Quiroz Kirochi</td>
+      <td>San Javier, San Javier</td>
+      <td>Message - iniciandose en Eclipse<br />...quiero hacer mi tesis
+        en Framework Pring, y quiero ocupar eclipse pero no cacho
+        mucho... alguna ayuda a... kirochi@hotmail.com asunto around
+        friend
+      </td>
+    </tr>
+    <tr>
+      <td>hugo</td>
+      <td>romero, paraguay</td>
+      <td>Blog - <a href="http://www.riocoronado.blogspot.com/"
+        target="_blank">http://www.riocoronado.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ming-der Wang</td>
+      <td>Taipei, Taiwan</td>
+      <td>Blog - <a href="http://eclipsetaiwan.blogspot.com/"
+        target="_blank">http://eclipsetaiwan.blogspot.com/</a><br />We
+        use Ganymede for Modeling and Android programming.
+      </td>
+    </tr>
+    <tr>
+      <td>Iuri Carraro</td>
+      <td>Porto Alegre, Brasil</td>
+      <td>Message - Developers<br />Go to hell and back!
+      </td>
+    </tr>
+    <tr>
+      <td>Paul</td>
+      <td>Oxford, United Kingdom</td>
+      <td>Message - <a href="http://www.csw.co.uk" target="_blank">http://www.csw.co.uk</a><br />An
+        eclipse user since EOL of Visual Age for Java. Using Eclipse to
+        implement EPR software for the Health Care industry.
+      </td>
+    </tr>
+    <tr>
+      <td>keyur thadeshwar</td>
+      <td>mumbai, india</td>
+      <td>Message <br />hi i like eclipse. bet all eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>BOUSSEBAT Khaled</td>
+      <td>Algiers, Algeria</td>
+      <td>Blog - Software Architect & Developer in Java EE<br />Ganymede
+        is a very code product machine
+      </td>
+    </tr>
+    <tr>
+      <td>Eric Marchand</td>
+      <td>Sophia-Antipolis, France</td>
+      <td>Message <br />Eclipse's just great!
+      </td>
+    </tr>
+    <tr>
+      <td>YarentY</td>
+      <td>Athlone, Ireland</td>
+      <td>Blog - <a href="http://www.yarenty.com" target="_blank">http://www.yarenty.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Deng Fanxin</td>
+      <td>Beijing, China</td>
+      <td>Blog - <a href="http://dengfanxin.cn/" target="_blank">My page</a><br />Ganymede
+        provides a complete modeling tool which will promote the process
+        of MDD
+      </td>
+    </tr>
+    <tr>
+      <td>Oscar Casarrubias</td>
+      <td>Mexico City, Mexico</td>
+      <td>Message <br />I use eclipse for Portlets development
+      </td>
+    </tr>
+    <tr>
+      <td>Faustino</td>
+      <td>Belo Horizonte, BRASIL</td>
+      <td>Message - for (;;){very good}<br />Excelente. O pre�o e ainda
+        melhor
+      </td>
+    </tr>
+    <tr>
+      <td>Aquilardo</td>
+      <td>Cochabamba, Bolivia</td>
+      <td>Blog - <a href="http://mypdt.wordpress.com" target="_blank">My
+          PHP Development Tools</a><br />Hola amigos a todos, cree mi
+        blog para compartir mis experiencias con Eclipse PDT y Aptana
+        Studio Pluggin
+      </td>
+    </tr>
+    <tr>
+      <td>Nirbhay K</td>
+      <td>Noida, India</td>
+      <td>Message - <a href="http://meridiansys.com" target="_blank">http://meridiansys.com</a><br />You
+        guys are doing Great !!
+      </td>
+    </tr>
+    <tr>
+      <td>Marcelo Rocabado</td>
+      <td>La Paz, Bolivia</td>
+      <td>Message <br />Seguro Ganymede ser� de gran utilidad en
+        nuestras proyectos!
+      </td>
+    </tr>
+    <tr>
+      <td>Marcus Hirt</td>
+      <td>Stockholm, Sweden</td>
+      <td>Blog - <a href="http://blogs.oracle.com/hirt" target="_blank">http://blogs.oracle.com/hirt</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>William Aldana</td>
+      <td>Bogota, Colombia</td>
+      <td>Message <br />Usando Ganymede!!! Esta Excelente.
+      </td>
+    </tr>
+    <tr>
+      <td>Bartosz Serwatko</td>
+      <td>Sanok, POLAND</td>
+      <td>Message - RCP Rulez<br />Hi, I'm using Eclipse since 2.3 and I
+        don't want to use other IDEs anymore.
+      </td>
+    </tr>
+    <tr>
+      <td>Icy</td>
+      <td>Tehran, Iran</td>
+      <td>Message <br />Haven't been using eclipse for some time and now
+        getting back to it with Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Jagadish Uriti</td>
+      <td>Stevens Point, USA</td>
+      <td>Blog - <a href="http://www.jags.gq.nu" target="_blank">http://www.jags.gq.nu</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Mathias Betim</td>
+      <td>Ponta Grossa , Brasil</td>
+      <td>Message - O E<br />O Eclipse é uma otima ferramenta para
+        iniciantes na programação orientada a objetos.
+      </td>
+    </tr>
+    <tr>
+      <td>�ukasz Kaczy�ski</td>
+      <td>Wysokie Mazowieckie, Poland</td>
+      <td>Blog - <a href="http://heres.oniej.com" target="_blank">http://heres.oniej.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Skip Hollowell</td>
+      <td>Hilliard, United States</td>
+      <td>Message - Since V1 and still going Strong<br />I have been
+        Eclipse-ing since the V1 days and still love everything it does
+        for me.
+      </td>
+    </tr>
+    <tr>
+      <td>Li Zhihui</td>
+      <td>Hangzhou, China</td>
+      <td>Message <br />Jiayou, Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Iuri Carraro</td>
+      <td>Porto Alegre, Brasil</td>
+      <td>Recording - <a href="http://iuricarraro.no-ip.info/"
+        target="_blank">http://iuricarraro.no-ip.info/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ronald Mathies</td>
+      <td>Leiden, Netherlands</td>
+      <td>Blog - <a
+        href="http://sites.google.com/a/sodeso.nl/public/eclipse-frameworks"
+        target="_blank">Eclipse Frameworks (Plugin development)</a><br />Part
+        of my Java Wiki with specific information about plugin
+        development for Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>park changwoo</td>
+      <td>seoul, korea</td>
+      <td>Blog - <a href="http://pismute.egloos.com" target="_blank">In
+          praise of Difference</a><br />Hellow Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>reclusejack</td>
+      <td>DouLiu, Taiwan</td>
+      <td>Message <br />I can't wait to use the new software.
+      </td>
+    </tr>
+    <tr>
+      <td>Shumilin</td>
+      <td>Munich, Germany</td>
+      <td>Message - DSL with Eclipse<br />We use Eclipse Ganymede for
+        the development of a DSL which makes the work of our customers
+        substantially easier.
+      </td>
+    </tr>
+    <tr>
+      <td>Jan Hodel</td>
+      <td>Bern, Switzerland</td>
+      <td>Message <br />-
+      </td>
+    </tr>
+    <tr>
+      <td>waleed</td>
+      <td>cairo, egypt</td>
+      <td>Message - new experiment<br />ganymede is comfortable looking
+      </td>
+    </tr>
+    <tr>
+      <td>Oscar Martinez</td>
+      <td>Villavicencio, Colombia</td>
+      <td>Message - <a href="http://tuxhardkof.com" target="_blank">Excelente
+          IDE </a><br />es simplemente el mejor entorno de desarrollo
+        integrado que hay, ademas su mejor cualidad es que es
+        multiplatadorma...
+      </td>
+    </tr>
+    <tr>
+      <td>Dave</td>
+      <td>����, Taiwan</td>
+      <td>Message <br />I'm using the DSDP/DD plugins in Ganymede. It's
+        so great and powerful for embedded software develop!!
+      </td>
+    </tr>
+    <tr>
+      <td>Joyce Fung</td>
+      <td>Markham, Canada</td>
+      <td>Message - Miss<br />I'm using the new Ganymede release of
+        Eclipse to try to learn more about computer programming and
+        Java.
+      </td>
+    </tr>
+    <tr>
+      <td>Frank</td>
+      <td>Stuttgart, Germany</td>
+      <td>Message <br />I arbeite sehr gerne beruflich mit Eclipse (im
+        Automotive-Umfeld) und freue mich schon auf Ganymede!
+      </td>
+    </tr>
+    <tr>
+      <td>Rudinei Felipetto</td>
+      <td>Francisco Beltr�o, Brazil</td>
+      <td>Message - Message<br />undefined
+      </td>
+    </tr>
+    <tr>
+      <td>saurabh</td>
+      <td>indore, india</td>
+      <td>Blog - <a href="http://spineers.110mb.com" target="_blank">http://spineers.110mb.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Gediminas Siutilas</td>
+      <td>Vilnius, Lithuania</td>
+      <td>Message - <a href="http://gadas.eu" target="_blank">Again
+          number 1</a><br />This is a number 1 in my playpen. I'm using
+        Eclipse for my own projects and my workday tasks.
+      </td>
+    </tr>
+    <tr>
+      <td>Henrik Danielsson</td>
+      <td>Karlstad, sweden</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Cyril Lakech</td>
+      <td>Lille, France</td>
+      <td>Blog - <a href="http://cyrillakech.blogspot.com"
+        target="_blank">My Eclipse XP</a><br />Eclipse is dev proof !
+        Try it, love it !
+      </td>
+    </tr>
+    <tr>
+      <td>rithy thon</td>
+      <td>phnom penh, Cambodia</td>
+      <td>Message - Interested<br />I'm really interested in Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>lizheng</td>
+      <td>beijing, china</td>
+      <td>Message <br />I like it.
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Pani</td>
+      <td>Tulln, Austria</td>
+      <td>Message <br />Using Ganymede for: - Computer Science studies
+        at TU Wien - Work at a major European company
+      </td>
+    </tr>
+    <tr>
+      <td>Mohammad AbdolLatif</td>
+      <td>Alexandria, Egypt</td>
+      <td>Message <br />Eating, drinking, sleeping and "eclipsing" are
+        biological essentials for mylife to keep going
+      </td>
+    </tr>
+    <tr>
+      <td>�ukasz �eligowski</td>
+      <td>Gdynia, Poland</td>
+      <td>Message - Great<br />Ganymede is exactly what I need. In my
+        opinion - the best version ever. What do you want to add in next
+        version? Thanks a lot for Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Sanghoon Lee</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://blog.naver.com/calm1979"
+        target="_blank">http://blog.naver.com/calm1979</a><br />^___^
+      </td>
+    </tr>
+    <tr>
+      <td>taewoo, kim</td>
+      <td>seoul, s.korea</td>
+      <td>Message - it's cool and hot<br />i hate 3.3 europa, it's too
+        hard and bigger program but 3.4 is wonderful than other eclipse
+        :)
+      </td>
+    </tr>
+    <tr>
+      <td>Jens</td>
+      <td>Oslo, Norway</td>
+      <td>Blog - <a href="http://www.computanse.no" target="_blank">Great!</a><br />Ganymede
+        is great!
+      </td>
+    </tr>
+    <tr>
+      <td>Ryan Hu</td>
+      <td>ZhuHai, China</td>
+      <td>Message - Wonderful Ganymede<br />Ganymede, it's a wonderful
+        version to Eclipse, I like it even the clearcase plugin cannot
+        connect to Rational ClearCase on startup although I really set
+        it to automatically connect. and the debug mode under the tomcat
+        appserver, it's really a debuging rev
+      </td>
+    </tr>
+    <tr>
+      <td>Hoang Van Tien</td>
+      <td>Ho Chi Minh, Viet Nam</td>
+      <td>Message - Best<br />Best for development as a platform and
+        tools
+      </td>
+    </tr>
+    <tr>
+      <td>Sejong,Lee</td>
+      <td>Seoul, Korea</td>
+      <td>Blog - <a href="http://gayafoundation.blogspot.com"
+        target="_blank">http://gayafoundation.blogspot.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Doowon Kim</td>
+      <td>Suwon, South Korea</td>
+      <td>Blog - <a href="http://k2won.net" target="_blank">Timing is
+          everything</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Graulle</td>
+      <td>Toulouse, France</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Martin</td>
+      <td>Praha, Czech Republic</td>
+      <td>Message - <a href="http://www.finetech.org" target="_blank">Mobile
+          software</a><br />Hello, we are using Eclipse for Java
+        development of mobile software. It's the best tool. Keep up the
+        good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Vera Wahler</td>
+      <td>Randersacker, Germany</td>
+      <td>Blog - <a
+        href="http://moreunit.blogspot.com/2008/07/ganymede-release.html"
+        target="_blank">Switching to Ganymede</a><br />The blog entry
+        summarizes my first first impressions switching to Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Kevin Budiyanto</td>
+      <td>Melbourne, Australia</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Sung-Ahn, Kim</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://www.pragmatic.kr/pages/1433164"
+        target="_blank">Plug-in Spy</a><br />Introducing "plug-in spy"
+      </td>
+    </tr>
+    <tr>
+      <td>Sung-Ahn, Kim</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://www.eclipsegeek.com/pages/1467806"
+        target="_blank">Eclipse Ganymede Problems</a><br />eclipse
+        ganymede: problems and some solutions.
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel Angelovski</td>
+      <td>Bitola, Macedonia</td>
+      <td>Message - <a href="http://daniel.angelovski.info"
+        target="_blank">Ganymede</a><br />Starting with Ganymede is
+        exciting, transfering old projects goes easy, it is big
+        improvement for Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Anis</td>
+      <td>Hammam Sousse, Tunisia</td>
+      <td>Message <br />great
+      </td>
+    </tr>
+    <tr>
+      <td>David Borja</td>
+      <td>Medell�n, Colombia</td>
+      <td>Message - <a href="http://www.linea.com.co" target="_blank">http://www.linea.com.co</a><br />I'm
+        an Eclipse user since 2004, and let me say you that the new
+        Eclipse Ganymede is wonderful!, you have to try it!!
+      </td>
+    </tr>
+    <tr>
+      <td>Khoo Teng Siang</td>
+      <td>Kuala Lumpur, Malaysia</td>
+      <td>Message - Great Stuff<br />Ganymede is really GREAT!!. Eclipse
+        has eased my job in Java Programming.
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Finney</td>
+      <td>Columbia, USA</td>
+      <td>Message - <a href="http://smilingsoftwaresolutions.com"
+        target="_blank">http://smilingsoftwaresolutions.com</a><br />As
+        part of my commitment to be one of the best, I use the best
+        tools. This includes Eclipse. Right now that means Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Matheus Rezende de Castro</td>
+      <td>S�o Joaquim de bicas, Brazil</td>
+      <td>Message <br />heeey
+      </td>
+    </tr>
+    <tr>
+      <td>Jim Fergusson</td>
+      <td>Leeds, United Kingdom</td>
+      <td>Blog - <a href="http://www.rivabusinesssystems.com"
+        target="_blank">http://www.rivabusinesssystems.com</a><br />BIRT
+        - outstanding - and so is the whole of Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>atif nisar</td>
+      <td>chicago, USA</td>
+      <td>Message <br />Use Eclipse for perl and Java development
+      </td>
+    </tr>
+    <tr>
+      <td>Bug'sBeni</td>
+      <td>Brussel, Belgium</td>
+      <td>Blog - <a href="http://www.eclipse.org" target="_blank">Java
+          Power Man</a><br />Well let's have a look on this nice IDE...
+        Is it good or not ? Anyway the real answer in couple of years ;)
+      </td>
+    </tr>
+    <tr>
+      <td>Lijo Abraham</td>
+      <td>Bangalore, India</td>
+      <td>Blog <br />Eclipse rocks the world and this is sure one of the
+        best.
+      </td>
+    </tr>
+    <tr>
+      <td>vamsi</td>
+      <td>hyderabad, india</td>
+      <td>Message <br />i like it very much.As this is much faster than
+        other ides and we can develop and extend applications using the
+        framework
+      </td>
+    </tr>
+    <tr>
+      <td>Heresy.Mc</td>
+      <td>FuZhou, China</td>
+      <td>Blog - <a href="http://hi.baidu.com/mcspring" target="_blank">Heresy.Mc</a><br />I
+        like this.
+      </td>
+    </tr>
+    <tr>
+      <td>C�sar Moura</td>
+      <td>Fortaleza, Brazil</td>
+      <td>Message - Congratulations from CEFET-Ceara<br />In fact, I'm
+        doing in Ganymede everything I need in terms of programming
+        (Java, EMF, QVTO, etc.) Thanks, Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Bart�omiej Knabel</td>
+      <td>50-441 Wroc�aw, Poland</td>
+      <td>Message - Ganymede RCP<br />I use Ganymede everywhere: at
+        Home, at Work and also in train ;) Especially I'm interested in
+        RCP architecture, so last few weeks I've spend on learning how
+        to write RCP plugins.
+      </td>
+    </tr>
+    <tr>
+      <td>Xing Jiang</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a href="http://starspace0.space.live.com"
+        target="_blank">http://starspace0.space.live.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Nile Black</td>
+      <td>hangzhou, China</td>
+      <td>Blog - <a href="http://developers.sun.com.cn/blog/nile"
+        target="_blank">http://developers.sun.com.cn/blog/nile</a><br />Java
+      </td>
+    </tr>
+    <tr>
+      <td>Jospeh Marinaccio</td>
+      <td>Hermann, USA</td>
+      <td>Blog - <a href="http://marinacciofamily.biz" target="_blank">marinaccio
+          family</a><br />hello to all.
+      </td>
+    </tr>
+    <tr>
+      <td>Shaolin Zhang</td>
+      <td>Whenzhou, China</td>
+      <td>Blog - <a
+        href="http://blog.csdn.net/yawolf/archive/2008/07/27/2718788.aspx"
+        target="_blank">Ganymede���Ѳ���</a><br />Eclipse֮����ǿ�����ںܴ��̶�
+        ������Ϊ���ڶ�����֧�֣��ر������Ѳ������������
+        Ѿ���֤����Ganymede�汾�¿���ʹ�õ����Ѳ���������ҵ�
+        ������Ѱ棩��
+      </td>
+    </tr>
+    <tr>
+      <td>Shauvik Roy Choudhary</td>
+      <td>Atlanta, United States</td>
+      <td>Blog - <a
+        href="http://shauvik.com/blog/2008/07/26/eclipse-ganymede"
+        target="_blank">Eclipse Ganymede</a><br />Hi, I am excited to
+        try the cool features in eclipse ganymede. Will keep on updating
+        up blog post as and when i come across another cool feaure :-)
+
+        Cheers, Shauvik
+      </td>
+    </tr>
+    <tr>
+      <td>Argenis</td>
+      <td>Maracaibo, Venezuela</td>
+      <td>Message <br />Awesome IDE. Brilliant Community. Thanks for
+        your work
+      </td>
+    </tr>
+    <tr>
+      <td>Krishnakumar Pooloth</td>
+      <td>Bangalore, India</td>
+      <td>Blog - <a
+        href="http://lonelyprogrammer.wordpress.com/2008/07/26/review-of-eclipse-ganymede/"
+        target="_blank">http://lonelyprogrammer.wordpress.com/2008/07/26/review-of-eclipse-ganymede/</a><br />Great!
+      </td>
+    </tr>
+    <tr>
+      <td>Mikael Sevenier</td>
+      <td>Santa Clara, USA</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Marc</td>
+      <td>Reykjavik, Iceland</td>
+      <td>Message <br />At work I have to use Visual Studio and I miss
+        Eclipse so much. It is a lot easier to use...just to name the
+        views (an old Eclipse feature): VS 08 bombards you with options
+        and toolbars...Eclipse just shows me what I am interested in.
+        Love it!
+      </td>
+    </tr>
+    <tr>
+      <td>Gong Chengming</td>
+      <td>nanjing, China</td>
+      <td>Recording - <a href="http://www.chemmy.name" target="_blank">Good
+          Experience, but not so familiar.</a><br />The new IDE give me
+        good experience for C++ projects. But i am not so familiar with
+        it now.
+      </td>
+    </tr>
+    <tr>
+      <td>Olga Madejska</td>
+      <td>Cracow, Poland</td>
+      <td>Message - Ganymede!<br />Finally a new, blazing fast release
+        of Eclipse! I'm very excited to discover all the new features
+        and improvements. Thank you very much, it's really amazing!
+      </td>
+    </tr>
+    <tr>
+      <td>fu liqiang</td>
+      <td>beijing, china</td>
+      <td>Blog - <a href="http://www.blogjava.net/uiiang"
+        target="_blank">http://www.blogjava.net/uiiang</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Stephen Egan</td>
+      <td>Melbourne, Australia</td>
+      <td>Message - <a
+        href="http://www.csiro.au/science/UrbanSystems.html"
+        target="_blank">CSIRO Sustainable Ecosystems</a><br />Using RCP,
+        RAP, EMF & BIRT for sustainable urban development assessment
+      </td>
+    </tr>
+    <tr>
+      <td>GAO Xiang</td>
+      <td>Baoding, China</td>
+      <td>Message <br />new features cool ...
+      </td>
+    </tr>
+    <tr>
+      <td>�ukasz Lato</td>
+      <td>Pozna�, Poland</td>
+      <td>Message - The best<br />RCP is the best!!
+      </td>
+    </tr>
+    <tr>
+      <td>Tat Yu</td>
+      <td>Shrewsbury, US</td>
+      <td>Blog - Software Engineer<br />Test
+      </td>
+    </tr>
+    <tr>
+      <td>Tat Bill Yu</td>
+      <td>Shrewsbury, US</td>
+      <td>Blog - Software Engineer<br />
+      </td>
+    </tr>
+    <tr>
+      <td>Hernan Leoni</td>
+      <td>Mountain View, USA</td>
+      <td>Blog - <a
+        href="http://hernanleoni.blogspot.com/2008/07/eclipse-ganymede.html"
+        target="_blank">Eclipse Ganymede</a><br />Vale la pena migrar a
+        Eclipse Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel Guimaraes</td>
+      <td>Campinas, Brazil</td>
+      <td>Blog - <a href="http://www.eldorado.org.br" target="_blank">http://www.eldorado.org.br</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jusun Ahn</td>
+      <td>Pusan, South Korea</td>
+      <td>Blog - <a href="http://jusun.org" target="_blank">Jusun
+          Laboratory</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Marcos Maia</td>
+      <td>Bras�lia, Brazil</td>
+      <td>Blog - <a href="http://mmaiacupofcoffee.blogspot.com/"
+        target="_blank">Java, Application Servers, IT, etc... </a><br />Im
+        using Ganimede to review and use JSF, Web Services and and J2ME
+        in my new personal project!
+      </td>
+    </tr>
+    <tr>
+      <td>Andr�s Felipe Cardona</td>
+      <td>Bogot�, Colombia</td>
+      <td>Message - El mejor ambiente integrado de desarrollo que hay<br />Gracias,
+        por hacer tan eficiente y f�cil el proceso de desarrollo, el
+        proyecto eclipse definitivamente es del carajo
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Margiel</td>
+      <td>Warszawa, Poland</td>
+      <td>Blog - <a
+        href="http://poligloci.blogspot.com/2008/07/m2eclipse-095-wydany.html"
+        target="_blank">m2eclipse 0.9.5 released</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Marcin Pietraszek</td>
+      <td>Wroc�aw, Polska</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Windiantoro</td>
+      <td>Depok, Indonesia</td>
+      <td>Blog - <a
+        href="http://inputstream.wordpress.com/2008/07/22/ganymede-round-the-world-huh/"
+        target="_blank">ganymede-round-the-world-huh</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Patrick Deters</td>
+      <td>Lexington, USA</td>
+      <td>Message - Smooth!<br />Smooth release, well done!
+      </td>
+    </tr>
+    <tr>
+      <td>Jin Chunxia</td>
+      <td>Beijing, China</td>
+      <td>Message <br />I am using the Ganymede to develop a RCP
+        Application to manage my content in a file system.
+      </td>
+    </tr>
+    <tr>
+      <td>Cav Edwards</td>
+      <td>London, United Kingdom</td>
+      <td>Message <br />Getting the most out of Ganymede here - running
+        it on Java7 beta builds very quickly indeed :-)
+      </td>
+    </tr>
+    <tr>
+      <td>Cory Cobler</td>
+      <td>Amarillo, USA</td>
+      <td>Message - Continued Improvements<br />It is great to see an
+        industry leader continue to improve an already great product -
+        Thanks Eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Diter dos Santos</td>
+      <td>London, UK</td>
+      <td>Message - Good work :o)<br />Good work :o)
+      </td>
+    </tr>
+    <tr>
+      <td>Guillermo Gonz�lez</td>
+      <td>Asunci�n, Paraguay</td>
+      <td>Message <br />Utilizo Eclipse Ganymede en un proyecto Web
+        OpenSource basado en Tomcat, SpringFramework e Hibernate para
+        una empresa estatal
+      </td>
+    </tr>
+    <tr>
+      <td>Darko Kalinic</td>
+      <td>Podgorica, Montenegro</td>
+      <td>Blog - <a
+        href="http://devtalks.blogspot.com/2008/07/ganymede.html"
+        target="_blank">Iza�ao je Eclipse 3.4 - Ganymed</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Stephen Vance</td>
+      <td>Saipan, Northern Mariana Islands</td>
+      <td>Message - Ganymede Rocks<br />Finally got the download for
+        Mac. The Windows version has been serving me well.
+      </td>
+    </tr>
+    <tr>
+      <td>Link Qian</td>
+      <td>Hefei, China</td>
+      <td>Blog - <a href="http://bit7.itpub.net/post/37616/466925"
+        target="_blank">三步搞定JPA</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Aboubacar CISSE</td>
+      <td>Dakar, SENEGAL</td>
+      <td>Message - <a href="http://www.demarche.gouv.sn"
+        target="_blank">http://www.demarche.gouv.sn</a><br />Great!
+      </td>
+    </tr>
+    <tr>
+      <td>Manasij Banerjee</td>
+      <td>Kolkata, India</td>
+      <td>Message <br />It is the only IDE which I use everyday for my
+        development work......No need to look further ...Ganymede rocks
+      </td>
+    </tr>
+    <tr>
+      <td>Shaolin Zhang</td>
+      <td>Whenzhou, China</td>
+      <td>Blog - <a
+        href="http://blog.csdn.net/yawolf/archive/2008/07/19/2676626.aspx"
+        target="_blank">Use Eclipse Ganymede to Improve Efficiency</a><br />Use
+        Eclipse Ganymede to Improve Efficiency
+      </td>
+    </tr>
+    <tr>
+      <td>Ryan Ovrevik</td>
+      <td>Oak Hill, US</td>
+      <td>Blog - <a href="http://necessaryandsufficient.blogspot.com/"
+        target="_blank">My Dumb Blog!</a><br />Using it at home and
+        work. So far it is as solid as previous releases.
+      </td>
+    </tr>
+    <tr>
+      <td>mihir patel</td>
+      <td>Mumbai, India</td>
+      <td>Recording - Mihir Patel<br />
+      </td>
+    </tr>
+    <tr>
+      <td>Peng Zhang</td>
+      <td>Beijing, China</td>
+      <td>Blog - <a
+        href="http://nemo-zhp.spaces.live.com/blog/cns!95DD7FF6FB53129C!610.entry"
+        target="_blank">Thoughts about Eclipse Ganymede(and Eclipse)</a><br />Thoughts
+        about Eclipse Ganymede(and Eclipse)
+      </td>
+    </tr>
+    <tr>
+      <td>Wojciech Jancz</td>
+      <td>Gliwice, Poland</td>
+      <td>Message - Eclipse Roxx<br />I am using Eclipse as IDE (4
+        years) and RCP platform (2 years). It's awesome!
+      </td>
+    </tr>
+    <tr>
+      <td>Wei-Te Kao</td>
+      <td>Taipei City, Taiwan</td>
+      <td>Message - Eclipse IDE and Google Android SDK<br />I'm using
+        the Eclipse IDE as my environment for developing Android
+        applications. Just install a custom plugin called Android
+        Development Tools (ADT), I can creat, run and debug Android
+        applications faster and easier.
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Schroeder</td>
+      <td>Sydney, Australia</td>
+      <td>Message <br />All these fantastic tools for free!!
+      </td>
+    </tr>
+    <tr>
+      <td>Perry Molendijk</td>
+      <td>Perth, Australia</td>
+      <td>Message <br />Use Ganymede for XML dev work. Like the look of
+        the new XSL tooling.
+      </td>
+    </tr>
+    <tr>
+      <td>eclipse Ganymede 3.4</td>
+      <td>Chur, Switzerland</td>
+      <td>Blog - <a href="http://www.snakedj.ch/" target="_blank">http://www.snakedj.ch/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>snake</td>
+      <td>Chur, Switzerland</td>
+      <td>Blog - <a href="http://www.snakedj.ch/" target="_blank">eclipse
+          Ganymede 3.4</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Andrzej Grzesik</td>
+      <td>Krak�w, Poland</td>
+      <td>Blog - <a href="http://agsik.blogspot.com" target="_blank">Java
+          Monkey Engine with Eclipse Ganymede</a><br />http://agsik.blogspot.com
+      </td>
+    </tr>
+    <tr>
+      <td>Eko Kurnaiwan Khannedy</td>
+      <td>Subang, Indonesia</td>
+      <td>Blog - <a href="http://eecchhoo.wordpress.com/"
+        target="_blank">Great Ganymede</a><br />Actually i use NetBeans
+        for my enterprise project, buat when i use Ganymede, i have a
+        great experience, so now i use genymede to develope my
+        enterprise project!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Lukasz</td>
+      <td>Warszawa, Poland</td>
+      <td>Message <br />Eclipse just excelent helps me earn money:)
+      </td>
+    </tr>
+    <tr>
+      <td>Anders Eriksson</td>
+      <td>Stockholm, Sweden</td>
+      <td>Blog - <a href="http://www.sakido.se" target="_blank">http://www.sakido.se</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Maciej Nowicki</td>
+      <td>Bia�ystok, Poland</td>
+      <td>Message <br />Hey, Eclipse users from Bialystok, where are
+        you? :)
+      </td>
+    </tr>
+    <tr>
+      <td>Marco Maccaferri</td>
+      <td>Bologna, Italy</td>
+      <td>Message - <a href="http://www.maccasoft.com" target="_blank">http://www.maccasoft.com</a><br />Used
+        to develop J2EE and Rich Client Platform (RCP) applications.
+      </td>
+    </tr>
+    <tr>
+      <td>Pana</td>
+      <td>El Vendrell, Spain</td>
+      <td>Message <br />Ganymede rocks! Thanks to all contributors
+      </td>
+    </tr>
+    <tr>
+      <td>wylander</td>
+      <td>Wroclaw, Poland</td>
+      <td>Blog - Nice work<br />I'm realy happy from webtools 3.0 and
+        new installer.
+      </td>
+    </tr>
+    <tr>
+      <td>JingYanming</td>
+      <td>Dalian, China</td>
+      <td>Blog - <a href="http://412475540.qzone.qq.com/"
+        target="_blank">èʳ��С��</a><br />Eclipse Ganymede �ȶ�Ϊ��
+      </td>
+    </tr>
+    <tr>
+      <td>ZengMingqi</td>
+      <td>Guangzhou, China</td>
+      <td>Message <br />I like Ganymede.I often edit Keys to meet my
+        habit,for instance:setup keys of Ctrl+Shift+Space for Content
+        Assist and Context Information,so that is very convenience
+      </td>
+    </tr>
+    <tr>
+      <td>GTron</td>
+      <td>Cagliari, Italy</td>
+      <td>Blog - <a href="http://www.sardegne.com" target="_blank">Sardegne.com</a><br />We
+        use Eclipse since 2004. Great job with Ganymede!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Yih Feng Low</td>
+      <td>Hobart, Australia</td>
+      <td>Message <br />At least one Eclipse user in Tasmania!
+      </td>
+    </tr>
+    <tr>
+      <td>Raghavendra</td>
+      <td>Bangalore, India</td>
+      <td>Message - Need to concentrate more on Database plugins<br />Here,
+        Now a days we are using eclipse extensively, so we were building
+        lots of enterprises application, where in which simultaneously
+        need work on database, why its not going to work like Quest
+        Toad?
+      </td>
+    </tr>
+    <tr>
+      <td>S�bio Ignorante</td>
+      <td>S�o Paulo, Brazil</td>
+      <td>Blog - <a href="http://sabioignorante.blogspot.com"
+        target="_blank">:D</a><br />:D
+      </td>
+    </tr>
+    <tr>
+      <td>Pupier</td>
+      <td>Lyon, FRANCE</td>
+      <td>Message - RCP Ganymede<br />RCP Ganym�de permet une bonne
+        cr�ation de plugin et d'ajouter des fonctionnalit�s sp�cifiques
+        � l'IDE Eclipse Classic. Tr�s pratiques!!
+      </td>
+    </tr>
+    <tr>
+      <td>Tomasz Bartczak</td>
+      <td>��d�, Poland</td>
+      <td>Blog - <a href="http://racjonalny.blogspot.com"
+        target="_blank">Look at Ganymede!</a><br />Constructive
+        criticism is always good :)
+      </td>
+    </tr>
+    <tr>
+      <td>Edrick</td>
+      <td>Cayey, Puerto Rico</td>
+      <td>Message <br />Eclipse rules
+      </td>
+    </tr>
+    <tr>
+      <td>Joana Matos Fonseca da Trindade</td>
+      <td>Porto Alegre, Brazil</td>
+      <td>Blog - <a href="http://jmftrindade.blogspot.com"
+        target="_blank">Joana Trindade's Blog</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Michele Chiti</td>
+      <td>Lastra a Signa, Italia</td>
+      <td>Blog - <a href="http://www.mminformatica.it" target="_blank">Software
+          Architect at Emm&mmE Informatica</a><br />Eclipse is the best
+        Java IDE in the World.
+      </td>
+    </tr>
+    <tr>
+      <td>Nestor Arturo</td>
+      <td>Veracruz, Mexico</td>
+      <td>Message <br />I was working with eclipse since 2004 and i
+        believe that is the better IDE. I believe the eclipse Ganymede
+        will the best for the year. PD. It�s great working with Java &
+        Qtjambi
+      </td>
+    </tr>
+    <tr>
+      <td>Pavan Shahi</td>
+      <td>Mumbai, India</td>
+      <td>Blog - Great<br />It should be a rocking experience to develop
+        using Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Jiyao Liu</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a href="http://jylspace.spaces.live.com/"
+        target="_blank">http://jylspace.spaces.live.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Senthil Dhanapal</td>
+      <td>Santa Clara, USA</td>
+      <td>Message - Checking<br />Logged in to download the latest
+        eclipse which supports our latest WOLips Plugin.
+      </td>
+    </tr>
+    <tr>
+      <td>Kasper S�rensen</td>
+      <td>Copenhagen, Denmark</td>
+      <td>Blog - <a href="http://kasper.eobjects.dk" target="_blank">kasper's
+          source</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Dan Bystr�m</td>
+      <td>Stockholm, Sweden</td>
+      <td>Message - 64-bit Eclipse rocks!<br />Ubuntu 8.04 (64bit) + IBM
+        SDK 6.0 (64-bit) + Eclipse (64-bit) = I'm blessed with the
+        fastest IDE ever!
+      </td>
+    </tr>
+    <tr>
+      <td>Admin for Holy Bible Trivia</td>
+      <td>Longyearbyen, Svalbard</td>
+      <td>Blog - <a href="http://www.holybibletrivia.org"
+        target="_blank">Kudo's to Eclipse</a><br />Switched from
+        jbuilder several years ago. Based in US currently traveling with
+        my laptop.(using Eclipse daily) Planning on being in Deutschland
+        in Nov. Wish to attend the summit.
+      </td>
+    </tr>
+    <tr>
+      <td>Swapna</td>
+      <td>Bangalore, India</td>
+      <td>Message - Eclipse usage in my project<br />We do plugin
+        devleopement for automobile software validation and
+        development.The software is displayed graphically using GEF and
+        GMF.Editors are developed using the Form toolkit and model is an
+        EMF model.
+      </td>
+    </tr>
+    <tr>
+      <td>Lucas</td>
+      <td>Campinas, Brazil</td>
+      <td>Message - Rox the socks<br />Using ganymede up here, in
+        Brasil. Eclipse rox =D
+      </td>
+    </tr>
+    <tr>
+      <td>KoYoungMin</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://neouser.tistory.com" target="_blank">neouser
+          Tistory</a><br />i do Ganymede. nice to meet you
+      </td>
+    </tr>
+    <tr>
+      <td>Edison Gieswein</td>
+      <td>Morristown, USA</td>
+      <td>Message - Good First Impression<br />I just fired up Ganymede,
+        and I'm truly impressed by what I see. Ganymede lacks much of
+        the laggy feeling which drove me to other ide's
+      </td>
+    </tr>
+    <tr>
+      <td>Ronnie Wg</td>
+      <td>Kota Kinabalu , Malaysia</td>
+      <td>Message <br />great, for things to explore
+      </td>
+    </tr>
+    <tr>
+      <td>Timo Koukkari</td>
+      <td>Tampere, Finland</td>
+      <td>Message <br />I've been using Eclipse in my work for two
+        years.
+      </td>
+    </tr>
+    <tr>
+      <td>Ronnie Wong</td>
+      <td>Kuala Lumpur , Malaysia</td>
+      <td>Message <br />WOW Ganymede sound great...can not wait to try
+      </td>
+    </tr>
+    <tr>
+      <td>Hyoseok Kim</td>
+      <td>Seoul, South Korea</td>
+      <td>Message - Eclipse Ganymede<br />Fighting
+      </td>
+    </tr>
+    <tr>
+      <td>Lee Surprenant</td>
+      <td>Research Triangle Park, USA</td>
+      <td>Blog - <a href="http://parenthetical-thoughts.blogspot.com/"
+        target="_blank">http://parenthetical-thoughts.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jao Lucas</td>
+      <td>Manila, Philippines</td>
+      <td>Message <br />Eclipse community delivers again! Thanks for
+        making my development life easier. =)
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, The Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/07/eclipse-ganymede-ecf-review-one-of.html"
+        target="_blank">Eclipse Ganymede ECF review</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>cana</td>
+      <td>Bandung, Indonesia</td>
+      <td>Blog - <a href="http://www.canty.web.id" target="_blank">[-canty4ever-]</a><br />ganymede
+        help me !!!
+      </td>
+    </tr>
+    <tr>
+      <td>Navin Koomsup</td>
+      <td>Bangkok, Thailand</td>
+      <td>Blog - <a href="http://navin.be" target="_blank">http://navin.be</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Irakli Kobiashvili</td>
+      <td>Tbilisi, Georgia</td>
+      <td>Message - IDE<br />This is the IDE !
+      </td>
+    </tr>
+    <tr>
+      <td>Edoardo</td>
+      <td>Gualdo Tadino, Italy</td>
+      <td>Message <br />Lo uso sia per sviluppo J2EE che a scuola con i
+        miei studenti.
+      </td>
+    </tr>
+    <tr>
+      <td>ghadamyari</td>
+      <td>Tehran, Iran</td>
+      <td>Message <br />This is great!
+      </td>
+    </tr>
+    <tr>
+      <td>Jose Luis Estrada</td>
+      <td>Tijuana, Mexico</td>
+      <td>Message - Software Architect<br />I want to collaborate in
+        this project i interest in performance development life cycle
+      </td>
+    </tr>
+    <tr>
+      <td>Orest Kinasevych</td>
+      <td>Winnipeg, Canada</td>
+      <td>Message - <a href="http://www.kinasevych.ca/" target="_blank">http://www.kinasevych.ca/</a><br />As
+        a post-secondary instructor, I find it invaluable for in-class
+        code demos, for submitted code review and management, and much
+        more. Can't imagine how I'd manage without!
+      </td>
+    </tr>
+    <tr>
+      <td>Marin Orlic</td>
+      <td>Zagreb, Croatia</td>
+      <td>Blog - <a href="http://pomrcina.bloger.hr" target="_blank">Pomrcina</a><br />Ups!
+        One extra h in http: last time
+      </td>
+    </tr>
+    <tr>
+      <td>Marin Orlic</td>
+      <td>Zagreb, Croatia</td>
+      <td>Blog - <a href="hhttp://pomrcina.bloger.hr/" target="_blank">Pomrcina</a><br />Congrats
+        to Eclipse team(s) for another release on sched! Really
+        impressive. As for the blog name, 'pomr&#269;ina' means
+        'eclipse' translated to Croatian :)
+      </td>
+    </tr>
+    <tr>
+      <td>yangtnt</td>
+      <td>������, �й�</td>
+      <td>Message <br />Start with Ganymede from eclipse 3.2
+      </td>
+    </tr>
+    <tr>
+      <td>Marcos Paulo Serafim</td>
+      <td>Orl�ndia, Brazil</td>
+      <td>Message - <a href="http://www.mps.eti.br/" target="_blank">http://www.mps.eti.br/</a><br />Estou
+        utilizando o Eclipse Ganymede para desenvolvimento tanto em Java
+        quanto C/C++. Eclipse rlz!!!
+      </td>
+    </tr>
+    <tr>
+      <td>chenyanqing</td>
+      <td>jinan, China</td>
+      <td>Blog - <a href="http://yqchen.bokee.com/6758305.html"
+        target="_blank">http://yqchen.bokee.com/6758305.html</a><br />ganymede
+        is cool!
+      </td>
+    </tr>
+    <tr>
+      <td>Gagsy</td>
+      <td>Trichy, India</td>
+      <td>Blog - <a href="http://gagsy.tumblr.com/" target="_blank">Ganymede
+          Rocks</a><br />Ganymede Rocks
+      </td>
+    </tr>
+    <tr>
+      <td>petersun</td>
+      <td>Harbin, China</td>
+      <td>Blog - <a href="http://hi.baidu.com/hotpetersun"
+        target="_blank">http://hi.baidu.com/hotpetersun</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>zlam</td>
+      <td>Lima, Peru</td>
+      <td>Blog - UNMSM<br />Good job!!
+      </td>
+    </tr>
+    <tr>
+      <td>Parusov Alexander</td>
+      <td>Moscow, Russia</td>
+      <td>Blog - <a href="http://aparusov.livejournal.com/"
+        target="_blank">AParusov's Eclipse & Open Source blog</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Robert Nilsen</td>
+      <td>Sandefjord, Norway</td>
+      <td>Message <br />Great work guys! I especilly love the new debug
+        hover screen!
+      </td>
+    </tr>
+    <tr>
+      <td>Fahd Shariff</td>
+      <td>London, UK</td>
+      <td>Blog - <a
+        href="http://fahdshariff.blogspot.com/2008/07/eclipse-ganymede.html"
+        target="_blank">Eclipse Ganymede Review</a><br />Read my blog
+        for a review of the best Eclipse yet!
+      </td>
+    </tr>
+    <tr>
+      <td>Alex</td>
+      <td>Viladecans, Spain</td>
+      <td>Message - The Best Ide for J2ME<br />Is the best ide for
+        programming mobility applications. I don't use other!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Grzegorz Duda</td>
+      <td>Krakow, Poland</td>
+      <td>Recording - <a href="http://grzegorzduda.blogspot.com/"
+        target="_blank">Polish Java Podcast</a><br />In this episode
+        about Java in Poland I am talking about 2 Eclipse Demo Camp that
+        were held in Poland. As well as pointing out my best features in
+        Eclipse Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Sergey Kabashnyuk</td>
+      <td>Cherkasy, Ukraine</td>
+      <td>Message - <a
+        href="http://maps.google.ru/maps?f=q&hl=uk&geocode=&q=%D0%A7%D0%B5%D1%80%D0%BA%D0%B0%D1%81%D0%B8,+Ukraine&sll=47.702368,34.678345&sspn=2.709711,4.751587&ie=UTF8&ll=49.442682,32.096558&spn=0.327256,0.593948&t=h&z=11"
+        target="_blank">Eclipse</a><br />Eclipse is great!
+      </td>
+    </tr>
+    <tr>
+      <td>Murat Yener</td>
+      <td>�stanbul, Turkey</td>
+      <td>Message - <a href="http://www.flexjava.org" target="_blank">http://www.flexjava.org</a><br />Ganymede
+        is great, i am so inspired and impressed with the work.
+        Migrating all our development platforms and getting one step
+        closer to heaven...
+      </td>
+    </tr>
+    <tr>
+      <td>Song jun fei</td>
+      <td>shenzhen, China</td>
+      <td>Message <br />Ruby support is great!
+      </td>
+    </tr>
+    <tr>
+      <td>Pedro Sandoval</td>
+      <td>San Diego, USA</td>
+      <td>Message <br />Use it at work and home for all my programming
+        needs
+      </td>
+    </tr>
+    <tr>
+      <td>Jon Hilton</td>
+      <td>Melbourne, Australia</td>
+      <td>Blog - <a href="http://ehr-the-grail.blogspot.com/"
+        target="_blank">EHR - The Holy Grail?</a><br />Infrequently
+        updated. It's a shame things aren;t changing faster. even Google
+        and MS are yet to make an impact in Australia
+      </td>
+    </tr>
+    <tr>
+      <td>John Nguyen</td>
+      <td>Santa Ana, US</td>
+      <td>Message <br />Ganymede is too slow compare to the Europa
+        version. It tool 3 times longer to build my project compared to
+        the previous version 3.3.2.
+      </td>
+    </tr>
+    <tr>
+      <td>Oscar Ramirez</td>
+      <td>QUERETARO, MEXICO</td>
+      <td>Recording <br />Eclipse es mi IDE para app J2EE
+      </td>
+    </tr>
+    <tr>
+      <td>Stanislav Demjanovich</td>
+      <td>�����������, ���������� ���������</td>
+      <td>Message <br />Hi! Great job. Stay True! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Luo Ming</td>
+      <td>ShangHai, China</td>
+      <td>Message <br />I really like the pair-programming function in
+        Ganymede, Thanks Eclipse Community!
+      </td>
+    </tr>
+    <tr>
+      <td>Roberto</td>
+      <td>Castell�n, Spain</td>
+      <td>Message <br />Hi!
+      </td>
+    </tr>
+    <tr>
+      <td>Bi peng</td>
+      <td>Shang hai, China</td>
+      <td>Blog - <a href="http://blog.csdn.net/bipeng" target="_blank">http://blog.csdn.net/bipeng</a><br />The
+        javascript editor does not support anonymous function quit well.
+      </td>
+    </tr>
+    <tr>
+      <td>Kiran Mithra</td>
+      <td>Kuwait City, Kuwait</td>
+      <td>Message - Eclipse <br />Looking forward for Ganymede. Sounds
+        intresting with the blue prints
+      </td>
+    </tr>
+    <tr>
+      <td>zhangrui</td>
+      <td>BeiJing, China</td>
+      <td>Message - Wonderful<br />I am a student. and I develop
+        software with eclipse two years.I am glad to see there are so
+        much new function in the eclipse3.4.I am trying to use it.
+      </td>
+    </tr>
+    <tr>
+      <td>zhangrui</td>
+      <td>BeiJing, China</td>
+      <td>Message - ganymede is wonderful<br />I am a student. and I
+        develop software with eclipse two years.I am glad to see there
+        are so much new function in the eclipse3.4.I am trying to use
+        it.
+      </td>
+    </tr>
+    <tr>
+      <td>Zien</td>
+      <td>Klang, Malaysia</td>
+      <td>Message <br />Ganymede is cool!
+      </td>
+    </tr>
+    <tr>
+      <td>Zien</td>
+      <td>Klang, Malaysia</td>
+      <td>Message <br />I like Ganymede!
+      </td>
+    </tr>
+    <tr>
+      <td>Kevin Minshull</td>
+      <td>Calgary, Canada</td>
+      <td>Message - <a href="http://www.jdelivery.com" target="_blank">http://www.jdelivery.com</a><br />Currently
+        building a mail server from scratch for something to do.
+      </td>
+    </tr>
+    <tr>
+      <td>����</td>
+      <td>����, �й�</td>
+      <td>Blog - <a href="http://hi.baidu.com/hao_holly" target="_blank">http://hi.baidu.com/hao_holly</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Yuriy Tkach</td>
+      <td>Chernihiv, Ukraine</td>
+      <td>Message <br />Excellent tool helped us to speed up our
+        development! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Matthew Perrins</td>
+      <td>Daventry, UK</td>
+      <td>Message <br />I love Eclipse coz I am a geek.
+      </td>
+    </tr>
+    <tr>
+      <td>Moochan Song</td>
+      <td>Seoul, Korea</td>
+      <td>Blog - <a href="http://www.sjava.net" target="_blank">http://www.sjava.net</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jean-Francois</td>
+      <td>Sorel, Canada</td>
+      <td>Blog <br />
+      </td>
+    </tr>
+    <tr>
+      <td>zhang yadong</td>
+      <td>dalian, china</td>
+      <td>Blog - <a
+        href="http://blog.chinaunix.net/u1/55705/showart_1006473.html"
+        target="_blank">http://blog.chinaunix.net/u1/55705/showart_1006473.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Emerson Cargnin</td>
+      <td>Reading, United Kingdom</td>
+      <td>Message - <a href="http://echofloripa.blogspot.com/"
+        target="_blank">Well done!!!</a><br />Well done for one more
+        release
+      </td>
+    </tr>
+    <tr>
+      <td>moneyice</td>
+      <td>Shenzhen, China</td>
+      <td>Message - <a href="http://www.soyatec.com" target="_blank">http://www.soyatec.com</a><br />New
+        eface is based on eclipse 3.4
+      </td>
+    </tr>
+    <tr>
+      <td>mingxing ma</td>
+      <td>shanghai, china</td>
+      <td>Message <br />wonderful,powerful
+      </td>
+    </tr>
+    <tr>
+      <td>brucema</td>
+      <td>shanghai, china</td>
+      <td>Message <br />powerful,wonderful
+      </td>
+    </tr>
+    <tr>
+      <td>��ʿ��</td>
+      <td>֣��, �й�</td>
+      <td>Message - ����Ganymede�Ľ���<br />1.ϣ����Ƕ��Ƕ��Tomcat,������Ŀ�����ٶ�
+      </td>
+    </tr>
+    <tr>
+      <td>Juan Perez</td>
+      <td>El Calafate, Argentina</td>
+      <td>Blog - <a href="http://www.juanperez.com.ar" target="_blank">http://www.juanperez.com.ar</a><br />Yo
+        no programo pero el Eclipse est� buen�simo
+      </td>
+    </tr>
+    <tr>
+      <td>Juliano D. Carniel</td>
+      <td>Campinas, Brazil</td>
+      <td>Blog - <a
+        href="http://julianocarniel.blogspot.com/2008/07/eclipse-ganymede-server-start-timeout.html"
+        target="_blank">Ganymede Server Start Timeout</a><br />This
+        shows how to increase the start timeout of the server in the new
+        eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Kulinski</td>
+      <td>Kikol , Poland</td>
+      <td>Message - Ask for plugins. Why?<br />Please do not follow
+        corporate bullshit with plugin usage ask in Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Piotr</td>
+      <td>Cracow, Poland</td>
+      <td>Message <br />It's great that with language change, I don't
+        need to change IDE. I recommended Eclipse to many people and no
+        one ever complain :)
+      </td>
+    </tr>
+    <tr>
+      <td>renyy</td>
+      <td>beijing, china</td>
+      <td>Message <br />good job
+      </td>
+    </tr>
+    <tr>
+      <td>Md. Saifur Rahman Sazib</td>
+      <td>Dhaka, Bangladesh</td>
+      <td>Blog - eclipse is eclipse<br />eclipse brings the
+        revolutionary changes in JEE life, culture & society ;)
+      </td>
+    </tr>
+    <tr>
+      <td>Mainul Islam</td>
+      <td>Dhaka, Bangladesh</td>
+      <td>Message <br />Ganymede rocks.
+      </td>
+    </tr>
+    <tr>
+      <td>Syed Ekramuddin</td>
+      <td>Dhaka, Bangladesh</td>
+      <td>Message - <a href="http://www.linkedin.com/in/ekramuddin"
+        target="_blank">Sr. Software Engineer</a><br />one window
+        marvelous development environment with speed, manage,
+        collaboration and so so many things .. ..
+      </td>
+    </tr>
+    <tr>
+      <td>Hardik</td>
+      <td>Ahmedabad, India</td>
+      <td>Blog - <a href="http://java-people.blogspot.com"
+        target="_blank">genymade</a><br />Thanks Wonderful
+      </td>
+    </tr>
+    <tr>
+      <td>Michael</td>
+      <td>Dayton, USA</td>
+      <td>Blog - <a
+        href="http://foojam.com/2008/07/06/setting-up-eclipse-ganymede-edition/"
+        target="_blank">Setting up Eclipse: Ganymede Edition</a><br />Congratulations
+        on yet another great release!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Scott Stanlick</td>
+      <td>Edwardsville, USA</td>
+      <td>Blog - <a href="http://strutsschool.com" target="_blank">Ganymede
+          Rocks!</a><br />I am using with Tomcat, Spring and Hibernate
+        and life is good!
+      </td>
+    </tr>
+    <tr>
+      <td>Hiroki Kondo</td>
+      <td>Tokyo, Japan</td>
+      <td>Blog - <a href="http://flymewiththeeclipseway.blogspot.com/"
+        target="_blank">http://flymewiththeeclipseway.blogspot.com/</a><br />Eclipse
+        is a greatest way of software.It's not IDE.It's a platform and
+        methodlogy.
+      </td>
+    </tr>
+    <tr>
+      <td>Ahmed Mohammed</td>
+      <td>cairo, Egypt</td>
+      <td>Message <br />eclips is my favorite,it really develop my
+        career.
+      </td>
+    </tr>
+    <tr>
+      <td>liushaozhuang</td>
+      <td>beijing, China</td>
+      <td>Blog - <a
+        href="http://rain2sunny1984.spaces.live.com/blog/cns!88BB457D0D1B431D!1023.entry"
+        target="_blank">��ԭeclipse 3.4</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Abhishek</td>
+      <td>Indore, India</td>
+      <td>Message <br />Just adapted to Ganymede! Wishing this will be a
+        huge success.
+      </td>
+    </tr>
+    <tr>
+      <td>Patricia Jablonski</td>
+      <td>Potsdam, USA</td>
+      <td>Message - <a href="http://copypastecode.googlepages.com"
+        target="_blank">Plug-in Tool Development</a><br />I use Eclipse
+        to make plug-ins that support and manage the copy and paste
+        programming practice in the IDE.
+      </td>
+    </tr>
+    <tr>
+      <td>Pablo Carbajal</td>
+      <td>Toronto, Canada</td>
+      <td>Blog - <a href="http://pa-blogger.blogspot.com/"
+        target="_blank">pa.blog()</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Kebe</td>
+      <td>Duisburg, Germany</td>
+      <td>Message <br />Same procedure as last year? Same procedure as
+        every year! Eclipse gets better and better!
+      </td>
+    </tr>
+    <tr>
+      <td>Juliano D. Carniel</td>
+      <td>Campinas, Brazil</td>
+      <td>Blog - <a
+        href="http://julianocarniel.blogspot.com/2008/07/eclipse-ganymede-first-impressions.html"
+        target="_blank">Eclipse Ganymede - First Impressions</a><br />Minhas
+        primeiras impress�es sobre o Eclipse Ganymede, e as novas
+        features.
+      </td>
+    </tr>
+    <tr>
+      <td>Riot</td>
+      <td>Belgrade, Serbia</td>
+      <td>Message - <a href="http://www.studiob.rs" target="_blank">Eclipse</a><br />fantastic
+        and my developing tool... mmm ;)
+      </td>
+    </tr>
+    <tr>
+      <td>Jose Herrero</td>
+      <td>Zaragoza, Spain</td>
+      <td>Message <br />Since I've tryed it I've felt more comfortable
+        programming java. Amazing behaviour!
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Busch</td>
+      <td>M�hlhausen, Germany</td>
+      <td>Message - Eclipse Rocks!<br />Hello, i'm using ganymede for
+        both c++ and java development, it's the best tool for the job!
+      </td>
+    </tr>
+    <tr>
+      <td>Krishna</td>
+      <td>Hyderabad, India</td>
+      <td>Message <br />we use eclipse to develop plugins
+      </td>
+    </tr>
+    <tr>
+      <td>Naveen</td>
+      <td>Hyderabad, India</td>
+      <td>Message <br />I will use Eclipse for developing plugins
+      </td>
+    </tr>
+    <tr>
+      <td>David Garc�a</td>
+      <td>Palencia, Spain</td>
+      <td>Message - Hope<br />This is cool
+      </td>
+    </tr>
+    <tr>
+      <td>Diligent IT Solutions AG</td>
+      <td>Regensdorf, Switzerland</td>
+      <td>Message - <a href="http://www.cctvnet.biz" target="_blank">Ganymede
+          as basis for CCTVnet</a><br />We use the great Eclipse
+        Ganymede platform as the basis for our product CCTVnet. This
+        includes: Server-side Equinox, RCP, Custom IDE
+      </td>
+    </tr>
+    <tr>
+      <td>jbjares</td>
+      <td>Bel�m, Brasil</td>
+      <td>Message - The Might<br />Now, I�m using Ganymede for tests.
+        Europa is very good but I wait for some bugs solved in Ganymede,
+        the comunity will be more grateful. Web Developer in eclipse is
+        the Best choice. Thanks a lot!
+      </td>
+    </tr>
+    <tr>
+      <td>danny walker</td>
+      <td>Wellington, New Zealand</td>
+      <td>Message <br />Ganymede looks good so far!
+      </td>
+    </tr>
+    <tr>
+      <td>Glaucus</td>
+      <td>S�o Paulo, Brazil</td>
+      <td>Message <br />Let's try, it must be fun!
+      </td>
+    </tr>
+    <tr>
+      <td>Claudio F Vagheti</td>
+      <td>Porto Alegre, Brazil</td>
+      <td>Blog - <a href="http://www.jroller.com/vagheti/"
+        target="_blank">Blog do Cl�udio</a><br />A cada release uma
+        �tima surpresa !
+      </td>
+    </tr>
+    <tr>
+      <td>Bhavesh Sanghvi</td>
+      <td>Ames, USA</td>
+      <td>Blog - <a href="http://openbiomind-gui.blogspot.com/"
+        target="_blank">OpenBiomind-GUI</a><br />I am using Eclipse 3.4
+        RCP for developing a GUI for OpenBiomind, as a part of my Google
+        Summer of Code 2008 project.
+      </td>
+    </tr>
+    <tr>
+      <td>Marcus</td>
+      <td>LA MURTA, Spain</td>
+      <td>Blog - <a href="http://marcusjenkins.com" target="_blank">http://marcusjenkins.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Rain Boy</td>
+      <td>Milan, ITALY</td>
+      <td>Message - ;)<br />Eclipse BEST IDE in the world... ;) It's
+        raining...
+      </td>
+    </tr>
+    <tr>
+      <td>Horst Schwarz</td>
+      <td>Munich, Germany</td>
+      <td>Message <br />4h Eclipse x day ...
+      </td>
+    </tr>
+    <tr>
+      <td>Xefix</td>
+      <td>Helsinki, Finland</td>
+      <td>Blog <br />Eclipse developer since 2002, still going strong.
+      </td>
+    </tr>
+    <tr>
+      <td>Yusuke Takahashi</td>
+      <td>Tokyo, Japan</td>
+      <td>Message <br />This is a wonderful tool.
+      </td>
+    </tr>
+    <tr>
+      <td>Sergey Krivolapov</td>
+      <td>Rostov-on-Don, Russia</td>
+      <td>Message <br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jinwook Kim</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://www.wimy.com/tt/140" target="_blank">Eclipse
+          3.4/Ganymede Released</a><br /> About new and important
+        features
+      </td>
+    </tr>
+    <tr>
+      <td>Taewan Kim</td>
+      <td>Seoul, Korea</td>
+      <td>Recording - I love eclipse<br />
+      </td>
+    </tr>
+    <tr>
+      <td>Kill</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a href="http://hi.baidu.com/daisyseason"
+        target="_blank">http://hi.baidu.com/daisyseason</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Leonardo Gomes</td>
+      <td>Antibes, France</td>
+      <td>Message <br />It's the greatest IDE! I'm especially excited
+        about the Eclipse Modeling Tools
+      </td>
+    </tr>
+    <tr>
+      <td>Cesare Pautasso</td>
+      <td>Lugano, Switzerland</td>
+      <td>Blog - <a href="http://www.jopera.org" target="_blank">RAP</a><br />RAP:
+        The best new feature of Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Suresh Krishna</td>
+      <td>Fremont, USA</td>
+      <td>Message - <a href="http://sureshkrishna.wordpress.com"
+        target="_blank">Ganymede Blast</a><br />I was extremely
+        impressed by the performance of the release and provisioning
+        system is GREAT !!!
+      </td>
+    </tr>
+    <tr>
+      <td>Andrew Kane</td>
+      <td>Lexington, United States</td>
+      <td>Blog - <a href="http://www.quantumraiders.com" target="_blank">Quantum
+          Raiders</a><br />great job! keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Denis Fuenzalida</td>
+      <td>Santiago, Chile</td>
+      <td>Blog - <a
+        href="http://sushiknights.org/2008/07/eclipse_ganymede.html"
+        target="_blank">Eclipse Ganymede</a><br />Lee mi review del
+        nuevo Eclipse Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Arthur Casals</td>
+      <td>Sao Paulo, Brazil</td>
+      <td>Blog - <a
+        href="http://wogdalker.blogspot.com/2008/07/one-more-from-jupiter.html"
+        target="_blank">One More From Jupiter</a><br />Still evaluating
+        it, guys.. but already liking it! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas</td>
+      <td>Taipei, Taiwan</td>
+      <td>Blog <br />The greatest C++/JAVA IDE in the history...
+      </td>
+    </tr>
+    <tr>
+      <td>Houze</td>
+      <td>Geneva, Switzerland</td>
+      <td>Message - Melusine<br />Eclipse+Maven+M2Eclipse+Jonas=Best
+        Software Factory Today
+      </td>
+    </tr>
+    <tr>
+      <td>Kangho</td>
+      <td>Seoul, Korea</td>
+      <td>Blog - <a href="http://rookiejava.tistory.com/"
+        target="_blank">Rookiejava</a><br />Hello Ganymede..
+      </td>
+    </tr>
+    <tr>
+      <td>Laurent Brack</td>
+      <td>Santa Clara, USA</td>
+      <td>Blog - <a href="http://mobilygen.com" target="_blank">http://mobilygen.com</a><br />Can't
+        work without eclipse. Bring all the tools I need into a single
+        I*E
+      </td>
+    </tr>
+    <tr>
+      <td>KoYoungMin</td>
+      <td>seoul, South Korea</td>
+      <td>Blog - <a href="http://neouser.tistory.net/" target="_blank">run!neo</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Helge Worrmann</td>
+      <td>Hamburg, Germany</td>
+      <td>Message <br />Very good job! Thx a lot
+      </td>
+    </tr>
+    <tr>
+      <td>Dimitris Tsitsipis</td>
+      <td>Lamia, Greece</td>
+      <td>Message <br />Be it C, C++ or Jave, Eclipse is my IDE of
+        choice, and it rocks harder with each release! Keep up the good
+        work!
+      </td>
+    </tr>
+    <tr>
+      <td>Wilson Fan</td>
+      <td>Auckland, New Zealand</td>
+      <td>Message <br />Have been using eclipse for many years. This was
+        the IDE that convinced me that it was time to move from text
+        editors :D
+      </td>
+    </tr>
+    <tr>
+      <td>Zen Biker Maniac</td>
+      <td>Inverness, United Kingdom</td>
+      <td>Blog - <a href="http://zenbikermaniac.blogspot.com/"
+        target="_blank">http://zenbikermaniac.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Markus K�hle</td>
+      <td>55130 Mainz, Germany</td>
+      <td>Blog - <a
+        href="http://javathreads.de/2008/07/eclipse-ganymede-als-jee-entwicklungsumgebung/"
+        target="_blank">Eclipse Ganymede als (JEE) Entwicklungsumgebung</a><br />Was
+        bringt Ganymede neues und welche Vorteile bringt es bei der JEE
+        Entwicklung?
+      </td>
+    </tr>
+    <tr>
+      <td>Zen Biker Maniac</td>
+      <td>Inverness, United Kingdom</td>
+      <td>Blog - <a href="http://zenbikermaniac.freesurf.fr"
+        target="_blank">http://zenbikermaniac.freesurf.fr</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Howard Rosenblum</td>
+      <td>Kanata, Canada</td>
+      <td>Blog - <a
+        href="http://free4allideas.wordpress.com/2008/07/01/free-shirt-and-more/"
+        target="_blank">Free shirt (and more)</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>garry star</td>
+      <td>thousand oaks, United States</td>
+      <td>Message <br />Eclipse is great stuff. Use it all day, every
+        day
+      </td>
+    </tr>
+    <tr>
+      <td>Terry Bell</td>
+      <td>Victoria, Canada</td>
+      <td>Message <br />I am upgrading an RCP app that is used to track
+        forest firefighters and lone workers for safety.
+      </td>
+    </tr>
+    <tr>
+      <td>Shen Ding</td>
+      <td>urumqi, china</td>
+      <td>Message <br />hallo world
+      </td>
+    </tr>
+    <tr>
+      <td>Jan Roza</td>
+      <td>Drunen, Netherlands</td>
+      <td>Message - <a href="http://www.silentwings.nl" target="_blank">Just
+          learning</a><br />Just started out with learning Java after
+        many years in Cobol, Rpg, Visual Basic, Visual DialogScript and
+        Delphi. Really like Eclipse, it's a very good development tool.
+      </td>
+    </tr>
+    <tr>
+      <td>Nicola Sereno</td>
+      <td>Roma, Italia</td>
+      <td>Message <br />C'� anche Roma
+      </td>
+    </tr>
+    <tr>
+      <td>Vijay Kumar Keshri</td>
+      <td>Jaipur, India</td>
+      <td>Message <br />this is a test message.
+      </td>
+    </tr>
+    <tr>
+      <td>Vardan Gevorgyan</td>
+      <td>Yerevan, Armenia</td>
+      <td>Blog - <a href="http://hrat.debian.am" target="_blank">http://hrat.debian.am</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Nuttapong</td>
+      <td>Bangkok, Thailand</td>
+      <td>Message <br />This Good Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Adam Thomas</td>
+      <td>Virginia Beach, United States</td>
+      <td>Blog - <a href="http://javanonsense.blogspot.com/"
+        target="_blank">http://javanonsense.blogspot.com/</a><br />Eclipse
+        Ganymede Rocks!
+      </td>
+    </tr>
+    <tr>
+      <td>Danny Kim</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://godsgift.tistory.com" target="_blank">http://godsgift.tistory.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Darek</td>
+      <td>Krak�w, Polska</td>
+      <td>Blog - <a
+        href="http://blog.darekzon.com/2008/06/mylyn-nastpca-mylar.html"
+        target="_blank">Mylyn - nastepca Mylar</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Alves Lins</td>
+      <td>Bras�lia, Brazil</td>
+      <td>Message - Ganymede release<br />Building an IDE for the iFlux
+        framework (http://sf.net/projects/iflux/) and myFuses framework
+        (http://sf.net/projects/myfuses/), from the Candango Opensource
+        Group (www.candango.org), Brazil.
+      </td>
+    </tr>
+    <tr>
+      <td>Pablo Emiliano Terradillos</td>
+      <td>Resistencia, Argentina</td>
+      <td>Blog - <a
+        href="http://tehsis.blogspot.com/2008/06/eclipse-ganymade-esta-aqu.html"
+        target="_blank">Eclipse GanyMade esta aqu�</a><br />I've just
+        wrote a mini-review about ganymade and i use it as example in my
+        java-related articles
+      </td>
+    </tr>
+    <tr>
+      <td>Gabriel Kohen</td>
+      <td>Andover, USA</td>
+      <td>Blog - <a
+        href="http://roadrunnerqleap.blogspot.com/2008/06/eclipse-34-first-impressions-or-so-you.html"
+        target="_blank">Eclipse 3.4 - First Impressions (Or � So you
+          want to Ganymede?)</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Vlad Ureche</td>
+      <td>Bucharest, Romania</td>
+      <td>Message <br />Go eclipse go!
+      </td>
+    </tr>
+    <tr>
+      <td>Adrian Costil</td>
+      <td>Washington, USA</td>
+      <td>Message <br />Excellent tool. Thank you.
+      </td>
+    </tr>
+    <tr>
+      <td>bwlee</td>
+      <td>Shenzhen, China</td>
+      <td>Message <br />I am using Ganymede now,the one I hope for a
+        long time!
+      </td>
+    </tr>
+    <tr>
+      <td>James Choa</td>
+      <td>San Juan, Philippines</td>
+      <td>Message - Ganymede<br />Got to love Eclipse Ganymede + CDT.
+        Makes all other editors look like toys :D
+      </td>
+    </tr>
+    <tr>
+      <td>Gabriel</td>
+      <td>Curitiba, Brazil</td>
+      <td>Message <br />Finally Ganimede arrive. Congratulations
+        Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Hemang</td>
+      <td>Pune, India</td>
+      <td>Blog - <a href="http://hemang.thanki.googlepages.com"
+        target="_blank">http://hemang.thanki.googlepages.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ekkehard Gentz</td>
+      <td>Rosenheim, Germany</td>
+      <td>Blog - <a
+        href="http://web.mac.com/ekkehard.gentz/ekkes-corner/blog/Eintr%C3%A4ge/2008/6/29_Eclipse_Ganymede_-_P2_shared_installations_(bundle_pool).html"
+        target="_blank">P2 Shared Installations (Bundle Pool) - german</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ekkehard Gentz</td>
+      <td>Rosenheim, germany</td>
+      <td>Blog - <a
+        href="http://ekkes-corner.blogspot.com/2008/06/eclipse-ganymede-p2-shared.html"
+        target="_blank">P2 Shared Installations (Bundle Pool)</a><br />have
+        fun with p2;-)
+      </td>
+    </tr>
+    <tr>
+      <td>Marijn Bekers</td>
+      <td>'s-Hertogenbosch, Netherlands</td>
+      <td>Message <br />Eclipse just keeps getting better. Keep up the
+        good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Yogendra Rampuria</td>
+      <td>Singapore, Singapore</td>
+      <td>Blog - <a href="http://yogendrarampuria.blogspot.com"
+        target="_blank">Yogi's Nook</a><br />Congrats All!!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Guillaume Delaire</td>
+      <td>Lyon, France</td>
+      <td>Message - <a href="http://www.oslo-software.com/"
+        target="_blank">http://www.oslo-software.com/</a><br />In
+        Ganymede we trust !!!
+      </td>
+    </tr>
+    <tr>
+      <td>Daycom Technologies</td>
+      <td>Barcelona, Spain</td>
+      <td>Blog - <a href="http://www.daycomtech.com" target="_blank">http://www.daycomtech.com</a><br />Ya
+        lo tengo!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Jakob K�lzer</td>
+      <td>M�nchen, Deutschland</td>
+      <td>Message - <a href="http://www.jakusys.de" target="_blank">I
+          Love Eclipse</a><br />I love eclipse. I use it for everything.
+        :)
+      </td>
+    </tr>
+    <tr>
+      <td>Diego L�pez Le�n</td>
+      <td>Capital Federal, Argentina</td>
+      <td>Blog - <a
+        href="http://locademiaz.blogspot.com/2008/06/nuevo-eclipse-ganymede.html"
+        target="_blank">Nuevo Eclipse Ganymede</a><br />Quiero la
+        campera! :P
+      </td>
+    </tr>
+    <tr>
+      <td>Pablo Frias</td>
+      <td>Cordoba, Argentina</td>
+      <td>Blog - <a
+        href="http://mundojava.blogspot.com/2008/06/nuevo-eclipse-ganymede-primer.html"
+        target="_blank">Nuevo Eclipse Ganymede - Primer experimento</a><br />Primer
+        intento con el nuevo Update Manage
+      </td>
+    </tr>
+    <tr>
+      <td>Reeyan Lee</td>
+      <td>Seoul, Korea</td>
+      <td>Blog - <a href="http://rooum.tistory.com" target="_blank">Lovely
+          eclipse...</a><br />Hi.. Ho... It's finally here... well done.
+      </td>
+    </tr>
+    <tr>
+      <td>Tudor Holton</td>
+      <td>Melbourne, Australia</td>
+      <td>Message - <a
+        href="http://www.athsvic.org.au/pub/software/OpenScore"
+        target="_blank">http://www.athsvic.org.au/pub/software/OpenScore</a><br />Using
+        Ganymede in OpenScore - a live results and scoring system for
+        Athletics.
+      </td>
+    </tr>
+    <tr>
+      <td>Wissem</td>
+      <td>Guelma, Algeria</td>
+      <td>Blog - <a href="http://sdsd;" target="_blank">http://sdsd;</a><br />Thanks
+        people, i am very glad to see this new version.. keep on.
+      </td>
+    </tr>
+    <tr>
+      <td>kilito</td>
+      <td>rabat, moroco</td>
+      <td>Blog - <a href="http://moroco.com" target="_blank">http://moroco.com</a><br />Thanks,
+        great job!
+      </td>
+    </tr>
+    <tr>
+      <td>Diallo</td>
+      <td>bamaco, Mali</td>
+      <td>Blog - <a href="http://dialo.com" target="_blank">http://dialo.com</a><br />Great
+        work, keep on
+      </td>
+    </tr>
+    <tr>
+      <td>Jocafi</td>
+      <td>Salvador, Brazil</td>
+      <td>Message - Wonderful Tool<br />Ganymede is the best development
+        tool I have worked with. Improvement of RAD, ease of use and
+        intelligence overall. Thanks to the Eclipse Team.
+      </td>
+    </tr>
+    <tr>
+      <td>David</td>
+      <td>Oviedo, Spain</td>
+      <td>Blog - <a href="http://www.neuromante.org" target="_blank">Neuromante.org</a><br />Soy
+        m�s fan de NetBeans, pero sin duda Eclipse es genial. ��VIVA
+        JAVA!!
+      </td>
+    </tr>
+    <tr>
+      <td>Allan Chandler</td>
+      <td>Perth, Australia</td>
+      <td>Message <br />Hello from Perth Australia
+      </td>
+    </tr>
+    <tr>
+      <td>Georgi Baychev</td>
+      <td>Sofia, Bulgaria</td>
+      <td>Message <br />Keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Emad Sarhan</td>
+      <td>Alexandria, Egypt</td>
+      <td>Message - Mylyn 2.2<br />Mylyn 2.2 release and will
+        demonstrate the latest features for keeping you productive and
+        happy when programming in Eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Bhuvanesh</td>
+      <td>Visakhapatnam, India</td>
+      <td>Message - Ganymede Rocks!<br />Eclipse 3.4 has numerous new
+        features that would surely make java development a pleasure.
+        Kudos to the Ganymede development team for delivering a great
+        product!
+      </td>
+    </tr>
+    <tr>
+      <td>Nelson Seixas</td>
+      <td>Rio de Janeiro, Brazil</td>
+      <td>Message - <a href="http://ww.nsouza.eti.br" target="_blank">Melhor
+          IDE</a><br />Melhor ide do mundo
+      </td>
+    </tr>
+    <tr>
+      <td>SJM</td>
+      <td>Frankfurt am Main, Deutschland</td>
+      <td>Message <br />Eclipse the "eierlegende Wollmilchsau"! :D
+      </td>
+    </tr>
+    <tr>
+      <td>Marcio Hiroyuki Miyamoto</td>
+      <td>Santo Andr�, Brasil</td>
+      <td>Message <br />Hello world! in Eclipse Ganymede of course!
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/06/eclipse-ganymede-w00t-dtp-review-first.html"
+        target="_blank">Eclipse Ganymede w00t DTP review!</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Victor Tavares</td>
+      <td>Jo�o Pessoa, Brazil</td>
+      <td>Message <br />Very Good! Congratulations to Eclipse Team.
+      </td>
+    </tr>
+    <tr>
+      <td>Radoslaw Urbas</td>
+      <td>Krakow, Poland</td>
+      <td>Blog - <a href="http://urbas.tk/?p=33" target="_blank">Radek's
+          tech blog</a><br />It looks like release 3.4 is moving Eclipse
+        into the right direction.
+      </td>
+    </tr>
+    <tr>
+      <td>Guy Nirpaz</td>
+      <td>Tel Aviv, Israel</td>
+      <td>Blog - <a
+        href="http://www.jroller.com/gnirpaz/entry/new_gadget_eclipse_ganymede"
+        target="_blank">New Gadget - Eclipse Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Hector Duarte</td>
+      <td>Hidalgo Del Parral, Mexico</td>
+      <td>Message - Eclipse para m�viles<br />Yo utilizo Eclipse para
+        desarrollar software para m�viles, es una muy buena
+        herramienta!!
+      </td>
+    </tr>
+    <tr>
+      <td>Sabine Miehlbradt</td>
+      <td>Kassel, Deutschland</td>
+      <td>Blog - <a href="http://wordpress.hotep.de" target="_blank">Eclipse
+          Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>sylvain m</td>
+      <td>la madeleine, france</td>
+      <td>Blog - <a href="http://www.eclipse.org" target="_blank">http://www.eclipse.org</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Julio Gesser</td>
+      <td>Blumenau, Brazil</td>
+      <td>Message - Eclipse rules<br />Eclipse is the best IDE!
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Imamura</td>
+      <td>Atlanta, USA</td>
+      <td>Message <br />Been waiting a long for this release! It's great
+        to be able to use the same IDE on so many platforms.
+      </td>
+    </tr>
+    <tr>
+      <td>Mono</td>
+      <td>Blumenau, Brazil</td>
+      <td>Message <br />Need this chuncho
+      </td>
+    </tr>
+    <tr>
+      <td>Bruno Emanuel</td>
+      <td>S�o Luis, Brazil</td>
+      <td>Message - Sr<br />J� estou atualizando..
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Finger</td>
+      <td>Salt Lake City, USA</td>
+      <td>Message <br />Sweet
+      </td>
+    </tr>
+    <tr>
+      <td>Arun Gupta</td>
+      <td>Santa Clara, USA</td>
+      <td>Blog - <a
+        href="http://blogs.sun.com/arungupta/entry/glassfish_on_eclipse_ganymede"
+        target="_blank">GlassFish on Eclipse Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jose Luis Ramirez Terry</td>
+      <td>Alicante, Espa�a</td>
+      <td>Blog - <a href="http://www.i2e.com.es/blog/?p=57"
+        target="_blank">I2E</a><br />Increible, un IDE as� open
+        source... Sin comentarios
+      </td>
+    </tr>
+    <tr>
+      <td>Ivan Alejandro Flores Correa</td>
+      <td>Santiago, Chile</td>
+      <td>Blog - <a href="http://slacker-linux.blogspot.com/"
+        target="_blank">Slacker-Linux</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Francisco Collao</td>
+      <td>Santiago, Chile</td>
+      <td>Blog - <a href="http://pcollaog.firefox.cl" target="_blank">http://pcollaog.firefox.cl</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Vikas Mayur</td>
+      <td>Yamunanagar, India</td>
+      <td>Message <br />Thanks and Congratulations to Eclipse community
+        !
+
+      </td>
+    </tr>
+    <tr>
+      <td>GUAY Fr�d�ric</td>
+      <td>Val d'europe, France</td>
+      <td>Message <br />Good luck !
+      </td>
+    </tr>
+    <tr>
+      <td>Xavier Haas</td>
+      <td>Paris, France</td>
+      <td>Message <br />As always in time with the quality and the new
+        features. Well done folks.
+      </td>
+    </tr>
+    <tr>
+      <td>Oleg Chernenko</td>
+      <td>Kyiv, Ukraine</td>
+      <td>Message <br />It's slower then 3.3 on the same machine and the
+        same jre. Looking forward to performance improvements
+      </td>
+    </tr>
+    <tr>
+      <td>Peter Pilgrim</td>
+      <td>London, England</td>
+      <td>Message - <a href="http://jroller.com/peter_pilgrim"
+        target="_blank">http://jroller.com/peter_pilgrim</a><br />Congratulations
+        to the Eclipse team on releasing Ganymede. JAVAWUG President,
+        Founder and Organiser. Sun Java Champion
+      </td>
+    </tr>
+    <tr>
+      <td>Henrique Fernandes</td>
+      <td>Lisbon, Portugal</td>
+      <td>Message <br />eclipse rocks!
+      </td>
+    </tr>
+    <tr>
+      <td>Radu Bretean</td>
+      <td>Timisoara, Romania</td>
+      <td>Message <br />Eclipse is great. Good work guys! :))
+      </td>
+    </tr>
+    <tr>
+      <td>Paolo Bacchilega</td>
+      <td>Salerno, Italy</td>
+      <td>Message <br />I use Eclipse for C, Ruby, HTML and Javascript
+        development. Ciao and thanks for your hard work !!!
+      </td>
+    </tr>
+    <tr>
+      <td>Bustanil Arifin</td>
+      <td>Jakarta, Indonesia</td>
+      <td>Message <br />Eclipse 3.4 rocks! It has a lot of new stuff to
+        be explored.
+      </td>
+    </tr>
+    <tr>
+      <td>Vladimir V. Babushkin</td>
+      <td>Perm, Russia</td>
+      <td>Message <br />Using Eclipse IDE since 2004. Fast IDE for J2EE
+        develop. Using Eclipse Ganymede from 5th June. So match new
+        features. Very useful for java developers: * Extract class
+        refactoring * New quick assists and more other Thanks.
+      </td>
+    </tr>
+    <tr>
+      <td>Habin</td>
+      <td>Trivandrum, India</td>
+      <td>Recording - <a href="http://www.eclipse.org" target="_blank">http://www.eclipse.org</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Cookie</td>
+      <td>Seoul, South Korea</td>
+      <td>Message - Hello<br />Congraturation
+      </td>
+    </tr>
+    <tr>
+      <td>Harichandra Reddy N</td>
+      <td>Hyderabad, India</td>
+      <td>Message - Java Script dedugging ?<br />I recently attended the
+        Eclipse ganymede Democamp in Hyderabad ,I attended the democamp
+        to know whether this release support javascript debugging, they
+        said a firm NO,which disapponted me,I want javscript debugging
+        in eclipse what should i do
+      </td>
+    </tr>
+    <tr>
+      <td>Quan YIN</td>
+      <td>Changsha, China</td>
+      <td>Message <br />You guys are doing wonderful jobs!
+      </td>
+    </tr>
+    <tr>
+      <td>Kiran Kumar</td>
+      <td>Hyderabad, India</td>
+      <td>Blog - <a
+        href="http://my2words.wordpress.com/2008/06/27/ganymede-new-swt-api/"
+        target="_blank">http://my2words.wordpress.com/2008/06/27/ganymede-new-swt-api/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ashish Vijaywargiya</td>
+      <td>Indore, India</td>
+      <td>Message <br />Using Eclipse Ganymede from 25th June and
+        Enjoying its new feature very much. I am a committer of Apache
+        Ofbiz Project (http://ofbiz.apache.org/) and using Eclipse since
+        2003. Very fast and light weight IDE. Eclipse made my life
+        easier. Thanks.
+      </td>
+    </tr>
+    <tr>
+      <td>Mark Louie De Castro</td>
+      <td>Pasig City, Philippines</td>
+      <td>Message - Facts about Ganymede<br />Did you know that Ganymede
+        is another Jupiter satellite? Ganymede's orbit doubles Europa's.
+        Europa has been very useful.. but, Lo and behold, welcome!
+        Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Brad</td>
+      <td>Wellington, New Zealand</td>
+      <td>Message - subversive worth it?<br />Ganymede looks nice - just
+        installed. Subversive has issues though - where can anyone find
+        the connectors?!
+      </td>
+    </tr>
+    <tr>
+      <td>Chris Kwon</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://xguru.net/blog/457.html"
+        target="_blank">Eclipse 3.4 Ganymede ���� ������ !</a><br />Eclipse
+        Rules!
+      </td>
+    </tr>
+    <tr>
+      <td>Yohann CIURLIK</td>
+      <td>Rouen, France</td>
+      <td>Blog - <a
+        href="http://www.spawnrider.net/blogs/2008/06/27/eclipse-34-nom-de-code-ganymede/"
+        target="_blank">Eclipse 3.4 nom de code Ganymede </a><br />Pour
+        continuer dans la lanc�e des nouveaut�s logiciels, je vous
+        annonce la sortie de la nouvelle version d�Eclipse Ganymede 3.4.
+      </td>
+    </tr>
+    <tr>
+      <td>El tecn�loco</td>
+      <td>bs as, argenitna</td>
+      <td>Blog - <a href="http://www.eltecnoloco.com/crystian/"
+        target="_blank">Tecnoloco</a><br />Excelente herramienta, no
+        seriamos nada si esta
+      </td>
+    </tr>
+    <tr>
+      <td>Pedro</td>
+      <td>Fortaleza, Brazil</td>
+      <td>Blog - <a href="http://www.cejug.org.br" target="_blank">http://www.cejug.org.br</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Alisson Gomes</td>
+      <td>Guanambi, Brazil</td>
+      <td>Message - Ecosystem Eclipse wonderful<br />Release the
+        fantastic new Eclipse Ganymede. Incredible as eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Osvaldo N. R. Arguello</td>
+      <td>Mexico City, Mexico</td>
+      <td>Message - <a href="http://campus.ife.org.mx" target="_blank">I
+          use Eclipse for PHP development</a><br />9 mounths ago, I
+        intalled Eclipse Europa with PHP plugin and I could see the
+        power of the editor and another tools integrated in Eclipse, now
+        I download Ganymede release to continue be Eclipse user.
+      </td>
+    </tr>
+    <tr>
+      <td>Girish Pandit</td>
+      <td>Pennington, USA</td>
+      <td>Blog - <a href="http://www.knowjava.com" target="_blank">http://www.knowjava.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Allan Hosken</td>
+      <td>Belo Horizonte, Brazil</td>
+      <td>Message <br />Cada vez melhor!
+      </td>
+    </tr>
+    <tr>
+      <td>Stuart Moffatt</td>
+      <td>Salt Lake City, USA</td>
+      <td>Message - <a href="http://emcode.googlecode.com"
+        target="_blank">Ganymede for Disaster Management</a><br />I am
+        using Eclipse to develop software for all phases of disaster
+        management.
+      </td>
+    </tr>
+    <tr>
+      <td>Revert To Console</td>
+      <td>Boston, USA</td>
+      <td>Blog - <a href="http://reverttoconsole.com/archives/197"
+        target="_blank">Eclipse Ganymede Review -- Bloated and
+          dissappointing</a><br />Eclipse Ganymede Review -- Bloated and
+        dissappointing
+      </td>
+    </tr>
+    <tr>
+      <td>willy</td>
+      <td>oruro, oruro</td>
+      <td>Message - <a href="http://www.sistemas.edu.bo" target="_blank">Saludos
+          a la comunidad</a><br />Aqui chochos por la nueva version de
+        eclipse 3.4
+      </td>
+    </tr>
+    <tr>
+      <td>Kor</td>
+      <td>GRENOBLE, France</td>
+      <td>Message <br />Eclipse rulezzzz
+      </td>
+    </tr>
+    <tr>
+      <td>Dirk Ruediger</td>
+      <td>Rostock, Germany</td>
+      <td>Blog - <a
+        href="http://https://niebegeg.net/blog/friend-of-eclipse"
+        target="_blank">Ich bin ein Freund von Eclipse :-)</a><br />I
+        did it: After using Eclipse for a couple of years, I decided to
+        become a friend of eclipse just in time with the ganymede
+        release.
+      </td>
+    </tr>
+    <tr>
+      <td>Hui chen</td>
+      <td>Palo Alto, USA</td>
+      <td>Message <br />Great Product!
+      </td>
+    </tr>
+    <tr>
+      <td>Axel Knauf</td>
+      <td>Frankfurt, Germany</td>
+      <td>Message - Ganymede for teh win!<br />Thanks guys for this
+        great new release! Can't get the grin out of my face since
+        yesterday!
+      </td>
+    </tr>
+    <tr>
+      <td>Francesco Chiodo</td>
+      <td>Soveria Mannelli, Italy</td>
+      <td>Blog - <a
+        href="http://groups.google.com/group/jugcalabria/web/eclipseganymedesubversiontrac"
+        target="_blank">A Web IDE with Eclipse Ganymede, Subversion and
+          Trac</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Terry Kilshaw</td>
+      <td>Kelowna, Canada</td>
+      <td>Blog - <a href="http://www.quantechsoftware.com"
+        target="_blank">http://www.quantechsoftware.com</a><br />Used
+        with Java, SnappMX and MySQL
+      </td>
+    </tr>
+    <tr>
+      <td>Shailesh Kumar S</td>
+      <td>Bangalore, India</td>
+      <td>Message - Love Eclipse<br />I love working on Java. Its an
+        amzing technology, so i do use Eclipse. Its awesome IDE.
+      </td>
+    </tr>
+    <tr>
+      <td>outaTiME</td>
+      <td>Buenos Aires, Argentina</td>
+      <td>Blog - <a href="http://outatime.wordpress.com" target="_blank">outaTiME</a><br />outaTiME
+        rulez :P
+      </td>
+    </tr>
+    <tr>
+      <td>Dave Loomis</td>
+      <td>Denver, USA</td>
+      <td>Blog <br />The SOA Tools are coming together!
+      </td>
+    </tr>
+    <tr>
+      <td>Joey Sebastian</td>
+      <td>Northvale, usa</td>
+      <td>Message <br />go eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>Gavin Wang</td>
+      <td>Dalian, China</td>
+      <td>Message - Say Hello to Eclipse again<br />Say Hello to Eclipse
+        again
+      </td>
+    </tr>
+    <tr>
+      <td>Ocean Wang</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a href="http://oceanw.spaces.live.com" target="_blank">http://oceanw.spaces.live.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Micha�</td>
+      <td>Zielona G�ra, Poland</td>
+      <td>Message <br />PDE, RCP, MDA - I like it:)
+      </td>
+    </tr>
+    <tr>
+      <td>gr1n</td>
+      <td>Lodz, Poland</td>
+      <td>Message - Great!!!<br />I can never get enough of Eclipse
+        ultimate editing power! Keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Arunagiri K</td>
+      <td>Bangalore, India</td>
+      <td>Message - Faster, Reliabe RCP applications by using Ganymede<br />Ganymede
+        helps me to build reliable,faster,cost effective solution to the
+        customers. Ask me, We r in the development of retail solutions.
+        Ganymede doing a great job, especially ECF and BIRT lifts my
+        product to another level.
+      </td>
+    </tr>
+    <tr>
+      <td>Balazs Banfai</td>
+      <td>Budapest, Hungary</td>
+      <td>Blog - <a href="http://www.b2international.com"
+        target="_blank">Software Engineer</a><br />Hey, we are
+        organizing an Eclipse Demo camp!
+      </td>
+    </tr>
+    <tr>
+      <td>Taboom</td>
+      <td>Tampere, Finland</td>
+      <td>Message <br />I use Ganymede at work and at home for almost
+        all my software development.
+      </td>
+    </tr>
+    <tr>
+      <td>Valtoni Boaventura</td>
+      <td>Bel�m, Brasil</td>
+      <td>Message - Nice Job!<br />Thanks about the hard work to our
+        open community. You make the difference!
+      </td>
+    </tr>
+    <tr>
+      <td>Rahul</td>
+      <td>Mumbai, India</td>
+      <td>Blog - <a
+        href="http://codeword.blogspot.com/2008/06/eclipse-ganymede-is-out.html"
+        target="_blank">Eclipse Ganymede is out</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Simon kelly</td>
+      <td>Cape Town, South Africa</td>
+      <td>Message - <a href="http://www.cell-life.org/idart"
+        target="_blank">Opensource pharmacy tools</a><br />We use
+        Eclipse to develop out opensource pharmacy dispensing tool which
+        is helping to increase the capacity of the health system in
+        South Africa.
+      </td>
+    </tr>
+    <tr>
+      <td>Spyros</td>
+      <td>Athens, Greece</td>
+      <td>Message <br />I use eclipse at work. Will try Ganymede today!
+        (although here we're still working with 3.2!! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Eric Euerlings</td>
+      <td>Z�rich, Switzerland</td>
+      <td>Blog - <a href="http://www.euerlings.ch" target="_blank">http://www.euerlings.ch</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jens K.</td>
+      <td>Gie�en, Germany</td>
+      <td>Blog - Eager to download<br />Hoping for new features in the
+        EMF project
+      </td>
+    </tr>
+    <tr>
+      <td>Melvin Vivas</td>
+      <td>Manila, Philippines</td>
+      <td>Blog - <a href="http://devpinoy.org/blogs/javazealot/"
+        target="_blank">http://devpinoy.org/blogs/javazealot/</a><br />eclipse
+        rocks! :D
+      </td>
+    </tr>
+    <tr>
+      <td>Vijay Mateti</td>
+      <td>Hyderabad, India</td>
+      <td>Blog - <a href="http://geek-tale.blogspot.com" target="_blank">Mylyn
+          is Great!</a><br />Ganymede Release is neat and sweet. Mylyn
+        is super!
+      </td>
+    </tr>
+    <tr>
+      <td>Virasak Dungsrikaew</td>
+      <td>Ko Samui, Thailand</td>
+      <td>Message <br />I love the new JDT
+      </td>
+    </tr>
+    <tr>
+      <td>Reto M. Kiefer</td>
+      <td>Wiesbaden, Germany</td>
+      <td>Blog - <a href="http://www.retokiefer.com" target="_blank">Code
+          is Lyric</a><br />Congratulations to all involved people. I am
+        using Eclipse for years and it simply rocks!
+      </td>
+    </tr>
+    <tr>
+      <td>Nicod�me Cyril</td>
+      <td>Strasbourg, France</td>
+      <td>Blog - <a href="http://blog.reflectiv.net" target="_blank">http://blog.reflectiv.net</a><br />Used
+        for Web developpement. Eclipse is a great IDE for developping
+        applications ! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Enrico Lefass</td>
+      <td>Berlin, Germany</td>
+      <td>Message <br />An IDE that's rock solid and up to date!
+      </td>
+    </tr>
+    <tr>
+      <td>Markus Majer</td>
+      <td>Ingersheim, Germany</td>
+      <td>Message <br />Eclipse rocks! Not only the best IDE for Java
+        Development, but with PyDev and Aptana also for Python and Web
+        Programming! Keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Philipp Bouillon</td>
+      <td>52351 D�ren, Germany</td>
+      <td>Message <br />What I like is coding programs. What I love is
+        developing outstanding software with Ganymede. It makes complex
+        things manageable -- and simply fun!
+      </td>
+    </tr>
+    <tr>
+      <td>Iosev Perez Rivero</td>
+      <td>La Habana, Cuba</td>
+      <td>Message <br />Todo sobre Eclipse IDE.
+      </td>
+    </tr>
+    <tr>
+      <td>Luiz Almeida</td>
+      <td>Santos, Brazil</td>
+      <td>Message <br />Hi Guys. Hello Brazil. Since Europa, eclipse
+        became the best ever java IDE.
+      </td>
+    </tr>
+    <tr>
+      <td>Marc Lester Tan</td>
+      <td>Manila, Philippines</td>
+      <td>Message - Hayup<br />Hanep ang eclipse mga repapips
+      </td>
+    </tr>
+    <tr>
+      <td>Pavanesh</td>
+      <td>Bangalore, India</td>
+      <td>Blog <br />redefined ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Adrian San Juan</td>
+      <td>Manila, Philippines</td>
+      <td>Message - Ganymede vs. Europa<br />We've been using Europa for
+        quite a while now and we're quite happy with it. I'm looking at
+        Ganymede now as possible upgrade to Europa.
+      </td>
+    </tr>
+    <tr>
+      <td>kamanashis Roy</td>
+      <td>Dhaka, Bangladesh</td>
+      <td>Message - <a href="http://miniim.sf.net" target="_blank">MiniIM
+          development</a><br />Hi, I am using it in writing j2me
+        application :)
+      </td>
+    </tr>
+    <tr>
+      <td>Paul Michael Laborte</td>
+      <td>Pasig, Philippines</td>
+      <td>Blog - <a
+        href="http://dayg.wordpress.com/2008/06/26/eclipse-34-ganymede-managing-extension-locations/"
+        target="_blank">Eclipse 3.4 (Ganymede) - Managing Extension
+          Locations</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Luis Gustavo Lira</td>
+      <td>Lima, Peru</td>
+      <td>Blog - <a
+        href="http://scitechbizdev.blogspot.com/2008/06/eclipse-ganymede-rcp.html"
+        target="_blank">Ganymede RCP</a><br />post on my blog
+      </td>
+    </tr>
+    <tr>
+      <td>Lokesh k</td>
+      <td>Nanjangud, India</td>
+      <td>Message <br />New Ganymede is very simple to use.
+      </td>
+    </tr>
+    <tr>
+      <td>Praveen</td>
+      <td>Banglore, India</td>
+      <td>Message <br />I am using Ganymede RC4 on linux platform it
+        makes life so easy.I belive its will be a great success
+      </td>
+    </tr>
+    <tr>
+      <td>rajuhd</td>
+      <td>Mysore, India</td>
+      <td>Message <br />Im upgrading my old version to a new version..
+      </td>
+    </tr>
+    <tr>
+      <td>Jean-Francois Briere</td>
+      <td>Quebec, Canada</td>
+      <td>Message <br />I'm with you since 1.0. Great work guys!
+      </td>
+    </tr>
+    <tr>
+      <td>Mehmet Bilgi</td>
+      <td>Reno, US</td>
+      <td>Message - Congrats !<br />3 years in a row! Congrats to
+        Eclipse team for this amazing platform.
+      </td>
+    </tr>
+    <tr>
+      <td>Raishad Maharaj</td>
+      <td>Arlington, USA</td>
+      <td>Blog - <a
+        href="http://www.raishad.com/2008/06/25/gany-awesome/"
+        target="_blank">Gany-awesome!</a><br />Thanks Eclipse, for
+        making my life easier.
+      </td>
+    </tr>
+    <tr>
+      <td>kenn</td>
+      <td>beijing, china</td>
+      <td>Message <br />hoho,great
+      </td>
+    </tr>
+    <tr>
+      <td>Dimitar Dyankov</td>
+      <td>Santa Barbara, USA</td>
+      <td>Blog - <a href="http://www.eclipse.org" target="_blank">Eclipse
+          Ganymede</a><br />thanks!
+      </td>
+    </tr>
+    <tr>
+      <td>Dzerjinski Lemos</td>
+      <td>Luanda, Angola</td>
+      <td>Message <br />Estou a utilizar o eclipse para todo o
+        desenvolvimento feito na minha empresa, porque "Eclipse Rocks"
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel</td>
+      <td>Montreal, Canada</td>
+      <td>Message <br />I love Eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>Thiago Moretto</td>
+      <td>Campo Grande, Brazil</td>
+      <td>Message <br />Eclipse forever!
+      </td>
+    </tr>
+    <tr>
+      <td>Izzet Mustafayev</td>
+      <td>Kyiv, Ukraine</td>
+      <td>Blog <br />Eclipse is mega great stuff
+      </td>
+    </tr>
+    <tr>
+      <td>Emerson</td>
+      <td>S�o Paulo, Brazil</td>
+      <td>Message <br />Really good! But sysdeo tomcat plugin dont work!
+      </td>
+    </tr>
+    <tr>
+      <td>Dmitry Shkil</td>
+      <td>Kyiv, Ukraine</td>
+      <td>Message <br />Eclipse is great!
+      </td>
+    </tr>
+    <tr>
+      <td>Patrick</td>
+      <td>Boucherville, Canada</td>
+      <td>Message <br />Houra !
+      </td>
+    </tr>
+    <tr>
+      <td>Mittal</td>
+      <td>Philadelphia, US</td>
+      <td>Blog - <a href="http://mittal-bhiogade.com" target="_blank">Mittal
+          Java Blogs</a><br />Ola
+      </td>
+    </tr>
+    <tr>
+      <td>Aleksandr</td>
+      <td>Liepaja, Latvia</td>
+      <td>Message - <a href="http://www.xemantix.com" target="_blank">Eclipse</a><br />We
+        used to develop all our stuff with the help of this project. It
+        delivers us the great opportunity in all the way we like. Many
+        many thanks to all the developers who take a part in this GREAT
+        project. Thank you!:)
+      </td>
+    </tr>
+    <tr>
+      <td>Osty Leon</td>
+      <td>Caracas, Venezuela</td>
+      <td>Blog - <a href="http://ooleon.googlepages.com" target="_blank">http://ooleon.googlepages.com</a><br />Congratulations
+        to the Eclipse Foundation.
+      </td>
+    </tr>
+    <tr>
+      <td>Abdrabba Tassine</td>
+      <td>Hammam-Lif, Tunisia</td>
+      <td>Message - <a href="http://a-yassine.blogspot.com"
+        target="_blank">Good Work</a><br />I'm very pleased with the
+        improvements, It's great to work on Eclipse, Keep it up ;)
+      </td>
+    </tr>
+    <tr>
+      <td>Sadhasivam</td>
+      <td>Cranberry Twp, USA</td>
+      <td>Message <br />Personal / Project Development
+      </td>
+    </tr>
+    <tr>
+      <td>Alexander Ramos Jardim</td>
+      <td>Rio de Janeiro, Brazil</td>
+      <td>Message - Developer<br />I am using Ganymede to develop
+        integration plataforms for our clients. I t's cool to work with
+        the newest and greatest Eclipse as we get enhanced features and
+        more embedded plugins!
+      </td>
+    </tr>
+    <tr>
+      <td>ArtjomA</td>
+      <td>Riga, Latvija</td>
+      <td>Message <br />Hi folks ! Eclipse rules ! +1
+      </td>
+    </tr>
+    <tr>
+      <td>Peter Hendriks</td>
+      <td>Den Bosch, Netherlands</td>
+      <td>Blog - <a
+        href="http://blogs.infosupport.com/peterhe/archive/2008/06/25/Eclipse-Ganymede-out-today.aspx"
+        target="_blank">Eclipse Ganymede out today</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Paul Davis</td>
+      <td>San Bruno, USA</td>
+      <td>Blog - <a
+        href="http://willcode4beer.com/opinion.jsp?set=ganymedeReview"
+        target="_blank">A Review of Eclipse Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Kriszti�n Szab�</td>
+      <td>Budapest, Hungary</td>
+      <td>Blog - <a href="http://loxon.hu" target="_blank">http://loxon.hu</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>vojimir golem</td>
+      <td>split, Croatia</td>
+      <td>Blog - <a
+        href="http://www.thescreencast.com/2008/06/what-i-like-about-eclipse-34-jdt.html"
+        target="_blank">What I like about Eclipse 3.4 JDT</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Boshell</td>
+      <td>Fulda, Germany</td>
+      <td>Blog - <a
+        href="http://www.jroller.com/tomboshell/entry/the_eclipse_version_3_4"
+        target="_blank">The Eclipse version 3.4 (Ganymede) is officially
+          out</a><br />I like the new P2. It starts faster than the old
+        way and groups both the installed and updating options. It is a
+        bit more logical. This means that I will have to learn the new
+        tricks and such but that is what makes it fun!
+      </td>
+    </tr>
+    <tr>
+      <td>Jeff</td>
+      <td>Troy, United States</td>
+      <td>Blog - <a href="http://www.searchenginecaffe.com"
+        target="_blank">Jeff's Search Engine Caffe</a><br />Ganymede
+        rocks for search engine development!
+      </td>
+    </tr>
+    <tr>
+      <td>Marcos Silva Pereira</td>
+      <td>Recife, Brazil</td>
+      <td>Message - <a href="http://marcospereira.wordpress.com"
+        target="_blank">Melhor ainda.</a><br />Incr�vel como o Eclipse
+        consegue ficar melhor ainda.
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Margiel</td>
+      <td>Warsaw, Poland</td>
+      <td>Blog - <a
+        href="http://poligloci.blogspot.com/2008/06/eclipse-ganymede-przybyo.html"
+        target="_blank">Eclipse Ganymede is here!!!</a><br />huraaaaaaaaaa
+      </td>
+    </tr>
+    <tr>
+      <td>Luis Santos</td>
+      <td>Lisboa, Portugal</td>
+      <td>Blog - <a href="http://www.twimba.com/blogs/luis/"
+        target="_blank">Eclipse Ganymede</a><br />Sweeeeetttt
+      </td>
+    </tr>
+    <tr>
+      <td>Jure Repinc</td>
+      <td>Bohinjska Bistrica, Slovenia</td>
+      <td>Message <br />I'm using Eclipse 3.4 Ganymede for C++/Qt4
+        development.
+      </td>
+    </tr>
+    <tr>
+      <td>cfly</td>
+      <td>beijing, China</td>
+      <td>Message - excellent<br />hope fix more bugs
+      </td>
+    </tr>
+    <tr>
+      <td>Jason Hocker</td>
+      <td>Centreville, 20121</td>
+      <td>Message <br />Using for personal java development.
+      </td>
+    </tr>
+    <tr>
+      <td>Adrian B.</td>
+      <td>Plattling, Germany</td>
+      <td>Message - Thank you<br />I am using it for Java
+        SE/ActionScript/C++ Development!
+      </td>
+    </tr>
+    <tr>
+      <td>J�r�mie Gottero</td>
+      <td>Lyon, France</td>
+      <td>Message <br />Simply the best :)
+      </td>
+    </tr>
+    <tr>
+      <td>Brian Jakubik</td>
+      <td>Allen, US</td>
+      <td>Message <br />Thanks for another great release!
+      </td>
+    </tr>
+    <tr>
+      <td>Mz Omarjee</td>
+      <td>Johannesburg, South Africa</td>
+      <td>Blog - <a href="http://innovativ.blogspot.com" target="_blank">Innovativ</a><br />The
+        integration and web service capabilities in Eclipse are awesome.
+
+        Our entire banking j2ee development team standardised on the
+        ecipse platform.
+      </td>
+    </tr>
+    <tr>
+      <td>Jeff Porter</td>
+      <td>Leamington Spa, UK</td>
+      <td>Message - Eager for the new release!<br />I'm eager for the
+        new release! Its been the 25th in the UK for hours, come on! ;-)
+      </td>
+    </tr>
+    <tr>
+      <td>richion</td>
+      <td>shanghai, China</td>
+      <td>Message - <a href="http://blog.csdn.net/richion"
+        target="_blank">http://blog.csdn.net/richion</a><br />come
+        on!ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Chris</td>
+      <td>Darmstadt, Germany</td>
+      <td>Message <br />We love Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Roger</td>
+      <td>Franco da Rocha, Brazil</td>
+      <td>Message - Happy<br />This is so amazing
+      </td>
+    </tr>
+    <tr>
+      <td>Jeff Porter</td>
+      <td>Leamington Spa, UK</td>
+      <td>Message - Eager for the new release!<br />I'm eager for the
+        new release! Its been the 25th in the UK for hours now!, come on
+        ;-)
+
+      </td>
+    </tr>
+    <tr>
+      <td>Bartlomiej Nogiec</td>
+      <td>Katowice, Poland</td>
+      <td>Message - <a href="http://www.j2ee.net.pl" target="_blank">http://www.j2ee.net.pl</a><br />I'm
+        using Eclipse everyday at work and home! :)
+      </td>
+    </tr>
+    <tr>
+      <td>Patrick Gell</td>
+      <td>M�nchen, Germany</td>
+      <td>Message <br />I use Eclispe for Java and RCP development
+      </td>
+    </tr>
+    <tr>
+      <td>Nick Wiedenbr�ck</td>
+      <td>Lippstadt, Germany</td>
+      <td>Blog - <a
+        href="http://devblog.nickonline.de/2008/06/eclipse-ganymede-release.html"
+        target="_blank">http://devblog.nickonline.de/2008/06/eclipse-ganymede-release.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Aleksandr Zdanevich</td>
+      <td>Yalta, Ukraine</td>
+      <td>Message - Programmer<br />I'm using Eclipse for a year. I lite
+        it very much, the best open source IDE for Java developers.
+      </td>
+    </tr>
+    <tr>
+      <td>DongGuk Lee</td>
+      <td>Seoul, South Korea</td>
+      <td>Blog - <a href="http://blog.openframework.or.kr"
+        target="_blank">http://blog.openframework.or.kr</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Abhijit Dhariya</td>
+      <td>Pune, India</td>
+      <td>Message <br />New modeling stuff in RC4 is really good.
+      </td>
+    </tr>
+    <tr>
+      <td>Denis Robert</td>
+      <td>Hamilton, Bermuda</td>
+      <td>Message <br />Welcome Ganymede! Hope P2 works out!!! :-)
+      </td>
+    </tr>
+    <tr>
+      <td>Alejandro</td>
+      <td>Valencia, Spain</td>
+      <td>Message - Uno de los mejores IDEs!!!<br />Un saludo desde el
+        instituto de rob�tica (Univ. de Valencia) http://autismo.uv.es
+      </td>
+    </tr>
+    <tr>
+      <td>Sautner</td>
+      <td>Blumenau, Brasil</td>
+      <td>Message - :)<br />Eclipse - "The Only IDE You Need" :)
+      </td>
+    </tr>
+    <tr>
+      <td>Chinmay Kant</td>
+      <td>Nagpur, India</td>
+      <td>Message <br />Eclipse is most Powerful Java IDE. Looking from
+        Ganymede Edition, a robust powerful IDE and a Framework to
+        create different Applications which will help people to create,
+        manage and market the application with ease of time, manpower
+        and money
+      </td>
+    </tr>
+    <tr>
+      <td>Moritz Winter</td>
+      <td>Darmstadt, Germany</td>
+      <td>Message - <a href="http://winter-solutions.com"
+        target="_blank">Ganymede</a><br />Wonder how to get Ganymede
+        without beeing a friend now?
+
+        http://ftp-stud.fht-esslingen.de/pub/Mirrors/eclipse/technology/epp/downloads/release/ganymede/R/
+      </td>
+    </tr>
+    <tr>
+      <td>Vladimir Vitkov</td>
+      <td>Sofia, Bulgaria</td>
+      <td>Message - <a href="http://eclipse.saplabs.bg/" target="_blank">Proud
+          Supporter</a><br />Though i don't use much eclipse i am proud
+        to be supporting and operating the newest rclipse mirror in
+        Bulgaria. Feel free to hit it hard on release days, It will take
+        the load :)
+      </td>
+    </tr>
+    <tr>
+      <td>Hendrik Maryns</td>
+      <td>Tübingen, Germany</td>
+      <td>Blog - <a
+        href="http://tcl.sfs.uni-tuebingen.de/~hendrik/eclipse64.shtml"
+        target="_blank">Eclipse 64 bit on Suse</a><br />Still a lot of
+        work to do to provide Eclipse as rpms. It simply doesn’t work
+        for me.
+      </td>
+    </tr>
+    <tr>
+      <td>Gu�mundur Bjarni �lafsson</td>
+      <td>Kongens Lyngby, Denmark</td>
+      <td>Blog - <a href="http://www.hvergi.net" target="_blank">Student</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Fabio Aprile</td>
+      <td>Monopoli, Italy</td>
+      <td>Message <br />Hy guys, I luv Eclipse, great works. Puglia
+        forever
+      </td>
+    </tr>
+    <tr>
+      <td>Tim Wlcek</td>
+      <td>Linz, Austria</td>
+      <td>Message <br />I'm a daily user of eclipse and I'm really
+        looking forward to the Ganymede release!!
+      </td>
+    </tr>
+    <tr>
+      <td>joed</td>
+      <td>Qionghai, China</td>
+      <td>Blog - <a href="http://www.flyingoworld.net" target="_blank">http://www.flyingoworld.net</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Stefano</td>
+      <td>Vicenza, Italy</td>
+      <td>Message - Cool<br />Cool, today is 25 june... good new for us!
+      </td>
+    </tr>
+    <tr>
+      <td>Vincenzo Cappello</td>
+      <td>Corbetta, Italy</td>
+      <td>Blog - <a href="http://www.kapo-cpp.blogspot.com/"
+        target="_blank">kapo-cpp</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Tobias Grueninger</td>
+      <td>Erlangen, Germany</td>
+      <td>Message - Downloaded<br />Just downloaded and now installine
+      </td>
+    </tr>
+    <tr>
+      <td>tornado.dp.ua</td>
+      <td>Dnipropetrovsk, Ukraine</td>
+      <td>Message <br />http://tornado.dp.ua
+      </td>
+    </tr>
+    <tr>
+      <td>Matteo Combi</td>
+      <td>Milan, Italy</td>
+      <td>Message <br />Great
+      </td>
+    </tr>
+    <tr>
+      <td>carlo</td>
+      <td>Padova, Italy</td>
+      <td>Message <br />yep
+      </td>
+    </tr>
+    <tr>
+      <td>Erdal Karaca</td>
+      <td>Oldenburg, Germany</td>
+      <td>Message <br />Moin!
+      </td>
+    </tr>
+    <tr>
+      <td>Kevin Wan</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a href="http://kevinwan.cnblogs.com" target="_blank">Nice
+          Ganymede</a><br />Perfect Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Vibhav Sharma</td>
+      <td>Gurgaon, India</td>
+      <td>Message - <a href="http://www.drishti-soft.com"
+        target="_blank">http://www.drishti-soft.com</a><br />The
+        'Everybody's IDE' ... continues to roll.
+      </td>
+    </tr>
+    <tr>
+      <td>Yulin Wang</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a
+        href="http://blog.csdn.net/wangyulin21/archive/2008/06/12/2540735.aspx"
+        target="_blank">Display multi-dimension data with BIRT chart</a><br />BIRT
+        added Cross tab support in 2.2 release to display
+        multi-dimension data. In 2.3 release, it's possible to display
+        data with chart.
+      </td>
+    </tr>
+    <tr>
+      <td>Andrey Zdorovtsov</td>
+      <td>Dnipropetrovsk, Ukraine</td>
+      <td>Message <br />We develop ERP system for Heat energy
+        distribution company using Ganymede RCP.
+      </td>
+    </tr>
+    <tr>
+      <td>Darek</td>
+      <td>Krak�w, Poland</td>
+      <td>Blog - <a
+        href="http://blog.darekzon.com/2008/06/eclipse-ganymede-nadchodzi-kosmiczny.html"
+        target="_blank">Eclipse Ganymede - nadchodzi kosmiczny kombajn</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ram</td>
+      <td>Sunnyvale, USA</td>
+      <td>Message - Eclipse rocks<br />Every release makes it more
+        interesting to work with.
+      </td>
+    </tr>
+    <tr>
+      <td>Razvan Gliga</td>
+      <td>Bucharest, Romania</td>
+      <td>Message <br />Thank you!!!!!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Jaro Kuruc</td>
+      <td>London, United Kingdom</td>
+      <td>Blog - <a
+        href="http://koxo.blogspot.com/2008/06/eclipse-ganymede-je-tu.html"
+        target="_blank">Eclipse Ganymede je tu</a><br />Keep up the good
+        work!
+      </td>
+    </tr>
+    <tr>
+      <td>HariChandra Reddy</td>
+      <td>Hyderabad, India</td>
+      <td>Message - BIRT is Amaging<br />Ganymede is fabulous with its
+        BIRT reporting tool, I am really thankful to Ganymede team which
+        made simple and easy with BIRT My congrats to Eclipse ganymede
+        team
+      </td>
+    </tr>
+    <tr>
+      <td>Cristian Popovici</td>
+      <td>Timisoara, Romania</td>
+      <td>Message - Excellent job!<br />Eclipse rules :-)
+      </td>
+    </tr>
+    <tr>
+      <td>HariChandra Reddy</td>
+      <td>Hyderabad, India</td>
+      <td>Message - Made my work easy and Efficient, Really Amazing
+        stuff<br />I looked at ganymede for a pluin for opening the
+        .html/.jsp page with browser(IE,Mozilla,netscape..)of my choice
+        by inserting a browser plug inn,so that my testing on different
+        browsers will be easy,I want to publish browser support for
+        every small change
+      </td>
+    </tr>
+    <tr>
+      <td>AminDZ</td>
+      <td>Setif, Algeria</td>
+      <td>Message <br />Ganymede the IDE of the Planet, Thanx Eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>AminDZ</td>
+      <td>Ras El Oued, Algeria</td>
+      <td>Message <br />Ganymede The IDE of the Planet, thanx Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Lin Yong</td>
+      <td>Shanghai, China</td>
+      <td>Message - <a href="http://www.kompakar.com.cn/kukoo"
+        target="_blank">http://www.kompakar.com.cn/kukoo</a><br />Wonderful,
+        definitely will download it.....
+      </td>
+    </tr>
+    <tr>
+      <td>Baoli Wang</td>
+      <td>shenyang, china</td>
+      <td>Message <br />A prefect Tool
+      </td>
+    </tr>
+    <tr>
+      <td>Shalom Crown</td>
+      <td>Petach Tikva, Israel</td>
+      <td>Message - The everything IDE<br />I need an IDE that I can use
+        for the following: Verilog J2SE applications J2EE Applications
+        C/C++ Applications Embedded code Looks like Eclipse can do all
+        this!
+      </td>
+    </tr>
+    <tr>
+      <td>Shyam Kumar S K</td>
+      <td>Chennai, India</td>
+      <td>Message - Ganymede - Next generation evolves...<br />Sixth
+        generation of computing is going to be known for all on june 25,
+        2008.
+      </td>
+    </tr>
+    <tr>
+      <td>bo</td>
+      <td>FuZhou, China</td>
+      <td>Message <br />cannot wait the publish of the new version...
+        refresh the website every hour. lol
+      </td>
+    </tr>
+    <tr>
+      <td>juan manuel kelsy romero</td>
+      <td>monter�a, Colombia</td>
+      <td>Message <br />Excelente muchachos, gracias por hacer divertido
+        nuestras vidas de programadores
+      </td>
+    </tr>
+    <tr>
+      <td>Arijit</td>
+      <td>Kolkata, India</td>
+      <td>Message <br />I will use Ganymede for development. I do
+        believe this will be a great success.
+      </td>
+    </tr>
+    <tr>
+      <td>Sandesh Jagdale</td>
+      <td>Pune, India</td>
+      <td>Message <br />Welcome Ganymede, I am extremely impressed with
+        the Mylyn functionality. I am investigating its usage in our
+        offshore delivery context to improve code delivery productivity.
+      </td>
+    </tr>
+    <tr>
+      <td>Yuejie</td>
+      <td>shanghai, china</td>
+      <td>Message <br />so, it is time to get e4 starting?
+      </td>
+    </tr>
+    <tr>
+      <td>Yuejie</td>
+      <td>shanghai, china</td>
+      <td>Message <br />hello ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Robert Szymczak</td>
+      <td>Chicago, USA</td>
+      <td>Message - <a href="http://www.robertszymczak.net"
+        target="_blank">http://www.robertszymczak.net</a><br />Cool
+        stuff - a real competitor to NetBeans!
+      </td>
+    </tr>
+    <tr>
+      <td>Su Liquan</td>
+      <td>shanghai, China</td>
+      <td>Message <br />Great! I will try it soon.
+      </td>
+    </tr>
+    <tr>
+      <td>Ricardo Cavalcanti</td>
+      <td>Recife, Brazil</td>
+      <td>Message - <a href="http://dojorecife.wordpress.com/"
+        target="_blank">Congrats</a><br />Novas funcionalidades,
+        melhorias em performance. N�o podia ser diferente nesse release.
+        Parab�ns ao Eclipse team!
+      </td>
+    </tr>
+    <tr>
+      <td>Marek</td>
+      <td>Zielona Gora, Poland</td>
+      <td>Message <br />Hi'ya from Polska!
+      </td>
+    </tr>
+    <tr>
+      <td>Tim Fiedler</td>
+      <td>Rastede, Deutschland</td>
+      <td>Message <br />Hello from Rastede
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Margiel</td>
+      <td>Warsaw, Poland</td>
+      <td>Blog - <a
+        href="http://poligloci.blogspot.com/2008/06/eclipse-ustawienia-na-wynos.html"
+        target="_blank">Migrating shortcuts </a><br />Description how to
+        migrate settings between eclipse instances.
+      </td>
+    </tr>
+    <tr>
+      <td>Glenn Gilbert</td>
+      <td>Wellington, New Zealand</td>
+      <td>Message - RCP & web dev<br />Great work, a real solid release
+        with great features.
+      </td>
+    </tr>
+    <tr>
+      <td>Denis Zjukow</td>
+      <td>Minsk, Belarus</td>
+      <td>Message - <a href="http://dms-division.com" target="_blank">Eclipse</a><br />Waiting
+        for Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>Tomasz</td>
+      <td>Lodz, Poland</td>
+      <td>Message - Eclipse user<br />I'm using Eclipse at work and at
+        home mainly for Java development. :)
+      </td>
+    </tr>
+    <tr>
+      <td>Eric Rizzo</td>
+      <td>Tampa, United States</td>
+      <td>Blog - <a
+        href="http://bewarethepenguin.blogspot.com/2008/06/imminent-collision-you-and-eclipse.html"
+        target="_blank">Imminent Cosmic Collision: You and Eclipse
+          Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Gundamdriver</td>
+      <td>Hong Kong, China</td>
+      <td>Message - Great IDE<br />Great IDE for programming!
+      </td>
+    </tr>
+    <tr>
+      <td>mingyu</td>
+      <td>dalian, china</td>
+      <td>Blog <br />hello everyone, i love eclipse, it's such a nice
+        IDE
+      </td>
+    </tr>
+    <tr>
+      <td>Pavel Petrochenko</td>
+      <td>Novosibirsk, Russia</td>
+      <td>Message <br />P2 provisioning is a big step in Eclipse
+        evolution.
+      </td>
+    </tr>
+    <tr>
+      <td>Marcelo Sousa Ancelmo</td>
+      <td>Brasilia, Brazil</td>
+      <td>Blog - <a href="http://www.ladoservidor.com" target="_blank">Ganymede</a><br />Congratulations
+        to the Eclipse Foundation.
+      </td>
+    </tr>
+    <tr>
+      <td>Felipe Lang</td>
+      <td>Esperanza, Argentina</td>
+      <td>Blog - <a
+        href="http://elcofrecito.net/software/review-de-eclipse-gaymede/"
+        target="_blank">Review de Eclipse Ganymede</a><br />This is my
+        review of the new Eclipse Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Darek</td>
+      <td>Krakow, Poland</td>
+      <td>Blog - <a href="http://darekzon.com" target="_blank">dev
+          garden</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Juan</td>
+      <td>Madrid, Spain</td>
+      <td>Message <br />At last ! It'll rock :)
+      </td>
+    </tr>
+    <tr>
+      <td>Zviki Cohen</td>
+      <td>Tel Aviv, Israel</td>
+      <td>Blog - <a
+        href="http://zvikico.typepad.com/problog/2008/06/eclipse-34-hidden-treasures.html"
+        target="_blank">Eclipse 3.4 Hidden Treasures</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Shravan Singh</td>
+      <td>Mumbai, India</td>
+      <td>Message <br />http://www.eclipse.org/stp/ this has made my
+        life. Thanks eclipse for these wonderful moons.
+      </td>
+    </tr>
+    <tr>
+      <td>Dong Jiangbo</td>
+      <td>NanJing, China</td>
+      <td>Message - ��ʼEclipse3.4<br />�������õ��Ǽ�
+      ����tptp��soa�����������о��ǳ�����
+      </td>
+    </tr>
+    <tr>
+      <td>Alexander Thurow</td>
+      <td>Stuttgart, Germany</td>
+      <td>Message - <a href="http://www.eclipse-training.net"
+        target="_blank">Team Lead Software Development</a><br />Greetings
+        from the German Eclipse code camp!
+      </td>
+    </tr>
+    <tr>
+      <td>Cyril Faucher</td>
+      <td>Rennes, France</td>
+      <td>Message - Ecore Tools Fan<br />I appreciated all the work
+        around the Ecore graphical editor. Merging of references, views,
+        search...
+      </td>
+    </tr>
+    <tr>
+      <td>Patrik Jansson</td>
+      <td>Uppsala, Sweden</td>
+      <td>Message <br />I'm using Eclipse both privately and at work.
+        Ganymede is already installed at home and I will encourage my
+        co-workers to download Ganymede too as soon it's released.
+      </td>
+    </tr>
+    <tr>
+      <td>Eike Stepper</td>
+      <td>Berlin, Germany</td>
+      <td>Message - <a href="http://wiki.eclipse.org/CDO"
+        target="_blank">CDO Model Repository</a><br />Eclipse is the
+        best platform to build open and extensible software on!
+      </td>
+    </tr>
+    <tr>
+      <td>Ron Bermejo</td>
+      <td>Singapore, Singapore</td>
+      <td>Message <br />Shout-out to Doug & the rest of the CDT team for
+        the well-improved CDT in Ganymede!
+      </td>
+    </tr>
+    <tr>
+      <td>Cheng Pang</td>
+      <td>Auckland, New Zealand</td>
+      <td>Recording - <a href="http://www.ece.auckland.ac.nz/~cpan024/"
+        target="_blank">Dr.</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Velar</td>
+      <td>Auckland, New Zealand</td>
+      <td>Blog - Dr.<br />
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel Spiewak</td>
+      <td>Watertown, USA</td>
+      <td>Blog - <a href="http://www.codecommit.com/blog"
+        target="_blank">http://www.codecommit.com/blog</a><br />Gotta
+        love JDT. Of course, where would we be without Equinox?
+      </td>
+    </tr>
+    <tr>
+      <td>Jakub Jurkiewicz</td>
+      <td>Pozna�, Poland</td>
+      <td>Blog - <a
+        href="http://eclipse-po-polsku.blogspot.com/2008/06/jak-ju-pisaem-wielkimi-krokami-zblia-si.html"
+        target="_blank">Co nowego nas czeka w Eclipse Ganymede 3.4?</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Margiel</td>
+      <td>Warsaw, Poland</td>
+      <td>Blog - <a
+        href="http://poligloci.blogspot.com/2008/06/eclipse-na-skrty.html"
+        target="_blank">Eclipse in shorts</a><br />List of my favorit
+        shortcuts in eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Lucky</td>
+      <td>Jakarta, Indonesia</td>
+      <td>Message <br />I've been using eclipse for most of my software
+        development. Can't wait for the GA of Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>gary thompson</td>
+      <td>leeds, uk</td>
+      <td>Blog - <a href="http://canyouanalysethis.blogspot.com/"
+        target="_blank">Looking for the Wood not the Trees</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Anand</td>
+      <td>Nashville, USA</td>
+      <td>Message - Ganymede is powerful and cool<br />Ganymede has all
+        the makings of becoming the 'Cup Bearer' for Java Development
+        projects
+      </td>
+    </tr>
+    <tr>
+      <td>Fawad Halim</td>
+      <td>Addison, USA</td>
+      <td>Message <br />Loving the JDT enhancements!
+      </td>
+    </tr>
+    <tr>
+      <td>Lahiru Sandakith Gallege</td>
+      <td>Colombo, Sri Lanka</td>
+      <td>Blog - <a
+        href="http://sandakith.wordpress.com/2008/06/23/eclipse-ganymede-poster-contest/"
+        target="_blank"> Eclipse Ganymede Poster Contest </a><br />Next
+        Eclipse WTP 3.0 Poster Contest You can vote from here,
+        http://www.eclipse.org/ganymede/postercontest.php There are some
+        cool stuff to look at, Enjoy !!
+      </td>
+    </tr>
+    <tr>
+      <td>Tapiwa Kelvin</td>
+      <td>Gaborone, Botswana</td>
+      <td>Message <br />Using Europa for web developemnt & I'm thinking
+        "can this be topped?". Cant wait to see.
+      </td>
+    </tr>
+    <tr>
+      <td>Rohit Pradeep Tandale</td>
+      <td>Pune, India</td>
+      <td>Message - Genemede Intresenting Facts<br />Ganymede ("GAN uh
+        meed") is the seventh and largest of Jupiter's known satellites.
+        Ganymede is the third of the Galilean moons. orbit: 1,070,000 km
+        from Jupiter diameter: 5262 km mass: 1.48e23 kg Ganymede was a
+        Tro
+      </td>
+    </tr>
+    <tr>
+      <td>Emanuel Graf</td>
+      <td>Stadel, Switzerland</td>
+      <td>Blog - <a
+        href="http://www.emanuel.graf.name/snipsnap/space/start/2008-06-23/1"
+        target="_blank">Eclipse Ganymede: Neues im CDT 5.0</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ali Alauoubiy</td>
+      <td>Edinburgh, UK</td>
+      <td>Blog - <a href="http://www.eclipse.org" target="_blank">Mr</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>ANCiT</td>
+      <td>COIMBATORE, INDIA</td>
+      <td>Blog - <a
+        href="http://eclipseo.blogspot.com/2008/06/i-workbench-view-site.html"
+        target="_blank">Workbench-View</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>ANCiT</td>
+      <td>COIMBATORE, INDIA</td>
+      <td>Blog - <a
+        href="http://eclipseo.blogspot.com/2008/06/available-in-europa33-and-ganymede-one.html"
+        target="_blank">http://eclipseo.blogspot.com/2008/06/available-in-europa33-and-ganymede-one.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>ANCiT</td>
+      <td>COIMBATORE, INDIA</td>
+      <td>Blog - <a
+        href="http://eclipseo.blogspot.com/2008/06/thanks-to-ganymede-againthat-has-made.html"
+        target="_blank">http://eclipseo.blogspot.com/2008/06/thanks-to-ganymede-againthat-has-made.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>ANCiT</td>
+      <td>COIMBATORE, INDIA</td>
+      <td>Blog - <a href="http://eclipseo.blogspot.com/" target="_blank">http://eclipseo.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Hong Chang Lin</td>
+      <td>Shanghai, China</td>
+      <td>Message <br />It is time to say an annual "Bravo!" to Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Bouchet</td>
+      <td>Reze, France</td>
+      <td>Message - Can't wait !<br />Working with Eclipse since 1.0, i
+        can't wait for this new exiting release !
+      </td>
+    </tr>
+    <tr>
+      <td>Manet Yim</td>
+      <td>Sydney, Australia</td>
+      <td>Message <br />I first used eclipse since 2004 and I am still
+        using it. Why? It's the most efficient tool out of all.
+      </td>
+    </tr>
+    <tr>
+      <td>Pedro</td>
+      <td>warszawa, Poland</td>
+      <td>Blog - <a
+        href="http://pietrowski.info/eclipse-ganymede-is-coming/"
+        target="_blank">Eclipse Ganymede is coming</a><br />Feature
+        review on Mac Os with old post about Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Ali Burak KULAKLI</td>
+      <td>Izmir, Turkey</td>
+      <td>Blog - <a
+        href="http://kulakli.blogspot.com/2008/06/eclipse-ganymede-ile-artmaya-devam.html"
+        target="_blank">http://kulakli.blogspot.com/2008/06/eclipse-ganymede-ile-artmaya-devam.html</a><br />Congratulations
+        to all people involved in this release and thank you for
+        bringing us such an unbelievable software.
+      </td>
+    </tr>
+    <tr>
+      <td>Simon Kagstrom</td>
+      <td>Stockholm, Sweden</td>
+      <td>Blog - <a href="http://simonkagstrom.livejournal.com"
+        target="_blank">Simon Kagstroms blog</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Richard Ikeda</td>
+      <td>Brazil, Curitiba</td>
+      <td>Blog - <a href="http://richardikeda.com" target="_blank">Vista
+          Cega</a><br />O eclipse est� cada vez melhor, e a cada release
+        s� temos melhoras e facilita��es para desenvolvedores. Tks
+        Eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Richard Ikeda</td>
+      <td>Brazil, Curitiba</td>
+      <td>Blog - <a href="http://richardikeda.com" target="_blank">Ganymede</a><br />O
+        eclipse est� cada vez melhor, a cada release s� temos melhoras e
+        facilita��es para desenvolvedores. Tks Eclipse
+      </td>
+    </tr>
+    <tr>
+      <td>Alexandre</td>
+      <td>Versailles, France</td>
+      <td>Message <br />Well, it all started the day before today. I
+        remember it just like it was yesturday
+      </td>
+    </tr>
+    <tr>
+      <td>Pablo Rogina</td>
+      <td>Memphis, USA</td>
+      <td>Blog - <a href="http://ganymede-review.blogspot.com/"
+        target="_blank">Review of Eclipse Modeling Tools in Ganymede</a><br />
+        I'm using Eclipse for my day to day C/C++ development. It
+        improved my productivity, so I expect to even do more with
+        Ganymede. In the future I'll like to use Eclipse as my
+        development environment for ARM development.
+      </td>
+    </tr>
+    <tr>
+      <td>Ed Merks</td>
+      <td>Ballantrae, Canada</td>
+      <td>Blog - <a
+        href="http://ed-merks.blogspot.com/2008/06/was-gany-good-to-you.html"
+        target="_blank">Was Gany Good to You?</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel Ziegenberg</td>
+      <td>Windischgarsten, Austria</td>
+      <td>Message - "Everyday & Everywhere" - Usage<br />Used for writin
+        LaTeX for school, developing C++ for school, developing Java for
+        Contests and OCR Projects, desinged Homepages on it and still
+        many features to explore!
+      </td>
+    </tr>
+    <tr>
+      <td>Radoslav Gerganov</td>
+      <td>Sofia, Bulgaria</td>
+      <td>Message <br />Hello from Eclipse DemoCamp Sofia!
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Einwaller</td>
+      <td>Linz, Austria</td>
+      <td>Blog - <a
+        href="http://dertompson.com/index.php/2008/06/21/eclipse-ganymede-release/"
+        target="_blank">Eclipse Ganymede release - my favorite new
+          features</a><br />I am using Eclipse now since version 2
+        nearly every day ;-) Great work!
+      </td>
+    </tr>
+    <tr>
+      <td>Wu Yiqun</td>
+      <td>Shanghai, China</td>
+      <td>Message <br />Using eclipse since version 1.0 and waiting 3.4,
+        4.0...
+      </td>
+    </tr>
+    <tr>
+      <td>S�bastien Let�li�</td>
+      <td>Paris, France</td>
+      <td>Blog - <a href="http://www.itaware.eu" target="_blank">http://www.itaware.eu</a><br />Lon
+        life to Eclipse a very powerful and rich open source never
+        exists
+      </td>
+    </tr>
+    <tr>
+      <td>Minh Le Ngoc</td>
+      <td>Hanoi, Vietnam</td>
+      <td>Message <br />cool!
+      </td>
+    </tr>
+    <tr>
+      <td>Valdir</td>
+      <td>Florian�polis, Brazil</td>
+      <td>Message <br />I was needing the SOA Tools, but I didn't have
+        the dependencies. With Ganymede, I got this tool easily.
+      </td>
+    </tr>
+    <tr>
+      <td>Brice Laurencin</td>
+      <td>Grenoble, France</td>
+      <td>Message <br />All hope lies in Eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>FuGui</td>
+      <td>lasa, China</td>
+      <td>Blog - <a href="http://blog.fugui.com" target="_blank">http://blog.fugui.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Cypal Solutions</td>
+      <td>Coimbatore, India</td>
+      <td>Blog - <a href="http://blog.cypal-solutions.com/"
+        target="_blank">Tips on Ganymede</a><br />http://blog.cypal-solutions.com/2008/05/how-to-add-new-resource-to-working-sets.html
+        http://blog.cypal-solutions.com/2008/05/schema-identifier-in-extension-points.html
+        http://blog.cypal-solutions.com/2008/03/exporting-gef-figure-to-image.html
+        http://blog.
+      </td>
+    </tr>
+    <tr>
+      <td>David Killen</td>
+      <td>Mudgee, Australia</td>
+      <td>Message - <a href="http://www.shebangsoftware.com"
+        target="_blank">http://www.shebangsoftware.com</a><br />I've
+        recently began using Ganymede and love it. It really is a
+        complete development environment. I now have a single
+        environment which integrates all the tools that I need.
+      </td>
+    </tr>
+    <tr>
+      <td>Massimiliano Federici</td>
+      <td>Leeds, UK</td>
+      <td>Message - Sempre meglio<br />It keeps getting better with
+        every release. Looking forward for the Ganymede release!
+      </td>
+    </tr>
+    <tr>
+      <td>Emiliano Ortner</td>
+      <td>Capital Federal, Argentina</td>
+      <td>Message <br />Es mas importante conocer los shortcuts de
+        ganymede, que saber Java.
+      </td>
+    </tr>
+    <tr>
+      <td>Pablo Rogina</td>
+      <td>Memphis, USA</td>
+      <td>Message - Eclipse IDE for C/C++<br />I'm using Eclipse for my
+        day to day C/C++ development. It improved my productivity, so I
+        expect to even do more with Ganymede. In the future I'll like to
+        use Eclipse as my development environment for ARM development.
+      </td>
+    </tr>
+    <tr>
+      <td>Luis G. Lira</td>
+      <td>Lima, Peru</td>
+      <td>Blog - <a href="http://scitechbizdev.blogspot.com/"
+        target="_blank">SciTechBizDev</a><br />Eclipse Ganymede RCP
+      </td>
+    </tr>
+    <tr>
+      <td>Cheng-Hung Chou</td>
+      <td>Newton, US</td>
+      <td>Message <br />work
+      </td>
+    </tr>
+    <tr>
+      <td>mathica</td>
+      <td>Seoul, South Korea</td>
+      <td>Message - Good~<br />Can't wait until 25th.. Eclipse, you are
+        the best~
+      </td>
+    </tr>
+    <tr>
+      <td>Gary Napier</td>
+      <td>Glasgow, UK</td>
+      <td>Message - Simply the Best<br />Eclipse keeps on delivering the
+        most complete IDE imaginable. The ECORE tools astound me. Keep
+        up the great work. All the best, Gary
+      </td>
+    </tr>
+    <tr>
+      <td>Gaurav Kohli</td>
+      <td>Pune, India</td>
+      <td>Message - Helleo<br />Get going...
+      </td>
+    </tr>
+    <tr>
+      <td>cryin9Devil</td>
+      <td>Tunis, Tunisia</td>
+      <td>Message <br />Good works gays, Keep that whay.
+      </td>
+    </tr>
+    <tr>
+      <td>PeterD</td>
+      <td>Adelaide, Australia</td>
+      <td>Message <br />Ganymede and WTP help to free us from Borland...
+      </td>
+    </tr>
+    <tr>
+      <td>Jochen Krause</td>
+      <td>Karlsruhe, Germany</td>
+      <td>Message - <a href="http://eclipse.org/rap" target="_blank">RAP
+          brings Ajax to Eclipse RCP</a><br />The Rich Ajax Platform
+        (RAP) employs an architecture and usage similar the Rich Client
+        Platform (RCP) and offers developers the opportunity to
+        web-enable their RCP-Applications and enhance them with AJAX
+        technology.
+      </td>
+    </tr>
+    <tr>
+      <td>Adrian Ionica</td>
+      <td>Buftea, Romania</td>
+      <td>Message <br />You people eclipse the other IDEs!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Pavel Lysyanskiy</td>
+      <td>Odessa, Ukraine</td>
+      <td>Message <br />will wait for Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Skud</td>
+      <td>Canberra, Australia</td>
+      <td>Blog - Props my all-in-one IDE<br />Have been using RC1 for
+        sometime. Cant wait for the GA.
+      </td>
+    </tr>
+    <tr>
+      <td>Zaw Aung</td>
+      <td>Wellington, New Zealand</td>
+      <td>Message <br />I use Eclipse IDE for my work. I've been using
+        Eclipse since 2005 and I can't see I'll be jumping to another
+        IDE. I'm loving it! Thanks, Zaw Aung
+      </td>
+    </tr>
+    <tr>
+      <td>Tom Lee</td>
+      <td>Singapore, Singapore</td>
+      <td>Message - Eclipse's Great<br />Can't wait for Ganymede to be
+        GA.
+      </td>
+    </tr>
+    <tr>
+      <td>papa</td>
+      <td>beijing, china</td>
+      <td>Message <br />i'm a eclipse plugin developer
+      </td>
+    </tr>
+    <tr>
+      <td>Jaco Greyling</td>
+      <td>Melbourne, Australia</td>
+      <td>Message - <a href="http://www.jcgdesign.com" target="_blank">Eclipse
+          & GIS</a><br />Stable and practical
+      </td>
+    </tr>
+    <tr>
+      <td>Kazimierz Pogoda</td>
+      <td>Szczecin, Poland</td>
+      <td>Blog - <a
+        href="http://blog.xemantic.com/2008/06/eclipse-ganymede-rejoicing-in-virility.html"
+        target="_blank">Eclipse Ganymede - rejoicing in virility</a><br />Ganymede
+        installation experiences and some associated philosophical
+        remarks.
+      </td>
+    </tr>
+    <tr>
+      <td>Alex Lee</td>
+      <td>Seoul, South Korea</td>
+      <td>Message - Hooray !!!<br />Ganymede is beautiful, more
+        powerful, faster... so.. I love it...
+      </td>
+    </tr>
+    <tr>
+      <td>Lukasz Lenart</td>
+      <td>Warszawa, POLAND</td>
+      <td>Blog - <a href="http://jdn.pl/node/1494" target="_blank">Eclipse
+          RCP - krok 3</a><br />Krok 3 w tworzeniu aplikacji RCP
+      </td>
+    </tr>
+    <tr>
+      <td>Pascal Rapaz</td>
+      <td>Monthey, Switzerland</td>
+      <td>Blog - <a href="http://www.rapazp.ch" target="_blank">http://www.rapazp.ch</a><br />Everiday...
+        Everytime!
+      </td>
+    </tr>
+    <tr>
+      <td>George Marshall</td>
+      <td>Chicago, USA</td>
+      <td>Message - Ganymede and the automated tests<br />In my company
+        we have started to implement an automated framework for testing
+        web applications as well as native swing applications. We plan
+        on leveraging the following features of Ganymede - The data
+        tools platform for development of the data model of
+      </td>
+    </tr>
+    <tr>
+      <td>Tracy Coomes</td>
+      <td>Montgomery, USA</td>
+      <td>Message - no time<br />saves me time and is a great tool
+      </td>
+    </tr>
+    <tr>
+      <td>arron</td>
+      <td>shenzhen, china</td>
+      <td>Message <br />l like it!
+      </td>
+    </tr>
+    <tr>
+      <td>Nicholas Loulloudes</td>
+      <td>Nicosia, Cyprus</td>
+      <td>Message - Review of Ganymede at Nicosia, Cyprus<br />Downloading
+        now Ganymede Release Candidate.. Looking forward to test it. A
+        full review will follow shortly.
+      </td>
+    </tr>
+    <tr>
+      <td>SergeyA</td>
+      <td>Sevastopol, Ukraine</td>
+      <td>Message <br />It looks cool Thanks guys.
+      </td>
+    </tr>
+    <tr>
+      <td>Tobias Buhr</td>
+      <td>Aachen, Germany</td>
+      <td>Message - <a href="http://www.processbench.de" target="_blank">Upcoming
+          release: Ganymede</a><br />Same procedure as every year: It
+        gets warmer and warmer in Europe, even in germany, so I count
+        days to the final release of a new, great Eclipse version,
+        yielding many new features, that make developers work so
+        pleasant. Keep on!
+      </td>
+    </tr>
+    <tr>
+      <td>Tobis</td>
+      <td>Sevastopol, Ukraine</td>
+      <td>Message <br />Did not see Ganymede, but wish to.
+      </td>
+    </tr>
+    <tr>
+      <td>Sergiy Goncharenko</td>
+      <td>Sevastopol, Ukraine</td>
+      <td>Message <br />Eclipse, we are with you!
+      </td>
+    </tr>
+    <tr>
+      <td>Roman Ivanov</td>
+      <td>Sevastopol, Ukraine</td>
+      <td>Message <br />Eclipse rules!
+      </td>
+    </tr>
+    <tr>
+      <td>Zhi Gan</td>
+      <td>BeiJing, China</td>
+      <td>Blog - <a
+        href="http://ganzhi.blogspot.com/2008/06/subversive-becomes-eclipse-project.html"
+        target="_blank">Subversive becomes an Eclipse project</a><br />Subclipse
+        is my favorite plugin. And I'll like to try subversive in near
+        future.
+      </td>
+    </tr>
+    <tr>
+      <td>David Carter</td>
+      <td>St. John's, Canada</td>
+      <td>Message - <a href="http://www.arm4.org" target="_blank">http://www.arm4.org</a><br />Used
+        for C/C++ and Java development. In the future, I hope to link
+        the TPTP tools to the ARM4 agent.
+      </td>
+    </tr>
+    <tr>
+      <td>Anoop Kumar Kurian</td>
+      <td>Bangalore, India</td>
+      <td>Message - Eclipse Ganymede <br />Eclipse Europa already
+        showing great performance,faster and support for new
+        technologies like JSF,SOA etc I wish Eclipse Ganymede will do
+        better in following areas 1.Ant support 2.Web Application
+        debugging 3.Plugins For more Reporting tools like Jasper
+      </td>
+    </tr>
+    <tr>
+      <td>Tankut Koray</td>
+      <td>Ankara, Turkey</td>
+      <td>Blog - <a
+        href="http://tanrikut.blogspot.com/2008/06/ganymede-geliyor.html"
+        target="_blank">http://tanrikut.blogspot.com/2008/06/ganymede-geliyor.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>G�rge Albrecht</td>
+      <td>Vienna, Austria</td>
+      <td>Message <br />My team is looking forward to Ganymede: To all
+        the cool extension to the IDE (breadcrumb, junit execution time,
+        plugin spy, call hierachy improvements) and the helpful features
+        for RCP development (p2, log view enhancements) to name only a
+        few. Thanks in
+      </td>
+    </tr>
+    <tr>
+      <td>Trevor Kaufman</td>
+      <td>Cambridge, Canada</td>
+      <td>Message - <a href="http://tskaufma.spaces.live.com/"
+        target="_blank">Eclipse rocks!</a><br />Eclipse makes something
+        like DepCon (see link) possible for a student like me!
+      </td>
+    </tr>
+    <tr>
+      <td>Fredrik Attebrant</td>
+      <td>Stockholm, Sweden</td>
+      <td>Message <br />p2izing stuff
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Borkert</td>
+      <td>Kaarst, Germany</td>
+      <td>Message <br />Eclipse is cool!
+      </td>
+    </tr>
+    <tr>
+      <td>Roman_Eremeev</td>
+      <td>Protvino, Russia</td>
+      <td>Blog - <a href="http://confex.blogspot.com" target="_blank">Confex
+          Project</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Etienne Lacombe</td>
+      <td>Los Angeles, US</td>
+      <td>Message <br />Hello!
+      </td>
+    </tr>
+    <tr>
+      <td>Ekkehard Gentz</td>
+      <td>Rosenheim, Germany</td>
+      <td>Blog - <a
+        href="http://ekkes-corner.blogspot.com/2008/06/eclipse-ganymede-ide-and-platform.html"
+        target="_blank">Eclipse Ganymede - IDE and platform</a><br />the
+        english version of my blog about upcoming Ganymede release of
+        eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>Ekkehard Gentz</td>
+      <td>Rosenheim, Germany</td>
+      <td>Blog - <a
+        href="http://web.mac.com/ekkehard.gentz/ekkes-corner/blog/Eintr%C3%A4ge/2008/6/16_Eclipse_Ganymede_-_IDE_und_Plattform.html"
+        target="_blank">Eclipse Ganymede - IDE und Plattform (german)</a><br />the
+        german version of my blog about upcoming Ganymede release of
+        eclipse.
+      </td>
+    </tr>
+    <tr>
+      <td>sk</td>
+      <td>Protvino, Russia</td>
+      <td>Blog - <a
+        href="http://eclipse-dev-rus.blogspot.com/2008/06/ganymede-is-coming.html"
+        target="_blank">http://eclipse-dev-rus.blogspot.com/2008/06/ganymede-is-coming.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>lucas bigeardel</td>
+      <td>mougins, france</td>
+      <td>Blog - <a href="http://my-manek-truth.blogspot.com"
+        target="_blank">Ganymede + Modeling = Wonder</a><br />Proud to
+        share ganymede stuff with the rest of the world ! Hope it will
+        make software development easier and faster.
+      </td>
+    </tr>
+    <tr>
+      <td>Marconi Lanna</td>
+      <td>Belo Horizonte, Brazil</td>
+      <td>Message <br />Estou usando o Eclipse como plataforma (e IDE)
+        para o desenvolvimento de parte da minha tese. Devido a uma nova
+        API essencial para a minha pesquisa, precisei usar, em ambiente
+        de producao, todas versoes do Ganymede desde a 3.4M3, lancada em
+        novembro passa
+      </td>
+    </tr>
+    <tr>
+      <td>Milin</td>
+      <td>Kochi, India</td>
+      <td>Message <br />Ganymede - The total 'Eclipse' of 'Sun' has just
+        begun on June the 25th ...
+      </td>
+    </tr>
+    <tr>
+      <td>Henrik J�nsson</td>
+      <td>H�ssleholm, Sverige</td>
+      <td>Message - Henrik J�nsson<br />Eclipse rules! Greatings from
+        Sweden.
+      </td>
+    </tr>
+    <tr>
+      <td>Karthikeyan.K.S</td>
+      <td>Bentonville, USA</td>
+      <td>Message <br />Just downloaded the Ganymede. I will using this
+        tool for a J2EE application and expect to support more on XML
+        and JSP tags
+      </td>
+    </tr>
+    <tr>
+      <td>Mariusz Nosinski</td>
+      <td>Koscierzyna, Poland</td>
+      <td>Message - Eclipse Happy User<br />I'm using Eclipse everyday,
+        at work and at home - for RCP and J2EE Development. The Best IDE
+        ever.
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/06/eclipse-ganymede-rc3-and-jboss-wtp.html"
+        target="_blank">Eclipse Ganymede RC3 and the JBoss WTP Plugin</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Andrey Platov</td>
+      <td>Novosibirsk, Russia</td>
+      <td>Message - Ganymede and Ruby<br />Ruby support in Eclipse
+        becomes great with Ganymede!
+      </td>
+    </tr>
+    <tr>
+      <td>Fabio Collini</td>
+      <td>Prato, Italia</td>
+      <td>Blog - <a href="http://blog2js.appspot.com/?entry=141"
+        target="_blank">Sviluppo in javascript con eclipse Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Nick Boldt</td>
+      <td>Scarborough, Canada</td>
+      <td>Blog - <a
+        href="http://divby0.blogspot.com/2008/06/ganymede-poster-contest-part-2.html"
+        target="_blank">Ganymede Poster Contest</a><br />Show off your
+        Ganymede love and Photoshop/GIMP skills!
+      </td>
+    </tr>
+    <tr>
+      <td>Syed Sajid Hussain Shah</td>
+      <td>Hagen, Germany</td>
+      <td>Blog - <a
+        href="http://www.pi6.fernuni-hagen.de/team/shah.html"
+        target="_blank">http://www.pi6.fernuni-hagen.de/team/shah.html</a><br />I
+        look forward to the Ganymede full release. Best of Luck
+      </td>
+    </tr>
+    <tr>
+      <td>Syed Sajid Hussain Shah</td>
+      <td>Hagen, Germany</td>
+      <td>Message - <a
+        href="http://www.pi6.fernuni-hagen.de/team/shah.html"
+        target="_blank">Eclipse Ganymede</a><br />I have used the Sip
+        version of Eclipse Ganymede. I liked Eclipse Communication F
+        ramework and I am using it. Also the new features like
+        breadcrumb navigation, enhanced debug hovering, highlighted read
+        and write of variables just to name a few.
+      </td>
+    </tr>
+    <tr>
+      <td>Kannan Kartha</td>
+      <td>Hyderabad, India</td>
+      <td>Blog - <a href="http://mytechstop.blogspot.com"
+        target="_blank">Tech Stop</a><br />It's been fun using Eclipse
+        and such a strong platform for Java and other languages.
+      </td>
+    </tr>
+    <tr>
+      <td>Ivan Larionov</td>
+      <td>Kyiv, Ukraine</td>
+      <td>Message - Eclipse rules!<br />Waiting impatiently for Ganymede
+        release.
+      </td>
+    </tr>
+    <tr>
+      <td>Christian Voller</td>
+      <td>Graz, Austria</td>
+      <td>Message <br />We are using Ganymede as a Developing System for
+        all JEE Stuff... Greets from Euro2008 - Austria:-)
+      </td>
+    </tr>
+    <tr>
+      <td>Wei</td>
+      <td>wuhan, China</td>
+      <td>Message <br />I am eager to got the release of Ganymede.
+        Eclipse is my favorite IDE. And by now I can not live without
+        it.
+      </td>
+    </tr>
+    <tr>
+      <td>Colin Fowler</td>
+      <td>Dublin, Ireland</td>
+      <td>Message <br />It keeps getting better and better. Very happy
+        Eclipse/CDT user for a few years now. Looking forward to
+        Ganymede!
+      </td>
+    </tr>
+    <tr>
+      <td>Scott Lewis</td>
+      <td>Portland, USA</td>
+      <td>Blog - <a href="http://eclipseecf.blogspot.com/"
+        target="_blank">Eclipse Communication Framework</a><br />I'm the
+        project lead for ECF, the Eclipse Communication Framework. I'm
+        hoping people appreciate what ECF already provides, and ask for
+        more at http://www.eclipse.org/ecf.
+      </td>
+    </tr>
+    <tr>
+      <td>Torkild U. Resheim</td>
+      <td>Trondheim, Norway</td>
+      <td>Message <br />Ganymede is great! I particularly like the CDT
+        and PDE improvements. Still struggling with p2 though, but
+        things are bound to improve. Thank you for all the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>David Goodenough</td>
+      <td>Haddenham, England</td>
+      <td>Recording - <a href="http://dga.co.uk" target="_blank">Director</a><br />User
+        of Eclipse since it took over from Visual Age for Java.
+      </td>
+    </tr>
+    <tr>
+      <td>Q. Alex Zhao</td>
+      <td>Seattle, U.S.A.</td>
+      <td>Message <br />Can't live without Eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>Gernot Krost</td>
+      <td>Köln, Germany</td>
+      <td>Blog - <a href="http://gernot.krost.org" target="_blank">Ganymede
+          is coming!</a><br />just a banner for the moment, i'm still
+        evaluating ... Greetings from Cologne, Gernot
+      </td>
+    </tr>
+    <tr>
+      <td>Beth Tibbitts</td>
+      <td>Lexington, United States</td>
+      <td>Message <br />Congrats Eclipse/Ganymede and CDT 5.0!
+      </td>
+    </tr>
+    <tr>
+      <td>Daniel Selman</td>
+      <td>Paris, France</td>
+      <td>Blog - <a
+        href="http://blogs.ilog.com/brms/2008/06/12/ganymede-is-coming/"
+        target="_blank">http://blogs.ilog.com/brms/2008/06/12/ganymede-is-coming/</a><br />My
+        fingers are crossed! Good luck guys. :-)
+      </td>
+    </tr>
+    <tr>
+      <td>Yusuf Baker</td>
+      <td>Johannesburg, South Africa</td>
+      <td>Blog - <a href="http://www.topou.co.za" target="_blank">RIA
+          down south</a><br />Hello All Just to let you guys know, us
+        south Africans like to use Eclipse with Flexbuilder from Adobe
+      </td>
+    </tr>
+    <tr>
+      <td>Juan M. Tula</td>
+      <td>Capital Federal, Argentina</td>
+      <td>Message <br />Se espera con ansia un nuevo release de esta
+        fant�stica herramienta, que no puede quedar fuera del repertorio
+        de ning�n Java Developer. Excelente trabajo, sigan as�!
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/06/server-runtime-problems-in-eclispe.html"
+        target="_blank">Server Runtime Problems in Eclispe Ganymede RC2</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jorge Hidalgo</td>
+      <td>M�laga, Spain</td>
+      <td>Message <br />After using Eclipse for years, I definitely fell
+        in love with Callisto, got engaged with Europa, and married with
+        Ganymede! What's the big difference between Eclipse and other
+        IDE's? It's not just for Java, the best refactoring I've ever
+        seen, and it's pr
+      </td>
+    </tr>
+    <tr>
+      <td>Alexander F�rstenau</td>
+      <td>Hamburg, Germany</td>
+      <td>Message <br />I'm looking forward to download the new release.
+        The last RC was almost perfect.
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Hallgren</td>
+      <td>Stockholm, Sweden</td>
+      <td>Blog - <a href="http://thhal.blogspot.com/" target="_blank">Eclipse
+          on my mind</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ey�un Nielsen</td>
+      <td>T�rshavn, Faroe Islands</td>
+      <td>Message - Greetings to all celebrating Ganymede<br />I've been
+        using Eclipse since 2.0 and I'm as always looking forward for
+        the yearly release arriving like clockwork. It's an really
+        impressive process... So thank you all.
+      </td>
+    </tr>
+    <tr>
+      <td>Ralf Wagner</td>
+      <td>Siegen, Germany</td>
+      <td>Blog - <a href="http://notjustjava.wordpress.com/"
+        target="_blank">NotJustJava</a><br />Ganymede Go!
+      </td>
+    </tr>
+    <tr>
+      <td>Jan Hoppe</td>
+      <td>Kiel, Germany</td>
+      <td>Recording - Time saving IDE<br />Ganymede does enhance
+        programming speed
+      </td>
+    </tr>
+    <tr>
+      <td>Zhongbo Li</td>
+      <td>Shanghai, China</td>
+      <td>Blog - <a
+        href="http://blog.csdn.net/mediumwave/archive/2008/06/12/2538827.aspx"
+        target="_blank">���鱨����Eclipse BIRT���еı߿���ʽ</a><br />Eclipse
+        �����°汾 GanyMede �����˰��鱨����Eclipse IDE for Report
+        Developers��������֧����һЩ�µı߿���ʽ��
+      </td>
+    </tr>
+    <tr>
+      <td>Chris Aniszczyk</td>
+      <td>Austin, USA</td>
+      <td>Blog - <a href="http://mea-bloga.blogspot.com" target="_blank">It's
+          great to see Ganymede out the door! :)</a><br />Howdy!
+      </td>
+    </tr>
+    <tr>
+      <td>Emanuele Ziglioli</td>
+      <td>Wellington, New Zealand</td>
+      <td>Blog - <a href="http://techno.emanueleziglioli.it"
+        target="_blank">Ziglio's Techno Blog</a><br />Currently
+        appreciating the new P2 update manager!
+      </td>
+    </tr>
+    <tr>
+      <td>Sotiri Bonanos</td>
+      <td>Norwich, United Kingdom</td>
+      <td>Message <br />Keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Albert Leimueller</td>
+      <td>Graz, Austria</td>
+      <td>Message <br />Hi, I am a software development student and I am
+        looking forward to the release of Ganymede. For me Eclipse is
+        the best software in the world and it's getting better and
+        better! Keep up the good work!
+      </td>
+    </tr>
+    <tr>
+      <td>Tom Schindl</td>
+      <td>Innsbruck, Austria</td>
+      <td>Blog - <a href="http://tom-eclipse-dev.blogspot.com/"
+        target="_blank">http://tom-eclipse-dev.blogspot.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Mikkel Andersen</td>
+      <td>Vejle, Denmark</td>
+      <td>Blog - <a href="http://plugination.org" target="_blank">http://plugination.org</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Henrik Lindberg</td>
+      <td>Stockholm, Sweden</td>
+      <td>Message <br />Writing even more Eclipse stuff :)
+      </td>
+    </tr>
+    <tr>
+      <td>Eugene Kuleshov</td>
+      <td>Toronto, Canada</td>
+      <td>Blog - <a href="http://jroller.com/eu" target="_blank">Euxx</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Vikram</td>
+      <td>Vancouver, Canada</td>
+      <td>Message <br />Eclipse keeps getting better with every release.
+        Good job, guys!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Cole Markham</td>
+      <td>College Station, USA</td>
+      <td>Message <br />We use Eclipse for all our development and as
+        the basis for our RCP application. I have been testing the
+        Ganymede milestone releases and love the new features. Can't
+        wait to roll them into our product.
+      </td>
+    </tr>
+    <tr>
+      <td>Andrzej Raczkowski</td>
+      <td>Wroclaw, Polska</td>
+      <td>Blog - <a href="http://araczkowski.blogspot.com"
+        target="_blank">blogx</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Mateusz</td>
+      <td>Warszawa, Poland</td>
+      <td>Blog - <a href="http://na-jawie.blogspot.com/" target="_blank">Na
+          Jawie</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Thomas Kratz</td>
+      <td>N�rnberg, Germany</td>
+      <td>Blog - <a href="http://eiswindsoftware.blogspot.com/"
+        target="_blank">Thomas' Blog</a><br />We are keen on RCP dev
+      </td>
+    </tr>
+    <tr>
+      <td>Michal Margiel</td>
+      <td>Warsaw, Poland</td>
+      <td>Blog - <a
+        href="http://poligloci.blogspot.com/2008/04/eclipse-34-nowoci.html"
+        target="_blank">Series of articles about new features in Eclipse
+          3.4</a><br />I am using eclipse 3.4 from version M5. I love
+        new features included in this release. But I still want more :)
+      </td>
+    </tr>
+    <tr>
+      <td>Werner Keil</td>
+      <td>Berlin, Germany</td>
+      <td>Message - <a href="http://www.catmedia.us" target="_blank">Ganymede
+          on every Platform</a><br />I am using Ganymede both to test
+        and contribute to Eclipse Babel, but also for JEE and Mobile
+        projects.
+      </td>
+    </tr>
+    <tr>
+      <td>Ronaldo Arrudas</td>
+      <td>Belo Horizonte, Brasil</td>
+      <td>Message - <a href="http://www.ateliersolucoes.com/"
+        target="_blank">http://www.ateliersolucoes.com/</a><br />O
+        Eclipse tem sido um bom companheiro de desenvolvimento. No
+        entanto, a cada novo release, todos somos surpreendidos com mais
+        funcionalidade e facilidade no uso. Com o Ganymede, n�o poderia
+        ser diferente. Parab�ns, Eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>Lukasz Lenart</td>
+      <td>Warszawa, POLAND</td>
+      <td>Blog - <a href="http://jdn.pl/node/1483" target="_blank">Eclipse
+          RCP - krok 2</a><br />Krok 2 w tworzeniu aplikacji
+        bazuj&#261;cej na Eclipse RCP
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/06/eclipse-ganymede-rc2-data-tools-more.html"
+        target="_blank">Eclipse Ganymede RC2 Data Tools</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>ANCIT</td>
+      <td>Coimbatore, India</td>
+      <td>Blog - <a
+        href="http://eclipseo.blogspot.com/2008/06/thanks-to-ganymedenow-i-can-chat-in-my.html"
+        target="_blank">Chat in Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ken WuDi</td>
+      <td>Beijing, China</td>
+      <td>Blog - <a href="http://www.5dinfo.net" target="_blank">5Dinfo</a><br />eclipse
+        is cool!
+      </td>
+    </tr>
+    <tr>
+      <td>Mariusz</td>
+      <td>Lipinski, Poland</td>
+      <td>Blog - <a
+        href="http://www.mariuszlipinski.pl/2008/06/projekt-jax-ws-z-uyciem-eclipse.html"
+        target="_blank">Projekt JAX-WS z u&#380;yciem Eclipse Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Jacek Laskowski</td>
+      <td>Warszawa, Poland</td>
+      <td>Blog - <a
+        href="http://jlaskowski.blogspot.com/2008/06/uruchomienie-projektu-seamowego-w.html"
+        target="_blank">Uruchomienie projektu seamowego w Eclipse
+          Ganymede z JBoss Tools i Geronimo Eclipse Plugin</a><br />Developing
+        JBoss Seam applications with Eclipse Ganymede could not be easy
+        without JBoss Tools. All is free!
+      </td>
+    </tr>
+    <tr>
+      <td>Jacek Laskowski</td>
+      <td>Warszawa, Poland</td>
+      <td>Blog - <a
+        href="http://jlaskowski.blogspot.com/2008/06/gwt-15-i-eclipse-ganymede-z-cypal.html"
+        target="_blank">GWT 1.5 i Eclipse Ganymede z Cypal Studio for
+          GWT (RC6)</a><br />Eclipse, NetBeans IDE and IntelliJ go hand
+        in hand as far as development features go. I'm glad I can use
+        them all and pick the best depending on project requirements.
+      </td>
+    </tr>
+    <tr>
+      <td>Barak Naveh</td>
+      <td>Tel Aviv, Israel</td>
+      <td>Blog - <a
+        href="http://baraknaveh.blogspot.com/2008/06/ganymede-is-coming-soon.html"
+        target="_blank">http://baraknaveh.blogspot.com/2008/06/ganymede-is-coming-soon.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Ryan Fong</td>
+      <td>Pleasanton, USA</td>
+      <td>Message <br />Our entire development team moved to Eclipse to
+        overcome severe shortcomings in our old IDE. We now have full
+        search capabilities across all of our projects, community
+        support, and a wide range of new plug-ins that we keep
+        discovering! Yay Eclipse!
+      </td>
+    </tr>
+    <tr>
+      <td>Emiel van Rooijen</td>
+      <td>Amsterdam, Netherlands</td>
+      <td>Blog - <a
+        href="http://beerholder.blogspot.com/2008/06/eclipse-ganymede-rc2-first-impression.html"
+        target="_blank">Eclipse Ganymede RC2 First Impression</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Song Sun</td>
+      <td>Shenyang, China</td>
+      <td>Blog - <a href="http://songsun.spaces.live.com/"
+        target="_blank">http://songsun.spaces.live.com/</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Bridgers</td>
+      <td>Cary, USA</td>
+      <td>Message <br />It rocks!!!
+      </td>
+    </tr>
+    <tr>
+      <td>Mirko Stocker</td>
+      <td>Zurich, Switzerland</td>
+      <td>Blog - <a href="http://blog.misto.ch/archives/588"
+        target="_blank">Neues in Eclipse 3.4 Ganymede</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Lukasz Lenart</td>
+      <td>Warszawa, POLAND</td>
+      <td>Blog - <a href="http://jdn.pl/node/1479" target="_blank">Eclipse
+          RCP - krok 1</a><br />Pierwszy krok do stworzenia aplikacji w
+        Eclipse RCP, nast&#281;pne ju&#380; wkr�tce
+      </td>
+    </tr>
+    <tr>
+      <td>Hasitha</td>
+      <td>Colombo, Sri Lanka</td>
+      <td>Blog <br />Eclipse with it's Integrated development
+        environment has made web development much easier.Looking forward
+        for the Ganymede release.
+      </td>
+    </tr>
+    <tr>
+      <td>Jakub Jurkiewicz</td>
+      <td>Pozna&#324;, Poland</td>
+      <td>Blog - <a href="http://eclipse-po-polsku.blogspot.com/"
+        target="_blank">Eclipse po polsku</a><br />Greetings form
+        Poland!
+      </td>
+    </tr>
+    <tr>
+      <td>Nagarjuna Sharma</td>
+      <td>Bangalore, India</td>
+      <td>Message - Ganymede<br />Its a great pleasure using eclipse, it
+        has made my life s so easy... looking forward for new powerfull
+        stuff in the Ganymede.
+      </td>
+    </tr>
+    <tr>
+      <td>George Nikolaidis</td>
+      <td>Thessaloniki, Greece</td>
+      <td>Blog - <a href="http://geonikaros.blogspot.com/"
+        target="_blank">http://geonikaros.blogspot.com/</a><br />At
+        Ergobyte Informatics we use countless Eclipse projects everyday.
+
+        Each Eclipse simultaneous release since 2006 has been such a
+        landmark, that we officialy celebrate the coming of the new
+        Eclipse year every end of June!
+      </td>
+    </tr>
+    <tr>
+      <td>Laurent Marchal</td>
+      <td>Nancy, France</td>
+      <td>Message - Ganymede RCP<br />Eclipse RCP is a powerful
+        framework. Thanks for all the work done in Ganymede !
+      </td>
+    </tr>
+    <tr>
+      <td>zejun wang</td>
+      <td>dalian, China</td>
+      <td>Blog - <a
+        href="http://springhe.blogspot.com/2008/06/stp-of-ganymede-cxf-included.html"
+        target="_blank">http://springhe.blogspot.com/2008/06/stp-of-ganymede-cxf-included.html</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Lars Vogel</td>
+      <td>Eppelheim, Germany</td>
+      <td>Message - <a
+        href="http://www.vogella.de/articles/richclientplatform/article.html"
+        target="_blank">Eclipse RCP with Ganymede</a><br />Article about
+        writing Eclipse RCP applications with Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Ian Skerrett</td>
+      <td>Ottawa, Canada</td>
+      <td>Blog - <a
+        href="http://ianskerrett.wordpress.com/2008/06/06/ganymede-hype-machine-ready-to-roll/"
+        target="_blank">Ganymede Marketing</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Stephen Denne</td>
+      <td>Wellington, New Zealand</td>
+      <td>Blog - <a
+        href="http://datacute.wordpress.com/2008/06/08/eclipse-ganymede-features/"
+        target="_blank">Datacute</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Neeraj Bhsuare</td>
+      <td>Pune, India</td>
+      <td>Message - Message for Ganymede<br />Great experience
+        experimenting with Eclipse and looking forward to experiment
+        more on the Ganymede release.
+      </td>
+    </tr>
+    <tr>
+      <td>Holger Staudacher</td>
+      <td>Singen, Germany</td>
+      <td>Blog - <a
+        href="http://www.it-blogger.com/2008-06-07/eclipse-ganymede-preview/"
+        target="_blank">IT-Blogger</a><br />IT-Blogger.com gives a early
+        Ganymede Release Review.
+      </td>
+    </tr>
+    <tr>
+      <td>Michael Pellaton</td>
+      <td>Oberglatt, Switzerland</td>
+      <td>Message - Ganymede &More for our developers<br />I'm
+        responsible for the Europa -> Ganymede transition at my employer
+        (approx 100 installations). Plans are that our developers may
+        enjoy Ganymede (and many cool extensions) about a week after
+        it's release :-)
+      </td>
+    </tr>
+    <tr>
+      <td>Carlus Henry</td>
+      <td>Grand Rapids, USA</td>
+      <td>Blog - <a href="http://jdcarlflip.blogspot.com"
+        target="_blank">http://jdcarlflip.blogspot.com</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Aleksander Str&#261;czek</td>
+      <td>Rybnik, Poland</td>
+      <td>Message - just happy Eclipse user<br />I use Eclipse almost
+        everyday since version 2.1. Every release better meets my needs.
+        Thank you for great stuff.
+      </td>
+    </tr>
+    <tr>
+      <td>Nicholas Chen</td>
+      <td>Urbana, USA</td>
+      <td>Blog - <a
+        href="http://softwareengineering.vazexqi.com/articles/2008/06/05/eclipse-ganymede-features-worth-talking-about"
+        target="_blank">Eclipse Ganymede Features Worth Talking About</a><br />In
+        addition to the blog post, I plan to do some short screencasts
+        for our class that will using Eclipse Ganymede in Fall 2008 but
+        that won't happen until Ganymede is officially released to make
+        sure that everything (UI, help files, etc) is consistent.
+      </td>
+    </tr>
+    <tr>
+      <td>Nanda Firdausi</td>
+      <td>Aachen, Germany</td>
+      <td>Blog - <a
+        href="http://satukubik.com/2008/06/06/ganymede-is-coming/"
+        target="_blank">Ganymede is coming!</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Lars K�dderitzsch</td>
+      <td>Cologne, Germany</td>
+      <td>Message - <a href="http://eclipse-cs.sf.net" target="_blank">Eclipse
+          Checkstyle Plugin greets Ganymede</a><br />I hope you won't
+        break my update site ;-)
+      </td>
+    </tr>
+    <tr>
+      <td>David Sciamma</td>
+      <td>Toulouse, France</td>
+      <td>Message - <a
+        href="http://www.eclipse.org/modeling/emft/?project=ecoretools#ecoretools"
+        target="_blank">Ecore Tools powa !</a><br />We are organizing a
+        Ganymede Demo Camp in Toulouse : come to share with the Eclipse
+        community and to see Ecore Tools in action !
+      </td>
+    </tr>
+    <tr>
+      <td>Jacek Pospychala</td>
+      <td>Poznan, Poland</td>
+      <td>Blog - <a href="http://eclipser-blog.blogspot.com"
+        target="_blank">eclipser-blog</a><br />
+      </td>
+    </tr>
+    <tr>
+      <td>Owen</td>
+      <td>Charlotte, USA</td>
+      <td>Blog - <a href="http://www.thelinuxblog.com" target="_blank">Linux
+          Blog - Eclipse around the world</a><br />The Linux Blog writes
+        about Eclipse Ganymede
+      </td>
+    </tr>
+    <tr>
+      <td>Laszlo Borsos</td>
+      <td>Si�fok, Hungary</td>
+      <td>Message <br />Hi, I am an RCP developer and a happy Eclipse
+        user from Hungary. Thanks for all the great work you put into
+        Eclipse. Java development would not be the same without it!
+        Cheers!
+      </td>
+    </tr>
+    <tr>
+      <td>Cristian Duicu</td>
+      <td>Toronto, Canada</td>
+      <td>Blog - <a
+        href="http://duicu.blogspot.com/2008/06/ganymede.html"
+        target="_blank">http://duicu.blogspot.com/2008/06/ganymede.html</a><br />
+      </td>
+    </tr>
+  </table>
+
+</div>
+<div id="rightcolumn">
+  <div class="sideitem">
+    <h6>Ganymede Around the World</h6>
+    <ul>
+      <li><a href="./">Ganymede</a></li>
+      <li><a href="./mapList.php">Ganymede Map</a></li>
+      <li><a href="./aroundtheworld.php">Contest Details</a></li>
+    </ul>
+  </div>
+</div>
\ No newline at end of file
diff --git a/content/en_postercontest.php b/content/en_postercontest.php
new file mode 100644
index 0000000..319c9dd
--- /dev/null
+++ b/content/en_postercontest.php
@@ -0,0 +1,331 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<!-- nav -->
+<aside id="leftcol" class="col-md-4">
+  <ul id="leftnav" class="ul-left-nav fa-ul hidden-print">
+    <li class="separator"><a class="separator" href="/ganymede/">
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/downloads/packages/" target="_self"> Download Ganymede </a>
+    </li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/learn.php" target="_self"> Learn more about
+        Ganymede </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/buzz.php" target="_self"> Ganymede Buzz </a></li>
+    <li><i class="fa fa-angle-double-right orange fa-fw"></i> <a
+      href="/ganymede/mapList.php" target="_self"> Ganymede Around the World
+    </a></li>
+
+  </ul>
+</aside>
+<div id="maincontent">
+  <div id="midcolumn">
+    <h1>Ganymede Poster Contest</h1>
+
+    <p>
+      Eclipse community members displayed their Photoshop and Gimp
+      skills by redesigning movie posters and other graphics to showcase
+      Ganymede. Poster submissions have been reviewed and the community
+      has rewarded our hard working designers by <a
+        href="http://www.surveymonkey.com/s.aspx?sm=Jz7pU_2bHvyMaAidVDaEiXow_3d_3d"
+        target="blank">voting for their favourites</a>. (Voting closed
+      June 24, 2008, 5:00 pm EDT.) Click on any poster to see its
+      full-size version.
+    </p>
+
+    <p>
+      A very special thank you to Eclipse committer <a
+        href="http://divby0.blogspot.com/2008/05/ganymede-poster-contest.html">Nick
+        Boldt</a> for creating, organizing and sponsoring the Ganymede
+      poster contest.
+    </p>
+
+    <p>
+      <strong>Prizes</strong><br> 1st place: an Eclipse jacket and $50
+      to your favourite open source organization or free service
+      provider<br> 2nd place: an Eclipse jacket and $30 to your
+      favourite open source organization or free service provider<br>
+      3rd place: an Eclipse shirt and $20 to your favourite open source
+      organization or free service provider<br> 4th & 5th place: an
+      Eclipse shirt<br> <font size=0.4px><br>Note: Individuals are
+        allowed to submit multiple entries, but only one prize per
+        person will be awarded.</font>
+    </p>
+
+    <p>
+
+
+    <h2>Winners</h2>
+    <table align="top">
+      <tr height="250">
+        <td valign="top" width="260"><a
+          href="http://www.eclipse.org/ganymede/images/GanymedeMoon1Poster.jpg"
+          target="blank"><img
+            src="http://www.eclipse.org/ganymede/images/GanymedeMoon1Poster.jpg"
+            height="200" width="250" border="0"></a><br> <b>1st: Objects
+            on mirrors (Michael Tkacz)</b>
+        </p></td>
+        <td valign="top" width="167"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102971"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102971"
+            height="200" width="157" border="0"></a><br> <b>2nd: Lord Of
+            The Rings (Nick Hofstede)</b></td>
+        <td valign="top" width="163"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103391"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103391"
+            height="200" width="153" border="0"></a><br> <b>3rd:
+            Transformers (Benjamin Cabe)</b></td>
+        <td valign="top" width="161"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103019"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103019"
+            height="200" width="151" border="0"></a><br> <b>4th: Wall E
+            (Prakash G.R.)</b></td>
+        <td valign="top" width="145"><a
+          href="http://www.eclipse.org/ganymede/images/GanymedeMoon0Poster.jpg"
+          target="blank"><img
+            src="http://www.eclipse.org/ganymede/images/GanymedeMoon0Poster.jpg"
+            height="200" width="250" border="0"></a><br> <b>5th: Some
+            things are closer (Michael Tkacz)</b></td>
+      </tr>
+    </table>
+    <table align="top">
+      <tr height="250">
+        <td valign="top" width="147"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104847"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104847"
+            height="200" width="137" border="0"></a><br> <b>6th (tie):
+            Ice Age (Benjamin Cabe)</b></td>
+        <td valign="top" width="145"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103040"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103040"
+            height="200" width="135" border="0"></a><br> <b>6th (tie):
+            Ratatouille (Benjamin Cabe)</b></td>
+        <td valign="top" width="151"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102944"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102944"
+            height="200" width="141" border="0"></a><br> <b>8th:
+            Community created... Ganymede! (Benjamin Cabe)</b></td>
+        <td valign="top" width="140"><a
+          href="http://bp1.blogger.com/_i21-98vOfTA/SFIT6BQhm-I/AAAAAAAAAW0/FALIOzx_fMo/s400/children-of-the-code-ganymede.png"
+          target="blank"><img
+            src="http://bp1.blogger.com/_i21-98vOfTA/SFIT6BQhm-I/AAAAAAAAAW0/FALIOzx_fMo/s400/children-of-the-code-ganymede.png"
+            height="200" width="130" border="0"></a><br> <b>9th (3-way
+            tie): Children of the Corn<br>II (Nick Boldt)
+        </b></td>
+        <td valign="top" width="260"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105350"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105350"
+            height="200" width="250" border="0"></a><br> <b>9th (3-way
+            tie): Kill Bill, Vol. 3 (Kiril Mitov)</b></td>
+        <td valign="top" width="142"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103044"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103044"
+            height="200" width="132" border="0"></a><br> <b>9th (3-way
+            tie): 300 (Nick Hofstede)</b></td>
+      </tr>
+    </table>
+
+    <h2>Honourable Mentions</h2>
+    <table align="top">
+      <tr height="250">
+        <td valign="top" width="148"><a
+          href="http://bp3.blogger.com/_i21-98vOfTA/SD-AtQANotI/AAAAAAAAAVs/YoAOZpvpuE8/s200/Attack_of_the_15_Projects.png"
+          target="blank"><img
+            src="http://bp3.blogger.com/_i21-98vOfTA/SD-AtQANotI/AAAAAAAAAVs/YoAOZpvpuE8/s200/Attack_of_the_15_Projects.png"
+            height="200" width="138" border="0"></a><br> <b>Attack of
+            the 50 Foot Woman (Nick Boldt)</b></td>
+        <td valign="top" width="112"><a
+          href="http://bp0.blogger.com/_i21-98vOfTA/SFIT5xQhm9I/AAAAAAAAAWs/BfKXpprXpeA/s400/children-of-the-code.png"
+          target="blank"><img
+            src="http://bp0.blogger.com/_i21-98vOfTA/SFIT5xQhm9I/AAAAAAAAAWs/BfKXpprXpeA/s400/children-of-the-code.png"
+            height="200" width="102" border="0"></a><br> <b>Children of
+            the Corn (Nick Boldt)</b></td>
+        <td valign="top" width="143"><a
+          href="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhm_I/AAAAAAAAAW8/OXjw8LTv168/s400/Day-of-the-Dead-Ganymede.png"
+          target="blank"><img
+            src="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhm_I/AAAAAAAAAW8/OXjw8LTv168/s400/Day-of-the-Dead-Ganymede.png"
+            height="200" width="133" border="0"></a><br> <b>Day of the
+            Dead (Nick Boldt)</b></td>
+        <td valign="top" width="143"><a
+          href="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhnAI/AAAAAAAAAXE/GjseOlNSN60/s400/Death-Proof-Friends-of-Ganymede.png"
+          target="blank"><img
+            src="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhnAI/AAAAAAAAAXE/GjseOlNSN60/s400/Death-Proof-Friends-of-Ganymede.png"
+            height="200" width="133" border="0"></a><br> <b>Death Proof
+            (Nick Boldt)</b></td>
+        <td valign="top" width="145"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103205"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103205"
+            height="200" width="135" border="0"></a><br> <b>Enchanted
+            (Benjamin Cabe)</b></td>
+        <td valign="top" width="180"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103024"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103024"
+            height="200" width="170" border="0"></a><br> <b>Ganymede
+            Train (Michael Tkacz)</b></td>
+      </tr>
+    </table>
+    <table>
+      <tr height="250">
+        <td valign="top" width="278"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103138"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103138"
+            height="200" width="268" border="0"></a><br> <b>Gene Simmons
+            Never Had Ganymede (Wayne Beaton)</b></td>
+        <td valign="top" width="145"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104993"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104993"
+            height="200" width="135" border="0"></a><br> <b>Harry Potter
+            (Nicolas Bihan)</b></td>
+        <td valign="top" width="268"><a
+          href="http://bp0.blogger.com/_i21-98vOfTA/SD98ggANosI/AAAAAAAAAVk/z01lgDfe5gA/s200/p2_Came_From_Beneath_Equinox.png"
+          target="blank"><img
+            src="http://bp0.blogger.com/_i21-98vOfTA/SD98ggANosI/AAAAAAAAAVk/z01lgDfe5gA/s200/p2_Came_From_Beneath_Equinox.png"
+            height="200" width="258" border="0"></a><br> <b>It Came from
+            Beneath the Sea (Nick Boldt)</b></td>
+        <td valign="top" width="277"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105349"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105349"
+            height="200" width="267" border="0"></a><br> <b>Kill Bill,
+            Vol. 1 (Kiril Mitov)</b></td>
+      </tr>
+    </table>
+    <table>
+      <tr height="250">
+        <td valign="top" width="277"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105326"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105326"
+            height="200" width="267" border="0"></a><br> <b>Kill Bill,
+            Vol. 2 (Kivil Mitov)</b></td>
+        <td valign="top" width="138"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104070"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104070"
+            height="200" width="128" border="0"></a><br> <b>Kung Fu
+            Panda (Nicolas Bihan)</b></td>
+        <td valign="top" width="140"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103050"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103050"
+            height="200" width="130" border="0"></a><br> <b>Lost In
+            Translation (Benjamin Cabe)</b></td>
+        <td valign="top" width="144"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103199"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103199"
+            height="200" width="134" border="0"></a><br> <b>Mars Attacks
+            (Benjamin Cabe)</b></td>
+        <td valign="top" width="243"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104052"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104052"
+            height="200" width="233" border="0"></a><br> <b>Prepare
+            yourself for Ganymede (Scott Lewis)</b></td>
+      </tr>
+    </table>
+    <table>
+      <tr height="250">
+        <td valign="top" width="277"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105324"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105324"
+            height="200" width="267" border="0"></a><br> <b>Sin City
+            (Kiril Mitov)</b></td>
+        <td valign="top" width="145"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103043"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103043"
+            height="200" width="135" border="0"></a><br> <b>Sunshine
+            (Nick Hofstede)</b></td>
+        <td valign="top" width="148"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104165"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104165"
+            height="200" width="138" border="0"></a><br> <b>The Blues
+            Brothers (Wayne Beaton)</b></td>
+        <td valign="top" width="270"><a
+          href="http://bp3.blogger.com/_i21-98vOfTA/SD92SQANorI/AAAAAAAAAVc/tl4Qo4LYiBM/s200/Day_The_Net_Stood_Still.png"
+          target="blank"><img
+            src="http://bp3.blogger.com/_i21-98vOfTA/SD92SQANorI/AAAAAAAAAVc/tl4Qo4LYiBM/s200/Day_The_Net_Stood_Still.png"
+            height="200" width="260" border="0"></a><br> <b>The Day the
+            Earth Stood Still (Nick Boldt)</b></td>
+        <td valign="top" width="151"><a
+          href="http://bp3.blogger.com/_i21-98vOfTA/SD8eTQANopI/AAAAAAAAAVM/3PnY8S9Ho9s/s200/smthing_gany.png"
+          target="blank"><img
+            src="http://bp3.blogger.com/_i21-98vOfTA/SD8eTQANopI/AAAAAAAAAVM/3PnY8S9Ho9s/s200/smthing_gany.png"
+            height="200" width="141" border="0"></a><br> <b>There&#146;s
+            Something About Mary (Nick Boldt)</b></td>
+      </tr>
+    </table>
+
+    <table>
+      <tr height="250">
+        <td valign="top" width="232"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103022"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103022"
+            height="200" width="222" border="0"></a><br> <b>Train about
+            to Leave (Michael Tkacz)</b></td>
+        <td valign="top" width="210"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103021"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103021"
+            height="200" width="200" border="0"></a><br> <b>Train to
+            Catch (Michael Tkacz)</b></td>
+        <td valign="top" width="151"><a
+          href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102974"
+          target="blank"><img
+            src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102974"
+            height="200" width="141" border="0"></a><br> <b>Uncle
+            Eclipse (Benjamin Cabe)</b></td>
+        <td valign="top" width="210"><a
+          href="http://bp3.blogger.com/_i21-98vOfTA/SFITehQhm8I/AAAAAAAAAWk/dKynQpV7vmo/s400/ide-science.png"
+          target="blank"><img
+            src="http://bp3.blogger.com/_i21-98vOfTA/SFITehQhm8I/AAAAAAAAAWk/dKynQpV7vmo/s400/ide-science.png"
+            height="200" width="200" border="0"></a><br> <b>Weird
+            Science (Nick Boldt)</b></td>
+      </tr>
+    </table>
+
+    </p>
+
+    <br>
+    <br>
+
+  </div>
+
+  <!-- remove the entire <div> tag to omit the right column!  -->
+  <div id="rightcolumn">
+    <div class="sideitem">
+      <h6>Ganymede Around the World</h6>
+      <ul>
+        <li><a href="http://www.eclipse.org/ganymede/">Ganymede</a></li>
+        <li><a href="mapList.php">Ganymede Map</a></li>
+      </ul>
+    </div>
+  </div>
\ No newline at end of file
diff --git a/content/en_projects.php b/content/en_projects.php
new file mode 100644
index 0000000..8b2d64a
--- /dev/null
+++ b/content/en_projects.php
@@ -0,0 +1,1300 @@
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+?>
+<div id="ganymedeHeader">
+  <div id="headerGraphic">
+    <map name="ganymedeHeaderIMap">
+      <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
+      <area shape="rect" coords="450,60,745,125"
+        href="/downloads/packages/release/ganymede/sr2">
+    </map>
+    <img src="/ganymede/images/ganymedeHeaderThin.jpg"
+      usemap="#ganymedeHeaderIMap">
+  </div>
+</div>
+<div id="widecontent">
+  <div id="midcolumnwide">
+    <table cellspacing=0 class="webinars">
+      <tr class="header">
+        <td width="35%">Project Name</td>
+        <td width="12%" align="center">Version</td>
+        <td width="10%" align="center">Project Summary</td>
+        <td width="12%" align="center">Download</td>
+      </tr>
+      <tr class="tableRow">
+        <td><b></b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.java-ee-config"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/java-ee-config/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b></b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.umlx"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/gmt/downloads/?project=umlx">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b></b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.sdo"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="/modeling/emf/downloads/?project=sdo">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b></b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt.tcf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b></b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.emf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="/modeling/emf/downloads/?project=emf">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Acceleo</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.acceleo"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/acceleo/download">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Accessibility Tools Framework</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.actf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/actf/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Agent Modeling Platform</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://eclipse.org/amp/installing/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Amalgamation</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.amalgam"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/downloads/packages/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>ATL</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.atl"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://eclipse.org/mmt/downloads/?project=atl">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>BPEL Designer</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpel"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="https://hudson.eclipse.org/hudson/job/bpel-0.5/lastSuccessfulBuild/artifact/site/target/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>BPMN modeler</b></td>
+        <td align="center">1.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmnmodeler"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>BPMN2 Modeler Project</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.bpmn2-modeler"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/bpmn2-modeler/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Buckminster Component Assembly</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.buckminster"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/buckminster/downloads.html">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Business Intelligence and Reporting Tools (BIRT)</b></td>
+        <td align="center">2.3.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=birt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/birt/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>C/C++ Development Tooling (CDT)</b></td>
+        <td align="center">5.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.cdt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/cdt/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>CDO Model Repository</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.cdo"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/cdo/downloads">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Code Recommenders</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.recommenders"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://eclipse.org/recommenders/download/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Dali Java Persistence Tools</b></td>
+        <td align="center">2.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.dali"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/dali/downloads.html">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Data Tools Platform</b></td>
+        <td align="center">1.6 (\"Ganymede\")</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=datatools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/datatools/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Device Debugging</b></td>
+        <td align="center">1.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=dsdp.dd"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/dsdp/dd/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Dynamic Languages Toolkit</b></td>
+        <td align="center">0.95</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.dltk"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/technology/dltk/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Communication Framework</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.ecf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/ecf/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Communication Framework Project</b></td>
+        <td align="center">2.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.ecf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/ecf/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Generation Factories (EGF)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.egf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/downloads/download.php?file=/egf/tool/egf_1.0.0RC2/org.eclipse.egf_1.0.0.v20120528-1601.zip">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Git Team Provider</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.egit"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://eclipse.org/egit/download">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Gyrex Project</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.gyrex"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/gyrex/download/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Model Framework Technology (EMFT)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Modeling Framework (EMF)</b></td>
+        <td align="center">2.4.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=emf">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Packaging Project</b></td>
+        <td align="center">1.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/downloads/packages/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Platform</b></td>
+        <td align="center">3.4</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Project</b></td>
+        <td align="center">3.4</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Runtime Packaging Project</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.rtp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://eclipse.org/rtp/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Scout</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.scout"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/scout/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Eclipse Web Tools Platform Project</b></td>
+        <td align="center">WTP 3.0.0 (Ganymede)</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EclipseLink Project</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.eclipselink"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/eclipselink/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Ecore Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.ecoretools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=ecoretools">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Compare</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.compare"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=compare">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Compare</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.compare"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=compare">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Diff/Merge</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.diffmerge"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://wiki.eclipse.org/EMF_DiffMerge/Download">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Facet</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.emf-facet"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/facet/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Query</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=query">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Query2</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.query2"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/modeling/emf/query2/updates/1.0/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Teneo Model Relational Mapping</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.teneo"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=teneo">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Transaction</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.transaction"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=transaction">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>EMF Validation</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.validation"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/?project=validation">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Enterprise Tools for the OSGi Service Platform</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.libra"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/libra/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Equinox</b></td>
+        <td align="center">3.4</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/equinox/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Equinox p2</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.equinox.p2"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/equinox/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Extended Editing Framework (EEF)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.eef"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=eef">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Fortran Development Tools (Photran)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp.photran"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphical Editing Framework (GEF)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.gef"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/gef/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphical Modeling Framework</b></td>
+        <td align="center">2.1.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/gmf/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphical Modeling Framework (GMF) Notation</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-notation"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-notation">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphical Modeling Framework (GMF) Runtime</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-runtime"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-runtime">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphical Modeling Framework (GMF) Tooling</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.gmf-tooling"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/gmp/downloads/?project=gmf-tooling">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Graphiti</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmp.graphiti"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/graphiti/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Hudson</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.hudson"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Intent</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs.intent"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/intent/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Java development tools debug</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt.debug"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Java Emitter Templates (JET2)</b></td>
+        <td align="center">M2T JET 0.9.0 (Ganymede)</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.jet"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/m2t/downloads/?project=jet">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Java implementation of Git</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jgit"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/jgit/download/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Java Workflow Tooling</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.jwt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://wiki.eclipse.org/JWT_Downloads#Current_Releases">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>JavaScript Development Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsdt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>JavaServer Faces</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jsf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>JDT - Java development tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.jdt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Jetty - Servlet Engine and Http Server</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.jetty"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/jetty/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Jubula Functional Testing Tool</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.jubula"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/jubula/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Koneki</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.koneki"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/koneki/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Linux Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.linuxtools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/linuxtools/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Marketplace Client</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.packaging.mpc"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Maven Integration</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://eclipse.org/m2e/download/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Maven Integration for Web Tools Platform</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.m2e.m2e-wtp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="m2e-wtp/download/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>MDT UML2</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="/modeling/mdt/downloads/?project=uml2">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>MDT UML2 Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.uml2-tools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/mdt/downloads/?project=uml2tools">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>MDT XSD (XML Schema Definition)</b></td>
+        <td align="center">2.4.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.xsd"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/mdt/downloads/?project=xsd">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Memory Analyzer</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.mat"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mat/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Memory Analyzer</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mat"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/mat/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mint</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mint"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=mint">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mobile Tools for Java</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah.mtj"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/dsdp/mtj/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Model Development Tools (MDT)</b></td>
+        <td align="center">Ganymede</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/modeling/mdt/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Model Discovery</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.gmt.modisco"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/gmt/modisco/download/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Model Focusing Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context.mft"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Model To Text (M2T)</b></td>
+        <td align="center">0.9.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/m2t/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Model-to-Model Transformation (MMT)</b></td>
+        <td align="center">Ganymede</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mmt/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Modeling Team Framework</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mtf"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Modeling Workflow Engine</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.mwe"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>modeling.emft.mwe</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emft.mwe"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emft/downloads/?project=mwe">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>MoDisco</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.modisco"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/MoDisco/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn</b></td>
+        <td align="center">3.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.mylyn"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn</b></td>
+        <td align="center">3.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/mylyn/downloads">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Builds</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.builds"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Commons</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.commons"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Context</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.context"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Docs</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.docs"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Reviews</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.reviews"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Tasks</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.tasks"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Mylyn Versions</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=mylyn.versions"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/mylyn/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Net4j Signalling Platform</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.emf.net4j"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/emf/downloads/index.php?project=net4j">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Object Teams</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.objectteams"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/objectteams/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>OCL (Object Constraint Language)</b></td>
+        <td align="center">1.2 (Ganymede)</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.ocl"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/mdt/downloads/?project=ocl">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Orion</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.orion"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://download.eclipse.org/orion/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Papyrus</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.papyrus"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/mdt/papyrus/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Parallel Tools Platform (PTP)</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ptp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/ptp/downloads.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>PDE - Plugin Development Environment</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.pde"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>PHP Development Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.pdt"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/tools/pdt/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Platform Ant</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=eclipse.platform.ant"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/eclipse/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>QVT Operational</b></td>
+        <td align="center">1.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mmt.qvt-oml"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/mmt/downloads/index.php?project=qvto&showAll=0&showMax=5">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Remote Application Platform</b></td>
+        <td align="center">1.1</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.rap"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/rap/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Riena Project</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.riena"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://wiki.eclipse.org/Riena_Getting_started">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Sapphire</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sapphire"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/sapphire/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>SCA Tools</b></td>
+        <td align="center">1.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.sca"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://wiki.eclipse.org/SCA#Install">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Sequoyah</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.sequoyah"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/sequoyah/downloads/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Server Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.servertools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Sketch</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.sketch"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/sketch/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>SOA Tools</b></td>
+        <td align="center">1.0.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=stp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/stp/download.php">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Sphinx</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.mdt.sphinx"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/sphinx/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Stardust</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.stardust"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://git.eclipse.org/c/q=stardust">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Subversive - SVN Team Provider</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=technology.subversive"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/subversive/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Swordfish</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=soa.swordfish"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/swordfish/downloads">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Target Management</b></td>
+        <td align="center">3.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.tm"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/tm/downloads/index.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b> Test and Performance Tools Platform Project</b></td>
+        <td align="center">4.5.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tptp"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/tptp/home/downloads/downloads.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>VE - Visual Editor</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.ve"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/tools/ve/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Virgo</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=rt.virgo"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/virgo/download/">Download</a></td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Web Services Tools</b></td>
+        <td align="center">WTP 3.0</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.webservices"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Webtools Releng</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.releng"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>WindowBuilder</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.windowbuilder"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="/windowbuilder/download.php">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>WTP Common Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.common"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>WTP EJB Tools</b></td>
+        <td align="center">WTP 3.0 (Ganymede)</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.ejbtools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>WTP Java EE Tools</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.jeetools"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>WTP Source Editing</b></td>
+        <td align="center">3.0 (Ganymede)</td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=webtools.sourceediting"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://download.eclipse.org/webtools/downloads/">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Xpand</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.m2t.xpand"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/modeling/m2t/downloads/?showAll=0&project=xpand">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Xtend</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=tools.xtend"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a href="http://www.eclipse.org/xtend">Download</a>
+        </td>
+      </tr>
+      <tr class="tableRow">
+        <td><b>Xtext</b></td>
+        <td align="center"></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/projects/project_summary.php?projectid=modeling.tmf.xtext"><img
+            src="images/homepage.gif"></a></td>
+        <td align="center"><a
+          href="http://www.eclipse.org/Xtext/download/">Download</a></td>
+      </tr>
+    </table>
+  </div>
+</div>
\ No newline at end of file
diff --git a/fetch/demos.php b/fetch/demos.php
deleted file mode 100644
index 150b674..0000000
--- a/fetch/demos.php
+++ /dev/null
@@ -1,46 +0,0 @@
-<?php
-	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
-	require_once($documentRoot . "/eclipse.org-common/system/smartconnection.class.php");
-	$liveConnection = new DBConnectionLIVE();
-	$liveConnection->connect();
-	?>
-	<table class="webinars" cellspacing=0 cellpadding=0>
-	<tr class="header">
-		<td width="70%">Title</td>
-		<td width="15%">Format</td>
-	</tr>
-	<?
-	$sql = "SELECT cn.nid, n.title, nn.title as format, ncr.field_abstract_value as abstract from category_node as cn
-			INNER JOIN node as n on n.nid = cn.nid
-			INNER JOIN category_node as cat_node on cat_node.nid = cn.nid
-			INNER JOIN node as nn on nn.nid = cat_node.cid
-      		INNER JOIN node_content_resource as ncr on ncr.nid = cn.nid
-			WHERE cn.cid = 542 AND cat_node.cid IN (18, 19, 20) AND n.status = 1 ORDER by n.created desc";
-	$result = mysql_query($sql);
-	
-	while ($rr = mysql_fetch_array($result))
-	{
-		$title = mb_convert_encoding($rr['title'], "HTML-ENTITIES");
-		$format = $rr['format'];
-		$id = $rr['nid'];
-		$abstract = strip_tags($rr['abstract'], "<div><p>");
-		$url = 'http://live.eclipse.org/node/'. $id;
-		?>		<tr>
-					<td>
-						<div id="<?=$id;?>" class="invisible">
-							<a class="norgie" onclick="t('<?=$id;?>', '<?=$id;?>a');" name='<?=$name?>'></a>
-						</div>
-						<a href="<?=$url;?>"><?=$title;?></a>
-					</td>
-					<td><?=$format;?></td>
-				</tr>
-				<tr>
-					<td colspan="2" class="hidden">
-						<div class="invisible" id="<?=$id;?>a">
-							<div class="item_contents"><?=$abstract;?></div>
-						</div>
-					</td>
-				</tr>
-		<?
-	}
-?></table>
\ No newline at end of file
diff --git a/fetch/projects.php b/fetch/projects.php
deleted file mode 100644
index eeb48ba..0000000
--- a/fetch/projects.php
+++ /dev/null
@@ -1,4 +0,0 @@
-<?php  																	
-include ($_SERVER['DOCUMENT_ROOT'] . "/ganymede/scripts/projectsTable.php"); 
-echo projectTable(GANYMEDE);
-?>		
\ No newline at end of file
diff --git a/form.php b/form.php
deleted file mode 100644
index a189d88..0000000
--- a/form.php
+++ /dev/null
@@ -1,132 +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();	   # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-05-16
-	#
-	# Description: Ganymede Spotting Submission Form
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Around the World";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede spotting form";
-	$pageAuthor		= "Eclipse Foundation, Inc.";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
-
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
-
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/form_security.class.php');
-	$security = new FormSecurity();
-	
-	?>
-			<div class="form">
-					<form action="spotProcess.php" method="POST" name="spotForm">
-					<table width="240" class="formBox">
-						<tr>
-							<td>Name<span class="required">*</span>:</td>
-							<td><input type="text" name="name" id="name"/></td>
-						</tr>
-						<tr>
-							<td>City<span class="required">*</span>:</td>
-							<td><input type="text" name="city" id="city"/></td>
-						</tr>
-						<tr>
-							<td>State/Prov:</td>
-							<td><input type="text" name="state" id="state"/></td>
-						</tr>
-						<tr>
-							<td>Country<span class="required">*</span>:</td>
-							<td><input type="text" name="country" id="country"/></td>
-						</tr>
-						<tr>
-							<td colspan="2">
-								<input name="type" type="radio" value="Blog" id="Blog" checked onclick="checkReq('Blog');"/>Blog
-								<input name="type" type="radio" value="Message" id="Message" onclick="checkReq('Message');"/>Message
-								<input name="type" type="radio" value="Recording" id="Recording" onclick="checkReq('Recording');"/>Recording
-							</td>
-						</tr>
-						<tr>
-							<td><div id="">Title:</div></td>
-							<td><div id=""><input type="text" name="title" id="title" value=""/></div></td>
-						</tr>
-						<tr>
-							<td>URL<span id="urlReq"class="required">*</span>:</td>
-							<td><input type="text" name="url" id="url" value="http://"/></td>
-						</tr>
-						<tr>
-							<td valign="top">Message<span id="messageReq" class="required invisible">*</span>:</td>
-							<td valign="top"><textarea cols=15 name="content" id="content"></textarea><br/><span style="font-size:80%;">(256 Character Max)</span></td>
-						</tr>						
-						<tr>
-							<td colspan="2"><br/></td>
-						</tr>
-						<tr>
-							<td>Email:</td>
-							<td><input type="text" name="email" id="email"/></td>
-						</tr>
-						<tr>
-							<td><span id="urlReq"class="required"><?=$security->EasySecureQuestion("text", 20); ?>=</span></td>
-							<td><input type="text" name="useranswer"/></td>
-						<tr>
-							<td colspan="2" style="font-size:80%;">To be included in the <a href="./aroundtheworld.php">Ganymede Around the World Contest</a> be sure to provide us with your email address.</td>
-						</tr>
-						<!--  <tr>
-							<td valign="top">Ganymede Projects:</td>
-							<td>
-								<div id="projects"><a class="expandProjects" onclick="showProjects()">Click here to choose which Ganymede Projects you are using.</a></div>
-							</td>
-						</tr>
-						<tr>
-							<td colspan=2>
-								<div id="selectProjects" class="invisible">
-									<table width="100%">
-										<tr>
-											<?/*
-											$colreset = 6;
-											$colcount = 0; 
-											for ($i=0; $i < $projectInfoList->getCount(); $i++)
-											{
-												if ($colcount == 0)
-												{
-													?><td><?
-												}
-												elseif ($colcount == $colreset)
-												{
-													$colcount = -1;
-													?></td><?
-												}
-												$projectInfoIterator = $projectInfoList->getItemAt($i);
-												?><input type="checkbox" name="<?$projectInfoIterator->ProjectID;?>" value=""/><?$projectInfoIterator->projectshortname;?><br/>
-												<?
-												$colcount++; 
-											}*/?>
-											
-										</tr>
-									</table>
-								</div>
-							</td>
-						</tr> -->
-						<tr>	
-							<td>&nbsp;</td>
-							<td>
-								<input type="hidden" id="lat" name="lat" value="0"/>
-								<input type="hidden" id="lng" name="lng" value="0"/>
-								<input type="hidden" name="securityanswer" value="<?=$security->getStoredCrypt();?>"/>
-								<input type="button" value="Submit" onclick="fetchLocation();"/>
-							</td>
-						</tr>						
-					</table>
-				</form>
-			</div>
diff --git a/friends.php b/friends.php
index 49c1230..4e4ec21 100644
--- a/friends.php
+++ b/friends.php
@@ -1,62 +1,36 @@
-<?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'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# template.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2005-06-16
-	#
-	# Description: Type your page comments here - these are not sent to the browser
-	#
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Friends of Ganymede";
-	$pageKeywords	= "Ganymede marketing, friends of Ganymede";
-	$pageAuthor		= "Nathan Gervais";
-	
-	# 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", 1);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);
-
-	# End: page-specific settings
-	#
-	// This file is linked to from lots of different places.
-	// Use absolute paths to make sure that we can actually test
-	// that the file renders properly (i.e. testing using) "/index.php",
-	// and "/home/index.php" both work.
-
-		
-	# Paste your HTML content between the EOHTML markers!	
-	$html = <<<EOHTML
-<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
-<div id="midcolumn">
-	<div>
-        <h1>$pageTitle</h1>
-		<p>Want to join the Friends of Ganymede?  Put one of these images up on your website.</p>
-		<div>
-			<h2>Square Button (160 x 160 px)</h2>
-			<img border=0 alt="Ganymede is Coming" title="Eclipse Ganymede" src="images/ganymedeFriend.jpg"><br /><br />
-			<textarea class="smallType" cols=60 rows=4 readonly>&lt;a href="http://www.eclipse.org/ganymede/"&gt;&lt;img src="http://www.eclipse.org/ganymede/images/ganymedeFriend.jpg" border=0 alt="Ganymede is coming!" title="Ganymede is coming!" &gt;&lt;/a&gt;</textarea>
-		</div><br/><br/>
-		<div>
-			<h2>Ganymede Wallpapers</h2>
-				<img border=0 alt="Ganymede Wallpaper" src="images/wallpaperThumb.jpg"><br/><br/>
-				Decorate your Desktop with one of these Ganymede Wallpapers.<br/>
-				<a href="images/wallpaper1024.jpg">1024x768</a> - <a href="images/wallpaper1280.jpg">1280x960</a> - <a href="images/wallpaper1600.jpg">1600x1200</a> - <a href="images/wallpaper1680.jpg">1680x1050</a><br/><br/>
-			</div>
-	    </div>
-</div>
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
 
-EOHTML;
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Friends of Ganymede";
+$pageKeywords	= "Ganymede marketing, friends of Ganymede";
+$pageAuthor		= "Nathan Gervais";
 
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
-        
\ No newline at end of file
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/functions.js b/functions.js
deleted file mode 100644
index 14c385e..0000000
--- a/functions.js
+++ /dev/null
@@ -1,154 +0,0 @@
-function validateForm() {
-	var retVal = true;	
-	var n = document.getElementById("name");
-	var c = document.getElementById("city");
-	var co = document.getElementById("country");
-	var con = document.getElementById("content");
-	var lat = document.getElementById('lat');
-	var lng = document.getElementById('lng');
- 	var url = document.getElementById('url');
- 	var type = document.getElementsByName('type');
- 	if (n.value.length == 0)
- 	{
- 		alert("Please specify your name.");
-		return false;
-	}
-	if (c.value.length == 0)
-	{
-		alert("Please specify a city name.");
-		return false;
-	}
-	if (co.value.length == 0)
-	{
-		alert("Please specify a country name");
-		return false;
-	}
-	if (con.value.length > 256)
-	{
-		con.value = con.value.substring(0, 255);
-	}
-	if (type[1].checked == true)
-	{
-		if (con.value.length == 0)
-		{
-			alert("Please specify a message.");
-			return false;
-		}
-	}
-	if (lat.value == 0 && lng.value == 0)
-	{
-		alert("Correct Lattitude and Longitude for your location could not be calculated. Please check your location information and resubmit.");
-		return false;
-	}
-	if (type[1].checked == false)
-	{
-		if (url.value.length == 0) 
-		{ 
-			alert("Please provide a URL for your content.");
-			return false;
-		}
-		if (url.value.search('/^http\:\/\//') != -1)
-		{
-			alert("The URL provided does not contain http://");
-			return false;
-		}
-	}
-	document.spotForm.submit();
-	return retVal;
-}
-
-
-function checkReq(element) {
-	var messageReq = document.getElementById('messageReq');
-	var urlReq = document.getElementById('urlReq');
-	if (element == '')
-	{
-		//if blank then were calling to resync the form.
-		var b = document.getElementById('Blog');
-		var m = document.getElementById('Message');
-		var r = document.getElementById('Recording');
-		if (b.checked == true)
-		{ element = 'Blog';}
-		if (m.checked == true)
-		{ element = 'Message';}
-		if (r.checked == true)
-		{ element = 'Recording';}
-	}
-	if (element == 'Blog')
-	{
-		messageReq.className = "required invisible";
-		urlReq.className = "required visible";	
-	}
-	if(element == 'Message')
-	{
-		messageReq.className = "required visible";
-		urlReq.className = "required invisible";
-	}	
-	if(element == 'Recording')
-	{
-		messageReq.className = "required invisible";
-		urlReq.className = "required visible";	
-	}
-}
-
-function setAddress(address) {
-	  var lat = document.getElementById('lat');
-	  var lng = document.getElementById('lng');	
-	  lat.value = 0;
-	  lng.value = 0;
-	  var geocoder = new GClientGeocoder();
-	  geocoder.getLocations( address,
-	  	 function(result) {
-	  	 	if (result.Status.code == 200)
-	  	 	{
-		        lat.value = result.Placemark[0].Point.coordinates[1];
-		        lng.value = result.Placemark[0].Point.coordinates[0];
-	  	 	}
-			validateForm();
-	    }
-	  );
-	}
-	
-	function fetchLocation() {
-		var c = document.getElementById('city');
-		var s = document.getElementById('state');
-		var co = document.getElementById('country');
-		var name = document.getElementById('name');
-		var content = document.getElementById('content');
-   		var html = '<b>' + name.value + '</b><br/>' + content.value;
-		var address = c.value + ', ' + s.value + ', ' + co.value;
-		setAddress(address);
-	}
-	
-function toggleType(type)
-  {
-  	for (i=0; i<gmarkers.length; i++)
-  	{
-  		if (gmarkersType[i] == type)
-  			if (gmarkers[i].isHidden())
-  			{
-  				gmarkers[i].show();
-  			}
-  			else {
-  				gmarkers[i].hide();
-  			}
-  	}
-  }
-  
-function checkVisibility(type)
-{
-	typeFilter = type + 'Filter';
-	var e = document.getElementById(typeFilter);
-
-	for (i=0; i<gmarkers.length; i++)
-  	{
-  		if (gmarkersType[i] == type) {
-			if (e.checked == true)
-				{ gmarkers[i].show(); }
-  			else {	gmarkers[i].hide(); }
-  		}
-  	}
-}
-
-  
-			
\ No newline at end of file
diff --git a/getGeoIP.php b/getGeoIP.php
deleted file mode 100644
index 4b4793d..0000000
--- a/getGeoIP.php
+++ /dev/null
@@ -1,3 +0,0 @@
-<?php
- header('Location: http://api.hostip.info/?ip='. $_SERVER['REMOTE_ADDR']);
-?>
\ No newline at end of file
diff --git a/header.css b/header.css
deleted file mode 100644
index ce80ce5..0000000
--- a/header.css
+++ /dev/null
@@ -1,21 +0,0 @@
-/////////////////////////////////////// Header CSS
-#ganymedeHeader {
-	width:100%;	
-	clear:both;
-	font-size: 1px;
-}
-
-#headerGraphic {
-	background:transparent url("/ganymede/images/ganymedeTile.jpg") top left repeat-x;
-	text-align:left;
-	height:278px;
-	border-bottom:1px solid #000;
-	overflow:hidden;
-	width:100%;
-}
-
-#headerGraphic img {
-	margin:0px;
-	padding:0px;
-	
-}
\ No newline at end of file
diff --git a/header.php b/header.php
deleted file mode 100644
index 1b20473..0000000
--- a/header.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<link rel="stylesheet" type="text/css" href="/ganymede/header.css" media="screen" />	
-<div id="ganymedeHeader">
-		<div id="headerGraphic">
-		<map name="ganymedeHeaderIMap">
-			 <area shape="rect" coords="163,178,454,260" href="/downloads/packages/release/ganymede/sr2">
-			 <area shape="rect" coords="80,83,447,148" href="/ganymede">
-		</map>
-		<img src="/ganymede/images/ganymedeHeader.jpg" usemap="#ganymedeHeaderIMap"></div>
-</div>
\ No newline at end of file
diff --git a/headerThin.css b/headerThin.css
deleted file mode 100644
index 9618575..0000000
--- a/headerThin.css
+++ /dev/null
@@ -1,21 +0,0 @@
-/////////////////////////////////////// Header CSS
-#ganymedeHeader {
-	width:100%;	
-	clear:both;
-	font-size: 1px;
-}
-
-#headerGraphic {
-	background:transparent url("/ganymede/images/ganymedeTile.jpg") top left repeat-x;
-	text-align:left;
-	height:178px;
-	border-bottom:1px solid #000;
-	overflow:hidden;
-	width:100%;
-}
-
-#headerGraphic img {
-	margin:0px;
-	padding:0px;
-	
-}
\ No newline at end of file
diff --git a/headerThin.php b/headerThin.php
deleted file mode 100644
index 5a871dc..0000000
--- a/headerThin.php
+++ /dev/null
@@ -1,9 +0,0 @@
-<link rel="stylesheet" type="text/css" href="/ganymede/headerThin.css" media="screen" />	
-<div id="ganymedeHeader">
-		<div id="headerGraphic">
-		<map name="ganymedeHeaderIMap">
-			 <area shape="rect" coords="71,61,440, 124" href="/ganymede/">
-			 <area shape="rect" coords="450,60,745,125" href="/downloads/packages/release/ganymede/sr2">
-		</map>
-		<img src="/ganymede/images/ganymedeHeaderThin.jpg" usemap="#ganymedeHeaderIMap"></div>
-</div>
\ No newline at end of file
diff --git a/index.php b/index.php
index 5c103f8..3201030 100644
--- a/index.php
+++ b/index.php
@@ -1,71 +1,35 @@
-<?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();	$theme = "Phoenix"; include($App->getProjectCommon());   # All on the same line to unclutter the user's desktop'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Release";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
-	$pageAuthor		= "Eclipse Foundation, Inc.";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
-	ob_start();
-	?>	<link type="text/css" href="style.css" rel="stylesheet"/>
-		<body>
-			<div id="widecontent">
-			<br/>
-				<table width="70%" align="center">
-					<tr>
-						<td colspan="5">
-							<p>Eclipse Ganymede is the annual release of Eclipse projects in 2008; this year including 23 projects.  Some highlights of the release include the new p2 provisioning platform, new Equinox security features, new Ecore modeling tools, support for SOA and much more.  Use the links below to download and discover more about the projects in the Ganymede release.
-							<br/><br/></p>
-							<p>Click <a href="http://wiki.eclipse.org/Simultaneous_Release">here</a> to find out about the newest Eclipse Simultaneous Release</p>
-							 
-						</td>
-					</tr>
-					<tr>
-						<td align="center" valign="top">
-							<a href="/downloads/packages/release/ganymede/sr2"><img src="http://dev.eclipse.org/huge_icons/actions/document-save.png"/></a><br/>
-							<a href="/downloads/packages/release/ganymede/sr2">Download Ganymede</a>
-						</td>					
-						<td align="center" valign="top">
-							<a href="learn.php"><img src="http://dev.eclipse.org/huge_icons/actions/system-search.png"/></a><br/>
-							<a href="learn.php">Learn&nbsp;more about&nbsp;Ganymede</a>
-						</td>
-						<td align="center" valign="top">
-							<a href="buzz.php"><img src="http://dev.eclipse.org/huge_icons/devices/network-wireless.png"/></a><br/><a href="buzz.php">Ganymede Buzz</a>
-						</td>
-						<td align="center" valign="top">
-							<a href="map.php"><img src="http://dev.eclipse.org/huge_icons/categories/applications-internet.png"/></a><br/><a href="map.php">Ganymede&nbsp;Around the&nbsp;World</a>
-						</td>		
-						<td align="center" valign="top">
-							<a href="/donate/"><img src="http://dev.eclipse.org/huge_icons/apps/system-users.png"/></a><br/><a href="/donate/">Friends of Eclipse</a>
-						</td>													
-					</tr>
-				</table>
-				<br/><br/><br/><br/>
-			</div>
-		</body>
-	<?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede Release";
+$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
+$pageAuthor		= "Eclipse Foundation, Inc.";
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/index_denis.php b/index_denis.php
deleted file mode 100644
index 6618488..0000000
--- a/index_denis.php
+++ /dev/null
@@ -1,67 +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 	= NULL;	$theme = "Phoenix";   # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Release";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
-	$pageAuthor		= "Eclipse Foundation, Inc.";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
-
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
-
-	ob_start();
-	?>	<link type="text/css" href="style.css" rel="stylesheet"/>
-		<body>
-			<div id="ganymedeHeader">
-				<div id="headerGraphic">&nbsp;</div>
-			</div>
-			<div id="widecontent">
-			
-			<br/>
-				<table width="60%" align="center">
-					<tr>
-						<td colspan="3">
-							<p>Eclipse Ganymede is the annual release of Eclipse projects. Like last year�s Europa release, the Ganymede release is a coordinated release of different Eclipse project teams. This year, the annual release includes 24 projects. By releasing these projects at the same time, the goal is to eliminate uncertainty about version compatibility and make it easier to incorporate multiple projects into your environment.
-							<br/><br/><i>While Ganymede is about the simultaneous release of twenty four projects, it is not a unification of the projects - each project remains a separate open source project operating with its own project leadership, its own committers, and its own project plan.</i><br/><br/></p> 
-						</td>
-					</tr>
-					<tr>
-						<td align="center">
-							<a href="/downloads/packages/"><img src="http://dev.eclipse.org/huge_icons/actions/document-save.png"/></a><br/>
-							<a href="/downloads/packages/">Download Ganymede</a>
-						</td>					
-						<td align="center">
-							<a href="http://wiki.eclipse.org/Ganymede"><img src="http://dev.eclipse.org/huge_icons/actions/system-search.png"/></a><br/>
-							<a href="http://wiki.eclipse.org/Ganymede">Learn more about Ganymede</a>
-						</td>
-						<td align="center">
-							<a href="map.php"><img src="images/map.png"/></a><br/><a href="map.php">Ganymede Buzz</a>
-						</td>
-					</tr>
-				</table>
-				<br/><br/><br/><br/>
-			</div>
-		</body>
-	<?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
diff --git a/learn.php b/learn.php
index c8f687d..ff615ad 100644
--- a/learn.php
+++ b/learn.php
@@ -1,76 +1,36 @@
-<?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();	$theme = "Phoenix";include($App->getProjectCommon());   # All on the same line to unclutter the user's desktop'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Learn more about Ganymede";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
-	$pageAuthor		= "Eclipse Foundation, Inc.";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
 
-	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
-	$cookie = @$_COOKIE['activeTabGanymede'];
-	ob_start();
-	?>
-	<script type="text/javascript" src="scripts/functions.js"></script>
-	<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
-	<div id="midcolumn">
-		<div class="title">
-			<img align="absbottom" src="http://dev.eclipse.org/large_icons/actions/system-search.png"/> 
-			<h1 class="inline"><?=$pageTitle; ?></h1>
-		</div>
-		<div id="intro">
-			<p>Browse our Ganymede Demos from <a href="http://live.eclipse.org" target="_blank">Eclipse Live</a> or view the list of Ganymede Projects.</p>
-		</div>
-		<div id="dataBox">
-		<div id="tabSelection">
-			<ul>
-				<li><a <? if ($cookie == "projects") echo "class=\"active\""; ?>id="projects" onClick="updateTable('projects');SetActive('projects', 'demos');">Projects</a></li>
-				<li><a <? if ($cookie == "demos") echo "class=\"active\""; ?> id="demos" onClick="updateTable('demos');SetActive('demos', 'projects');">Demos</a></li>
-			</ul>
-		</div>
-		<div id="tabData">
-			<? 
-				if ($cookie != "")
-					include ('fetch/'.$cookie. '.php');
-				else
-					include ('fetch/projects.php'); 
-			?>
-		</div>
-		<hr class="clearer"/>
-		</div>
-	</div>
-<?	$html = ob_get_clean();
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Learn more about Ganymede";
+$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
+$pageAuthor		= "Eclipse Foundation, Inc.";
 
-	# Generate the web page
-	// Date in the past
-	header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
-	// always modified
-	header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
-	// HTTP/1.1
-	header("cache-Control: no-store, no-cache, must-revalidate");
-	header("cache-Control: post-check=0, pre-check=0", false);
-	// HTTP/1.0
-	header("Pragma: no-cache"); 
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-	
\ No newline at end of file
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/map.php b/map.php
index aa263b2..ec30655 100644
--- a/map.php
+++ b/map.php
@@ -1,184 +1,36 @@
-<?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(); $theme = "Phoenix";	   # All on the same line to unclutter the user's desktop'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Around the World";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
-	$pageAuthor		= "Nathan Gervais";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
-	header("Cache-control: no-cache");
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	
-	function getTypeCount($_type) {
-		$sql = "SELECT count(*) as count from ganymede_content where type='$_type'";
-		$result = mysql_query($sql);
-		$retVal = mysql_fetch_array($result);
-		return $retVal['count'];
-	}
-	
-	ob_start();
-	?>
-	<link type="text/css" href="style.css" rel="stylesheet"/>
-	<script type="text/javascript" src="functions.js"></script>
-	<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA85Ct-u89MRBL6KQDW1oYFRRVZIdxFKFwDr3XyDwet7lo3BxWzRQ-OiA6LG0_IUfBnGsh0fZU1lolWA"
-      type="text/javascript"></script>
-  
-    <body onunload="GUnload()">
-  	 <div id="midcolumn">
 
-  	   <div class="mapDiv">
- 		<div class="dialog">
- 		<div class="dialogContent">
-  			<div class="t"></div>
-  			<!-- Your content goes here -->
-		  	<table class="dialogTable" cellspacing=0 cellpadding=0>
-	  			<tr>
-	  	  			<td style="text-align:center;font-size:120%" colspan="2">
-	  	  			  <h1>Ganymede Around the World</h1>
-	  	  			  <div align="center" style="width:100%"><p class="contestText">Join the Eclipse global community.  Write a blog, record a video/podcast, or leave a message on how you are using the new Ganymede release and have an opportunity to <b>win cool Eclipse stuff</b>. <a href="./aroundtheworld.php">Full details here</a>.</p> </div>
-	  	  			</td>
-	  	  		</tr>
-				<tr>	
-					<td colspan="2"> <br/></td>
-				</tr>
-	  	  			<td valign="top" class="left">
-	  	  			  <div id="map" style="width:610px; height: 400px"></div>
-	  	  			  <div style="font-size:80%;text-align:right;padding-right:5px;"><a href="mapList.php">See a list of all the entries.</a></div>
-	  	  			</td>
-	  	  			<td valign="top" class="right">
-	  	  				<? include ('form.php') ?>
-	  	  			</td>
-	  	  		</tr>
-	  	  		<tr>
-	  	  			<td align="center" class="left">
-	  	  				<div id="filters">
-	  	  					<input type="checkbox" id="BlogFilter" checked onclick="toggleType('Blog')"/>Blog (<?=getTypeCount('blog');?>) 
-	  	  					<input type="checkbox" id="MessageFilter" checked onclick="toggleType('Message')"/>Message (<?=getTypeCount('message');?>)
-	  	  					<input type="checkbox" id="RecordingFilter" checked onclick="toggleType('Recording')"/>Recording (<?=getTypeCount('recording');?>)
-	  	  				</div>
-	  	  			</td>
-	  	  			<td class="right">&nbsp;</td>
-	  	  		</tr>
-	  	  	</table>
-			</div>
- 			<div class="b"><div></div></div>
-		</div>
-		</div>
-  	 </div>
-	<hr class="clearer"/><br/><br/><br/><br/>
-	<hr class="clearer"/>
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede Around the World";
+$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
+$pageAuthor		= "Nathan Gervais";
 
- <script type="text/javascript">
-    checkReq('');
-    if (GBrowserIsCompatible()) {
-      // arrays to hold copies of the markers used by the side_bar
-      // because the function closure trick doesnt work there
-      var gmarkers = [];
-      var gmarkersType = [];
-      var i = 0;
-      // A function to create the marker and set up the event window
-      function createMarker(point,html,type) {
-        var marker = new GMarker(point);
-        GEvent.addListener(marker, "click", function() {
-          marker.openInfoWindowHtml(html);
-        });
-        gmarkers[i] = marker;
-        gmarkersType[i] = type;
-        i++;
-        return marker;
-      }
-      // This function picks up the click and opens the corresponding info window
-      function myclick(i) {
-        GEvent.trigger(gmarkers[i], "click");
-      }
-      // create the map
-      var map = new GMap2(document.getElementById("map"));
-      map.addControl(new GSmallMapControl());
-      map.setCenter(new GLatLng(38.345739 ,-75.765338), 1);  //Center on Eclipse Foundation HQ
-	  //map.setMapType(G_HYBRID_MAP);
-      // Read the data from example.xml
-      var request = GXmlHttp.create();
-      request.open("GET", "mapData.php", true);
-      request.onreadystatechange = function() {
-        if (request.readyState == 4) {
-          var xmlDoc = GXml.parse(request.responseText);
-          // obtain the array of markers and loop through it
-          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
-          for (var i = 0; i < markers.length; i++) {
-            // obtain the attribues of each marker
-            var lat = parseFloat(markers[i].getAttribute("lat"));
-            var lng = parseFloat(markers[i].getAttribute("lng"));
-            var point = new GLatLng(lat,lng);
-            var author = markers[i].getAttribute("author");
-            var location = markers[i].getAttribute("location");
-            var url = markers[i].getAttribute("url");
-            var type = markers[i].getAttribute("type");
-            var typeText = type;    
-            var title = markers[i].getAttribute('title');
-			if (url == "http://")
-			{
-				url = "";
-			}
-           	if ((title.length == 0) && (url.length > 0)) // No title supplied so just display URL
-           	{
-           		typeText = type + ' - <a href="' + url + '" target=_"blank">' + url.substring(7) + '</a>';    		
-			}
-			else if ((title.length > 0) && (url.length == 0)) // No URL supplied so just display the title;
-			{
-				typeText = type + ' - ' + title;
-			}
-			else if ((title.length > 0) && (url.length > 0)) // We have both lets display both.
-			{			            
-            	typeText = type + ' - <a href="' + url + '" target=_"blank">' + title + '</a>';    
-            }
-            else 
-            {
-            	typeText = type;
-            }
-            
-            var html = '<div class="infoWindow"><b>' + author + '</b><br/>' + location + '<br/>' + typeText + '<br/><br/>' + markers[i].textContent + '</div>';
-            // create the marker
-            var marker = createMarker(point, html,type );
-            map.addOverlay(marker);
-          }
-          // Markers have all been added, lets check to see if they should be visible
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
 
-          checkVisibility('Blog');
-          checkVisibility('Message');
-          checkVisibility('Recording');
-        }
-      }
-      request.send(null);
-    }
-    else {
-      alert("Sorry, the Google Maps API is not compatible with this browser");
-    }
-    </script>  	  
-  </body>
-	<?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/map2.php b/map2.php
deleted file mode 100644
index 0c67c6e..0000000
--- a/map2.php
+++ /dev/null
@@ -1,184 +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(); $theme = "Phoenix";	   # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Around the World";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
-	$pageAuthor		= "Nathan Gervais";
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
-
-	# End: page-specific settings
-	#
-	
-	# Place your html content in a file called content/en_pagename.php
-	header("Cache-control: no-cache");
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	
-	function getTypeCount($_type) {
-		$sql = "SELECT count(*) as count from ganymede_content where type='$_type'";
-		$result = mysql_query($sql);
-		$retVal = mysql_fetch_array($result);
-		return $retVal['count'];
-	}
-	
-	ob_start();
-	?>
-	<link type="text/css" href="style.css" rel="stylesheet"/>
-	<script type="text/javascript" src="functions.js"></script>
-	<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA85Ct-u89MRBL6KQDW1oYFRRVZIdxFKFwDr3XyDwet7lo3BxWzRQ-OiA6LG0_IUfBnGsh0fZU1lolWA"
-      type="text/javascript"></script>
-  
-    <body onunload="GUnload()">
-  	 <div id="midcolumn">
-
-  	   <div class="mapDiv">
- 		<div class="dialog">
- 		<div class="dialogContent">
-  			<div class="t"></div>
-  			<!-- Your content goes here -->
-		  	<table class="dialogTable" cellspacing=0 cellpadding=0>
-	  			<tr>
-	  	  			<td style="text-align:center;font-size:120%" colspan="2">
-	  	  			  <h1>Ganymede Around the World</h1>
-	  	  			  <div align="center" style="width:100%"><p class="contestText">Join the Eclipse global community.  Write a blog, record a video/podcast, or leave a message on how you are using the new Ganymede release and have an opportunity to <b>win cool Eclipse stuff</b>. <a href="./aroundtheworld.php">Full details here</a>.</p> </div>
-	  	  			</td>
-	  	  		</tr>
-				<tr>	
-					<td colspan="2"> <br/></td>
-				</tr>
-	  	  			<td valign="top" class="left">
-	  	  			  <div id="map" style="width:610px; height: 400px"></div>
-	  	  			  <div style="font-size:80%;text-align:right;padding-right:5px;"><a href="mapList.php">See a list of all the entries.</a></div>
-	  	  			</td>
-	  	  			<td valign="top" class="right">
-	  	  				<? include ('form.php') ?>
-	  	  			</td>
-	  	  		</tr>
-	  	  		<tr>
-	  	  			<td align="center" class="left">
-	  	  				<div id="filters">
-	  	  					<input type="checkbox" id="BlogFilter" checked onclick="toggleType('Blog')"/>Blog (<?=getTypeCount('blog');?>) 
-	  	  					<input type="checkbox" id="MessageFilter" checked onclick="toggleType('Message')"/>Message (<?=getTypeCount('message');?>)
-	  	  					<input type="checkbox" id="RecordingFilter" checked onclick="toggleType('Recording')"/>Recording (<?=getTypeCount('recording');?>)
-	  	  				</div>
-	  	  			</td>
-	  	  			<td class="right">&nbsp;</td>
-	  	  		</tr>
-	  	  	</table>
-			</div>
- 			<div class="b"><div></div></div>
-		</div>
-		</div>
-  	 </div>
-	<hr class="clearer"/><br/><br/><br/><br/>
-	<hr class="clearer"/>
-
- <script type="text/javascript">
-    checkReq('');
-    if (GBrowserIsCompatible()) {
-      // arrays to hold copies of the markers used by the side_bar
-      // because the function closure trick doesnt work there
-      var gmarkers = [];
-      var gmarkersType = [];
-      var i = 0;
-      // A function to create the marker and set up the event window
-      function createMarker(point,html,type) {
-        var marker = new GMarker(point);
-        GEvent.addListener(marker, "click", function() {
-          marker.openInfoWindowHtml(html);
-        });
-        gmarkers[i] = marker;
-        gmarkersType[i] = type;
-        i++;
-        return marker;
-      }
-      // This function picks up the click and opens the corresponding info window
-      function myclick(i) {
-        GEvent.trigger(gmarkers[i], "click");
-      }
-      // create the map
-      var map = new GMap2(document.getElementById("map"));
-      map.addControl(new GSmallMapControl());
-      map.setCenter(new GLatLng(38.345739 ,-75.765338), 1);  //Center on Eclipse Foundation HQ
-	  //map.setMapType(G_HYBRID_MAP);
-      // Read the data from example.xml
-      var request = GXmlHttp.create();
-      request.open("GET", "mapData.xml", true);
-      request.onreadystatechange = function() {
-        if (request.readyState == 4) {
-          var xmlDoc = GXml.parse(request.responseText);
-          // obtain the array of markers and loop through it
-          var markers = xmlDoc.documentElement.getElementsByTagName("marker");
-          for (var i = 0; i < markers.length; i++) {
-            // obtain the attribues of each marker
-            var lat = parseFloat(markers[i].getAttribute("lat"));
-            var lng = parseFloat(markers[i].getAttribute("lng"));
-            var point = new GLatLng(lat,lng);
-            var author = markers[i].getAttribute("author");
-            var location = markers[i].getAttribute("location");
-            var url = markers[i].getAttribute("url");
-            var type = markers[i].getAttribute("type");
-            var typeText = type;    
-            var title = markers[i].getAttribute('title');
-			if (url == "http://")
-			{
-				url = "";
-			}
-           	if ((title.length == 0) && (url.length > 0)) // No title supplied so just display URL
-           	{
-           		typeText = type + ' - <a href="' + url + '" target=_"blank">' + url.substring(7) + '</a>';    		
-			}
-			else if ((title.length > 0) && (url.length == 0)) // No URL supplied so just display the title;
-			{
-				typeText = type + ' - ' + title;
-			}
-			else if ((title.length > 0) && (url.length > 0)) // We have both lets display both.
-			{			            
-            	typeText = type + ' - <a href="' + url + '" target=_"blank">' + title + '</a>';    
-            }
-            else 
-            {
-            	typeText = type;
-            }
-            
-            var html = '<div class="infoWindow"><b>' + author + '</b><br/>' + location + '<br/>' + typeText + '<br/><br/>' + markers[i].textContent + '</div>';
-            // create the marker
-            var marker = createMarker(point, html,type );
-            map.addOverlay(marker);
-          }
-          // Markers have all been added, lets check to see if they should be visible
-
-          checkVisibility('Blog');
-          checkVisibility('Message');
-          checkVisibility('Recording');
-        }
-      }
-      request.send(null);
-    }
-    else {
-      alert("Sorry, the Google Maps API is not compatible with this browser");
-    }
-    </script>  	  
-  </body>
-	<?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
diff --git a/mapData.php b/mapData.php
deleted file mode 100644
index 9f425e3..0000000
--- a/mapData.php
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-	header("Cache-control: no-cache");
-	header('Content-type: application/xml;charset=iso-8859-1;',true);
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	$query = "SELECT * from ganymede_spots as GS INNER JOIN ganymede_content as GC on GS.id = GC.id";
-	$result = mysql_query ($query) or die ($query . mysql_error());
-	ob_start();
-	?>
-
-<markers>
-<?
-	while ($rr = mysql_fetch_array($result))
-	{
-		
-		$name = $rr['name'];
-		$location_city = $rr['location_city'];
-		$location_state = $rr['location_state'];
-		$location_country = $rr['location_country'];
-		$randLat = rand (-99, 99) / 1000;
-		$randLng = rand (-99, 99) / 1000;
-		$location_lat = $rr['location_lat'] + $randLat;
-		$location_lng = $rr['location_lng'] + $randLng;
-		$location = $location_city . ', ' . $location_country;
-		$email = $rr['email'];
-		$title = htmlspecialchars($rr['title']);
-		$url = htmlspecialchars($rr['url']);
-		$type = ucfirst($rr['type']);
-		if (strpos($url, "http://") === FALSE) 
-		{
-			$url = "http://" . $url;
-		}
-		if ($url == "http://")
-		{
-			$url = "";
-		}
-		
-		$content = $rr['content'];
-		?><marker lat="<?=$location_lat;?>" lng="<?=$location_lng;?>" location="<?=$location;?>" author="<?=$name;?>" title="<?=$title;?>" type="<?=$type;?>" url="<?=$url;?>"><? if ($content != "") {?><![CDATA[<?=$content;?>]]><? } ?></marker> 
-		<?
-	} ?>
-</markers>
-
-<? $xml = ob_get_clean();
-	//echo mb_detect_encoding($xml);
-	mb_convert_encoding($xml, "HTML-ENTITIES", "UTF-8");
-	echo $xml;
-?>
\ No newline at end of file
diff --git a/mapData.xml b/mapData.xml
deleted file mode 100644
index f111c29..0000000
--- a/mapData.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<markers>
- <marker lat="45.289698" lng="-75.73817" author="Nathan Gervais" label="Testing M7" type="text">
- 	<![CDATA[I'm using Ganymede and it Rocks!]]>
- </marker>
- <marker lat="45.345739" lng="-75.765338" author="Eclipse Foundation" label="Eclipse Foundation HQ" type="video">
- 	<![CDATA[Eclipse.org Relases Ganymede M7 Packages. <br/> Visit <a href="http://www.eclipse.org/downloads/packages" target="_blank">http://www.eclipse.org/downloads/packages</a>]]>
- </marker>
- <marker lat="43.670233" lng="-79.386755" author="IBM Toronto Lab" label="Toronto, Ontario" type="text">
- 	<![CDATA[Even Toronto Uses Ganymede!]]>
- </marker>
- <marker lat="45.545447" lng="-73.639076" author="Denis Roy" label="Some Eclipse Guru" type="blog">
- 	<![CDATA[<a href="http://some.eclipse.guru/blog.html">First Impressions from Ganymede</a>]]>
- </marker>
- <marker lat="41.879535" lng="-87.624333" author="Wayne Beaton" label="Ganymede Podcast" type="podcast">
- 	<![CDATA[<a href="http://ganymede.expert.com/podcast.mp3">Wayne Beaton Discusses the New Features of Ganymede</a>]]>
- </marker>
- <marker lat="45.826673" lng="-77.110851" author="John Doe" label="Ganymede In Action" type="image">
- 	<![CDATA[<img src="http://www.factor-x.net/avatar.gif"/><br/><br/>Ganymede is the best!]]>
- </marker>
-</markers> 
diff --git a/mapData2.php b/mapData2.php
deleted file mode 100644
index 882c48e..0000000
--- a/mapData2.php
+++ /dev/null
@@ -1,51 +0,0 @@
-<?php
-	header("Cache-control: no-cache");
-	header('Content-type: application/xml;charset=iso-8859-1;',true);
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	$query = "SELECT * from ganymede_spots as GS INNER JOIN ganymede_content as GC on GS.id = GC.id";
-	$result = mysql_query ($query) or die ($query . mysql_error());
-	ob_start();
-	?>
-
-<markers>
-<?
-	while ($rr = mysql_fetch_array($result))
-	{
-		var_dump ($rr);
-		$name = $rr['name'];
-		$location_city = $rr['location_city'];
-		$location_state = $rr['location_state'];
-		$location_country = $rr['location_country'];
-		$randLat = rand (-99, 99) / 1000;
-		$randLng = rand (-99, 99) / 1000;
-		$location_lat = $rr['location_lat'] + $randLat;
-		$location_lng = $rr['location_lng'] + $randLng;
-		$location = $location_city . ', ' . $location_country;
-		$email = $rr['email'];
-		$title = $rr['title'];
-		$url = $rr['url'];
-		$type = ucfirst($rr['type']);
-		if (strpos($url, "http://") === FALSE) 
-		{
-			$url = "http://" . $url;
-		}
-		if ($url == "http://")
-		{
-			$url = "";
-		}
-		
-		$content = $rr['content'];
-		?><marker lat="<?=$location_lat;?>" lng="<?=$location_lng;?>" location="<?=$location;?>" author="<?=$name;?>" title="<?=$title;?>" type="<?=$type;?>" <? if (isset($url)) { ?>url="<?=$url;?>" <? } ?>>
-			<![CDATA[<?=$content;?>]]>
-		</marker> 
-		<?
-	} ?>
-</markers>
-
-<? $xml = ob_get_clean();
-	//echo mb_detect_encoding($xml);
-	mb_convert_encoding($xml, "HTML-ENTITIES", "UTF-8");
-	echo $xml;
-?>
\ No newline at end of file
diff --git a/mapList.php b/mapList.php
index 1db3405..0f4d20f 100644
--- a/mapList.php
+++ b/mapList.php
@@ -1,143 +1,37 @@
-<?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(); $theme = "Phoenix";	   # All on the same line to unclutter the user's desktop'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-04-21
-	#
-	# Description: Ganymede Landing Page
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Around the World";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
-	$pageAuthor		= "Nathan Gervais";
-	header("Cache-control: no-cache");
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	# End: page-specific settings
-	#
-	function displayPager($_start, $_pageValue, $_pageCount)
-	{
-		ob_start();
-		?>
-		<table width="700">
-				<tr>
-					<td align="left">
-				<?
-					if ($_start >= $_pageValue)
-					{
-						?><a href="mapList.php?start=<?=$_start-$_pageValue;?>"><< Previous Page</a><?
-					}
-				?>&nbsp;</td>
-					<td align="right">
-				<?
-					if (($_start + $_pageValue) < $_pageCount)
-					{
-						?><a href="mapList.php?start=<?=$_start+$_pageValue;?>">Next Page >></a><?
-					}
-				?>
-					</td>
-				</tr>
-			</table>
-		<?
-		return ob_get_clean();
-	}	
-	if (isset($_GET['start']))
-		$start = $_GET['start'];
-	else 
-		$start = 0;
-	$pageValue = 25;
-	$pager = " LIMIT $start, $pageValue";
-	
-	# Place your html content in a file called content/en_pagename.php
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	
-	if (isset($_GET['sort'])) {
-		$sortBy = " ORDER BY " . $_GET['sort'] . " ASC";
-	}
-	else 
-		$sortBy = " ORDER BY GS.id DESC";
-	
-	$sql = "SELECT count(*) AS count FROM ganymede_spots";
-	$result = mysql_fetch_array(mysql_query($sql));
-	$count = $result['count'];
-		
-	$sql = "SELECT * FROM ganymede_spots AS GS INNER JOIN ganymede_content AS GC ON GS.id = GC.id" . $sortBy . $pager;
-	$result = mysql_query($sql);
-	
-	ob_start();
-	?>
-	<link type="text/css" href="style.css" rel="stylesheet"/>
-	<body>
-		<div id="midcolumn">
-  			<h1><?=$pageTitle;?></h1><br/>
-  			<?=displayPager($start, $pageValue, $count);?>
-			<table cellspacing=0 cellpadding=0 class="list" width="700">
-				<tr class="header">	
-					<td width="200"><a href="<?$_SERVER['PHP_SELF'];?>?sort=name">Name</a></td>
-					<td width="200"><a href="<?$_SERVER['PHP_SELF'];?>?sort=location_country">Location</a></td>
-					<td width="300">Content</td>
-				</tr>
-				<? while ($rr = mysql_fetch_array($result)) { ?>
-				<tr>
-					<td><?=$rr['name']; ?></td>
-					<td><?=$rr['location_city'];?>, <?=$rr['location_country'];?></td>
-					<td>
-						<? echo ucfirst($rr['type']) . " ";
-						$url = $rr['url'];
-						if ($url == "http://") {
-							$url = "";	
-						}
-						if ($url != "") {
-							if (strpos($url, 'http://') === FALSE) {
-								$url = "http://" . $url;
-							}
-						}
-						
-						if (($rr['title'] == "") && ($url == "")) { //We have no title or URL -> Break
-							echo "<br/>";
-						}
-						elseif (($url == "") && ($rr['title'] !="")) { // We have no url field -> echo Title 
-							echo " - " . $rr['title']. '<br/>';
-						}
-						elseif (($rr['title'] == "") && ($url !="")) { // We have no title field -> echo URL
-							echo ' - <a href="'.$url.'" target="_blank">' .$url. '</a><br/>'; 								
-						}
-						else { //We must have both.
-							echo ' - <a href="'.$url.'" target="_blank">' .$rr['title']. '</a><br/>'; 
-						}
-						echo $rr['content'];
-						?>
-					</td>
-				</tr>
-				<? } ?>	
-			</table>
-			<?=displayPager($start, $pageValue, $count);?><br/><br/>
-		</div>
-		<div id="rightcolumn">
-			<div class="sideitem">
-				<h6>Ganymede Around the World</h6>
-					<ul>
-						<li><a href="./">Ganymede</a></li>
-						<li><a href="./map.php">Ganymede Map</a></li>
-						<li><a href="./aroundtheworld.php">Contest Details</a></li>
-					</ul>
-			</div>
-		</div>
- 	</body>
-	<?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede Around the World";
+$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
+$pageAuthor		= "Nathan Gervais";
+header("Cache-control: no-cache");
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/postercontest.php b/postercontest.php
index 725025a..dcd9547 100644
--- a/postercontest.php
+++ b/postercontest.php
@@ -1,193 +1,36 @@
-<?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'
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-	#*****************************************************************************
-	#
-	# template.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2005-06-16
-	#
-	# Description: Type your page comments here - these are not sent to the browser
-	#
-	#
-	#****************************************************************************
-	
-	#
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Ganymede Poster Contest";
-	$pageKeywords	= "ganymede, poster, contest, movie";
-	$pageAuthor		= "Lynn Gayowski";
-	
-	# 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", 1);
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank", 1);
-
-	# End: page-specific settings
-	#
-	// This file is linked to from lots of different places.
-	// Use absolute paths to make sure that we can actually test
-	// that the file renders properly (i.e. testing using) "/index.php",
-	// and "/home/index.php" both work.
-
-	# Paste your HTML content between the EOHTML markers!	
-	$html = <<<EOHTML
-<div id="maincontent">
-	<div id="midcolumn">
-		<h1>$pageTitle</h1>
-
-		<p>
-		Eclipse community members displayed their Photoshop and Gimp skills by redesigning movie posters and other
-		graphics to showcase
-		Ganymede.  Poster submissions have been reviewed and the community has rewarded our hard working designers by
-		<a href="http://www.surveymonkey.com/s.aspx?sm=Jz7pU_2bHvyMaAidVDaEiXow_3d_3d" target="blank">voting for their favourites</a>.
-		(Voting closed June 24, 2008, 5:00 pm EDT.)  Click on any poster to see its full-size version.  
-		</p>
-		
-		<p>
-		A very special thank you to Eclipse committer <a href="http://divby0.blogspot.com/2008/05/ganymede-poster-contest.html">Nick Boldt</a>
-		for creating, organizing and sponsoring the Ganymede poster contest.
-		</p>
-		
-		<p>
-		<strong>Prizes</strong><br>
-		1st place: an Eclipse jacket and $50 to your favourite open source organization or free service provider<br>
-		2nd place: an Eclipse jacket and $30 to your favourite open source organization or free service provider<br>
-		3rd place: an Eclipse shirt and $20 to your favourite open source organization or free service provider<br>
-		4th & 5th place: an Eclipse shirt<br>
-		
-		<font size=0.4px><br>Note: Individuals are allowed to submit multiple entries, but only one prize per person will be awarded.</font>
-		</p>
-		
-		<p>
-		<h2>Winners</h2>
-		<table align="top">
-			<tr height="250">
-				<td valign="top" width="260"><a href="http://www.eclipse.org/ganymede/images/GanymedeMoon1Poster.jpg" target="blank"><img src="http://www.eclipse.org/ganymede/images/GanymedeMoon1Poster.jpg" height="200" width="250" border="0"></a><br>
-				<b>1st: Objects on mirrors (Michael Tkacz)</b></p></td>
-				<td valign="top" width="167"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102971" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102971" height="200" width="157" border="0"></a><br>
-				<b>2nd: Lord Of The Rings (Nick Hofstede)</b></td>
-				<td valign="top" width="163"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103391" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103391" height="200" width="153" border="0"></a><br>
-				<b>3rd: Transformers (Benjamin Cabe)</b></td>
-				<td valign="top" width="161"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103019" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103019" height="200" width="151" border="0"></a><br>
-				<b>4th: Wall E (Prakash G.R.)</b></td>
-				<td valign="top" width="145"><a href="http://www.eclipse.org/ganymede/images/GanymedeMoon0Poster.jpg" target="blank"><img src="http://www.eclipse.org/ganymede/images/GanymedeMoon0Poster.jpg" height="200" width="250" border="0"></a><br>
-				<b>5th: Some things are closer (Michael Tkacz)</b></td>
-			</tr>
-		</table>
-		<table align="top">
-			<tr height="250">
-				<td valign="top" width="147"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104847" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104847"  height="200" width="137" border="0"></a><br>
-				<b>6th (tie): Ice Age (Benjamin Cabe)</b></td>
-				<td valign="top" width="145"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103040" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103040" height="200" width="135" border="0"></a><br>
-				<b>6th (tie): Ratatouille (Benjamin Cabe)</b></td>					
-				<td valign="top" width="151"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102944" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102944" height="200" width="141" border="0"></a><br>
-				<b>8th: Community created... Ganymede! (Benjamin Cabe)</b></td>
-				<td valign="top" width="140"><a href="http://bp1.blogger.com/_i21-98vOfTA/SFIT6BQhm-I/AAAAAAAAAW0/FALIOzx_fMo/s400/children-of-the-code-ganymede.png" target="blank"><img src="http://bp1.blogger.com/_i21-98vOfTA/SFIT6BQhm-I/AAAAAAAAAW0/FALIOzx_fMo/s400/children-of-the-code-ganymede.png" height="200" width="130" border="0"></a><br>
-				<b>9th (3-way tie): Children of the Corn<br>II (Nick Boldt)</b></td>
-				<td valign="top" width="260"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105350" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105350"  height="200" width="250" border="0"></a><br>
-				<b>9th (3-way tie): Kill Bill, Vol. 3 (Kiril Mitov)</b></td>
-				<td valign="top" width="142"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103044" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103044" height="200" width="132" border="0"></a><br>
-				<b>9th (3-way tie): 300 (Nick Hofstede)</b></td>
-			</tr>
-		</table>
-		
-		<h2>Honourable Mentions</h2>	
-		<table align="top">
-			<tr height="250">
-				<td valign="top" width="148"><a href="http://bp3.blogger.com/_i21-98vOfTA/SD-AtQANotI/AAAAAAAAAVs/YoAOZpvpuE8/s200/Attack_of_the_15_Projects.png" target="blank"><img src="http://bp3.blogger.com/_i21-98vOfTA/SD-AtQANotI/AAAAAAAAAVs/YoAOZpvpuE8/s200/Attack_of_the_15_Projects.png" height="200" width="138" border="0"></a><br>
-				<b>Attack of the 50 Foot Woman (Nick Boldt)</b></td>	
-				<td valign="top" width="112"><a href="http://bp0.blogger.com/_i21-98vOfTA/SFIT5xQhm9I/AAAAAAAAAWs/BfKXpprXpeA/s400/children-of-the-code.png" target="blank"><img src="http://bp0.blogger.com/_i21-98vOfTA/SFIT5xQhm9I/AAAAAAAAAWs/BfKXpprXpeA/s400/children-of-the-code.png" height="200" width="102" border="0"></a><br>
-				<b>Children of the Corn (Nick Boldt)</b></td>
-				<td valign="top" width="143"><a href="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhm_I/AAAAAAAAAW8/OXjw8LTv168/s400/Day-of-the-Dead-Ganymede.png" target="blank"><img src="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhm_I/AAAAAAAAAW8/OXjw8LTv168/s400/Day-of-the-Dead-Ganymede.png" height="200" width="133" border="0"></a><br>
-				<b>Day of the Dead (Nick Boldt)</b></td>
-				<td valign="top" width="143"><a href="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhnAI/AAAAAAAAAXE/GjseOlNSN60/s400/Death-Proof-Friends-of-Ganymede.png" target="blank"><img src="http://bp1.blogger.com/_i21-98vOfTA/SFIULBQhnAI/AAAAAAAAAXE/GjseOlNSN60/s400/Death-Proof-Friends-of-Ganymede.png" height="200" width="133" border="0"></a><br>
-				<b>Death Proof (Nick Boldt)</b></td>
-				<td valign="top" width="145"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103205" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103205" height="200" width="135" border="0"></a><br>
-				<b>Enchanted (Benjamin Cabe)</b></td>
-				<td valign="top" width="180"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103024" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103024" height="200" width="170" border="0"></a><br>
-				<b>Ganymede Train (Michael Tkacz)</b></td>
-			</tr>
-		</table>
-		<table>
-			<tr height="250">
-				<td valign="top" width="278"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103138" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103138" height="200" width="268" border="0"></a><br>
-				<b>Gene Simmons Never Had Ganymede (Wayne Beaton)</b></td>
-				<td valign="top" width="145"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104993" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104993"  height="200" width="135" border="0"></a><br>
-				<b>Harry Potter (Nicolas Bihan)</b></td>
-				<td valign="top" width="268"><a href="http://bp0.blogger.com/_i21-98vOfTA/SD98ggANosI/AAAAAAAAAVk/z01lgDfe5gA/s200/p2_Came_From_Beneath_Equinox.png" target="blank"><img src="http://bp0.blogger.com/_i21-98vOfTA/SD98ggANosI/AAAAAAAAAVk/z01lgDfe5gA/s200/p2_Came_From_Beneath_Equinox.png" height="200" width="258" border="0"></a><br>
-				<b>It Came from Beneath the Sea (Nick Boldt)</b></td>
-				<td valign="top" width="277"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105349" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105349"  height="200" width="267" border="0"></a><br>
-				<b>Kill Bill, Vol. 1 (Kiril Mitov)</b></td>
-			</tr>
-		</table>
-		<table>
-			<tr height="250">	
-				<td valign="top" width="277"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105326" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105326"  height="200" width="267" border="0"></a><br>
-				<b>Kill Bill, Vol. 2 (Kivil Mitov)</b></td>
-				<td valign="top" width="138"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104070" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104070" height="200" width="128" border="0"></a><br>
-				<b>Kung Fu Panda (Nicolas Bihan)</b></td>
-				<td valign="top" width="140"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103050" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103050" height="200" width="130" border="0"></a><br>
-				<b>Lost In Translation (Benjamin Cabe)</b></td>
-				<td valign="top" width="144"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103199" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103199" height="200" width="134" border="0"></a><br>
-				<b>Mars Attacks (Benjamin Cabe)</b></td>
-				<td valign="top" width="243"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104052" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104052" height="200" width="233" border="0"></a><br>
-				<b>Prepare yourself for Ganymede (Scott Lewis)</b></td>
-			</tr>
-		</table>
-		<table>
-			<tr height="250">		
-				<td valign="top" width="277"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=105324" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=105324"  height="200" width="267" border="0"></a><br>
-				<b>Sin City (Kiril Mitov)</b></td>
-				<td valign="top" width="145"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103043" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103043" height="200" width="135" border="0"></a><br>
-				<b>Sunshine (Nick Hofstede)</b></td>	
-				<td valign="top" width="148"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=104165" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=104165" height="200" width="138" border="0"></a><br>
-				<b>The Blues Brothers (Wayne Beaton)</b></td>
-				<td valign="top" width="270"><a href="http://bp3.blogger.com/_i21-98vOfTA/SD92SQANorI/AAAAAAAAAVc/tl4Qo4LYiBM/s200/Day_The_Net_Stood_Still.png" target="blank"><img src="http://bp3.blogger.com/_i21-98vOfTA/SD92SQANorI/AAAAAAAAAVc/tl4Qo4LYiBM/s200/Day_The_Net_Stood_Still.png" height="200" width="260" border="0"></a><br>
-				<b>The Day the Earth Stood Still (Nick Boldt)</b></td>
-				<td valign="top" width="151"><a href="http://bp3.blogger.com/_i21-98vOfTA/SD8eTQANopI/AAAAAAAAAVM/3PnY8S9Ho9s/s200/smthing_gany.png" target="blank"><img src="http://bp3.blogger.com/_i21-98vOfTA/SD8eTQANopI/AAAAAAAAAVM/3PnY8S9Ho9s/s200/smthing_gany.png" height="200" width="141" border="0"></a><br>
-				<b>There&#146;s Something About Mary (Nick Boldt)</b></td>
-			</tr>
-		</table>
-		
-		<table>
-			<tr height="250">		
-				<td valign="top" width="232"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103022" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103022" height="200" width="222" border="0"></a><br>
-				<b>Train about to Leave (Michael Tkacz)</b></td>
-				<td valign="top" width="210"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=103021" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=103021" height="200" width="200" border="0"></a><br>
-				<b>Train to Catch (Michael Tkacz)</b></td>
-				<td valign="top" width="151"><a href="https://bugs.eclipse.org/bugs/attachment.cgi?id=102974" target="blank"><img src="https://bugs.eclipse.org/bugs/attachment.cgi?id=102974" height="200" width="141" border="0"></a><br>
-				<b>Uncle Eclipse (Benjamin Cabe)</b></td>
-				<td valign="top" width="210"><a href="http://bp3.blogger.com/_i21-98vOfTA/SFITehQhm8I/AAAAAAAAAWk/dKynQpV7vmo/s400/ide-science.png" target="blank"><img src="http://bp3.blogger.com/_i21-98vOfTA/SFITehQhm8I/AAAAAAAAAWk/dKynQpV7vmo/s400/ide-science.png" height="200" width="200" border="0"></a><br>
-				<b>Weird Science (Nick Boldt)</b></td>
-			</tr>
-		</table>
-								
-		</p>
-
-		<br><br>
-
-	</div>
-
-	<!-- remove the entire <div> tag to omit the right column!  -->
-	<div id="rightcolumn">
-		<div class="sideitem">
-			<h6>Ganymede Around the World</h6>
-			<ul>
-				<li><a href="http://www.eclipse.org/ganymede/">Ganymede</a></li>
-				<li><a href="map.php">Ganymede Map</a></li>
-			</ul>
-		</div>
-	</div>	
-	
-	
-</div>
-
-	
-EOHTML;
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
 
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>
\ No newline at end of file
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Ganymede Poster Contest";
+$pageKeywords	= "ganymede, poster, contest, movie";
+$pageAuthor		= "Lynn Gayowski";
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/projects.php b/projects.php
index 679fbc6..b694bc6 100644
--- a/projects.php
+++ b/projects.php
@@ -1,38 +1,36 @@
-<?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'
-	
-	#*****************************************************************************
-	#
-	# template.php
-	#
-	# Author: 		Denis Roy
-	# Date:			2005-06-16
-	#
-	# Description: Type your page comments here - these are not sent to the browser
-	#
-	#
-	#****************************************************************************
-	$documentRoot = $_SERVER['DOCUMENT_ROOT'];
-	require_once ($documentRoot .'/ganymede/scripts/projectsTable.php');
-	
-	# Begin: page-specific settings.  Change these. 
-	$pageTitle 		= "Eclipse Ganymede Release Projects";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
-	$pageAuthor		= "Nathan Gervais";	
-	
-	ob_start();
-	?>
-	<link rel="stylesheet" type="text/css" href="layout.css" media="screen" />
-	<div id="widecontent">
-		<div id="midcolumnwide">
-		<?=projectTable(GANYMEDE);?><br/><br/>
-		</div>
-	</div>
+<?php
+/*******************************************************************************
+ * Copyright(c) 2015 Eclipse Foundation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *    Nathan Gervais (Eclipse Foundation) - Initial implementation
+ *    Eric Poirier (Eclipse Foundation)
+ *******************************************************************************/
+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");
 
-<? 
-$html = ob_get_contents();
-ob_end_clean();
+$App = new App();
+$Nav = new Nav();
+$Menu = new Menu();
+include($App->getProjectCommon()); // All on the same line to unclutter the user's desktop'
 
-	# Generate the web page
-	$App->Promotion = TRUE;
-	$App->generatePage($theme, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>		
\ No newline at end of file
+
+// Begin: page-specific settings. Change these.
+$pageTitle 		= "Eclipse Ganymede Release Projects";
+$pageKeywords	= "eclipse ganymede, ganymede, ganymede release train";
+$pageAuthor		= "Nathan Gervais";
+
+// Place your html content in a file called content/en_pagename.php
+ob_start();
+include("content/en_" . $App->getScriptName());
+$html = ob_get_clean();
+
+# Generate the web page
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/style.css" rel="stylesheet"/>');
+$App->AddExtraHtmlHeader('<link type="text/css" href="/ganymede/layout.css" rel="stylesheet"/>');
+$App->generatePage(NULL, $Menu, NULL, $pageAuthor, $pageKeywords, $pageTitle, $html);
\ No newline at end of file
diff --git a/scripts/blogs.php b/scripts/blogs.php
deleted file mode 100644
index edbef57..0000000
--- a/scripts/blogs.php
+++ /dev/null
@@ -1,31 +0,0 @@
-<?php
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/smartconnection.class.php');
-	
-function ganymedeBlogs($count=10) {
-	$dbc = new DBConnection();
-	$dbh = $dbc->connect();
-	$query = "SELECT * from ganymede_spots as GS INNER JOIN ganymede_content as GC on GS.id = GC.id WHERE GC.type = 'Blog' ORDER by GS.id DESC LIMIT $count";
-	$result = mysql_query ($query) or die ($query . mysql_error());
-	ob_start();
-	echo "<ul>";
-	while ($rr = mysql_fetch_array($result))
-	{
-		$author = $rr['name'];
-		$title  = $rr['title'];
-		$url    = $rr['url'];
-		?>
-		<li>
-			<a href="<?=$url;?>" target="_blank"><? if ($title != "") { echo $title; } else { echo $url; } ?></a> - <?=$author;?>
-		</li>
-	<? } ?>
-	<li class="more">
-		<div class="more">
-			<a href="mapList.php">Read More</a>
-		</div>
-	</li>	
-	<?
-	echo "</ul>";
-	$output = ob_get_clean();
-	mb_convert_encoding($output, "HTML-ENTITIES", "UTF-8");
-	return $output;
-} ?>
\ No newline at end of file
diff --git a/scripts/countdown.js b/scripts/countdown.js
deleted file mode 100644
index 420cfd7..0000000
--- a/scripts/countdown.js
+++ /dev/null
@@ -1,17 +0,0 @@
-var month = '6'; // 1 through 12 or '*' for next month, '0' for this month
-var day = '25';   // day of month or + day offset
-var hour = 9;    // 0 through 23 for the hour of the day
-var tz = -4;     // offset in hours from UTC to your timezone
-var lab = 'countdown';  // id of the entry on the page where the counter is to be inserted
-
-function start() {displayCountdown(setCountdown(month,day,hour,tz),lab);}
-window.onload = start;
-
-// Countdown Javascript
-// copyright 20th April 2005, 1st April 2006 by Stephen Chapman
-// permission to use this Javascript on your web page is granted
-// provided that all of the code in this script (including these
-// comments) is used without any alteration
-// you may change the start function if required
-function setCountdown(month,day,hour,tz) {var toDate = new Date(); if (day.substr(0,1) == '+') {var day1 = parseInt(day.substr(1));toDate.setDate(toDate.getDate()+day1);} else{toDate.setDate(day);} if (month == '*')toDate.setMonth(toDate.getMonth() + 1);else if (month > 0) { if (month <= toDate.getMonth())toDate.setYear(toDate.getYear() + 1);toDate.setMonth(month-1);} toDate.setHours(hour);toDate.setMinutes(0-(tz*60));toDate.setSeconds(0);var fromDate = new Date();fromDate.setMinutes(fromDate.getMinutes() + fromDate.getTimezoneOffset());var diffDate = new Date(0);diffDate.setMilliseconds(toDate - fromDate);return Math.floor(diffDate.valueOf()/1000);}
-function displayCountdown(countdn,cd) {if (countdn < 0) document.getElementById(cd).innerHTML = "Sorry, you are too late."; else {var secs = countdn % 60; if (secs < 10) secs = '0'+secs;var countdn1 = (countdn - secs) / 60;var mins = countdn1 % 60; if (mins < 10) mins = '0'+mins;countdn1 = (countdn1 - mins) / 60;var hours = countdn1 % 24;var days = (countdn1 - hours) / 24;document.getElementById(cd).innerHTML = days+' days '+hours+'h:'+mins+'m'/*':+secs+'s'*/;setTimeout('displayCountdown('+(countdn-1)+',\''+cd+'\');',999);}}
diff --git a/scripts/functions.js b/scripts/functions.js
deleted file mode 100644
index 1debd2d..0000000
--- a/scripts/functions.js
+++ /dev/null
@@ -1,54 +0,0 @@
-var ajaxObject = AjaxObject();
-
-function AjaxObject () {
-	if (window.XMLHttpRequest)
-		return new XMLHttpRequest();
-	else if (window.ActiveXObject)
-		return new ActiveXObject('Microsoft.XMLHTTP');
-	else 
-		alert ("Error Creating AjaxObject");
-		return false;		
-}
-
-
-function updateTable(e)
-{
-	var url = "fetch/" + e + ".php";
-	var exdate = new Date();
-	exdate.setDate(exdate.getDate()+7);
-	document.cookie = "activeTabGanymede=" + escape(e) + ((7==null) ? "" : ";expires="+exdate.toGMTString());
-	ajaxObject.open("GET", url, true);
-	ajaxObject.onreadystatechange = updatePage;
-	ajaxObject.send(null);
-	
-}
-
-function SetActive(e,f)
-{
-	var x = document.getElementById(e);
-	var y = document.getElementById(f);
-	
-	x.className = ("active");
-	y.className = ("");
-	
-}
-
-function updatePage()
-{
-	var v = document.getElementById('tabData');
-    if (ajaxObject.readyState == 4){
-    	response = ajaxObject.responseText;
-		v.innerHTML = response;    	
-    }
-}
-
-  
-function t(i, j) {
-	var e = document.getElementById(i);
- 	var f = document.getElementById(j);
- 	var t = e.className;
- 	if (t.match('invisible')) { t = t.replace(/invisible/gi, 'visible'); }
- 	else { t = t.replace(/visible/gi, 'invisible'); }
- 	e.className = t;
-	f.className = t;
-}
\ No newline at end of file
diff --git a/scripts/functions.php b/scripts/functions.php
deleted file mode 100644
index 8f513ae..0000000
--- a/scripts/functions.php
+++ /dev/null
@@ -1,134 +0,0 @@
-<?php 
-function rss_to_news_html($file_name, $category, $count, $readmore=TRUE) {
-	$rss = simplexml_load_file($file_name);
-	ob_start();
-	?>
-		<ul>
-	<?
-	try {
-		foreach ($rss->channel as $channel) 
-		{
-			$colorToggle = 1;
-		//	echo "<pre>"; var_dump($channel); echo "</pre>";			
-			foreach ($channel->item as $item) 
-			{
-				if ($count == 0) break;
-				$now = strtotime("now");
-				$then = strtotime($item->pubDate);
-				$stringDate = date("I", $now);
-				if ($stringDate == 1){
-				$then -= 3600; }
-				$difference = $now - $then; 
-				switch ($difference) {
-					case $difference > 604800:
-						$ago = floor($difference / 604800);
-						if ($ago ==1)
-						{
-							$ago = "+$ago&nbsp;week&nbsp;ago";						
-						}
-						else 
-						{
-							$ago = "+$ago&nbsp;weeks&nbsp;ago";
-						}
-						break;
-					case $difference > 86400:
-						$ago = floor($difference / 84600);
-						if ($ago == 1)
-						{
-							$ago = "+$ago&nbsp;day&nbsp;ago";						
-						}
-						else
-						{
-							$ago = "+$ago&nbsp;days&nbsp;ago";						
-						}
-						break;
-					case $difference > 3600;
-						$ago = floor($difference / 3600);
-						if ($ago == 1)
-						{
-							$ago = "+$ago&nbsp;hour&nbsp;ago";						
-						}
-						else
-						{
-							$ago = "+$ago&nbsp;hours&nbsp;ago";						
-						}
-						break;
-					case $difference > 0:
-						$ago = floor($difference / 60);
-						if ($ago == 1)
-						{
-							$ago = "+$ago&nbsp;minute&nbsp;ago";						
-						}
-						else
-						{
-							$ago = "+$ago&nbsp;minutes&nbsp;ago";						
-						}
-						break;
-						
-				}
-				$pluginExists = strpos($item->title, "Plugin:");
-				if ($pluginExists)
-				{
-					$pluginExists += 7;
-					if (strpos($item->title, "New ") === 0)
-					{
-						$pluginImage = "/home/images/new.gif";
-					}
-					if (strpos($item->title, "Updated ") === 0)
-					{
-						$pluginImage = "/home/images/updated.gif";
-					}
-					$item->title = trim(substr($item->title, $pluginExists));
-					$titleExploded = explode("- v", $item->title, 2);
-					if ($titleExploded[1] != "")
-						$item->title = $titleExploded[0] . "<span class=\"version\">v". $titleExploded[1] . "</span>";
-					else {
-						$item->title = $titleExploded[0];
-					}	
-					
-				}
-				
-				if ($category != "")
-				{
-					foreach ($item->category as $categoryIterator)
-				 	{
-						if ($categoryIterator == $category)
-						{
-						?>   
-							<li><a href="<?=$item->link;?>" target="_blank"><?=$item->title;?>
-							</a> 
-							<span class="posted"><?=$ago?></span>
-							<p><?=$item->description;?></p>
-							</li>
-							<?
-							$count--;
-						}
-				 	}
-				}
-				else
-				{
-					?><li><? if ($pluginImage != NULL){ ?><img src="<?=$pluginImage;?>"/><? } ?> <a href="<?=$item->link;?>"><?=$item->title;?></a> <span class="posted"><?=$ago?></span></li><?
-					$count--;
-				}
-			 
-			}
-		}
-	}
-	catch (Exception $e){
-		echo '<!-- Error in NewsFeed - $file_name - '. $e->getMessage() . " -->";
-	}
-	if ($readmore == TRUE){		
-	?>
-			<li class="more">
-				<div class="more">
-					<a href="buzzmore.php">Read More</a>
-				</div>
-			</li>	
-	<? } ?>
-		</ul>
-	<?
-	$html = ob_get_contents();
-	ob_end_clean();
-	return $html;
-}
-?>
\ No newline at end of file
diff --git a/scripts/projectsTable.php b/scripts/projectsTable.php
deleted file mode 100644
index a10260c..0000000
--- a/scripts/projectsTable.php
+++ /dev/null
@@ -1,67 +0,0 @@
-
-
-<? 
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/system/smartconnection.class.php");
-require_once($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common/classes/projects/projectInfoList.class.php");
-
-function findGanymedeRelease($releases)
-{
-	$retval = array();
-	foreach ($releases as $rr)
-	{
-		$earlydate = strtotime("2008-06-21");
-		$latedate = strtotime("2008-07-01");
-		$date = strtotime($rr->date);
-		if (($date >= $earlydate) && ($date <= $latedate))
-		{
-			$retval['version'] = $rr->name;
-		}
-	}
-	return $retval;
-}
-
-function projectTable($pillarType)
-{
-	ob_start();
-	?>
-	<table cellspacing=0 class="webinars">
-		<tr class="header">
-			<td width="35%">Project Name</td>
-			<td width="12%" align="center">Version</td>
-			<td width="10%" align="center">Project Summary</td>
-			<? /*<td class="tableHeader" width="12%" align="center">New And Noteworthy</td>*/ ?>
-			<td width="12%" align="center">Download</td>
-		</tr>
-	<?
-	$projectInfoList = new projectInfoList();
-	$projectInfoList->selectProjectInfoList(NULL, 'simultaneousrelease', 'ganymede');
-	$projectInfoList->alphaSortList();
-	
-	$numProjects = $projectInfoList->getCount();
-	
-	for ($i = 0; $i < $numProjects; $i++)
-	{
-		$projectInfoIterator = $projectInfoList->getItemAt($i);
-		$projectName = $projectInfoIterator->projectname;
-		$projectid = $projectInfoIterator->projectid;
-		$projectShortName = $projectInfoIterator->projectshortname;
-		$download = $projectInfoIterator->downloadsurl;
-		$url = $projectInfoIterator->projecturl;
-		$releases = $projectInfoIterator->releases;
-		$downloadurl = $projectInfoIterator->downloadsurl;
-		$releaseInfo = findGanymedeRelease($releases);
-	?>	<tr class="tableRow">
-			<td><b><?=$projectName;?></b></td>
-			<td align="center"><?=$releaseInfo['version'];?></td>
-			<td align="center"><a href="http://www.eclipse.org/projects/project_summary.php?projectid=<?=$projectid;?>"><img src="images/homepage.gif"></a></td>
-			<td align="center"><? if ($downloadurl != "") {?><a href="<?=$downloadurl;?>">Download</a> <? } ?></td>
-		</tr> <?
-	}
-	?> 
-	</table>
-	<?	
-	$html = ob_get_contents();
-	ob_end_clean();
-	
-	return $html;
-} ?>
diff --git a/spotProcess.php b/spotProcess.php
deleted file mode 100644
index e0dac89..0000000
--- a/spotProcess.php
+++ /dev/null
@@ -1,59 +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();	   # All on the same line to unclutter the user's desktop'
-
-	#*****************************************************************************
-	#
-	# index.php
-	#
-	# Author: 	 	Nathan Gervais
-	# Date:			2008-05-16
-	#
-	# Description: Ganymede Spotting Submission Form
-	#
-	#****************************************************************************
-	
-	# Add page-specific Nav bars here
-	# Format is Link text, link URL (can be http://www.someothersite.com/), target (_self, _blank)
-	# $Nav->addCustomNav("My Link", "mypage.php", "_self");
-	# $Nav->addCustomNav("Google", "http://www.google.com/", "_blank");
-	$pageTitle 		= "Ganymede Around the World";
-	$pageKeywords	= "eclipse ganymede, ganymede, ganymede around the world";
-	$pageAuthor		= "Nathan Gervais";
-	# End: page-specific settings
-	#
-
-	extract($_POST);
-	
-	# Place your html content in a file called content/en_pagename.php
-	//require_once($_SERVER['DOCUMENT_ROOT'] ."/eclipse.org-common/system/smartconnection.class.php");
-	require_once("/home/data/httpd/eclipse-php-classes/system/dbconnection_rw.class.php");
-	$dbc = new DBConnectionRW();
-	$dbh = $dbc->connect();
-	include ($_SERVER['DOCUMENT_ROOT'] . '/eclipse.org-common/system/form_security.class.php');
-	$security = new FormSecurity();
-	
-	ob_start();
-	?>
-			<div id="midcolumn">
-			<h1>Ganymede Around the World</h1>
-	<?
-	if ($security->Verify( $useranswer , "text", $securityanswer) == 1)	{
-		$query = "INSERT INTO ganymede_spots (id, name, location_city, location_state, location_country, location_lat, location_lng, email) VALUES ('', '$name', '$city', '$state', '$country', $lat, $lng, '$email')";
-		mysql_query($query, $dbh);// or die($query . " - " .mysql_error());
-		$retVal = mysql_insert_id($dbh);
-		$query = "INSERT INTO ganymede_content (id, type, content, url, title) VALUES ($retVal, '$type', '$content', '$url', '$title')";
-		$App->AddExtraHtmlHeader('<META HTTP-EQUIV="Refresh" CONTENT="5; URL=map.php">');
-		mysql_query($query, $dbh);// or die($query . " - " .mysql_error());
-		?>
-			<p>Thank you for supporting Ganymede Around the World.  You will be brought back to the map in 5 seconds. Click <a href="map.php">here</a> if you are not forwarded.</p>
-		<?
-	}
-	else {
-		?>
-			<p>Your answer to the security question was incorrect, please go back and answer it correctly.</p>
-		<?
-	}
-	?> </div><?
-	$html = ob_get_clean();
-	# Generate the web page
-	$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
-?>	
diff --git a/style.css b/style.css
index e17ecf3..ba12ed5 100644
--- a/style.css
+++ b/style.css
@@ -151,3 +151,11 @@
 }
 
 
+#headerGraphic {
+    background: transparent url("/ganymede/images/ganymedeTile.jpg") top left repeat-x;
+    text-align: left;
+    height: 178px;
+    border-bottom: 1px solid #000;
+    overflow: hidden;
+    width: 100%;
+}
\ No newline at end of file
