<?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>

	<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>