You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/05/19 10:21:39 UTC

svn commit: r1484240 - in /openmeetings/trunk/singlewebapp: ./ WebContent/WEB-INF/ WebContent/languages/ WebContent/swf10/base/ WebContent/swf10/networkTesting/ src/ src/org/apache/openmeetings/installation/ src/org/apache/openmeetings/servlet/outputha...

Author: solomax
Date: Sun May 19 08:21:38 2013
New Revision: 1484240

URL: http://svn.apache.org/r1484240
Log:
HTML5: application is modified to use HTML5 version by default.

Added:
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseInitedPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$CongradulationsStep.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$WelcomeStep.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
Removed:
    openmeetings/trunk/singlewebapp/src/install_complete_EN.vm
    openmeetings/trunk/singlewebapp/src/install_error_EN.vm
    openmeetings/trunk/singlewebapp/src/install_exception_EN.vm
    openmeetings/trunk/singlewebapp/src/install_step1_EN.vm
    openmeetings/trunk/singlewebapp/src/install_step2_EN.vm
    openmeetings/trunk/singlewebapp/src/install_welcome_EN.vm
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/BackupExportFacade.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/CalendarServlet.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/DefaultIndex.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/servlet/outputhandler/Install.java
    openmeetings/trunk/singlewebapp/src/usual_template.vm
Modified:
    openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml
    openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml
    openmeetings/trunk/singlewebapp/WebContent/swf10/base/mainDatasets.lzx
    openmeetings/trunk/singlewebapp/WebContent/swf10/networkTesting/networktesting.lzx
    openmeetings/trunk/singlewebapp/build.xml
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/InstallationConfig.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java

Modified: openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml (original)
+++ openmeetings/trunk/singlewebapp/WebContent/WEB-INF/web.xml Sun May 19 08:21:38 2013
@@ -25,14 +25,6 @@
         <param-value>default</param-value>
     </context-param>
     
-	<welcome-file-list>
-		<welcome-file>sipindex.html</welcome-file>
-		<welcome-file>login.html</welcome-file>
-		<welcome-file>index.html</welcome-file>
-		<welcome-file>index.htm</welcome-file>
-		<welcome-file>networktesting.swf10.swf</welcome-file>
-	</welcome-file-list>
-    
     <!-- Custom logging like described in Paul Gregoire Patch: 
     http://gregoire.org/2008/09/18/logging-work-around/
     THIS WILL NOT WORK for us as we can hardly rewrite all logging statements of hibernate
@@ -66,7 +58,7 @@
 	</filter>
 	<filter-mapping>
 		<filter-name>OpenmeetingsApplication</filter-name>
-		<url-pattern>/html/*</url-pattern>
+		<url-pattern>/*</url-pattern>
 	</filter-mapping>
 	 
     <context-param>
@@ -96,10 +88,6 @@
         <servlet-class>org.apache.openmeetings.servlet.outputhandler.DownloadHandler</servlet-class>
     </servlet>
     <servlet>
-        <servlet-name>Install</servlet-name>
-        <servlet-class>org.apache.openmeetings.servlet.outputhandler.Install</servlet-class>
-    </servlet>
-    <servlet>
         <servlet-name>LangExport</servlet-name>
         <servlet-class>org.apache.openmeetings.servlet.outputhandler.LangExport</servlet-class>
     </servlet>
@@ -121,22 +109,6 @@
         <servlet-class>org.apache.axis2.transport.http.AxisServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
     </servlet>
-    <servlet>
-		<servlet-name>Calendar</servlet-name>
-		<servlet-class>org.apache.openmeetings.servlet.outputhandler.CalendarServlet</servlet-class>
-	</servlet>
-    <servlet>
-        <description>DefaultIndex</description>
-        <display-name>DefaultIndex</display-name>
-        <servlet-name>DefaultIndex</servlet-name>
-        <servlet-class>org.apache.openmeetings.servlet.outputhandler.DefaultIndex</servlet-class>
-    </servlet> 
-    <servlet>
-        <description>BackupExport</description>
-        <display-name>BackupExport</display-name>
-        <servlet-name>BackupExport</servlet-name>
-        <servlet-class>org.apache.openmeetings.servlet.outputhandler.BackupExportFacade</servlet-class>
-    </servlet>
 	
 	<servlet-mapping>
 		<servlet-name>spring-mvc</servlet-name>
@@ -147,14 +119,6 @@
         <url-pattern>/DownloadHandler</url-pattern>
     </servlet-mapping>
     <servlet-mapping>
-        <servlet-name>Install</servlet-name>
-        <url-pattern>/Install</url-pattern>
-    </servlet-mapping>
-    <servlet-mapping>
-        <servlet-name>Install</servlet-name>
-        <url-pattern>/install</url-pattern>
-    </servlet-mapping>
-    <servlet-mapping>
         <servlet-name>LangExport</servlet-name>
         <url-pattern>/LangExport</url-pattern>
     </servlet-mapping>
@@ -175,18 +139,6 @@
         <servlet-name>AxisServlet</servlet-name>
         <url-pattern>/services/*</url-pattern>
     </servlet-mapping>
-	<servlet-mapping>
-		<servlet-name>Calendar</servlet-name>
-		<url-pattern>/Calendar</url-pattern>
-	</servlet-mapping>
-    <servlet-mapping>
-        <servlet-name>DefaultIndex</servlet-name>
-        <url-pattern>/sipindex.html</url-pattern>
-    </servlet-mapping>
-    <servlet-mapping>
-        <servlet-name>BackupExport</servlet-name>
-        <url-pattern>/BackupExport</url-pattern>
-    </servlet-mapping>
     <mime-mapping>
         <extension>inc</extension>
         <mime-type>text/plain</mime-type>

Modified: openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml (original)
+++ openmeetings/trunk/singlewebapp/WebContent/languages/languages.xml Sun May 19 08:21:38 2013
@@ -30,8 +30,8 @@
 	<lang id="8" rightToLeft="false" code="es">spanish</lang>
 	<lang id="9" rightToLeft="false" code="ru">russian</lang>
 	<lang id="10" rightToLeft="false" code="sv">swedish</lang>
-	<lang id="11" rightToLeft="false" code="zh-CN">chinese simplified</lang>
-	<lang id="12" rightToLeft="false" code="zh-TW">chinese traditional</lang>
+	<lang id="11" rightToLeft="false" code="zh_CN">chinese simplified</lang>
+	<lang id="12" rightToLeft="false" code="zh_TW">chinese traditional</lang>
 	<lang id="13" rightToLeft="false" code="ko">korean</lang>
 	<lang id="14" rightToLeft="true" code="ar">arabic</lang>
 	<lang id="15" rightToLeft="false" code="ja">japanese</lang>

Modified: openmeetings/trunk/singlewebapp/WebContent/swf10/base/mainDatasets.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/swf10/base/mainDatasets.lzx?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/swf10/base/mainDatasets.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/swf10/base/mainDatasets.lzx Sun May 19 08:21:38 2013
@@ -24,7 +24,7 @@
 <library>
 
 <!-- get values from config.xml -->
-<dataset type="http" name="myConfigSet" request="false" ondata="parent.mainTheme.loadTheme()">
+<dataset type="http" name="myConfigSet" request="false" ondata="parent.mainTheme.loadTheme()" proxied="false">
     <handler name="oninit">
         var d = new Date();
         this.setAttribute("src","config.xml?random="+d.getTime());
@@ -46,7 +46,7 @@
 </method>
 
 <!-- get values from config.xml -->
-<dataset type="http" name="mainTheme" request="false" ondata="canvas.myinit()">
+<dataset type="http" name="mainTheme" request="false" ondata="canvas.myinit()" proxied="false">
     <method name="loadTheme">
         var d = new Date();
         this.setAttribute("src","default-theme.xml?random="+d.getTime());

Modified: openmeetings/trunk/singlewebapp/WebContent/swf10/networkTesting/networktesting.lzx
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/WebContent/swf10/networkTesting/networktesting.lzx?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/WebContent/swf10/networkTesting/networktesting.lzx (original)
+++ openmeetings/trunk/singlewebapp/WebContent/swf10/networkTesting/networktesting.lzx Sun May 19 08:21:38 2013
@@ -107,9 +107,9 @@
         tests.testAll();
     </method>
 
-    <dataset type="http" name="settings" request="false" >
+    <dataset type="http" name="settings" request="false" proxied="false">
         <handler name="oninit">
-            this.setAttribute("src","config.xml");
+            this.setAttribute("src", "config.xml");
             this.doRequest();
         </handler>
         <handler name="ondata">
@@ -118,7 +118,7 @@
             canvas.showTests();
         </handler>
         <handler name="onerror" args="e">
-            if ($debug) Debug.write("Settings error", e);
+            if ($debug) Debug.write("Settings error [" + this.src + "]", e);
         </handler>
         <handler name="ontimeout" args="e">
             if ($debug) Debug.write("Settings timeout error", e);

Modified: openmeetings/trunk/singlewebapp/build.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/build.xml?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/build.xml (original)
+++ openmeetings/trunk/singlewebapp/build.xml Sun May 19 08:21:38 2013
@@ -217,30 +217,39 @@
 		</delete>
 	</target>
 	
+	<target name="web.copy">
+		<copy todir="${dist.webapps.dir}" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/openmeetings" />
+		</copy>
+		<filter token="wicket.mode" value="${wicket.mode}" />
+		<copy todir="${dist.webapps.dir}/WEB-INF" filtering="true" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/WEB-INF">
+				<include name="*.xml" />
+				<include name="*.properties" />
+				<exclude name="root-*.xml" />
+			</fileset>
+		</copy>
+		<copy todir="${dist.webapps.dir}/languages" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/languages" />
+		</copy>
+		<copy todir="${dist.webapps.dir}/conf" overwrite="true" force="true">
+			<fileset dir="${webcontent.src.dir}/conf" />
+		</copy>
+	</target>
+	
 	<!-- Check timestamp on files -->
-	<target name="prepare" depends="prepare.mkdir">
+	<target name="prepare" depends="prepare.mkdir,web.copy">
 		<copy todir="${red5.root}">
 			<fileset dir="${red5.lib}">
 				<exclude name="**/*.fla" />
 			</fileset>
 		</copy>
