<?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:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="website.xsd">

	<properties>
		<title>Sakai Plugin</title>
		<author email="sebawagner@apache.org">
			OpenMeetings Team
		</author>
	</properties>

	<body>

		<section name="Introduction">
			<p>
				In 2010,
				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company
				</a>
				has developed a plugin that integrates Sakai LMS and OpenMeetings
				.
			</p>
			<p>
				The plugin was developed for some Spanish Universities that use
				Sakai and belongs to
				<a rel="nofollow" target="_blank" 
					href="https://confluence.sakaiproject.org/display/SPANISH/S2G+-+Spanish+Sakai+Group">"Spanish Sakai Universities"</a>
				group:
			</p>
			<ul>
				<li>
					<a rel="nofollow" href="http://www.udl.es/" target="_blank">Universitat de Lleida </a>
				</li>
				<li>
					<a rel="nofollow" href="http://www.upv.es/" target="_blank">Universidad Polit&#233;cnica de Valencia </a>
				</li>
				<li>
					<a rel="nofollow" href="http://www.um.es/" target="_blank">Universidad de Murcia</a>
				</li>
				<li>
					<a rel="nofollow" href="http://www.unavarra.es/" target="_blank">Universidad P&#250;blica de Navarra</a>
				</li>
				<li>
					<a rel="nofollow" href="http://www.ucam.edu/" target="_blank">Universidad Cat&#243;lica San Antonio de Murcia
					</a>
				</li>
			</ul>
		</section>

		<section name="Features">
			<p>The plugin contains the following features: </p>
			<ul>
				<li>Create videoconference rooms through Sakai: </li>
				<li>
					<ol>
						<li>Integrated with calendar </li>
						<li>Integrated with announcements </li>
						<li>Sends an email to all site participants </li>
						<li>Rooms restricted to site groups </li>
						<li>Configurable room type </li>
					</ol>
				</li>
			</ul>
			<p />
			<ul>
				<li>Future requirements </li>
				<li>
					<ol>
						<li>Publish room recordings to students </li>
						<li>Room reservation </li>
					</ol>
				</li>
			</ul>
		</section>

		<section name="Source">
			<p>
				You can download and build the source code
				<a rel="nofollow" target="_blank" 
					href="https://source.sakaiproject.org/contrib/samoo/adobeconnectpro-openmeetings-integration/trunk/">here</a>
			</p>
		</section>

		<section name="Installation and documentation">
			<p>
				The documentation resides in the
				<a rel="nofollow" target="_blank" href="https://confluence.sakaiproject.org/display/OPENMTG/Home">Sakai confluence space</a>
			</p>
			<p>
				Please contact the mailing list for further information. For
				commercial support you can also contact
				<a rel="nofollow" href="http://www.samoo.es" target="_blank">Samoo company</a>
				or other companies from the list of
				<a href="commercial-support.html">commercial support</a>
				.
			</p>
		</section>

	</body>

</document>