<?php
/**
 * Copyright (c) 2014, 2018 Eclipse Foundation and others.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *    Christopher Guindon (Eclipse Foundation) - initial API and implementation
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="col-xs-24">
  <h1><?php print $pageTitle; ?></h1>
  <p>
    Members of the Eclipse community were <a href="http://www.eclipse.org/org/press-release/20070612cb_europareviews.php">
    invited</a> to write a review of the <a href="http://www.eclipse.org/europa/projects.php">Eclipse projects</a> being
    released as part of <a href="http://www.eclipse.org/europa/">Europa</a> and to publish the review on a blog, newsgroup, or
    portal.  Following is a list of links to the reviews that were submitted.
  </p>
  <table rules=rows cellpadding="10" cellspacing="0" class="table">
    <tr bgcolor="#666699">
      <td><font color="#ffffff"><strong>Link</strong></font></td>
      <td><font color="#ffffff"><strong>Author</strong></font></td>
      <td><font color="#ffffff"><strong>Blog</strong></font></td>
      <td><font color="#ffffff"><strong>Language</strong></font></td>
    </tr>
    <tr>
      <td><a href="http://pro-pix.de/joomla/index.php?option=com_content&task=view&id=40&Itemid=1">Eclipse europa unter der Lupe - Was<br> mir besonderes gut gefallen hat</a></td>
      <td>Christian Baranowski</td>
      <td><a href="http://pro-pix.de/joomla">Willkommen auf Pro-Pixde</a></td>
      <td>German</td>
    </tr>
    <tr>
      <td><a href="http://www.bogner-it.at/blog/?p=6">Eclipse Europa Review</a></td>
      <td>Manuel Bogner</td>
      <td><a href="http://blog.bogner-it.at/">Bogner-IT.at</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://www.fleischle.net/index.php?option=com_content&task=view&id=6&Itemid=1">Europe kommt nach Europa</a></td>
      <td>Sam Fleischle</td>
      <td><a href="http://www.fleischle.net">Fleischle.net</a></td>
      <td>German</td>
    </tr>
    <tr>
      <td><a href="http://bge-kernel-panic.blogspot.com/2007/06/eclipse-europa-review.html">Eclipse Europa Review</a></td>
      <td>Benoit Goudreault-Emond</td>
      <td><a href="http://bge-kernel-panic.blogspot.com">BGE&#39;s Killer Blog... of Justice</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://blog.arunkumarm.com/2007/06/eclipse-eurpoa-is-coming.html">Eclipse Europa is coming</a></td>
      <td>Arun Kumar</td>
      <td><a href="http://blog.arunkumarm.com">Those Were the Best Days of My Life!!</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://thecodersblog.blogspot.com/2007/06/eclipse-europa-release-review.html">Eclipse Europa Release Review</a></td>
      <td>Felipe Lang</td>
      <td><a href="http://thecodersblog.blogspot.com">The Coder&#39;s Blog</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://jroller.com/page/eclipse2008?entry=global_europa_global_workspace">Global Europa, global workspace</a></td>
      <td>Kiu Liu</td>
      <td><a href="http://jroller.com">Jimmy</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://radio.javaranch.com/davo/2007/06/01/1180698512171.html">Keen for WTP 2.0</a></td>
      <td>David O&#39;Meara</td>
      <td><a href="http://radio.javaranch.com/davo">David&#39;s Blog</a></td>
      <td>English</td>
    </tr>
    <tr>
      <td><a href="http://daubau.it/log/eclipse-europa-sta-arrivando">Eclipse Europa sta arrivando</a></td>
      <td>Flavio Tordini</td>
      <td><a href="http://daubau.it/log">Daubau Log</a></td>
      <td>Italian</td>
    </tr>
    <tr>
      <td><a href="http://www.inforw.de/inhalt/doku.php/blog/110">Europa gehort die Zukunft</a></td>
      <td>Rainer Weinhold</td>
      <td><a href="http://www.inforw.de/inhalt/doku.php">Willkommen auf inforw.de</a></td>
      <td>German</td>
    </tr>
    <tr>
      <td><a href="http://eclipse-debug.blogspot.com/2007/06/one-europa-experience.html">One Europa Experience</a></td>
      <td>Curtis Windatt</td>
      <td><a href="http://eclipse-debug.blogspot.com">Eclipse Debug Team</a></td>
      <td>English</td>
    </tr>
  </table>
</div>