-		<copy todir="${dist.webapps.dir}">
-			<fileset dir="${webcontent.src.dir}/openmeetings" />
-		</copy>
 
 		<copy todir="${dist.webapps.dir}">
 			<fileset dir="${webcontent.src.dir}">
 				<include name="*.html" />
 			</fileset>
 		</copy>
-		<filter token="wicket.mode" value="${wicket.mode}" />
-		<copy todir="${dist.webapps.dir}/WEB-INF" filtering="true">
-			<fileset dir="${webcontent.src.dir}/WEB-INF">
-				<include name="*.xml" />
-				<include name="*.properties" />
-				<exclude name="root-*.xml" />
-			</fileset>
-		</copy>
 		<antcall target="-cleanup-jrebel" />
 		<chmod dir="${red5.root}" perm="755" includes="**/*.sh" />
 
@@ -250,14 +259,6 @@
 				<exclude name="services.xml" />
 			</fileset>
 		</copy>
-
-		<!-- add language files from .war version -->
-		<copy todir="${dist.webapps.dir}/languages">
-			<fileset dir="${webcontent.src.dir}/languages" />
-		</copy>
-		<copy todir="${dist.webapps.dir}/conf">
-			<fileset dir="${webcontent.src.dir}/conf" />
-		</copy>
 		<tstamp />
 	</target>
 
@@ -282,12 +283,7 @@
 		</copy>
 	</target>
 
-	<!-- TODO remove copy/paste clean-up targets -->
-	<target name="web.only" depends="jar.web.only">
-		<copy todir="${dist.webapps.dir}" overwrite="true" force="true">
-			<fileset dir="${webcontent.src.dir}/openmeetings" />
-		</copy>
-	</target>
+	<target name="web.only" depends="jar.web.only, web.copy"/>
 	
 	<target name="jar.web.only" depends="enhance.only.norefresh, current_revision">
 		<tstamp prefix="build">

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/InstallationConfig.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/InstallationConfig.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/InstallationConfig.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/installation/InstallationConfig.java Sun May 19 08:21:38 2013
@@ -18,11 +18,19 @@
  */
 package org.apache.openmeetings.installation;
 
+import java.io.Serializable;
+
 import org.apache.openmeetings.utils.crypt.MD5Implementation;
 
