<?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'
	$pageTitle 		= "SMILA - Mailing lists";
	$pageKeywords	= "SMILA, unstructured information management, information logistics, semantic web, framework, platform, eclipse";
	$pageAuthor		= "Igor Novakovic";
		
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">
		<h1>SMILA - SeMantic Information Logistics Architecture</h1>
		<h2>Mailing lists</h2>
		<p>
		    Mailing lists are a primary communication channel with SMILA development team. 
		    If you are interested in getting announcements for new versions, support, or want to 
		    participate in discussions of development or integration topics, then you 
		    can subscribe to one of the following mailing lists.
		</p>
		<div class="homeitem3col">
			<h3>Mailing Lists</h3>
			<ul>
				<li>
                    <b><a href="https://dev.eclipse.org/mailman/listinfo/smila-user">smila-user@eclipse.org</a></b>
                     - A mailing list for announcements of new SMILA versions and events. Besides getting announcements you can also
                     post your questions here and get support from us. 
                    <ul>
                    	<li>
							<a href="https://dev.eclipse.org/mailman/listinfo/smila-user">Subscribe/unsubscribe instructions</a>
                    	</li>
                    	<li>
							<a href="http://dev.eclipse.org/mhonarc/lists/smila-user/maillist.html">Mailing list archive</a>
                    	</li>
                    	<li>
							<a href="http://dev.eclipse.org/mhonarc/lists/smila-user/maillist.rss">RSS Feed</a>
                    	</li>
                    </ul>
				</li>
				<li>
                    <b><a href="https://dev.eclipse.org/mailman/listinfo/smila-dev">smila-dev@eclipse.org</a></b>
                     - A mailing list for developer discussion. It's a place, where SMILA committers, contributors 
                    and integrators discuss all topics related to project development.
                    <ul>
                    	<li>
							<a href="https://dev.eclipse.org/mailman/listinfo/smila-dev">Subscribe/unsubscribe instructions</a>
                    	</li>
                    	<li>
							<a href="http://dev.eclipse.org/mhonarc/lists/smila-dev/maillist.html">Mailing list archive</a>
                    	</li>
                    	<li>
							<a href="http://dev.eclipse.org/mhonarc/lists/smila-dev/maillist.rss">RSS Feed</a>
                    	</li>
                    </ul>
				</li>
			</ul>
		</div>
	</div>
	  
	<div id="rightcolumn">
    	<div class="sideitem">
       		<h6>Incubation</h6><p>
       		<div align="center">
         		<a href="/projects/what-is-incubation.php">
           		<img align="center" src="/images/egg-incubation.png" border="0"/></a>
       		</div>
     	</div>
	  	<div class="sideitem">
			<h6>Links</h6>
			<ul>
				<li><a href="http://wiki.eclipse.org/SMILA" target="_blank">Project Wiki</a></li>				
				<li><a href="http://www.eclipse.org/proposals/eilf/SMILA_Creation_Review.pdf" target="_blank">Creation Review</a></li>
				<li><a href="http://www.eclipse.org/proposals/eilf" target="_blank">Project proposal</a></li>
			</ul>
		</div>
	</div>	
	
EOHTML;


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