<?xml version="1.0" encoding="UTF-8"?>
<!--
   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
 -->
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
	<properties>
		<title>SugarCRM Plugin</title>
		<author email="dev@openmeetings.apache.org">Apache OpenMeetings Team</author>
	</properties>

	<body>

		<section name="SugarCRM Plugin for OpenMeetings">
			<p>
				You can get the latest Version of the Plugin for SugarCRM from the
				<a href="downloads.html">downloads</a>
				.
			</p>
			<p>
				You can find the OpenMeetings Plugin also in the
				<a href="http://www.sugarforge.org/projects/openmeetings/" target="_blank" rel="nofollow">SugarCRM Plugin database</a>
				.
			</p>
		</section>

		<section name="Features">
			<p>The plugin contains the following features: </p>
			<ul>
				<li>Create videoconference rooms through SugarCRM: </li>
				<li>
					<ol>
						<li>Integrated with calendar </li>
						<li>Integrated with SugarCRM meetings </li>
						<li>Sends invetations emails to meeting participants </li>
						<li>Configurable room type </li>
					</ol>
				</li>
			</ul>
		</section>

		<section name="Installation the SugarCRM Plugin for OpenMeetings">
			<p>In SugarCRM's administration web-interface you will find the
				module loader.
			</p>
			<a class="fancybox-buttons" href="images/SugarCRM_Installation.png">
				<img src="images/SugarCRM_Installation.png" alt="" width="640" height="320" />
			</a>
			<ol>
				<li>Upload the module with module loader in administration area. </li>
				<li>Configure OpenMeetings settings. </li>
				<li>Create OpenMeetings rooms. </li>
			</ol>
		</section>

		<section name="Demo video">
			<p>The demo video of SugarCRM plugin show you the plugin in action </p>
			<iframe width="640" height="390" src="http://www.youtube.com/embed/xrDbcXqxDq8" frameborder="0" allowfullscreen=""></iframe>
		</section>

	</body>

</document>
