<?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>How to check which Openmeetings version running</title>
		<author email="sebawagner@apache.org">
			OpenMeetings Team
		</author>
	</properties>

	<body>

		<section name="How to check which Openmeetings version running">
			<p>If you need to know what version of OpenMeetings you are running,
				you can check that by the file: openmeetings-*.jar
			</p>
			<p>
				Unzip: /webapps/openmeetings/WEB-INF/lib/openmeetings-*.jar (jars are
				zips)
				<br />
				<br />
				In the resulting unzipped folder open the file to read:
				/META-INF/MANIFEST.MF
			</p>
			<p>You get something like this: </p>
			<div class="xmlcode">
				Manifest-Version: 1.0
				<br />
				Ant-Version: Apache Ant 1.8.2
				<br />
				Created-By: 1.6.0_26-b03-383-11A511 (Apple Inc.)
				<br />
				Built-By: OpenMeetings - http://openmeetings.googlecode.com
				<br />
				Built-On: 23-October-2011
				<br />
				Svn-Revision: 4368
				<br />
			</div>
			<p>This version info is available since version 1.8.0. If you have an
				older version as version 1.8.0 then you might simply check the
				language files and the labelid in there, the numbers of labels are
				almost always unique in the versions. </p>

		</section>

	</body>

</document>