-public class InstallationConfig {
+public class InstallationConfig implements Serializable {
+	private static final long serialVersionUID = 8833208340193880562L;
 	public static final int USER_LOGIN_MINIMUM_LENGTH = 4;
 	public static final int USER_PASSWORD_MINIMUM_LENGTH = 4;
+	public String appName = "Openmeetings";
+	public String username;
+	public String password;
+	public String email;
+	public String group;
 	public String allowFrontendRegister = "1";
 	public String createDefaultRooms = "1";
 	public String ical_timeZone = "Europe/Berlin";
@@ -42,7 +50,7 @@ public class InstallationConfig {
 	public String imageMagicPath = "";
 	public String ffmpegPath = "";
 	public String soxPath = "";
-	public String jodPath = "./jod/lib";
+	public String jodPath = "/opt/jod/lib";
 	public String officePath = "";
 	
 	public String defaultLangId = "1";

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/app/Application.java Sun May 19 08:21:38 2013
@@ -18,12 +18,16 @@
  */
 package org.apache.openmeetings.web.app;
 
-import javax.servlet.http.HttpServletRequest;
+import static org.springframework.web.context.support.WebApplicationContextUtils.getWebApplicationContext;
 
+import org.apache.openmeetings.data.basic.FieldLanguagesValuesDao;
+import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.web.pages.MainPage;
 import org.apache.openmeetings.web.pages.NotInitedPage;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.openmeetings.web.pages.auth.SignInPage;
+import org.apache.openmeetings.web.pages.install.InstallWizardPage;
 import org.apache.openmeetings.web.user.dashboard.PrivateRoomsWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.RssWidgetDescriptor;
 import org.apache.openmeetings.web.user.dashboard.StartWidgetDescriptor;
@@ -41,16 +45,11 @@ import org.apache.wicket.markup.MarkupFa
 import org.apache.wicket.markup.MarkupParser;
 import org.apache.wicket.markup.MarkupResourceStream;
 import org.apache.wicket.markup.html.WebPage;
-import org.apache.wicket.protocol.http.RequestUtils;
 import org.apache.wicket.protocol.http.WebApplication;
 import org.apache.wicket.request.IRequestHandler;
 import org.apache.wicket.request.Url;
-import org.apache.wicket.request.cycle.RequestCycle;
-import org.apache.wicket.request.http.WebRequest;
 import org.apache.wicket.request.mapper.info.PageComponentInfo;
 import org.apache.wicket.settings.IPageSettings;
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.support.WebApplicationContextUtils;
 
 import ro.fortsoft.wicket.dashboard.WidgetRegistry;
 import ro.fortsoft.wicket.dashboard.web.DashboardContext;
@@ -59,6 +58,7 @@ import ro.fortsoft.wicket.dashboard.web.
 
 public class Application extends AuthenticatedWebApplication {
 	private DashboardContext dashboardContext;
+	private static boolean isInstalled;
 	
 	@Override
 	protected void init() {
@@ -97,6 +97,8 @@ public class Application extends Authent
 		dashboardSettings.setIncludeJQuery(false);
 		dashboardSettings.setIncludeJQueryUI(false);
 		
+		mountPage("swf", SwfPage.class);
+		mountPage("install", InstallWizardPage.class);
 		mountPage("signin", getSignInPageClass());
 		mountPage("notinited", NotInitedPage.class);
 		mountResource("/recordings/mp4/${id}", new Mp4RecordingResourceReference());
@@ -123,20 +125,6 @@ public class Application extends Authent
 		return (OmAuthenticationStrategy)get().getSecuritySettings().getAuthenticationStrategy();
 	}
 	
-	public final static String toAbsolutePath(final String relativePagePath) {
-	       HttpServletRequest req = (HttpServletRequest)((WebRequest)RequestCycle.get().getRequest()).getContainerRequest();
-	       return RequestUtils.toAbsolutePath(req.getRequestURL().toString(), relativePagePath);
-	}
-	
-	public final static String getBasePath() {
-		return toAbsolutePath("");
-	}
-
-	public final static String getBaseSwfPath() {
-		//TODO add proxy handling
-		return toAbsolutePath("../");
-	}
-
 	@Override
 	public Class<? extends Page> getHomePage() {
 		return MainPage.class;
@@ -160,10 +148,26 @@ public class Application extends Authent
 		return get().dashboardContext;
 	}
 	
+	private static <T> T _getBean(Class<T> clazz) {
+		return getWebApplicationContext(get().getServletContext()).getBean(clazz);
+	}
+	
+	public static boolean isInstalled() {
+		boolean result = isInstalled;
+		if (!isInstalled) {
+			if (ScopeApplicationAdapter.initComplete) {
+				result = _getBean(UsersDao.class).count() > 0 && _getBean(FieldLanguagesValuesDao.class).count() > 0;
+			}
+		}
+		return result;
+	}
+	
 	public static <T> T getBean(Class<T> clazz) {
 		if (ScopeApplicationAdapter.initComplete) {
-			ApplicationContext context = WebApplicationContextUtils.getWebApplicationContext(get().getServletContext());
-			return context.getBean(clazz);
+			if (!isInstalled()) {
+				throw new RestartResponseException(InstallWizardPage.class);
+			}
+			return _getBean(clazz);
 		} else {
 			throw new RestartResponseException(NotInitedPage.class);
 		}

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseInitedPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseInitedPage.java?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseInitedPage.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseInitedPage.java Sun May 19 08:21:38 2013
@@ -0,0 +1,39 @@
+/*
+ * 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.
+ */
+package org.apache.openmeetings.web.pages;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
+import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
+import org.apache.openmeetings.web.app.WebSession;
+
+public abstract class BaseInitedPage extends BasePage {
+	private static final long serialVersionUID = 5716753033219700254L;
+
+	@Override
+	protected String getApplicationName() {
+		return getBean(ConfigurationDao.class).getAppName();
+	}
+	
+	@Override
+	protected FieldLanguage getLanguage() {
+		return WebSession.getLanguageObj();
+	}
+}

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseNotInitedPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseNotInitedPage.java?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseNotInitedPage.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BaseNotInitedPage.java Sun May 19 08:21:38 2013
@@ -0,0 +1,49 @@
+/*
+ * 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.
+ */
+package org.apache.openmeetings.web.pages;
+
+import org.apache.openmeetings.installation.InstallationConfig;
+import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
+import org.apache.wicket.ajax.AjaxRequestTarget;
+import org.apache.wicket.request.IRequestParameters;
+
+public abstract class BaseNotInitedPage extends BasePage {
+	private static final long serialVersionUID = 5716753033219700254L;
+	private static final InstallationConfig installCfg = new InstallationConfig(); 
+	private static final FieldLanguage l = new FieldLanguage();
+	static {
+		l.setCode("en");
+		l.setRtl(false);
+	}
+
+
+	@Override
+	protected String getApplicationName() {
+		return installCfg.appName;
+	}
+	
+	@Override
+	protected FieldLanguage getLanguage() {
+		return l;
+	}
+	
+	@Override
+	protected void onParameterArrival(IRequestParameters arg0, AjaxRequestTarget arg1) {
+	}
+}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.html Sun May 19 08:21:38 2013
@@ -24,6 +24,7 @@
 		<link rel="shortcut icon" href="favicon.ico" type="image/x-icon"/>
 		<title wicket:id="pageTitle">[title]</title>
 		<link rel="stylesheet" type="text/css" href="css/openmeetings-forms.css"/>
+		<link media="screen" type="text/css" rel="stylesheet" href="css/theme.css"/>
 	</head>
 	<body>
 		<div wicket:id="header"></div>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/BasePage.java Sun May 19 08:21:38 2013
@@ -21,10 +21,8 @@ package org.apache.openmeetings.web.page
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.web.app.Application;
-import org.apache.openmeetings.web.app.WebSession;
 import org.apache.openmeetings.web.common.HeaderPanel;
 import org.apache.openmeetings.web.util.OmUrlFragment;
 import org.apache.openmeetings.web.util.OmUrlFragment.AreaKeys;
@@ -41,13 +39,16 @@ public abstract class BasePage extends A
 	private static final long serialVersionUID = -6237917782433412496L;
 	private final Map<String, String> options;
 
+	protected abstract FieldLanguage getLanguage();
+	protected abstract String getApplicationName();
+	
 	public BasePage() {
 		options = new HashMap<String, String>();
 		options.put("fragmentIdentifierSuffix", "");
 		options.put("keyValueDelimiter", "/");
-		String appName = Application.getBean(ConfigurationDao.class).getAppName();
+		String appName = getApplicationName();
 
-		FieldLanguage lang = WebSession.getLanguageObj();
+		FieldLanguage lang = getLanguage();
 		String code = lang.getCode();
 		add(new TransparentWebMarkupContainer("html")
 	    	.add(new AttributeModifier("xml:lang", code))

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.html Sun May 19 08:21:38 2013
@@ -20,8 +20,6 @@
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 	<wicket:head>
-		<link media="screen" type="text/css" rel="stylesheet" href="css/theme.css"/>
-		
 		<link media="screen" type="text/css" rel="stylesheet" href="css/jquery-ui-1.10.2.custom.min.css"/>
 		<script type="text/javascript">
 			function showBusyIndicator() {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/MainPage.java Sun May 19 08:21:38 2013
@@ -50,7 +50,7 @@ import org.slf4j.Logger;
 import org.wicketstuff.urlfragment.UrlFragment;
 
 @AuthorizeInstantiation("USER")
-public class MainPage extends BasePage {
+public class MainPage extends BaseInitedPage {
 	private static final long serialVersionUID = 6421960759218157999L;
 	private static final Logger log = Red5LoggerFactory.getLogger(MainPage.class, webAppRootKey);
 	private final MenuPanel menu;

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.html Sun May 19 08:21:38 2013
@@ -19,16 +19,12 @@
   
 -->
 <html xmlns:wicket="http://wicket.apache.org">
-	<head>
-		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
-		<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
-	</head>
-	<body>
-		<!-- FIXME localized versions of this file need to be created -->
-		<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!
-	</body>
+<wicket:extend>
+	<!-- FIXME localized versions of this file need to be created -->
+	<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!
+</wicket:extend>
 </html>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/NotInitedPage.java Sun May 19 08:21:38 2013
@@ -21,9 +21,8 @@ package org.apache.openmeetings.web.page
 import org.apache.openmeetings.remote.red5.ScopeApplicationAdapter;
 import org.apache.openmeetings.web.app.Application;
 import org.apache.wicket.RestartResponseException;
-import org.apache.wicket.markup.html.WebPage;
 
-public class NotInitedPage extends WebPage {
+public class NotInitedPage extends BaseNotInitedPage {
 	private static final long serialVersionUID = 5002281516467955607L;
 	
 	public NotInitedPage() {

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.html?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.html Sun May 19 08:21:38 2013
@@ -0,0 +1,115 @@
+<!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">
+<head>
+	<meta http-equiv="cache-control" content="no-cache">
+	
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+	<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7">
+	<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
+	<title wicket:id="titleAppName"></title>
+	<script type="text/javascript">
+		// If loaded bare into a browser, set the browser size to the canvas size
+		if (window === top) {
+			(function(width, height) {
+				// Cf. http://www.quirksmode.org/viewport/compatibility.html
+				if (window.innerHeight) {
+					// Sadly, innerHeight/Width is not r/w on some browsers, and resizeTo is for outerHeight/Width
+					window.resizeTo(
+							width ? (width + window.outerWidth - window.innerWidth)
+									: window.outerWidth, height ? (height
+									+ window.outerHeight - window.innerHeight)
+									: window.outerHeight);
+				} else if (document.documentElement
+						&& document.documentElement.clientHeight) {
+					if (width) {
+						document.documentElement.clientWidth = width;
+					}
+					if (height) {
+						document.documentElement.clientHeight = height;
+					}
+				} else {
+					if (width) {
+						document.body.clientWidth = width;
+					}
+					if (height) {
+						document.body.clientHeight = height;
+					}
+				}
+			})(null, null);
+		}
+	</script>
+	
+	<script type="text/javascript" src="embed-compressed.js"></script>
+	<script type="text/javascript" src="openmeetings_functions.js"></script>
+	<script type="text/javascript">
+		function getAppletStatus() {
+			return false;
+		}
+	</script>
+	
+	<style type="text/css">
+		html,body { /* http://www.quirksmode.org/css/100percheight.html */
+			height: 100%;
+			/* prevent scrollbars */
+			margin: 0;
+			padding: 0;
+			border: 0 none;
+			overflow: hidden;
+		}
+		
+		body {
+			background-color: #ffffff;
+		}
+		
+		img {
+			border: 0 none;
+		}
+	</style>
+</head>
+<body>
+	<script type="text/javascript">
+		lz.embed.swf({
+			url : swfurl,
+			allowfullscreen : 'true',
+			bgcolor : '#ffffff',
+			width : '100%',
+			height : '100%',
+			id : 'lzapp',
+			accessible : 'false'
+		});
+
+		lz.embed.lzapp.onloadstatus = function loadstatus(p) {
+			// called with a percentage (0-100) indicating load progress
+		}
+
+		lz.embed.lzapp.onload = function loaded() {
+			// called when this application is done loading
+		}
+	</script>
+	<div id="loading"
+		style="z-index: 666666; position: absolute; top: 50%; left: 50%;">
+		<img src="images/ajax-loader.gif" />
+	</div>
+	<noscript>Please enable JavaScript in order to use this
+		application.</noscript>
+</body>
+</html>
\ No newline at end of file

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.java?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/SwfPage.java Sun May 19 08:21:38 2013
@@ -0,0 +1,54 @@
+/*
+ * 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.
+ */
+package org.apache.openmeetings.web.pages;
+
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
+import org.apache.wicket.markup.head.IHeaderResponse;
+import org.apache.wicket.markup.head.JavaScriptHeaderItem;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.request.Url;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
+import org.apache.wicket.request.mapper.parameter.PageParametersEncoder;
+import org.apache.wicket.util.string.StringValue;
+
+public class SwfPage extends WebPage {
+	private static final long serialVersionUID = 6492618860620779445L;
+	private final String swf;
+	private final Url url;
+
+	public SwfPage() {
+		this(new PageParameters());
+	}
+
+	public SwfPage(PageParameters pp) {
+		add(new Label("titleAppName", getBean(ConfigurationDao.class).getAppName()));
+		StringValue swfVal = pp.get("swf");
+		swf = swfVal.isEmpty() ? "main.as3.swf11.swf" : swfVal.toString();
+		url = new PageParametersEncoder().encodePageParameters(pp);
+	}
+	
+	@Override
+	public void renderHead(IHeaderResponse response) {
+		super.renderHead(response);
+		response.render(JavaScriptHeaderItem.forScript(String.format("var swfurl = \"%1$s?%2$s\";", swf, url), "swfurl"));
+	}
+}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/ForgetPasswordDialog.java Sun May 19 08:21:38 2013
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.web.pages.auth;
 
-import static org.apache.openmeetings.web.app.Application.getBaseSwfPath;
 import static org.apache.openmeetings.web.app.Application.getBean;
 
 import java.util.Arrays;
@@ -27,6 +26,7 @@ import java.util.List;
 import org.apache.openmeetings.data.user.UserManager;
 import org.apache.openmeetings.data.user.dao.UsersDao;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
@@ -39,6 +39,7 @@ import org.apache.wicket.markup.html.pan
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
 import com.googlecode.wicket.jquery.ui.widget.dialog.DialogButton;
@@ -143,7 +144,8 @@ public class ForgetPasswordDialog extend
 
 	@Override
 	protected void onSubmit(AjaxRequestTarget target) {
-		getBean(UserManager.class).resetUser(
-			type == Type.email ? name : "", type == Type.login ? name : "", getBaseSwfPath());
+		//FIXME forgot password should be handled be Wicket
+		getBean(UserManager.class).resetUser(type == Type.email ? name : "", type == Type.login ? name : ""
+			, "" + getRequestCycle().urlFor(SwfPage.class, new PageParameters()));
 	}
 }

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/RegisterDialog.java Sun May 19 08:21:38 2013
@@ -20,7 +20,6 @@ package org.apache.openmeetings.web.page
 
 import static org.apache.openmeetings.utils.UserHelper.getMinLoginLength;
 import static org.apache.openmeetings.utils.UserHelper.getMinPasswdLength;
-import static org.apache.openmeetings.web.app.Application.getBaseSwfPath;
 import static org.apache.openmeetings.web.app.Application.getBean;
 
 import java.util.Arrays;
@@ -37,6 +36,7 @@ import org.apache.openmeetings.persisten
 import org.apache.openmeetings.persistence.beans.lang.FieldLanguage;
 import org.apache.openmeetings.persistence.beans.user.State;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.form.AjaxButton;
 import org.apache.wicket.extensions.validation.validator.RfcCompliantEmailAddressValidator;
@@ -49,6 +49,7 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 import org.apache.wicket.validation.validator.StringValidator;
 
 import com.googlecode.wicket.jquery.ui.widget.dialog.AbstractFormDialog;
@@ -110,11 +111,11 @@ public class RegisterDialog extends Abst
 
 	@Override
 	protected void onSubmit(AjaxRequestTarget target) {
-		//FIXME need to be refactored
+		//FIXME need to be refactored to be handled by Wicket
 		getBean(UserManager.class).registerUser(login, password, lastName
 				, firstName, email, null, ""/*street*/, ""/*additionalname*/, ""/*fax*/, ""/*zip*/
 				, state.getState_id(), ""/*town*/, lang.getLanguage_id(), ""/*phone*/, false/*sendSMS*/
-				, getBaseSwfPath(), false, tz.getJname());
+				, "" + getRequestCycle().urlFor(SwfPage.class, new PageParameters()), false, tz.getJname());
 	}
 	
 	class RegisterForm extends StatelessForm<String> {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.html Sun May 19 08:21:38 2013
@@ -41,7 +41,7 @@
 			</tr>
 			<tr>
 				<td><a wicket:id="forget"><wicket:ommessage key="311"/></a></td>
-				<td><a target="_blank" href="?swf=networktesting.swf10.swf"><wicket:ommessage key="1527"/></a></td>
+				<td><a wicket:id="netTest" target="_blank"><wicket:ommessage key="1527"/></a></td>
 			</tr>
 		</table>
 		<span wicket:id="feedback"></span>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInDialog.java Sun May 19 08:21:38 2013
@@ -30,6 +30,7 @@ import org.apache.openmeetings.remote.Ld
 import org.apache.openmeetings.web.app.Application;
 import org.apache.openmeetings.web.app.OmAuthenticationStrategy;
 import org.apache.openmeetings.web.app.WebSession;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.wicket.RestartResponseException;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
@@ -45,8 +46,10 @@ import org.apache.wicket.markup.html.for
 import org.apache.wicket.markup.html.form.PasswordTextField;
 import org.apache.wicket.markup.html.form.RequiredTextField;
 import org.apache.wicket.markup.html.form.StatelessForm;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.markup.html.panel.FeedbackPanel;
 import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
@@ -243,6 +246,16 @@ public class SignInDialog extends Abstra
 					f.open(target);
 				}
 			});
+			add(new Link<Void>("netTest") {
+				private static final long serialVersionUID = -9055312659797800331L;
+
+				@Override
+				public void onClick() {
+					PageParameters pp = new PageParameters();
+					pp.add("swf", "networktesting.swf10.swf");
+					setResponsePage(SwfPage.class, pp);
+				}
+			});
 		}
 
 		private void alreadyLoggedIn() {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.html Sun May 19 08:21:38 2013
@@ -20,7 +20,6 @@
 -->
 <html xmlns:wicket="http://wicket.apache.org">
 	<wicket:head>
-		<link media="screen" type="text/css" rel="stylesheet" href="css/theme.css"/>
 		<link media="screen" type="text/css" rel="stylesheet" href="css/jquery-ui-1.10.2.custom.min.css"/>
 		<style>
 			input:not([type='checkbox']):not([type='radio']), select {

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/auth/SignInPage.java Sun May 19 08:21:38 2013
@@ -23,14 +23,14 @@ import static org.apache.openmeetings.we
 
 import org.apache.openmeetings.data.basic.dao.ConfigurationDao;
 import org.apache.openmeetings.web.app.WebSession;
-import org.apache.openmeetings.web.pages.BasePage;
+import org.apache.openmeetings.web.pages.BaseInitedPage;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.head.IHeaderResponse;
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.request.IRequestParameters;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
 
-public class SignInPage extends BasePage {
+public class SignInPage extends BaseInitedPage {
 	private static final long serialVersionUID = -3843571657066167592L;
 	private SignInDialog d;
 	

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$CongradulationsStep.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard%24CongradulationsStep.html?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$CongradulationsStep.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$CongradulationsStep.html Sun May 19 08:21:38 2013
@@ -0,0 +1,55 @@
+<!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:panel>
+	<h2>
+		<a wicket:id="url">Enter the Application</a>
+	</h2>
+	<br />
+	<br />
+	If your Red5-Server runs on a different Port or on a different domain<br />
+	<a href="config.xml">alter the config values of the client</a>
+	<br />
+	<br />
+	<br />
+
+	<b> <span style="font-size: 1.4em">Mailing list</span></b>
+	<br />
+	<br />
+
+	<span style="font-size: 1.3em"><a
+		href="http://openmeetings.apache.org/mail-lists.html" target="_blank">http://openmeetings.apache.org/mail-lists.html</a></span>
+	<br />
+	<br />
+
+
+	<b> <span style="font-size: 1.4em">There are some companies
+			that also offer commercial support for Apache OpenMeetings:</span></b>
+	<br />
+	<br />
+
+	<span style="font-size: 1.3em"><a
+		href="http://openmeetings.apache.org/commercial-support.html"
+		target="_blank">http://openmeetings.apache.org/commercial-support.html</a></span>
+	<br />
+
+</wicket:panel>
+</html>

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard%24ParamsStep.html?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$ParamsStep.html Sun May 19 08:21:38 2013
@@ -0,0 +1,228 @@
+<!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:panel>
+	<fieldset id="userData">
+
+		<legend>Userdata</legend>
+		<ul>
+			<li><label wicket:for="cfg.username">Username</label>
+				<input wicket:id="cfg.username" title="Enter a username" type="text" />
+			</li>
+			<li><label wicket:for="cfg.password">Userpass</label>
+				<input wicket:id="cfg.password" title="Enter a password" type="password" />
+			</li>
+			<li><label wicket:for="cfg.email">EMail</label>
+				<input wicket:id="cfg.email" title="Enter a EMail" type="text" />
+			</li>
+			<li><label wicket:for="ical_timeZone">User Time Zone</label>
+				<select wicket:id="ical_timeZone"></select>
+			</li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="userOrga">
+
+		<legend>Organisation(Domains)</legend>
+		<ul>
+			<li><label wicket:for="cfg.group">Name</label>
+				<input wicket:id="cfg.group" title="Enter a default Organisation" type="text" /></li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="userConf">
+		<legend>Configuration</legend>
+		<ul>
+			<li><label for="configdefault">Allow self-registering (allow_frontend_register)</label>
+				<select wicket:id="allowFrontendRegister"></select>
+			</li>
+			<li><label wicket:for="sendEmailAtRegister">Send Email to new registered Users (sendEmailAtRegister)</label>
+				<select wicket:id="sendEmailAtRegister"></select>
+			</li>
+			<li><label wicket:for="sendEmailWithVerficationCode">New Users need to verify their EMail (sendEmailWithVerficationCode)</label>
+				<select wicket:id="sendEmailWithVerficationCode"></select>
+			</li>
+			<li><label wicket:for="createDefaultRooms">Default Rooms of all types will be created</label>
+				<select wicket:id="createDefaultRooms"></select>
+			</li>
+			<li><label wicket:for="cfg.mailReferer">Mail-Referer (system_email_addr)</label>
+				<input wicket:id="cfg.mailReferer" title="Enter a Referer" type="text" />
+			</li>
+			<li><label wicket:for="cfg.smtpServer">SMTP-Server (smtp_server)</label>
+				<input wicket:id="cfg.smtpServer" title="Enter a SMTP-Server" type="text" />
+			</li>
+			<li><label wicket:for="cfg.smtpPort">SMTP-Server Port(default Smtp-Server Port is 25) (smtp_port)</label>
+				<input wicket:id="cfg.smtpPort" title="Enter a SMTP-Server.Port normally 25" type="text" />
+			</li>
+			<li><label wicket:for="cfg.mailAuthName">SMTP-Username (email_userpass)</label>
+				<input wicket:id="cfg.mailAuthName" title="Enter the mail-username" type="text" />
+			</li>
+			<li><label wicket:for="cfg.mailAuthPass">SMTP-Userpass (email_userpass)</label>
+				<input wicket:id="cfg.mailAuthPass" title="Enter the mail-userpass" type="password" />
+			</li>
+			<li><label wicket:for="mailUseTls">Enable TLS in Mail Server Auth</label>
+				<select wicket:id="mailUseTls"></select>
+			</li>
+			<li><label wicket:for="replyToOrganizer">Set inviter's email
+					address as ReplyTo in email invitations (inviter.email.as.replyto)</label>
+				<select wicket:id="replyToOrganizer"></select>
+			</li>
+			<li><label wicket:for="defaultLangId">Default Language</label>
+				<select wicket:id="defaultLangId"></select>
+			</li>
+			<li><label wicket:for="cfg.defaultExportFont">Default Font for Export [default_export_font]</label>
+				<select wicket:id="cfg.defaultExportFont"></select>
+			</li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="userConf1">
+		<legend>Converters</legend>
+		<ul>
+			<li><label wicket:for="cfg.swfZoom">SWFTools Zoom</label>
+			<input wicket:id="cfg.swfZoom" title="Enter the dpi that swftools will use for PDF to SWF conversion"
+				type="text" />
+				<p>
+					<i>You can test if swftools is installed into system path by
+						opening a shell or cmd-prompt and type pdf2swf Enter the dpi
+						that swftools will use for PDF to SWF conversion. Default is 72
+						dpi. see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a>
+					</i>
+				</p></li>
+			<li><label wicket:for="cfg.swfJpegQuality">SWFTools JPEG Quality</label>
+				<input wicket:id="cfg.swfJpegQuality" 
+				title="Enter the quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)"
+				type="text" />
+				<p>
+					<i>You can test if swftools is installed into system path by
+						opening a shell or cmd-prompt and type pdf2swf Enter the
+						quality of embedded jpeg pictures to quality. 0 is worst (small),
+						100 is best (big). (default:85) see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a>
+					</i>
+				</p>
+			</li>
+			<li><label wicket:for="cfg.swfPath">SWFTools Path</label>
+				<input wicket:id="cfg.swfPath" 
+				title="Enter the path to swftools for example C:/swftools (Windows) or leave blank if swftools is a known to your system path"
+				type="text" />
+				<p>
+					<i>You can test if swftools is installed into system path by
+						opening a shell or cmd-prompt and type pdf2swf If this shows
+						a list of options leave this field blank otherwise you have to
+						specify the path to pdf2swf on your system see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a>
+					</i>
+				</p></li>
+			<li><label wicket:for="cfg.imageMagicPath">ImageMagick Path</label>
+				<input wicket:id="cfg.imageMagicPath" 
+				title="Enter the path to ImageMagick, leave blank if ImageMagick is successfully installed to system-path"
+				type="text" />
+				<p>
+					<i>see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a></i>
+				</p></li>
+			<li><label wicket:for="cfg.ffmpegPath">FFMPEG Path</label>
+				<input wicket:id="cfg.ffmpegPath" 
+				title="Enter the path to FFMPEG, leave blank if FFMPEG is successfully installed to system-path"
+				type="text" />
+				<p>
+					<i>see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a></i>
+				</p></li>
+			<li><label wicket:for="cfg.soxPath">SoX Path</label>
+				<input wicket:id="cfg.soxPath" 
+				title="Enter the path to SoX, leave blank if SoX is successfully installed to system-path"
+				type="text" />
+				<p>
+					<i>see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a></i>
+				</p></li>
+			<li><label wicket:for="cfg.jodPath">JOD Path</label>
+				<input wicket:id="cfg.jodPath"
+				title="The path to JOD library (http://code.google.com/p/jodconverter), configure the path to point to the lib directory of JOD that contains also the jodconverter-core-version.jar"
+				type="text" />
+				<p>
+					<i>see also <a
+						href="http://openmeetings.apache.org/installation.html"
+						target="_blank">Installation</a></i>
+				</p></li>
+			<li><label wicket:for="cfg.officePath">OpenOffice/LibreOffice Path for jodconverter</label>
+				<input wicket:id="cfg.officePath"
+				title="The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically"
+				type="text" />
+				<p>The path to OpenOffice/LibreOffice (optional) please set this
+					to the real path in case jodconverter is unable to find
+					OpenOffice/LibreOffice installation</p></li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="userConf2">
+
+		<legend>Crypt Type</legend>
+		<ul>
+			<li><label wicket:for="cfg.cryptClassName">Crypt Class</label>
+				<input wicket:id="cfg.cryptClassName"  type="text"
+				title="Enter the Class name of the Encryption Class. DO NOT ALTER THIS IF YOU ARE NOT SURE" />
+				<p>
+					<i> You can use this default crypt type which is equal to
+						PHP-MD5 function or BSD-Style encryption by using:<b>org.apache.openmeetings.utils.crypt.MD5CryptImplementation</b>
+						for more information or to write your own Crypt-Style see: <a
+						href="http://openmeetings.apache.org/CustomCryptMechanism.html"
+						target="_blank">Custom Crypt Mechanism</a> You can edit this
+						value later BUT previous created Users and Sessions might be not
+						usable anymore
+					</i>
+				</p></li>
+		</ul>
+	</fieldset>
+
+	<fieldset id="red5sip">
+		<legend>red5SIP Configuration</legend>
+		<ul>
+			<li><label wicket:for="red5SipEnable">Enable SIP</label>
+				<select wicket:id="red5SipEnable"></select>
+				<p>
+					<i> Enable red5SIP integration </i>
+				</p> </li>
+
+			<li><label wicket:for="cfg.red5SipRoomPrefix">SIP rooms prefix</label>
+				<input wicket:id="cfg.red5SipRoomPrefix" type="text" />
+				<p>
+					<i>Prefix for phone number of conference rooms</i>
+				</p></li>
+
+			<li><label wicket:for="cfg.red5SipExtenContext">SIP extensions context</label>
+				<input wicket:id="cfg.red5SipExtenContext" type="text" />
+				<p>
+					<i>Context of Asterisk extensions</i>
+				</p></li>
+		</ul>
+	</fieldset>
+</wicket:panel>
+</html>

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$WelcomeStep.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard%24WelcomeStep.html?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$WelcomeStep.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard$WelcomeStep.html Sun May 19 08:21:38 2013
@@ -0,0 +1,157 @@
+<!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:panel>
+	<ol>
+		<li>
+			<h4>
+				<a id="Recommendation_for_production_environment"></a>Recommendation
+				for production environment<a target="_blank"
+					href="#Recommendation_for_production_environment"
+					class="section_anchor"></a>
+			</h4>
+		<blockquote>
+			By default <span wicket:id="app"></span> uses the integrated Apache Derby database. For
+			production environment you should consider using <a target="_blank"
+				href="http://openmeetings.apache.org/MySQLConfig.html">MySQL</a>, <a
+				target="_blank"
+				href="http://openmeetings.apache.org/PostgresConfig.html">Postgres</a>
+			or for example <a target="_blank"
+				href="http://openmeetings.apache.org/IBMDB2Config.html">IBM DB2</a>
+			or <a href="http://openmeetings.apache.org/OracleConfig.html"
+				target="_blank">Oracle</a>
+		</blockquote>
+		</li>
+		<li><h4>
+				<a id="Enabling_Image_Upload_and_import_to_whiteboard"></a>Enabling
+				Image Upload and import to whiteboard<a
+					href="#Enabling_Image_Upload_and_import_to_whiteboard"
+					class="section_anchor"></a>
+			</h4>
+			<ul>
+				<li>Install <strong>ImageMagick</strong> on the server, you can
+					get more information on <a target="_blank"
+					href="http://www.imagemagick.org" rel="nofollow">http://www.imagemagick.org</a>
+					regarding installation. The instructions for installation can be
+					found there <a target="_blank"
+					href="http://www.imagemagick.org/script/binary-releases.php"
+					rel="nofollow">http://www.imagemagick.org/script/binary-releases.php</a>,
+					however on most linux systems you can get it via your favorite
+					package managers (apt-get it)
+				</li>
+			</ul>
+		</li>
+		<li><h4>
+				<a id="Enabling_import_of_PDFs_into_whiteboard"></a>Enabling
+				import of PDFs into whiteboard<a
+					href="#Enabling_import_of_PDFs_into_whiteboard"
+					class="section_anchor"></a>
+			</h4>
+			<ul>
+				<li>Install <strong>GhostScript</strong> on the server, you can
+					get more information on <a target="_blank"
+					href="http://pages.cs.wisc.edu/%7Eghost/" rel="nofollow">http://pages.cs.wisc.edu/~ghost/</a>
+					regarding installation. The instructions for installation can be
+					found there, however on most linux systems you can get it via your
+					favorite package managers (apt-get it).
+				</li>
+				<li>Install <strong>SWFTools</strong> on the server, you can get
+					more information on <a target="_blank"
+					href="http://www.swftools.org/" rel="nofollow">http://www.swftools.org/</a>
+					regarding installation. Some of the Linux distributions already have
+					it in there package manager see <a target="_blank"
+					href="http://packages.debian.org/unstable/utils/swftools"
+					rel="nofollow">http://packages.debian.org/unstable/utils/swftools</a>),
+					the recommended version of <strong>SWFTools</strong> is 0.9 as prior
+					version have a bug that does lead to wrong object dimensions in the
+					Whiteboard
+				</li>
+		</ul>
+		</li>
+		<li><h4>
+				<a
+					id="Enabling_import_of_.doc,_.docx,_.ppt,_.pptx,_..._all_Office_Docu"></a>Enabling
+				import of .doc, .docx, .ppt, .pptx, ... all Office Documents into
+				whitebaord<a
+					href="#Enabling_import_of_.doc,_.docx,_.ppt,_.pptx,_..._all_Office_Docu"
+					class="section_anchor"></a>
+			</h4>
+			<ul>
+				<li><strong>OpenOffice-Service</strong> started and listening on
+					port 8100, see <a target="_blank"
+					href="http://openmeetings.apache.org/OpenOfficeConverter.html">OpenOfficeConverter</a>
+					for details</li>
+			</ul>
+		</li>
+		<li><h4>
+				<a
+					id="Enabling_Recording_and_import_of_.avi,_.flv,_.mov_and_.mp4_into"></a>Enabling
+				Recording and import of .avi, .flv, .mov and .mp4 into whiteboard<a
+					href="#Enabling_Recording_and_import_of_.avi,_.flv,_.mov_and_.mp4_into"
+					class="section_anchor"></a>
+			</h4>
+			<ul>
+				<li>Install <strong>FFMpeg</strong>. You should get FFMPEG in an
+					up to date copy! For Windows you can download a Build for example
+					from <a target="_blank" href="http://ffmpeg.arrozcru.org/builds/"
+					rel="nofollow">http://ffmpeg.arrozcru.org/builds/</a> Linux or OSx
+					Users should be able to use one of the various Installation
+					Instructions on the Web. You need to enable libmp3lame!
+				</li>
+				<li>Install <strong>SoX</strong> <a
+					href="http://sox.sourceforge.net/" target="_BLANK">http://sox.sourceforge.net/</a>.
+					You should install SoX in a up to date copy! SoX 12.xx will NOT
+					work!
+				</li>
+			</ul>
+		</li>
+	</ol>
+
+	<br />
+	<b> <span style="font-size: 1.2em">If you have further
+			questions or need support in installation or hosting:</span></b>
+	<br />
+	<br />
+
+	<b> <span style="font-size: 1.2em">Commercial-Support:</span></b>
+	<br />
+	<br />
+
+	<span style="font-size: 1.1em"><b>By phone</b></span>
+	<br />
+	<span style="font-size: 1.1em">++49 721 467 27327</span>
+	<br />
+	<span style="font-size: 1.1em"><b>By email</b></span>
+	<br />
+	<span style="font-size: 1.1em"><a
+		href="mailto:service@openmeetings.de">service@openmeetings.de</a></span>
+	<br />
+	<br />
+	<br />
+	<b><span style="font-size: 1.2em">Community-Support:</span></b>
+	<br />
+	<br />
+	<span style="font-size: 1.1em"><a
+		href="http://openmeetings.apache.org/mail-lists.html"
+		target="_blank">Mailing lists</a></span>
+	<br />
+</wicket:panel>
+</html>
\ No newline at end of file

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard.java?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizard.java Sun May 19 08:21:38 2013
@@ -0,0 +1,276 @@
+/*
+ * 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.
+ */
+package org.apache.openmeetings.web.pages.install;
+
+import static org.apache.openmeetings.OpenmeetingsVariables.webAppRootKey;
+import static org.apache.openmeetings.web.app.Application.getBean;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.LinkedHashMap;
+import java.util.List;
+
+import org.apache.openmeetings.installation.ImportInitvalues;
+import org.apache.openmeetings.installation.InstallationConfig;
+import org.apache.openmeetings.persistence.beans.basic.OmTimeZone;
+import org.apache.openmeetings.web.app.Application;
+import org.apache.wicket.extensions.wizard.Wizard;
+import org.apache.wicket.extensions.wizard.WizardModel;
+import org.apache.wicket.extensions.wizard.WizardStep;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.ChoiceRenderer;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.RequiredTextField;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.link.Link;
+import org.apache.wicket.model.CompoundPropertyModel;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.red5.logging.Red5LoggerFactory;
+import org.slf4j.Logger;
+
+//TODO maybe JQ wizard should be used
+public class InstallWizard extends Wizard {
+	private static final Logger log = Red5LoggerFactory.getLogger(InstallWizard.class, webAppRootKey);
+	private static final long serialVersionUID = -8460835123671633121L;
+	private InstallationConfig cfg;
+	private CompoundPropertyModel<InstallWizard> model;
+	private final static List<SelectOption> yesNoList = Arrays.asList(SelectOption.NO, SelectOption.YES);
+	private final static List<String> allFonts = Arrays.asList("TimesNewRoman", "Verdana", "Arial");
+	
+	private final class WelcomeStep extends WizardStep {
+		private static final long serialVersionUID = 323088743806847666L;
+
+		public WelcomeStep() {
+			//TODO localize
+			//TODO add check for DB connection
+			setTitleModel(Model.of(cfg.appName + " - Installation"));
+            setSummaryModel(Model.of(""));
+            add(new Label("app", cfg.appName));
+		}
+	}
+
+	private final class ParamsStep extends WizardStep {
+		private static final long serialVersionUID = -2420496234328471542L;
+		
+		//TODO separate to separate steps
+		public ParamsStep() throws Exception {
+			//TODO localize
+			//TODO validation
+			setTitleModel(Model.of(cfg.appName + " - Installation"));
+            setSummaryModel(Model.of(""));
+            add(new RequiredTextField<String>("cfg.username"));
+            add(new PasswordTextField("cfg.password"));
+            add(new RequiredTextField<String>("cfg.email"));
+            add(new TzDropDown("ical_timeZone"));
+            add(new RequiredTextField<String>("cfg.group"));
+            add(new YesNoDropDown("allowFrontendRegister"));
+            add(new YesNoDropDown("sendEmailAtRegister"));
+            add(new YesNoDropDown("sendEmailWithVerficationCode"));
+            add(new YesNoDropDown("createDefaultRooms"));
+            add(new TextField<String>("cfg.mailReferer"));
+            add(new TextField<String>("cfg.smtpServer"));
+            add(new TextField<String>("cfg.smtpPort"));
+            add(new TextField<String>("cfg.mailAuthName"));
+            add(new PasswordTextField("cfg.mailAuthPass").setRequired(false));
+            add(new YesNoDropDown("mailUseTls"));
+            //TODO check mail server
+            add(new YesNoDropDown("replyToOrganizer"));
+            add(new LangDropDown("defaultLangId"));
+            add(new DropDownChoice<String>("cfg.defaultExportFont", allFonts));
+            add(new TextField<String>("cfg.swfZoom"));
+            add(new TextField<String>("cfg.swfJpegQuality"));
+            add(new TextField<String>("cfg.swfPath"));
+            add(new TextField<String>("cfg.imageMagicPath"));
+            add(new TextField<String>("cfg.ffmpegPath"));
+            add(new TextField<String>("cfg.soxPath"));
+            add(new TextField<String>("cfg.jodPath"));
+            add(new TextField<String>("cfg.officePath"));
+            add(new RequiredTextField<String>("cfg.cryptClassName")); //Validate class
+            
+            //TODO add check for red5sip connection
+            add(new YesNoDropDown("red5SipEnable"));
+            add(new TextField<String>("cfg.red5SipRoomPrefix"));
+            add(new TextField<String>("cfg.red5SipExtenContext"));
+		}
+		
+		@Override
+		public void applyState() {
+			// TODO Auto-generated method stub
+			super.applyState();
+		}
+	}
+	
+	private final class CongradulationsStep extends WizardStep {
+		private static final long serialVersionUID = 630278992275373536L;
+
+		public CongradulationsStep() {
+			add(new Link<Void>("url") {
+				private static final long serialVersionUID = -8589303259501551418L;
+
+				@Override
+				public void onClick() {
+					setResponsePage(Application.get().getHomePage());
+				}
+			});
+		}
+	}
+	
+	//onInit, applyState
+	public InstallWizard(String id) {
+		super(id);
+		
+		cfg = new InstallationConfig();
+		setDefaultModel(model = new CompoundPropertyModel<InstallWizard>(this));
+		WizardModel wmodel = new WizardModel();
+		try {
+			wmodel.add(new WelcomeStep());
+			wmodel.add(new ParamsStep());
+			//TODO add install/progress step
+			wmodel.add(new CongradulationsStep());
+		} catch (Exception e) {
+			log.error("Error while creating Wizard!", e);
+		}
+		init(wmodel);
+	}
+	
+	@Override
+	public void onCancel() {
+		setResponsePage(Application.isInstalled() ? Application.get().getHomePage() : InstallWizardPage.class);
+	}
+	
+	private static class SelectOption implements Serializable {
+		private static final long serialVersionUID = 2559982745410615390L;
+		private static SelectOption NO = new SelectOption("0", "No");
+		private static SelectOption YES = new SelectOption("1", "Yes");
+		public String key;
+		@SuppressWarnings("unused")
+		public String value;
+
+		SelectOption(String key, String value) {
+			this.key = key;
+			this.value = value;
+		}
+	}
+
+	private abstract class WizardDropDown<T>  extends DropDownChoice<T> {
+		private static final long serialVersionUID = 8870736740532631296L;
+		T option;
+		IModel<Object> propModel;
+		
+		WizardDropDown(String id) {
+			super(id);
+			propModel = InstallWizard.this.model.bind("cfg." + id);
+			setModel(new PropertyModel<T>(this, "option"));
+		}
+	}
+	
+	private final class TzDropDown extends WizardDropDown<OmTimeZone> {
+		private static final long serialVersionUID = 6084349711073918837L;
+
+		public TzDropDown(String id) throws Exception {
+			super(id);
+            List<OmTimeZone> tzList = getBean(ImportInitvalues.class).getTimeZones();
+			setChoices(tzList);
+			setChoiceRenderer(new IChoiceRenderer<OmTimeZone>() {
+				private static final long serialVersionUID = 1L;
+				
+				public Object getDisplayValue(OmTimeZone object) {
+    				return object.getLabel() + " (" + object.getJname() + ")";
+    			}
+    			public String getIdValue(OmTimeZone object, int index) {
+    				return object.getIcal();
+    			}
+			});
+			option = tzList.get(0);
+			for (OmTimeZone tz : tzList) {
+				if (tz.getIcal().equals(propModel.getObject())) {
+					option = tz;
+					break;
+				}
+			}
+		}
+		
+		@Override
+		protected void onModelChanged() {
+			if (propModel != null && option != null) {
+				propModel.setObject(option.getIcal());
+			}
+		}
+	}
+	
+	private class SelectOptionDropDown extends WizardDropDown<SelectOption> {
+		private static final long serialVersionUID = -1433015274371279328L;
+
+		SelectOptionDropDown(String id) {
+			super(id);
+			setChoiceRenderer(new ChoiceRenderer<SelectOption>("value", "key"));
+		}
+		
+		@Override
+		protected void onModelChanged() {
+			if (propModel != null && option != null) {
+				propModel.setObject(option.key);
+			}
+		}
+		
+	}
+	private final class YesNoDropDown extends SelectOptionDropDown {
+		private static final long serialVersionUID = 578375825530725477L;
+		
+		YesNoDropDown(String id) {
+			super(id);
+			setChoices(yesNoList);
+			this.option = SelectOption.NO.key.equals(propModel.getObject()) ?
+					SelectOption.NO : SelectOption.YES;
+		}
+	}
+	
+	private final class LangDropDown extends SelectOptionDropDown {
+		private static final long serialVersionUID = -2826765890538795285L;
+
+		public LangDropDown(String id) throws Exception {
+			super(id);
+			LinkedHashMap<Integer, LinkedHashMap<String, Object>> allLanguagesAll
+				= getBean(ImportInitvalues.class).getLanguageFiles();
+			
+			List<SelectOption> list = new ArrayList<SelectOption>();
+			
+			for (Integer key : allLanguagesAll.keySet()) {
+				String langName = (String) allLanguagesAll.get(key).get("name");
+				String langCode = (String) allLanguagesAll.get(key).get("code");
+				SelectOption op = new SelectOption(key.toString(), langName);
+				if (langCode != null) {
+					if (getSession().getLocale().toString().startsWith(langCode)) {
+						option = op;
+					}
+					list.add(op);
+				}
+				if (option == null && key.toString().equals(cfg.defaultLangId)) {
+					option = op;
+				}
+			}
+			setChoices(list);
+		}
+	}
+}

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.html?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.html (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.html Sun May 19 08:21:38 2013
@@ -0,0 +1,146 @@
+<!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:head>
+	<style type="text/css">
+		form,fieldset {
+			margin: 0;
+			padding: 0;
+		}
+		fieldset {
+			border: 1px solid #000;
+		}
+		legend {
+			padding: 0;
+			color: #000;
+		}
+		input:focus,textarea:focus {
+			color: #000;
+			background: #fff;
+			outline: 1px solid black;
+		}
+		input,textarea,select {
+			margin: 0;
+			padding: 1px;
+			position: absolute;
+			left: 700px;
+			background: #ddd;
+			font-size: 100%;
+			font-family: inherit;
+			width: 300px;
+		}
+		select {
+			padding: 0;
+		}
+		form.wicketExtensionsWizardForm {
+			width: 1024px;
+			font-size: 1.1em;
+			color: #333;
+		}
+		form.wicketExtensionsWizardForm legend {
+			padding-left: 0;
+		}
+		form.wicketExtensionsWizardForm legend,form.wicketExtensionsWizardForm label {
+			color: #333;
+		}
+		form.wicketExtensionsWizardForm fieldset {
+			border: none;
+			border-top: 1px solid #C9DCA6;
+		}
+		form.wicketExtensionsWizardForm fieldset fieldset {
+			background: none;
+		}
+		form.wicketExtensionsWizardForm fieldset li {
+			padding: 5px 10px 7px;
+		}
+		form.wicketExtensionsWizardForm fieldset {
+			margin-bottom: 10px;
+		}
+		form.wicketExtensionsWizardForm legend {
+			padding: 0 2px;
+			font-weight: bold;
+		}
+		form.wicketExtensionsWizardForm label {
+			display: inline-block;
+			line-height: 1.8;
+			vertical-align: top;
+		}
+		form.wicketExtensionsWizardForm fieldset ol {
+			margin: 0;
+			padding: 0;
+		}
+		form.wicketExtensionsWizardForm fieldset li {
+			list-style: none;
+			margin: 0;
+		}
+		form.wicketExtensionsWizardForm fieldset fieldset {
+			border: none;
+			margin: 3px 0 0;
+		}
+		form.wicketExtensionsWizardForm fieldset fieldset legend {
+			padding: 0 0 5px;
+			font-weight: normal;
+		}
+		form.wicketExtensionsWizardForm fieldset fieldset label {
+			display: block;
+			width: auto;
+		}
+		form.wicketExtensionsWizardForm em {
+			font-weight: bold;
+			font-style: normal;
+			color: #f00;
+		}
+		form.wicketExtensionsWizardForm label {
+			width: 420px;
+		}
+		form.wicketExtensionsWizardForm fieldset fieldset label {
+			margin-left: 123px;
+		}
+		.wicketExtensionsWizard {
+			padding-right: 100px;
+			padding-left: 100px;
+			width: 850px;
+		}
+		.wicketExtensionsWizardHeader {
+			font-size: 2em;
+			padding: 10px;
+		}
+		.wicketExtensionsWizardViewInner {
+			padding: 5px;
+		}
+		.wicketExtensionsWizardInnerTable, .wicketExtensionsWizardOuterTable {
+			width: 100%;
+		}
+		.wicketExtensionsWizardButtonBar input {
+			position: initial;
+			width: initial;
+			padding-right: 15px;
+			padding-left: 15px;
+			margin: 5px;
+		}
+	</style>
+</wicket:head>
+<wicket:extend>
+	<div>
+		<span wicket:id="wizard"></span>
+	</div>
+</wicket:extend>
+</html>
\ No newline at end of file

Added: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.java?rev=1484240&view=auto
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.java (added)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/pages/install/InstallWizardPage.java Sun May 19 08:21:38 2013
@@ -0,0 +1,34 @@
+/*
+ * 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.
+ */
+package org.apache.openmeetings.web.pages.install;
+
+import org.apache.openmeetings.web.app.Application;
+import org.apache.openmeetings.web.pages.BaseNotInitedPage;
+import org.apache.wicket.RestartResponseException;
+
+public class InstallWizardPage extends BaseNotInitedPage {
+	private static final long serialVersionUID = -438388395397826138L;
+
+	public InstallWizardPage() {
+		if (Application.isInstalled()) {
+			throw new RestartResponseException(Application.get().getHomePage());
+		}
+		add(new InstallWizard("wizard"));
+	}
+}

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.html?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.html (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.html Sun May 19 08:21:38 2013
@@ -35,7 +35,7 @@
    				<h3><wicket:ommessage key="281"/></h3>
    				<a wicket:ommessage="href:282"><wicket:ommessage key="286"/></a><br/>
    				<a wicket:ommessage="href:283"><wicket:ommessage key="287"/></a><br/>
-				<a target="_blank" href="?swf=networktesting.swf10.swf"><wicket:ommessage key="1527"/></a><br/>
+				<a wicket:id="netTest" target="_blank"><wicket:ommessage key="1527"/></a><br/>
 			</td>
    		</tr>
    	</table>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java?rev=1484240&r1=1484239&r2=1484240&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/web/user/dashboard/WelcomeWidgetView.java Sun May 19 08:21:38 2013
@@ -28,10 +28,13 @@ import org.apache.openmeetings.data.user
 import org.apache.openmeetings.persistence.beans.user.User;
 import org.apache.openmeetings.web.common.UploadableProfileImagePanel;
 import org.apache.openmeetings.web.pages.MainPage;
+import org.apache.openmeetings.web.pages.SwfPage;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.markup.html.AjaxLink;
 import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.link.Link;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.request.mapper.parameter.PageParameters;
 
 import ro.fortsoft.wicket.dashboard.Widget;
 import ro.fortsoft.wicket.dashboard.web.WidgetView;
@@ -65,5 +68,15 @@ public class WelcomeWidgetView extends W
 				((MainPage)getPage()).updateContents(PROFILE_EDIT, target);
 			}
 		});
+		add(new Link<Void>("netTest") {
+			private static final long serialVersionUID = -9055312659797800331L;
+
+			@Override
+			public void onClick() {
+				PageParameters pp = new PageParameters();
+				pp.add("swf", "networktesting.swf10.swf");
+				setResponsePage(SwfPage.class, pp);
+			}
+		});
 	}
 }