<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<!--
Copyright 1999-2004 The Apache Software Foundation
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.
-->


<!-- Content Stylesheet for Site -->

        
<!-- start the processing -->
    <!-- ====================================================================== -->
    <!-- GENERATED FILE, DO NOT EDIT, EDIT THE XML FILE IN xdocs INSTEAD! -->
    <!-- Main Page Section -->
    <!-- ====================================================================== -->
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>

                                                    <meta name="author" value="
			OpenMeetings Team
		">
            <meta name="email" value="sebawagner@apache.org">
            
           
                                    
                        
            <title>Apache OpenMeetings [Incubating] - Changing Dashboard</title>
            <link rel="stylesheet" type="text/css" href="css/openmeetings.css">
            <link rel="stylesheet" type="text/css" href="css/jquery-ui.css">
            <link rel="stylesheet" type="text/css" href="css/coin-slider-styles.css">
            
            
			<!-- Add jQuery library -->
			<script type="text/javascript" src="js/jquery-1.7.1.min.js"></script>
		
			<!-- Add mousewheel plugin (this is optional) -->
			<script type="text/javascript" src="js/jquery.mousewheel-3.0.6.pack.js"></script>
		
			<!-- Add fancyBox main JS and CSS files -->
			<script type="text/javascript" src="source/jquery.fancybox.js"></script>
			<link rel="stylesheet" type="text/css" href="source/jquery.fancybox.css" media="screen" />
			
			<!-- Add coinslider plugins -->
			<script type="text/javascript" src="js/coin-slider.min.js"></script>
		
			<!-- Add Button helper (this is optional) -->
			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-buttons.css?v=2.0.3" />
			<script type="text/javascript" src="source/helpers/jquery.fancybox-buttons.js?v=2.0.3"></script>
		
			<!-- Add Thumbnail helper (this is optional) -->
			<link rel="stylesheet" type="text/css" href="source/helpers/jquery.fancybox-thumbs.css?v=2.0.3" />
			<script type="text/javascript" src="source/helpers/jquery.fancybox-thumbs.js?v=2.0.3"></script>
			
			<script src="js/jquery.ui.core.js"></script>
			<script src="js/jquery.ui.widget.js"></script>
		
			<script src="js/jquery.ui.accordion.js"></script>
			
			<script>
			$(function() {
				$( "#accordion" ).accordion({
					autoHeight: false,
					navigation: true,
					navigationFilter: function () {
						var sidebarHrefArray = this.href.split("/");
    					var sideBarLastString = sidebarHrefArray[sidebarHrefArray.length - 1].toLowerCase();
						
						if (sideBarLastString.indexOf("#") == -1) {
							return false;
						}
						
												/* document.location.href */
						var currentSection = "";
						
						var currentLocation = "";
						var currentLink = "";
						if (false) {
						
						}
    										        					            					            	
					            	else if (document.location.href.indexOf("/index.html") > 0) {
					            		currentLocation = "General";
					            		currentLink = "/index.html".substr(1, "/index.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/license.html") > 0) {
					            		currentLocation = "General";
					            		currentLink = "/license.html".substr(1, "/license.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("http://www.apache.org/") > 0) {
					            		currentLocation = "General";
					            		currentLink = "http://www.apache.org/".substr(1, "http://www.apache.org/".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/downloads.html") > 0) {
					            		currentLocation = "General";
					            		currentLink = "/downloads.html".substr(1, "/downloads.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/commercial-support.html") > 0) {
					            		currentLocation = "General";
					            		currentLink = "/commercial-support.html".substr(1, "/commercial-support.html".length);
					            	} 
					            	
					        				        		    										        					            					            	
					            	else if (document.location.href.indexOf("/installation.html") > 0) {
					            		currentLocation = "InstallationandUpgrade";
					            		currentLink = "/installation.html".substr(1, "/installation.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/Upgrade.html") > 0) {
					            		currentLocation = "InstallationandUpgrade";
					            		currentLink = "/Upgrade.html".substr(1, "/Upgrade.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings") > 0) {
					            		currentLocation = "InstallationandUpgrade";
					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings".length);
					            	} 
					            	
					        				        		    										        					            					            	
					            	else if (document.location.href.indexOf("/get-involved.html") > 0) {
					            		currentLocation = "Community";
					            		currentLink = "/get-involved.html".substr(1, "/get-involved.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/team-list.html") > 0) {
					            		currentLocation = "Community";
					            		currentLink = "/team-list.html".substr(1, "/team-list.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/mail-lists.html") > 0) {
					            		currentLocation = "Community";
					            		currentLink = "/mail-lists.html".substr(1, "/mail-lists.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("http://cwiki.apache.org/confluence/display/OPENMEETINGS/") > 0) {
					            		currentLocation = "Community";
					            		currentLink = "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".substr(1, "http://cwiki.apache.org/confluence/display/OPENMEETINGS/".length);
					            	} 
					            	
					        				        		    										        					            					            	
					            	else if (document.location.href.indexOf("/svn.html") > 0) {
					            		currentLocation = "Development";
					            		currentLink = "/svn.html".substr(1, "/svn.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("http://issues.apache.org/jira/browse/OPENMEETINGS") > 0) {
					            		currentLocation = "Development";
					            		currentLink = "http://issues.apache.org/jira/browse/OPENMEETINGS".substr(1, "http://issues.apache.org/jira/browse/OPENMEETINGS".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/dependencies.html") > 0) {
					            		currentLocation = "Development";
					            		currentLink = "/dependencies.html".substr(1, "/dependencies.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/BuildInstructions.html") > 0) {
					            		currentLocation = "Development";
					            		currentLink = "/BuildInstructions.html".substr(1, "/BuildInstructions.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/JUnitTesting.html") > 0) {
					            		currentLocation = "Development";
					            		currentLink = "/JUnitTesting.html".substr(1, "/JUnitTesting.html".length);
					            	} 
					            	
					        				        		    										        					            					            	
					            	else if (document.location.href.indexOf("/SoapRestAPI.html") > 0) {
					            		currentLocation = "Integration";
					            		currentLink = "/SoapRestAPI.html".substr(1, "/SoapRestAPI.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/RestAPISample.html") > 0) {
					            		currentLocation = "Integration";
					            		currentLink = "/RestAPISample.html".substr(1, "/RestAPISample.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/LdapAndADS.html") > 0) {
					            		currentLocation = "Integration";
					            		currentLink = "/LdapAndADS.html".substr(1, "/LdapAndADS.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/voip-sip-integration.html") > 0) {
					            		currentLocation = "Integration";
					            		currentLink = "/voip-sip-integration.html".substr(1, "/voip-sip-integration.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/ErrorsTable.html") > 0) {
					            		currentLocation = "Integration";
					            		currentLink = "/ErrorsTable.html".substr(1, "/ErrorsTable.html".length);
					            	} 
					            	
					        				        		    										        					            					            	
					            	else if (document.location.href.indexOf("/MoodlePlugin.html") > 0) {
					            		currentLocation = "Plugins";
					            		currentLink = "/MoodlePlugin.html".substr(1, "/MoodlePlugin.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/SakaiPlugin.html") > 0) {
					            		currentLocation = "Plugins";
					            		currentLink = "/SakaiPlugin.html".substr(1, "/SakaiPlugin.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/JiraPlugin.html") > 0) {
					            		currentLocation = "Plugins";
					            		currentLink = "/JiraPlugin.html".substr(1, "/JiraPlugin.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/ConfluencePlugin.html") > 0) {
					            		currentLocation = "Plugins";
					            		currentLink = "/ConfluencePlugin.html".substr(1, "/ConfluencePlugin.html".length);
					            	} 
					            	
					        				        							            					            	
					            	else if (document.location.href.indexOf("/SugarCRMPlugin.html") > 0) {
					            		currentLocation = "Plugins";
					            		currentLink = "/SugarCRMPlugin.html".substr(1, "/SugarCRMPlugin.html".length);
					            	} 
					            	
					        				        		    										        					            				            						            			else if (document.location.href.indexOf("/ApacheDerbyConfig.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/ApacheDerbyConfig.html".substr(1, "/ApacheDerbyConfig.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/IBMDB2Config.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/IBMDB2Config.html".substr(1, "/IBMDB2Config.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/OracleConfig.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/OracleConfig.html".substr(1, "/OracleConfig.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/MySQLConfig.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/MySQLConfig.html".substr(1, "/MySQLConfig.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/PostgresConfig.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/PostgresConfig.html".substr(1, "/PostgresConfig.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/Internationalisation.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/Internationalisation.html".substr(1, "/Internationalisation.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/LanguageEditor.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/LanguageEditor.html".substr(1, "/LanguageEditor.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/TimeZoneHandling.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/TimeZoneHandling.html".substr(1, "/TimeZoneHandling.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/EditTemplates.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/EditTemplates.html".substr(1, "/EditTemplates.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/PortSettings.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/PortSettings.html".substr(1, "/PortSettings.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/JVMPerformanceTuning.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/JVMPerformanceTuning.html".substr(1, "/JVMPerformanceTuning.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/themes-and-branding.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/themes-and-branding.html".substr(1, "/themes-and-branding.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/BrandingAndColors.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/BrandingAndColors.html".substr(1, "/BrandingAndColors.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/Dashboard.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/Dashboard.html".substr(1, "/Dashboard.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/WebcamResolutions.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/WebcamResolutions.html".substr(1, "/WebcamResolutions.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/ConferenceRoomLayoutOptions.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/ConferenceRoomLayoutOptions.html".substr(1, "/ConferenceRoomLayoutOptions.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/WebappNamePath.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/WebappNamePath.html".substr(1, "/WebappNamePath.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/Navigation.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/Navigation.html".substr(1, "/Navigation.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/CalendarAndTimezone.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/CalendarAndTimezone.html".substr(1, "/CalendarAndTimezone.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/CustomRoomTypeHowTo.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/CustomRoomTypeHowTo.html".substr(1, "/CustomRoomTypeHowTo.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/GeneralConfiguration.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/GeneralConfiguration.html".substr(1, "/GeneralConfiguration.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/RestrictedAccess.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/RestrictedAccess.html".substr(1, "/RestrictedAccess.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/RTMPSAndHTTPS.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/RTMPSAndHTTPS.html".substr(1, "/RTMPSAndHTTPS.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/OpenOfficeConverter.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/OpenOfficeConverter.html".substr(1, "/OpenOfficeConverter.html".length);
						            	} 
				            						            			else if (document.location.href.indexOf("/FFMPEGVersionSwitch.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/FFMPEGVersionSwitch.html".substr(1, "/FFMPEGVersionSwitch.html".length);
						            	} 
				            							        				        							            				            						            			else if (document.location.href.indexOf("/GetVersionInfo.html") > 0) {
				            				currentLocation = "Configuration";
					            			currentLink = "/GetVersionInfo.html".substr(1, "/GetVersionInfo.html".length);
						            	} 
				            							        				        		    					    					
    					currentLink = currentLink.toLowerCase();
    					currentLocation = currentLocation.toLowerCase();
    					
						return sideBarLastString == currentLink+"#"+currentLocation;
					}
				});
			});
			</script>
			
			<script type="text/javascript">
				$(document).ready(function() {
					$('.fancybox-buttons').fancybox({
						openEffect  : 'none',
						closeEffect : 'none',
		
						prevEffect : 'none',
						nextEffect : 'none',
		
						closeBtn  : false,
		
						helpers : {
							title : {
								type : 'inside'
							},
							buttons	: {}
						},
		
						afterLoad : function() {
							this.title = 'Image ' + (this.index + 1) + ' of ' + this.group.length + (this.title ? ' - ' + this.title : '');
						}
					});	
					$('#accordion a').each(function() {
				      var a = $(this);
				      var href = a.attr("href");
				      if (href.indexOf("#") == -1) {
				      	  var compareIt = href.substr(2, href.length);
					      if (document.location.href.indexOf(compareIt)!= -1) {
					       a.addClass('active');
					      }
				      }
				    });
					$('#coin-slider').coinslider({ width: 640,height: 400, delay: 4000  });					
				});
			</script>	
						
			<style type="text/css">
				.fancybox-custom .fancybox-outer {
					box-shadow: 0 0 50px #222;
				}
			</style>
        </head>

        <body bgcolor="#ffffff" text="#000000" link="#123465" vlink="#123465" alink="#000000">  
        	<div class="mainbody" with="100%">
        	<div class="superbody" width="100%">
            <table border="0" width="100%" cellspacing="0">
                <!-- TOP IMAGE -->
                <tr>
                    <td align='LEFT'>
                    <td align="left">
<a href="http://incubator.apache.org/openmeetings/"><img src="./images/logo-2.jpg" alt="Apache OpenMeetings" border="0"/></a>
</td>
                    </td>
                    <td align='LEFT'>
                    <td width="80%" align="right" valign="top" >
	<a href="http://demo.openmeetings.de" target="_BLANK">Demo</a>
	<span>|</span> 
	<a href="downloads.html" target="_PARENT">Download</a>
	<span>|</span> 
	<a href="installation.html" target="_PARENT">Installation</a>
	<span>|</span> 
	<a href="https://cwiki.apache.org/confluence/display/OPENMEETINGS" target="_BLANK">Wiki</a>
	<span>&nbsp;</span>
</td>
                    </td>
                </tr>
            </table>
            <table border="0" width="100%" cellspacing="4">
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>

                <tr>
                    <!-- LEFT SIDE NAVIGATION -->
                    <td width="20%" valign="top" nowrap="true">

                    <!-- special ACon Logo - leave here for next time
                    <a href="http://apachecon.com/2005/US/">
                        <img src="http://apache.org/images/ac2005us_blue_125x125.jpg" height="125"
                             width="125" border="0" alt="ApacheCon US 2005" />
                    </a>  -->

                   <!-- regular menu -->

                    
    <!-- ============================================================ -->
    <div id="accordion" width="100%">
    
            	<h3><a href="#General">General</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./index.html">Home</a>
<br/>
	        		        	            	            	    <a href="./license.html">License</a>
<br/>
	        		        	            	            	    <a href="http://www.apache.org/">ASF</a>
<br/>
	        		        	            	            	    <a href="./downloads.html">Downloads</a>
<br/>
	        		        	            	            	    <a href="./commercial-support.html">Commercial Support</a>
<br/>
	        		            	</div>
        	<h3><a href="#InstallationandUpgrade">Installation and Upgrade</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./installation.html">Installation</a>
<br/>
	        		        	            	            	    <a href="./Upgrade.html">Upgrade</a>
<br/>
	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
<br/>
	        		            	</div>
        	<h3><a href="#Community">Community</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./get-involved.html">Get Involved</a>
<br/>
	        		        	            	            	    <a href="./team-list.html">Committers</a>
<br/>
	        		        	            	            	    <a href="./mail-lists.html">Mailing Lists</a>
<br/>
	        		        	            	            	    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
<br/>
	        		            	</div>
        	<h3><a href="#Development">Development</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./svn.html">Source Code</a>
<br/>
	        		        	            	            	    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
<br/>
	        		        	            	            	    <a href="./dependencies.html">Dependencies</a>
<br/>
	        		        	            	            	    <a href="./BuildInstructions.html">Build Instructions</a>
<br/>
	        		        	            	            	    <a href="./JUnitTesting.html">JUnit Testing</a>
<br/>
	        		            	</div>
        	<h3><a href="#Integration">Integration</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./SoapRestAPI.html">SOAP/REST API</a>
<br/>
	        		        	            	            	    <a href="./RestAPISample.html">REST API Sample</a>
<br/>
	        		        	            	            	    <a href="./LdapAndADS.html">Ldap and ADS</a>
<br/>
	        		        	            	            	    <a href="./voip-sip-integration.html">VoIP and SIP</a>
<br/>
	        		        	            	            	    <a href="./ErrorsTable.html">Errors table</a>
<br/>
	        		            	</div>
        	<h3><a href="#Plugins">Plugins</a></h3>
    	<div  width="100%">
	        	            	            	    <a href="./MoodlePlugin.html">Moodle Plugin</a>
<br/>
	        		        	            	            	    <a href="./SakaiPlugin.html">Sakai Plugin</a>
<br/>
	        		        	            	            	    <a href="./JiraPlugin.html">Jira Plugin</a>
<br/>
	        		        	            	            	    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
<br/>
	        		        	            	            	    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
<br/>
	        		            	</div>
        	<h3><a href="#Configuration">Configuration</a></h3>
    	<div  width="100%">
	        	            	            	<b>DB Sample Configurations</b><br/>
	            			            			    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
<br/>
	            			            			    <a href="./IBMDB2Config.html">IBM DB2</a>
<br/>
	            			            			    <a href="./OracleConfig.html">Oracle</a>
<br/>
	            			            			    <a href="./MySQLConfig.html">MySQL</a>
<br/>
	            			            			    <a href="./PostgresConfig.html">Postgres</a>
<br/>
	            			        		        	            	            	<b>Localization and languages</b><br/>
	            			            			    <a href="./Internationalisation.html">Internationalisation</a>
<br/>
	            			            			    <a href="./LanguageEditor.html">LanguageEditor</a>
<br/>
	            			            			    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
<br/>
	            			            			    <a href="./EditTemplates.html">EditTemplates</a>
<br/>
	            			        		        	            	            	<b>NAT Port Settings</b><br/>
	            			            			    <a href="./PortSettings.html">Port settings</a>
<br/>
	            			        		        	            	            	<b>Performance</b><br/>
	            			            			    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
<br/>
	            			        		        	            	            	<b>User Interface</b><br/>
	            			            			    <a href="./themes-and-branding.html">Themes</a>
<br/>
	            			            			    <a href="./BrandingAndColors.html">Branding and Colors</a>
<br/>
	            			            			    <a href="./Dashboard.html">Dashboard</a>
<br/>
	            			            			    <a href="./WebcamResolutions.html">Webcam resolutions</a>
<br/>
	            			            			    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
<br/>
	            			        		        	            	            	<b>Customization</b><br/>
	            			            			    <a href="./WebappNamePath.html">Webapp name/path</a>
<br/>
	            			            			    <a href="./Navigation.html">Navigation</a>
<br/>
	            			            			    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
<br/>
	            			            			    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
<br/>
	            			            			    <a href="./GeneralConfiguration.html">General Configuration</a>
<br/>
	            			        		        	            	            	<b>Security</b><br/>
	            			            			    <a href="./RestrictedAccess.html">Restricted Access</a>
<br/>
	            			            			    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
<br/>
	            			        		        	            	            	<b>Converters</b><br/>
	            			            			    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
<br/>
	            			            			    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
<br/>
	            			        		        	            	            	<b>Misc</b><br/>
	            			            			    <a href="./GetVersionInfo.html">Get version info</a>
<br/>
	            			        		            	</div>
        
    </div>

	<!--
            	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>General</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./index.html">Home</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./license.html">License</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="http://www.apache.org/">ASF</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./downloads.html">Downloads</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./commercial-support.html">Commercial Support</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Installation and Upgrade</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./installation.html">Installation</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./Upgrade.html">Upgrade</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/Tutorials+related+to+OpenMeetings">Tutorials</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Community</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./get-involved.html">Get Involved</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./team-list.html">Committers</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./mail-lists.html">Mailing Lists</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="http://cwiki.apache.org/confluence/display/OPENMEETINGS/">Wiki</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Development</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./svn.html">Source Code</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="http://issues.apache.org/jira/browse/OPENMEETINGS">Bugs / Issues (JIRA)</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./dependencies.html">Dependencies</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./BuildInstructions.html">Build Instructions</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./JUnitTesting.html">JUnit Testing</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Integration</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./SoapRestAPI.html">SOAP/REST API</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./RestAPISample.html">REST API Sample</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./LdapAndADS.html">Ldap and ADS</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./voip-sip-integration.html">VoIP and SIP</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./ErrorsTable.html">Errors table</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Plugins</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./MoodlePlugin.html">Moodle Plugin</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./SakaiPlugin.html">Sakai Plugin</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./JiraPlugin.html">Jira Plugin</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./ConfluencePlugin.html">Confluence Plugin</a>
</li>
			        	</font>
		        			        		            			            <font color="#000000" face="arial,helvetica,sanserif" size="2pt">
			            	<li>    <a href="./SugarCRMPlugin.html">SugarCRM Plugin</a>
</li>
			        	</font>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        	<div class="ro"> 
		  <div class="lo">
		    <div class="ru"> 
		      <div class="lu"> 
		        <div class="inhalt"> 
    	
    		<font color="#000000" face="arial,helvetica,sanserif" size="2pt" >
        	<b>Configuration</b>
        	</a>
        	<hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
		       <ul>
		        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">DB Sample Configurations</font>
		            		<ul>
		            				            			<li>    <a href="./ApacheDerbyConfig.html">Apache Derby</a>
</li>
		            				            			<li>    <a href="./IBMDB2Config.html">IBM DB2</a>
</li>
		            				            			<li>    <a href="./OracleConfig.html">Oracle</a>
</li>
		            				            			<li>    <a href="./MySQLConfig.html">MySQL</a>
</li>
		            				            			<li>    <a href="./PostgresConfig.html">Postgres</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Localization and languages</font>
		            		<ul>
		            				            			<li>    <a href="./Internationalisation.html">Internationalisation</a>
</li>
		            				            			<li>    <a href="./LanguageEditor.html">LanguageEditor</a>
</li>
		            				            			<li>    <a href="./TimeZoneHandling.html">TimeZoneHandling</a>
</li>
		            				            			<li>    <a href="./EditTemplates.html">EditTemplates</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">NAT Port Settings</font>
		            		<ul>
		            				            			<li>    <a href="./PortSettings.html">Port settings</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Performance</font>
		            		<ul>
		            				            			<li>    <a href="./JVMPerformanceTuning.html">JVM performance tuning</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">User Interface</font>
		            		<ul>
		            				            			<li>    <a href="./themes-and-branding.html">Themes</a>
</li>
		            				            			<li>    <a href="./BrandingAndColors.html">Branding and Colors</a>
</li>
		            				            			<li>    <a href="./Dashboard.html">Dashboard</a>
</li>
		            				            			<li>    <a href="./WebcamResolutions.html">Webcam resolutions</a>
</li>
		            				            			<li>    <a href="./ConferenceRoomLayoutOptions.html">Room layout options</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Customization</font>
		            		<ul>
		            				            			<li>    <a href="./WebappNamePath.html">Webapp name/path</a>
</li>
		            				            			<li>    <a href="./Navigation.html">Navigation</a>
</li>
		            				            			<li>    <a href="./CalendarAndTimezone.html">Calendar and timezone</a>
</li>
		            				            			<li>    <a href="./CustomRoomTypeHowTo.html">Custom room type</a>
</li>
		            				            			<li>    <a href="./GeneralConfiguration.html">General Configuration</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Security</font>
		            		<ul>
		            				            			<li>    <a href="./RestrictedAccess.html">Restricted Access</a>
</li>
		            				            			<li>    <a href="./RTMPSAndHTTPS.html">RTMPS and HTTPS</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Converters</font>
		            		<ul>
		            				            			<li>    <a href="./OpenOfficeConverter.html">OpenOffice Converter</a>
</li>
		            				            			<li>    <a href="./FFMPEGVersionSwitch.html">FFMPEG Version Switch</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		            		            	<li><font color="#000000" face="arial,helvetica,sanserif" size="2pt">Misc</font>
		            		<ul>
		            				            			<li>    <a href="./GetVersionInfo.html">Get version info</a>
</li>
		            				            		</ul>
		            	</li>
		        			        		        </ul>
	        </div>
	      </div>
	    </div>
	  </div>
	</div>        
        
     -->
     
    <br/>
    <img src="images/apache-incubator-logo-no-borders.png" alt="apache-incubator-logo-no-borders.png" border="0"/>
    
                    </td>
                    <td width="80%" align="left" valign="top">
                                                                    <table border="0" cellspacing="0" cellpadding="0" cellspacing="0" width="100%">
      <tr><td ><!-- bgcolor="#EEEEEE" -->
        <font color="#000000" face="verdana,arial,helvetica,sanserif">
          <a name="Changing Dashboard"><strong>Changing Dashboard</strong></a>
          <hr style="width:100%; color:#999999; background-color:#999999; height:1px; border:0px;"/>
        </font>
      </td></tr>
      <tr><td>
        <blockquote>
                                    <p>You can configure the tabs that are visible by default at bottom
				of the dashboard. To edit the settings, login as admin and goto
				Administration &gt; Configuration </p>
                                                <p />
                                                <table>
                        <tr>
                        <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 Config-key 
            </font>
</th>
                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 Values 
            </font>
</th>
                                <th bgcolor="#039acc" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 Meaning 
            </font>
</th>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 default.dashboard.tab 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 0,1,2 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 Which tab should be shown by default, counting
						starts with 0
					
            </font>
</td>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 dashboard.show.myrooms 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 0 or 1 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 If the MyRooms tab should be visible or not 
            </font>
</td>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 dashboard.show.chat 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 0 or 1 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 If the Chat tab should be visible or not 
            </font>
</td>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 dashboard.show.rssfeed 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 0 or 1 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 If the RSS-Feed tab should be visible or not 
            </font>
</td>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 rss_feed1 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 http-URL 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 ATOM-Feed URL for the dashboard RSS Tab 
            </font>
</td>
            </tr>
                                <tr>
                        <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 rss_feed2 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 http-URL 
            </font>
</td>
                                <td bgcolor="#a0ddf0" colspan="" rowspan="" valign="top" align="left">
    <font color="#000000" size="-1" face="arial,helvetica,sanserif">
                 ATOM-Feed URL for the dashboard RSS Tab 
            </font>
</td>
            </tr>
            </table>
                                                <p />
                                                <p>Changes are immediately online, no need to restart anything. </p>
                            </blockquote>
        </p>
      </td></tr>
      <tr><td><br/></td></tr>
    </table>
                                        </td>
                </tr>

                <!-- FOOTER -->
                <tr><td colspan="2">
                    <hr noshade="" size="1"/>
                </td></tr>
                <tr><td colspan="2">
                    <div align="center"><font color="#123465" size="-1"><em>
                    Copyright &#169; 2003-2012, The Apache Software Foundation
                    </em></font></div>
                </td></tr>
            </table>
            </div>
            </div>
        </body>
    </html>
<!-- end the processing -->






















