<?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>Moodle Plugin</title>
		<author email="dev@openmeetings.apache.org">Apache OpenMeetings Team</author>
	</properties>
	<body>
		<section name="Moodle Plugin for OpenMeetings">
			<p>
				You can get the latest Version of the Plugin for Moodle from the
				<a href="https://moodle.org/plugins/view.php?plugin=mod_openmeetings"
					target="_blank" rel="nofollow">Moodle Plugin database</a>
				.
			</p>
		</section>
		<section name="Installation of the Moodle Plugin for Apache OpenMeetings">
			<p>
				You simply download the ZIP or TAR package and unzip it to Moodle's "mod" directory.<br/>
				Eventually you need to unzip the package into a folder called "openmeetings".
				The folder structure is:<br/>
				$MOODLE_HOME/mod/openmeetings/*.php
				<br />
				Then you visit the admin interface of Moodle, for example <u>http://$your_moodle_host/$MOODLE_WWW_ROOT/admin</u><br/>
				Moodle will detect that there is a new plugin and will show the plugin installation screen:
			</p>
			<a class="fancybox-buttons" href="images/moodle_install_plugin.png">
				<img src="images/moodle_install_plugin.png" alt="" width="430"
					height="220" />
			</a>
			<p>
				After you have clicked on "Update database" Moodle will show you the plugin configuration screen:
			</p>
			<a class="fancybox-buttons" href="images/moodle_configure_plugin.png">
				<img src="images/moodle_configure_plugin.png" alt="" width="500"
					height="300" />
			</a>
		</section>
		<section name="Adding a new conference room to a Moodle course">
			<p>
				After installation of the plugin you can go to the course pages in Moodle and turn editing on.
				Then you choose the activity "OpenMeetings", Moodle will then show you the conference room
				configuration with all the options:
			</p>
			<a class="fancybox-buttons" href="images/moodle_add_activity_plugin.png">
				<img src="images/moodle_add_activity_plugin.png" alt="" width="430"
					height="360" />
			</a>
		</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="https://www.youtube.com/embed/pPgv7zkPXAk" frameborder="0" allowfullscreen=""></iframe>
		</section>
	</body>
</document>
