<?php

	# 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 = "Nova";

	$Nav->setLinkList(null);

	# 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
	# Adding Portal-based "About" information, to be "Standard left menu"-compliant (see http://www.eclipse.org/projects/dev_process/project-status-infrastructure/left-menu.php) :
	$Nav->addCustomNav( "About This Project", "/projects/project_summary.php?projectid=soa.jwt", "", 1  );
	# Adding JWT specific menus :
	$Nav->addNavSeparator("		JWT Home", 	"/jwt/index.php");
	$Nav->addCustomNav("		About JWT", 		"/jwt/pages/about.php", "_self", 2);
	$Nav->addCustomNav("		FAQ", 				"http://wiki.eclipse.org/JWT_FAQ", "_self", 2);
	$Nav->addCustomNav("		Wiki", 				"http://wiki.eclipse.org/index.php/Java_Workflow_Tooling_Project", "_self", 2);
	$Nav->addNavSeparator("		Downloads",			"/jwt/download.php");
	$Nav->addCustomNav("		Download JWT", 	"/jwt/download.php", "_self", 2);
	$Nav->addCustomNav("		More", 	"http://wiki.eclipse.org/JWT_Downloads", "_self", 2);
	$Nav->addNavSeparator(" 	Components",		"/jwt/components/index.php");
	$Nav->addCustomNav("		Workflow Editor",	"/jwt/components/we/index.php");
	$Nav->addCustomNav("		Desktop Tools",		"/jwt/components/desktop/index.php");
	$Nav->addCustomNav("		Transformations",	"/jwt/components/transformations/index.php");
	$Nav->addCustomNav("		WAM",				"/jwt/components/wam/index.php");
	$Nav->addCustomNav("		Runtime",			"/jwt/components/runtime/index.php");
	$Nav->addNavSeparator("		Development", 		"http://wiki.eclipse.org/index.php/JWT_DeveloperFAQ");
	$Nav->addCustomNav("		Team", 	"/jwt/pages/team.php", "_self", 2);
	$Nav->addCustomNav("		Newsgroup", 		"http://www.eclipse.org/newsportal/thread.php?group=eclipse.soa.jwt", "_self", 2);
	$Nav->addCustomNav("		Mailing list", 		"https://dev.eclipse.org/mailman/listinfo/jwt-dev", "_self", 2);
	$Nav->addCustomNav("		Telco Meetings", 		"http://wiki.eclipse.org/JWT_Meetings", "_self", 2);
	$Nav->addCustomNav("		Source (SVN)", 	"http://wiki.eclipse.org/JWT_SVN", "_self", 2);

?>
