<?php
	set_include_path($_SERVER['DOCUMENT_ROOT'] . "/eclipse.org-common" . PATH_SEPARATOR . $_SERVER['DOCUMENT_ROOT'] . "/projects" . PATH_SEPARATOR . get_include_path()); 
	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: 		Igor Vinnykov
	# Date:			2007-11-23
	#
	# Description: Autogenerated for eclipse.org site pages from Eclipse IDE help
	#
	#
	#****************************************************************************
	
	#
	# Begin: page-specific settings.  Change these. 
	$pageTitle 		= "Eclipse Subversive - Documentation";
	$pageKeywords	= "Subversive, Subversion, SVN, Team Provider, documentation, user guid";
	$pageAuthor		= "Igor Vinnykov";
		
	include("_projectCommon.php");    # All on the same line to unclutter the user's desktop'
	
	# Paste your HTML content between the EOHTML markers!	
	$html = <<<EOHTML

	<div id="midcolumn">

<h3>Subversive modules</h3>
	<p>There are two main plug-ins in the Subversive project: Core and UI. As you can see from the following picture contributors may implement their own SVN Client Library plug-ins and Subversive will use them automatically after its installation into the Eclipse IDE. Also Subversive provides reuse abilities to the external plug-ins designed for automated or interactive work.</p>
	<img border="0" src="../../images/modules.png" alt="Subversive modules"/>
	<p>Subversive Core module provides flexible and easy to use API which allows user to interact with all SVN functionality in simple and similar way. At the same time interface simplicity does not make performance impact and user is able to build powerful and high-performance applications on top of the Subversive Core base. Subversive Core is tested in the headless environment and is a solid ground for creation of automated applications.</p>
	Subversive UI module is stable and usable. Most significant benefits are:
	<ul>
		<li>Usability optimizations (pop-up menu enablement's, controls layout etc.)</li>
		<li>Detailed description on each UI form</li>
		<li>"On the fly" data validation in dialogs and wizards</li>
		<li>Eclipse IDE-like style</li>
		<li>Extensibility</li>
	</ul>
	<p>Last benefit allows users create their own UI extensions for the Subversive. Such extensions can be tracker integrations or any other application that require SVN client base. Additionally the Subversive UI has several extension points which allows contribute into:</p>
	<ul>
		<li>Synchronize View actions</li>
		<li>Checkout action</li>
		<li>Share Project action</li>
		<li>Commit action</li>
		<li>Resources decoration</li>
		<li>History View multiline comment</li>
		<li>Error reporting</li>
	</ul>
	<p>This list can be extended. Comments and suggestions from community regarding enhancement of the Subversive integration abilities, creation new extension points and APIs, are welcome.</p>
	<br/>
	<br/>
	</div>	

EOHTML;


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