<?php
/*******************************************************************************
 * Copyright (c) 2009, 2014 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://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
*		Eclipse Foundation - Initial version
*		Anthony Hunter - changes for EMF Query
********************************************************************************/
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());

$pageTitle 		= "EMF Query Getting Involved";
$App->AddExtraHtmlHeader('<link rel="stylesheet" type="text/css" href="/emf-query/style.css"/>');

$html  = <<<EOHTML
<div id="midcolumn">
<h2>$pageTitle</h2>

<p>As every Eclipse project, EMF Query is strongly dependent on active support by its community.
You may become part of that community and get involved by reporting bugs or enhancement request,
by contributing patches, by participation in discussions on the mailing list, or by supporting the
maintaining of the EMF wiki.</p>

<h3>Contributor Mailing List</h3>
<p>Technical or organizational discussions (no help wanted questions) around the EMF project take place
at the <a href="http://dev.eclipse.org/mailman/listinfo/emf-dev">EMF Developer Mailing List</a>.
It is intended for use by developers actually working on or otherwise contributing to day-to-day
development of the EMF project itself. Older discussions can be found in the
<a href="http://dev.eclipse.org/mhonarc/lists/emf-dev/maillist.html">Mailing List Archive</a>.</p>

</div>
EOHTML;

# Generate the web page
$App->generatePage($theme, $Menu, $Nav, $pageAuthor, $pageKeywords, $pageTitle, $html);
?>