<!DOCTYPE html>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you 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.
  
-->
<html xmlns:wicket="http://wicket.apache.org">
<wicket:extend>
	<!-- FIXME localized versions of this file need to be created -->
	<div class="message">
		<b>OpenMeetings - Loading ...</b><br />
		The server is not yet completely initialized. Please try again in a couple of seconds.<br/>
		If this message persists for several minutes contact your Sys-Administration.<br/>
		If that message stays forever you should check the logs located in 
		<pre>openmeetings_install_dir/log</pre> folder, probably your database user/pwd/host is wrong!
	</div>
</wicket:extend>
</html>
