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 2014/07/18 20:47:02 UTC

svn commit: r1611763 - in /openmeetings/trunk/singlewebapp: openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ openmeetings-core/src/main/java/org/apache/openme...

Author: solomax
Date: Fri Jul 18 18:47:00 2014
New Revision: 1611763

URL: http://svn.apache.org/r1611763
Log:
[OPENMEETINGS-1045] basic button added, sharing is not started;
	code clean-up;

Added:
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/down.png
      - copied unchanged from r1611758, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/down.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/next.png
      - copied unchanged from r1611740, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/next.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/play.png
      - copied unchanged from r1611740, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/play.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/previous.png
      - copied unchanged from r1611740, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/previous.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/stop.png
      - copied unchanged from r1611740, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/stop.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/up.png
      - copied unchanged from r1611740, openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/up.png
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/images/user_add.png   (with props)
Removed:
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/servlet/outputhandler/ScreenController.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/down.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/next.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/play.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/previous.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/stop.png
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/up.png
Modified:
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
    openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
    openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
    openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
    openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp
    openmeetings/trunk/singlewebapp/openmeetings-server/src/main/assembly/components/all.xml
    openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/AboutDialog.java
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/room.css
    openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java Fri Jul 18 18:47:00 2014
@@ -358,7 +358,7 @@ public class FLVRecorderService implemen
 			}
 
 			if (flvRecordingId != null) {
-				flvRecordingDaoImpl.updateFlvRecordingEndTime(flvRecordingId, new Date(), currentClient.getOrganization_id());
+				flvRecordingDaoImpl.updateFlvRecordingEndTime(flvRecordingId, new Date());
 
 				// Reset values
 				currentClient.setFlvRecordingId(null);

Modified: openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Fri Jul 18 18:47:00 2014
@@ -315,8 +315,6 @@ public class ScopeApplicationAdapter ext
 					currentClient.setStreamPublishStarted(true);
 				}
 
-				currentClient.setOrganization_id(Long.parseLong(map.get("organization_id").toString()));
-
 				sessionManager.updateClientByStreamId(current.getClient().getId(), currentClient, false, null);
 
 				Map returnMap = new HashMap();
@@ -1312,7 +1310,6 @@ public class ScopeApplicationAdapter ext
 			Client currentClient = sessionManager.getClientByStreamId(streamid, null);
 			currentClient.setRoom_id(room_id);
 			currentClient.setRoomEnter(new Date());
-			currentClient.setOrganization_id(organization_id);
 
 			currentClient.setUsercolor(colorObj);
 

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/basic/ConfigurationDao.java Fri Jul 18 18:47:00 2014
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.db.dao.basic;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_MAX_UPLOAD_SIZE_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.DEFAULT_BASE_URL;
@@ -179,7 +180,7 @@ public class ConfigurationDao implements
 
 	public String getAppName() {
 		if (appName == null) {
-			appName = getConfValue("application.name", String.class, DEFAULT_APP_NAME);
+			appName = getConfValue(CONFIG_APPLICATION_NAME, String.class, DEFAULT_APP_NAME);
 		}
 		return appName;
 	}
@@ -244,7 +245,7 @@ public class ConfigurationDao implements
 			configKeyCryptClassName = value;
 		} else if ("show.whiteboard.draw.status".equals(key)) {
 			whiteboardDrawStatus = "1".equals(value);
-		} else if ("application.name".equals(key)) {
+		} else if (CONFIG_APPLICATION_NAME.equals(key)) {
 			appName = value;
 		}
 		//TODO ensure entity returned is updated

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/record/FlvRecordingDao.java Fri Jul 18 18:47:00 2014
@@ -211,14 +211,13 @@ public class FlvRecordingDao {
 		return null;
 	}
 
-	public void updateFlvRecordingEndTime(Long flvRecordingId, Date recordEnd, Long organization_id) {
+	public void updateFlvRecordingEndTime(Long flvRecordingId, Date recordEnd) {
 		try {
 
 			FlvRecording fId = get(flvRecordingId);
 
 			fId.setProgressPostProcessing(0);
 			fId.setRecordEnd(recordEnd);
-			fId.setOrganization_id(organization_id);
 
 			update(fId);
 		} catch (Exception ex2) {

Modified: openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Client.java Fri Jul 18 18:47:00 2014
@@ -316,12 +316,6 @@ public class Client implements IDataProv
 	private Long flvRecordingMetaDataId;
 	
 	/**
-	 * @see Client#getOrganization_id()
-	 */
-	@Column(name = "organization_id")
-	private Long organization_id;
-	
-	/**
 	 * @see Client#isStartRecording()
 	 */
 	@Column(name = "start_recording")
@@ -782,14 +776,6 @@ public class Client implements IDataProv
 		this.screenPublishStarted = screenPublishStarted;
 	}
 
-	public Long getOrganization_id() {
-		return organization_id;
-	}
-
-	public void setOrganization_id(Long organization_id) {
-		this.organization_id = organization_id;
-	}
-
 	public boolean isStartRecording() {
 		return startRecording;
 	}

Modified: openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-install/src/main/java/org/apache/openmeetings/installation/ImportInitvalues.java Fri Jul 18 18:47:00 2014
@@ -20,6 +20,7 @@ package org.apache.openmeetings.installa
 
 import static org.apache.openmeetings.db.dao.basic.ConfigurationDao.DEFAULT_MAX_UPLOAD_SIZE;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_NAME;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPOINTMENT_REMINDER_MINUTES;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_CRYPT_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DASHBOARD_SHOW_MYROOMS_KEY;
@@ -27,6 +28,8 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LANDING_ZONE;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAULT_LDAP_ID;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_DEFAUT_LANG_KEY;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_PORT;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_PROTOCOL;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FRONTEND_REGISTER_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_IGNORE_BAD_SSL;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_LOGIN_MIN_LENGTH_KEY;
@@ -35,6 +38,7 @@ import static org.apache.openmeetings.ut
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_RSS_FEED1_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_RSS_FEED2_KEY;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SCREENSHARING_QUALITY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SOAP_REGISTER_KEY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_LOGIN_MINIMUM_LENGTH;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.USER_PASSWORD_MINIMUM_LENGTH;
@@ -88,7 +92,7 @@ public class ImportInitvalues {
 	private static final Logger log = Red5LoggerFactory.getLogger(ImportInitvalues.class, webAppRootKey);
 
 	@Autowired
-	private ConfigurationDao configurationDao;
+	private ConfigurationDao cfgDao;
 	@Autowired
 	private UserDao usersDao;
 	@Autowired
@@ -291,130 +295,94 @@ public class ImportInitvalues {
 	}
 
 	public void loadConfiguration(InstallationConfig cfg) {
-		configurationDao
-				.add(
-						CONFIG_CRYPT_KEY,
-						cfg.cryptClassName,
-						null,
-						"This Class is used for Authentification-Crypting. "
-								+ "Be carefull what you do here! If you change it while "
-								+ "running previous Pass of users will not be workign anymore! "
-								+ "for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html");
-
-		configurationDao.add(CONFIG_FRONTEND_REGISTER_KEY,
-				cfg.allowFrontendRegister, null, "Is user register available on login screen");
-		configurationDao.add(CONFIG_SOAP_REGISTER_KEY, "1", null, "Is user register available via SOAP/REST");
-		configurationDao.add("default_group_id", "1", null, "");
+		cfgDao.add(CONFIG_CRYPT_KEY, cfg.cryptClassName, null,
+				"This Class is used for Authentification-Crypting. "
+						+ "Be carefull what you do here! If you change it while "
+						+ "running previous Pass of users will not be workign anymore! "
+						+ "for more Information see http://openmeetings.apache.org/CustomCryptMechanism.html");
+
+		cfgDao.add(CONFIG_FRONTEND_REGISTER_KEY, cfg.allowFrontendRegister, null, "Is user register available on login screen");
+		cfgDao.add(CONFIG_SOAP_REGISTER_KEY, "1", null, "Is user register available via SOAP/REST");
+		cfgDao.add("default_group_id", "1", null, "");
 
 		// this domain_id is the Organisation of users who register through the
 		// frontend
-		configurationDao.add("default_domain_id", "1", null, "");
+		cfgDao.add("default_domain_id", "1", null, "");
 
 
-		configurationDao.add("smtp_server", cfg.smtpServer, null,
+		cfgDao.add("smtp_server", cfg.smtpServer, null,
 				"this is the smtp server to send messages");
 
-		configurationDao.add("smtp_port", "" + cfg.smtpPort, null,
+		cfgDao.add("smtp_port", "" + cfg.smtpPort, null,
 				"this is the smtp server port normally 25");
 
-		configurationDao.add("system_email_addr", cfg.mailReferer,
-				null, "all send EMails by the system will have this address");
+		cfgDao.add("system_email_addr", cfg.mailReferer, null, "all send EMails by the system will have this address");
 
-		configurationDao.add("email_username", cfg.mailAuthName,
-				null, "System auth email username");
+		cfgDao.add("email_username", cfg.mailAuthName, null, "System auth email username");
 
-		configurationDao.add("email_userpass", cfg.mailAuthPass,
-				null, "System auth email password");
+		cfgDao.add("email_userpass", cfg.mailAuthPass, null, "System auth email password");
 
-		configurationDao.add("mail.smtp.starttls.enable",
-				cfg.mailUseTls, null, "Enable TLS 1=true, 0=false");
+		cfgDao.add("mail.smtp.starttls.enable", cfg.mailUseTls, null, "Enable TLS 1=true, 0=false");
 		
-		configurationDao.add("mail.smtp.connection.timeout", "30000", null,
+		cfgDao.add("mail.smtp.connection.timeout", "30000", null,
 				"Socket connection timeout value in milliseconds. Default is infinite timeout.");
 		
-		configurationDao.add("mail.smtp.timeout", "30000", null,
+		cfgDao.add("mail.smtp.timeout", "30000", null,
 				"Socket I/O timeout value in milliseconds. Default is infinite timeout.");
 
-		configurationDao.add("application.name",
-				ConfigurationDao.DEFAULT_APP_NAME, null,
-				"Name of the Browser Title window");
+		cfgDao.add(CONFIG_APPLICATION_NAME, ConfigurationDao.DEFAULT_APP_NAME, null, "Name of the Browser Title window");
 
 		// "1" == "EN"
-		configurationDao.add(CONFIG_DEFAUT_LANG_KEY, cfg.defaultLangId,
-				null, "Default System Language ID see languages.xml");
+		cfgDao.add(CONFIG_DEFAUT_LANG_KEY, cfg.defaultLangId, null, "Default System Language ID see languages.xml");
 
-		configurationDao.add("swftools_zoom", "" + cfg.swfZoom, null,
+		cfgDao.add("swftools_zoom", "" + cfg.swfZoom, null,
 				"dpi for conversion of PDF to SWF (should be an integer between 50 and  600 with a default value of 100 dpi)");
 
-		configurationDao.add("swftools_jpegquality",
-				"" + cfg.swfJpegQuality, null,
+		cfgDao.add("swftools_jpegquality", "" + cfg.swfJpegQuality, null,
 				"compression quality for conversion of PDF to SWF (should be an integer between 1 and 100, with a default value of 85)");
 
-		configurationDao.add("swftools_path", cfg.swfPath, null,
-				"Path To SWF-Tools");
+		cfgDao.add("swftools_path", cfg.swfPath, null, "Path To SWF-Tools");
 
-		configurationDao.add("imagemagick_path",
-				cfg.imageMagicPath, null, "Path to ImageMagick tools");
+		cfgDao.add("imagemagick_path", cfg.imageMagicPath, null, "Path to ImageMagick tools");
 
-		configurationDao.add("sox_path", cfg.soxPath, null,
-				"Path To SoX-Tools");
+		cfgDao.add("sox_path", cfg.soxPath, null, "Path To SoX-Tools");
 
-		configurationDao.add("ffmpeg_path", cfg.ffmpegPath, null,
-				"Path To FFMPEG");
-		configurationDao.add(
-						"office.path",
-						cfg.officePath,
-						null,
+		cfgDao.add("ffmpeg_path", cfg.ffmpegPath, null, "Path To FFMPEG");
+		cfgDao.add("office.path", cfg.officePath, null,
 						"The path to OpenOffice/LibreOffice (optional) please set this to the real path in case jodconverter is unable to find OpenOffice/LibreOffice installation automatically");
-		configurationDao.add(
-						"jod.path",
-						cfg.jodPath,
-						null,
-						"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");
-
-		configurationDao.add(CONFIG_RSS_FEED1_KEY, cfg.urlFeed, null,
-				"Feed URL");
-
-		configurationDao.add(CONFIG_RSS_FEED2_KEY, cfg.urlFeed2, null,
-				"Feed URL 2");
-
-		configurationDao.add("sendEmailAtRegister", cfg.sendEmailAtRegister,
-						null,
-						"User get a EMail with their Account data. Values: 0(No) or 1(Yes)");
-
-		configurationDao.add(
-						"sendEmailWithVerficationCode",
-						cfg.sendEmailWithVerficationCode,
-						null,
-						"User must activate their account by clicking on the "
-								+ "activation-link in the registering Email. Values: 0(No) or 1(Yes) "
-								+ "It makes no sense to make this(sendEmailWithVerficationCode) 1(Yes) while "
-								+ "sendEmailAtRegister is 0(No) cause you need"
-								+ "to send a EMail.");
-		configurationDao.add(
-						"default_export_font",
-						cfg.defaultExportFont,
-						null,
-						"The Name of the Font used for exporting/render Images from Whiteboard"
-								+ "The Font has to exist on the Server which runs Red5");
+		cfgDao.add("jod.path", cfg.jodPath, null,
+				"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");
 
-		configurationDao.add("default.rpc.userid", "" + 1, null,
-				"The User-Id of the Control User in OpenMeetings");
+		cfgDao.add(CONFIG_RSS_FEED1_KEY, cfg.urlFeed, null, "Feed URL");
 
-		configurationDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
+		cfgDao.add(CONFIG_RSS_FEED2_KEY, cfg.urlFeed2, null, "Feed URL 2");
+
+		cfgDao.add("sendEmailAtRegister", cfg.sendEmailAtRegister, null,
+				"User get a EMail with their Account data. Values: 0(No) or 1(Yes)");
+
+		cfgDao.add("sendEmailWithVerficationCode", cfg.sendEmailWithVerficationCode, null,
+				"User must activate their account by clicking on the "
+					+ "activation-link in the registering Email. Values: 0(No) or 1(Yes) "
+					+ "It makes no sense to make this(sendEmailWithVerficationCode) 1(Yes) while "
+					+ "sendEmailAtRegister is 0(No) cause you need"
+					+ "to send a EMail.");
+		cfgDao.add("default_export_font", cfg.defaultExportFont, null,
+				"The Name of the Font used for exporting/render Images from Whiteboard"
+					+ "The Font has to exist on the Server which runs Red5");
+
+		cfgDao.add("default.rpc.userid", "" + 1, null, "The User-Id of the Control User in OpenMeetings");
+
+		cfgDao.add(CONFIG_APPLICATION_BASE_URL, cfg.baseUrl, null, "Base URL your OPenmeetings installation will be accessible at.");
 		
 		// ***************************************
 		// ***************************************
 		// red5SIP Integration Coniguration Values
 		// ***************************************
 
-		configurationDao.add("red5sip.enable", cfg.red5SipEnable,
-				null, "Enable to enable the red5SIP integration ");
-		configurationDao.add("red5sip.room_prefix",
-				cfg.red5SipRoomPrefix, null,
+		cfgDao.add("red5sip.enable", cfg.red5SipEnable, null, "Enable to enable the red5SIP integration ");
+		cfgDao.add("red5sip.room_prefix", cfg.red5SipRoomPrefix, null,
 				"Numerical prefix for OM rooms created inside the SIP");
-		configurationDao.add("red5sip.exten_context",
-				cfg.red5SipExtenContext, null,
+		cfgDao.add("red5sip.exten_context", cfg.red5SipExtenContext, null,
 				"Enable to enable the red5SIP integration ");
 
 		// ***************************************
@@ -422,114 +390,75 @@ public class ImportInitvalues {
 		// Timezone settings
 		// ***************************************
 
-		configurationDao.add("default.timezone",
-				cfg.ical_timeZone, null,
-				"This is the default timezone if nothing is specified");
+		cfgDao.add("default.timezone", cfg.ical_timeZone, null, "This is the default timezone if nothing is specified");
 
 		// ***************************************
 		// ***************************************
 		// additional settings
 		// ***************************************
 
-		configurationDao.add("show.facebook.login", "" + 0, null,
-				"Show Facebook Login");
+		cfgDao.add("show.facebook.login", "" + 0, null, "Show Facebook Login");
+
+		cfgDao.add(CONFIG_SCREENSHARING_QUALITY, "1", null,
+				"Default selection in ScreenSharing Quality:\n 0 - bigger frame rate, no resize\n 1 - no resize\n 2 - size == 1/2 of selected area\n 3 - size == 3/8 of selected area");
+
+		cfgDao.add(CONFIG_DASHBOARD_SHOW_MYROOMS_KEY, "1", null, "Show My Rooms Tab");
 
-		configurationDao
-				.add(
-						"default.quality.screensharing",
-						"1",
-						null,
-						"Default selection in ScreenSharing Quality:\n 0 - bigger frame rate, no resize\n 1 - no resize\n 2 - size == 1/2 of selected area\n 3 - size == 3/8 of selected area");
-
-		configurationDao.add(CONFIG_DASHBOARD_SHOW_MYROOMS_KEY, "1", null, "Show My Rooms Tab");
-
-		configurationDao.add("dashboard.show.chat", "1", null, "Show Chat Tab");
-
-		configurationDao.add(CONFIG_DASHBOARD_SHOW_RSS_KEY, "0", null, "Show RSS Tab");
-
-		configurationDao
-				.add(
-						"show.whiteboard.draw.status",
-						"0",
-						null,
-						"Display name of the user who draw the current object (User Name auto-disapper after 3 seconds.");
+		cfgDao.add("dashboard.show.chat", "1", null, "Show Chat Tab");
 
-		configurationDao.add(CONFIG_MAX_UPLOAD_SIZE_KEY, ""
-				+ DEFAULT_MAX_UPLOAD_SIZE, null,
+		cfgDao.add(CONFIG_DASHBOARD_SHOW_RSS_KEY, "0", null, "Show RSS Tab");
+
+		cfgDao.add("show.whiteboard.draw.status", "0", null,
+				"Display name of the user who draw the current object (User Name auto-disapper after 3 seconds.");
+
+		cfgDao.add(CONFIG_MAX_UPLOAD_SIZE_KEY, "" + DEFAULT_MAX_UPLOAD_SIZE, null,
 				"Maximum size of upload file (bytes)"); // defaults to 1GB
 
-		configurationDao
-				.add(
-						CONFIG_APPOINTMENT_REMINDER_MINUTES,
-						"15",
-						null,
-						"The number of minutes before reminder emails are send. Set to 0 to disable reminder emails");
+		cfgDao.add(CONFIG_APPOINTMENT_REMINDER_MINUTES, "15", null,
+				"The number of minutes before reminder emails are send. Set to 0 to disable reminder emails");
 
-		configurationDao.add(CONFIG_LOGIN_MIN_LENGTH_KEY, ""
-				+ USER_LOGIN_MINIMUM_LENGTH, null,
+		cfgDao.add(CONFIG_LOGIN_MIN_LENGTH_KEY, "" + USER_LOGIN_MINIMUM_LENGTH, null,
 				"Number of chars needed in a user login");
 
-		configurationDao.add(CONFIG_PASS_MIN_LENGTH_KEY, ""
-				+ USER_PASSWORD_MINIMUM_LENGTH, null,
+		cfgDao.add(CONFIG_PASS_MIN_LENGTH_KEY, "" + USER_PASSWORD_MINIMUM_LENGTH, null,
 				"Number of chars needed in a user login");
 
-		configurationDao
-				.add("calendar.conference.rooms.default.size", "50",
-						null,
-						"Default number of participants conference room created via calendar");
-
-		configurationDao
-				.add(
-						"use.old.style.ffmpeg.map.option",
-						"0",
-						null,
-						"specify a 1 if you would like to use old FFMPEG -map option with 0.0 instead of 0:0");
+		cfgDao.add("calendar.conference.rooms.default.size", "50", null,
+				"Default number of participants conference room created via calendar");
+
+		cfgDao.add("use.old.style.ffmpeg.map.option", "0", null,
+				"specify a 1 if you would like to use old FFMPEG -map option with 0.0 instead of 0:0");
 
 		// give exclusive audio key code
-		configurationDao
-				.add(
-						"exclusive.audio.keycode",
-						"123",
-						null,
-						"A hot key code for the 'give exclusive audio' functionality. Keycode 123 is F12");
+		cfgDao.add("exclusive.audio.keycode", "123", null,
+				"A hot key code for the 'give exclusive audio' functionality. Keycode 123 is F12");
 		// mute/unmute audio key code
-		configurationDao
-				.add(
-						"mute.keycode",
-						"118",
-						null,
-						"A hot key code for the 'mute/unmute audio' functionality. Keycode 118 is F7");
+		cfgDao.add("mute.keycode", "118", null,
+				"A hot key code for the 'mute/unmute audio' functionality. Keycode 118 is F7");
 		
 		// system-wide ldap params
-		configurationDao.add(CONFIG_DEFAULT_LDAP_ID, "0", null,
-				"Ldap domain selected by default in the login screen");
+		cfgDao.add(CONFIG_DEFAULT_LDAP_ID, "0", null, "Ldap domain selected by default in the login screen");
 
 		// set inviter's email address as ReplyTo in email invitations
-		configurationDao
-				.add(
-						"inviter.email.as.replyto",
-						cfg.replyToOrganizer,
-						null,
-						"Set inviter's email address as ReplyTo in email invitations (1 == set, 0 == NOT set)");
-
-		configurationDao.add(CONFIG_DEFAULT_LANDING_ZONE,
-				"user/dashboard"
-				, null
+		cfgDao.add("inviter.email.as.replyto", cfg.replyToOrganizer, null,
+				"Set inviter's email address as ReplyTo in email invitations (1 == set, 0 == NOT set)");
+
+		cfgDao.add(CONFIG_DEFAULT_LANDING_ZONE, "user/dashboard" , null
 				, "Area to be shown to the user after login. Possible values are: "
 					+ "user/dashboard, user/calendar, user/record, rooms/my, rooms/group, rooms/public, admin/user, admin/connection"
 					+ ", admin/group, admin/room, admin/config, admin/lang, admin/ldap, admin/backup, admin/server, admin/oauth2");
 		
 		// oauth2 params
-		configurationDao
-				.add(
-						CONFIG_IGNORE_BAD_SSL,
-						"no", 
-						null, 
-						"Set \"yes\" or \"no\" to enable/disable ssl certifications checking for OAuth2");
+		cfgDao.add(CONFIG_IGNORE_BAD_SSL, "no", null, 
+				"Set \"yes\" or \"no\" to enable/disable ssl certifications checking for OAuth2");
 
-		configurationDao.add(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, "", null,
+		cfgDao.add(CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY, "", null,
 				"Users entered the room via invitationHash or secureHash will be redirected to this URL on connection lost");
 		
+		cfgDao.add(CONFIG_FLASH_PROTOCOL, "rtmp", null, "Protocol for flash connections, can be rtmp, rtmpt, rtmpe, rtmps");
+		
+		cfgDao.add(CONFIG_FLASH_PORT, "1935", null, "Port for flash connections");
+		
 		log.debug("Configurations ADDED");
 	}
 

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/pom.xml Fri Jul 18 18:47:00 2014
@@ -93,6 +93,10 @@
 									<value>*</value>
 								</replacement>
 								<replacement>
+									<token>$protocol</token>
+									<value>*</value>
+								</replacement>
+								<replacement>
 									<token>$host</token>
 									<value>*</value>
 								</replacement>
@@ -109,10 +113,6 @@
 									<value>*</value>
 								</replacement>
 								<replacement>
-									<token>$organizationId</token>
-									<value>*</value>
-								</replacement>
-								<replacement>
 									<token>$publicSid</token>
 									<value>*</value>
 								</replacement>
@@ -133,10 +133,6 @@
 									<value>*</value>
 								</replacement>
 								<replacement>
-									<token>$clientClass</token>
-									<value>*</value>
-								</replacement>
-								<replacement>
 									<token>$keystore</token>
 									<value>*</value>
 								</replacement>

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Fri Jul 18 18:47:00 2014
@@ -58,7 +58,11 @@ import org.slf4j.Logger;
 public class CoreScreenShare implements IPendingServiceCallback, INetStreamEventHandler {
 	private static final Logger log = getLogger(CoreScreenShare.class);
 
+	enum Protocol {
+		rtmp, rtmpt, rtmpe, rtmps
+	}
 	private IScreenShare instance = null;
+	private Protocol protocol;
 	private String host;
 	private String app;
 	private int port;
@@ -71,7 +75,6 @@ public class CoreScreenShare implements 
 
 	public int defaultQuality = 1;
 
-	public Long organization_id = 0L;
 	public Long user_id = null;
 	private boolean allowRecording = true;
 	private boolean allowPublishing = true;
@@ -105,17 +108,14 @@ public class CoreScreenShare implements 
 			}
 			String[] textArray = null;
 			if (args.length > 9) {
-				host = args[0];
-				app = args[1];
+				protocol = Protocol.valueOf(args[0]);
+				host = args[1];
 				port = Integer.parseInt(args[2]);
-				publishName = args[3];
-
-				String labelTexts = args[4];
-
-				organization_id = Long.parseLong(args[5]);
-
-				defaultQuality = Integer.parseInt(args[6]);
-				user_id = Long.parseLong(args[7]);
+				app = args[3];
+				user_id = Long.parseLong(args[4]);
+				publishName = args[5];
+				String labelTexts = args[6];
+				defaultQuality = Integer.parseInt(args[7]);
 				allowRecording = bool(args[8]);
 				allowPublishing = bool(args[9]);
 
@@ -130,15 +130,22 @@ public class CoreScreenShare implements 
 						log.debug(i + " :: " + textArray[i]);
 					}
 				}
-				instance = (IScreenShare)Class.forName(args[10]).newInstance();
-				instance.setCore(this);
-				if (instance instanceof RTMPSScreenShare) {
-					if (args.length < 12) {
-						System.exit(0);
-					}
-					RTMPSScreenShare client = (RTMPSScreenShare)instance;
-					client.setKeystoreBytes(Hex.decodeHex(args[11].toCharArray()));
-					client.setKeyStorePassword(args[12]);
+				switch (protocol) {
+					case rtmp:
+						instance = new RTMPScreenShare(this);
+						break;
+					case rtmpt:
+						instance = new RTMPTScreenShare(this);
+						break;
+					case rtmps:
+						RTMPSScreenShare client = new RTMPSScreenShare(this);
+						client.setKeystoreBytes(Hex.decodeHex(args[10].toCharArray()));
+						client.setKeyStorePassword(args[11]);
+						instance = client;
+						break;
+					case rtmpe:
+					default:
+						throw new Exception("Unsupported protocol");
 				}
 				log.debug(String.format("host: %s, app: %s, port: %s, publish: %s", host, port, app, publishName));
 			} else {
@@ -220,7 +227,6 @@ public class CoreScreenShare implements 
 			map.put("publishingApp", frame.getPublishApp());
 			map.put("publishingId", frame.getPublishId());
 
-			map.put("organization_id", organization_id);
 			map.put("user_id", user_id);
 
 			instance.invoke("setConnectionAsSharingClient", new Object[] { map }, this);

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java Fri Jul 18 18:47:00 2014
@@ -31,5 +31,4 @@ public interface IScreenShare {
 	void createStream(IPendingServiceCallback callback);
 	void publish(int streamId, String name, String mode, INetStreamEventHandler handler);
 	void publishStreamData(int streamId, IMessage message);
-	void setCore(CoreScreenShare core);
 }

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java Fri Jul 18 18:47:00 2014
@@ -33,11 +33,8 @@ public class RTMPSScreenShare extends RT
 
 	private CoreScreenShare core = null;
 
-	public void setCore(CoreScreenShare core) {
+	public RTMPSScreenShare(CoreScreenShare core) {
 		this.core = core;
-	}
-	
-	private RTMPSScreenShare() {
 	};
 
 	@Override

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java Fri Jul 18 18:47:00 2014
@@ -32,12 +32,9 @@ public class RTMPScreenShare extends RTM
 
 	private CoreScreenShare core = null;
 
-	public void setCore(CoreScreenShare core) {
+	public RTMPScreenShare(CoreScreenShare core) {
 		this.core = core;
 	}
-	
-	private RTMPScreenShare() {
-	}
 
 	// ------------------------------------------------------------------------
 	//

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java Fri Jul 18 18:47:00 2014
@@ -32,11 +32,8 @@ public class RTMPTScreenShare extends RT
 
 	private CoreScreenShare core = null;
 
-	public void setCore(CoreScreenShare core) {
+	public RTMPTScreenShare(CoreScreenShare core) {
 		this.core = core;
-	}
-	
-	private RTMPTScreenShare() {
 	};
 
 	// ------------------------------------------------------------------------

Modified: openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp Fri Jul 18 18:47:00 2014
@@ -36,17 +36,16 @@
 		$dependencies
 	</resources>
 	<application-desc main-class='$mainClass'>
+		<argument>$protocol</argument>
 		<argument>$host</argument>
 		<argument>$port</argument>
 		<argument>$app</argument>
 		<argument>$userId</argument>
-		<argument>$organizationId</argument>
 		<argument>$publicSid</argument>
 		<argument>$labels</argument>
 		<argument>$defaultQuality</argument>
 		<argument>$allowRecording</argument>
 		<argument>$allowPublishing</argument>
-		<argument>$clientClass</argument>
 		<argument>$keystore</argument>
 		<argument>$password</argument>
 	</application-desc>

Modified: openmeetings/trunk/singlewebapp/openmeetings-server/src/main/assembly/components/all.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-server/src/main/assembly/components/all.xml?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-server/src/main/assembly/components/all.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-server/src/main/assembly/components/all.xml Fri Jul 18 18:47:00 2014
@@ -51,6 +51,16 @@
 		<fileSet>
 			<directory>${project.parent.basedir}/openmeetings-screenshare/target/jnlp</directory>
 			<outputDirectory>${om.webapp}/screenshare</outputDirectory>
+			<excludes>
+				<exclude>APPLICATION.jnlp</exclude>
+			</excludes>
+		</fileSet>
+		<fileSet>
+			<directory>${project.parent.basedir}/openmeetings-screenshare/target/jnlp</directory>
+			<outputDirectory>${om.webapp}/WEB-INF/classes</outputDirectory>
+			<includes>
+				<include>APPLICATION.jnlp</include>
+			</includes>
 		</fileSet>
 		<fileSet>
 			<directory>${project.parent.basedir}/openmeetings-flash/target</directory>

Modified: openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-util/src/main/java/org/apache/openmeetings/util/OpenmeetingsVariables.java Fri Jul 18 18:47:00 2014
@@ -35,7 +35,11 @@ public class OpenmeetingsVariables {
 	public static final String CONFIG_DEFAULT_LDAP_ID = "ldap_default_id";
 	public static final String CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY = "redirect.url.for.external.users";
 	public static final String CONFIG_APPOINTMENT_REMINDER_MINUTES = "number.minutes.reminder.send";
+	public static final String CONFIG_APPLICATION_NAME = "application.name";
 	public static final String CONFIG_APPLICATION_BASE_URL = "application.base.url";
+	public static final String CONFIG_FLASH_PROTOCOL = "flash.protocol";
+	public static final String CONFIG_FLASH_PORT = "flash.port";
+	public static final String CONFIG_SCREENSHARING_QUALITY = "default.quality.screensharing";
 
 	public static int DEFAULT_MINUTES_REMINDER_SEND = 15;
 	public static String DEFAULT_BASE_URL = "http://localhost:5080/openmeetings/";

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.html Fri Jul 18 18:47:00 2014
@@ -22,9 +22,10 @@
 <wicket:panel>
 	<div wicket:id="roomMenu"></div>
 	<div class="room menu right">
-		<span class="share"></span>
-		<span class="room recording">Recording started</span>
-		<span class="room name">Room Name</span>
+		<span wicket:id="ask" class="icon ask"></span>
+		<span wicket:id="share" class="icon share"></span>
+		<span wicket:id="recording" class="room recording"></span>
+		<span wicket:id="roomName" class="room name"></span>
 	</div>
 	<div class="room sidebar left">
 		<div class="tabs">

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java Fri Jul 18 18:47:00 2014
@@ -19,22 +19,30 @@
 package org.apache.openmeetings.web.room;
 
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_APPLICATION_BASE_URL;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_PORT;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_FLASH_PROTOCOL;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_REDIRECT_URL_FOR_EXTERNAL_KEY;
+import static org.apache.openmeetings.util.OpenmeetingsVariables.CONFIG_SCREENSHARING_QUALITY;
 import static org.apache.openmeetings.util.OpenmeetingsVariables.webAppRootKey;
 import static org.apache.openmeetings.web.app.Application.addUserToRoom;
 import static org.apache.openmeetings.web.app.Application.getBean;
 import static org.apache.openmeetings.web.app.Application.getRoomUsers;
+import static org.apache.openmeetings.web.app.WebSession.getLanguage;
+import static org.apache.openmeetings.web.app.WebSession.getSid;
 import static org.apache.openmeetings.web.app.WebSession.getUserId;
 import static org.apache.openmeetings.web.util.OmUrlFragment.ROOMS_PUBLIC;
 
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.commons.io.IOUtils;
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
 import org.apache.openmeetings.db.dao.file.FileExplorerItemDao;
+import org.apache.openmeetings.db.dao.label.FieldLanguagesValuesDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
 import org.apache.openmeetings.db.entity.file.FileExplorerItem;
@@ -58,7 +66,9 @@ import org.apache.openmeetings.web.commo
 import org.apache.openmeetings.web.common.tree.MyRecordingTreeProvider;
 import org.apache.openmeetings.web.common.tree.PublicRecordingTreeProvider;
 import org.apache.openmeetings.web.pages.MainPage;
+import org.apache.openmeetings.web.util.AjaxDownload;
 import org.apache.wicket.ajax.AbstractDefaultAjaxBehavior;
+import org.apache.wicket.ajax.AjaxEventBehavior;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.ajax.json.JSONArray;
 import org.apache.wicket.ajax.json.JSONException;
@@ -71,6 +81,7 @@ import org.apache.wicket.markup.head.Jav
 import org.apache.wicket.markup.head.OnDomReadyHeaderItem;
 import org.apache.wicket.markup.head.PriorityHeaderItem;
 import org.apache.wicket.markup.html.WebMarkupContainer;
+import org.apache.wicket.markup.html.basic.Label;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.protocol.ws.IWebSocketSettings;
@@ -79,6 +90,7 @@ import org.apache.wicket.protocol.ws.api
 import org.apache.wicket.request.flow.RedirectToUrlException;
 import org.apache.wicket.request.resource.JavaScriptResourceReference;
 import org.apache.wicket.request.resource.ResourceReference;
+import org.apache.wicket.util.resource.StringResourceStream;
 import org.apache.wicket.util.string.Strings;
 import org.red5.logging.Red5LoggerFactory;
 import org.slf4j.Logger;
@@ -86,6 +98,7 @@ import org.wicketstuff.whiteboard.Whiteb
 
 import com.googlecode.wicket.jquery.core.JQueryBehavior;
 import com.googlecode.wicket.jquery.core.Options;
+import com.googlecode.wicket.jquery.ui.form.button.Button;
 
 @AuthorizeInstantiation("Room")
 public class RoomPanel extends BasePanel {
@@ -112,9 +125,22 @@ public class RoomPanel extends BasePanel
 		}
 	};
 	
+	private String getLabels(int ... ids) {
+		StringBuilder result = new StringBuilder();
+		boolean delim = false;
+		FieldLanguagesValuesDao labelDao = getBean(FieldLanguagesValuesDao.class);
+		for (int id : ids) {
+			if (delim) {
+				result.append(';');
+			}
+			result.append(labelDao.getString(id, getLanguage()));
+			delim = true;
+		}
+		return result.toString();
+	}
+	
 	public RoomPanel(String id, long _roomId) {
 		this(id, getBean(RoomDao.class).get(_roomId));
-		
 	}
 	
 	public RoomPanel(String id, Room r) {
@@ -184,6 +210,60 @@ public class RoomPanel extends BasePanel
 				response.render(new PriorityHeaderItem(script));
 			}
 		});
+		add(new Label("roomName", r.getName()));
+		add(new Label("recording", "Recording started").setVisible(false)); //FIXME add/remove
+		add(new Button("ask")); //FIXME add/remove
+		final AjaxDownload download = new AjaxDownload(true) {
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			protected String getFileName() {
+				return "public_" + roomId + ".jnlp";
+			}
+		};
+		add(download);
+		add(new Button("share").add(new AjaxEventBehavior("click") {
+			private static final long serialVersionUID = 1L;
+			
+			@Override
+			protected void onEvent(AjaxRequestTarget target) {
+				String app = "";
+				try {
+					ConfigurationDao cfgDao = getBean(ConfigurationDao.class);
+					app = IOUtils.toString(getClass().getClassLoader().getResourceAsStream("APPLICATION.jnlp"), "UTF-8");
+					String baseUrl = cfgDao.getBaseUrl();
+					URL url = new URL(baseUrl);
+					String path = url.getPath();
+					path = path.substring(1, path.indexOf('/', 2) + 1);
+					app = app.replace("$codebase", baseUrl + "screenshare")
+							.replace("$applicationName", cfgDao.getAppName())
+							.replace("$protocol", cfgDao.getConfValue(CONFIG_FLASH_PROTOCOL, String.class, ""))
+							.replace("$port", cfgDao.getConfValue(CONFIG_FLASH_PORT, String.class, ""))
+							.replace("$host", url.getHost())
+							.replace("$app", path + roomId)
+							.replace("$userId", "" + getUserId())
+							.replace("$publicSid", getSid())
+							.replace("$labels", "<![CDATA[" + getLabels(730,  731,  732,  733,  734
+									,  735,  737,  738,  739,  740
+									,  741,  742,  844,  869,  870
+									,  871,  872,  878, 1089, 1090
+									, 1091, 1092, 1093, 1465, 1466
+									, 1467, 1468, 1469, 1470, 1471
+									, 1472, 1473, 1474, 1475, 1476
+									, 1477, 1589) + "]]>")
+							.replace("$defaultQuality", cfgDao.getConfValue(CONFIG_SCREENSHARING_QUALITY, String.class, ""))
+							.replace("$allowRecording", "true") //FIXME add/remove
+							.replace("$allowPublishing", "true") //FIXME add/remove
+							.replace("$keystore", "<![CDATA[]]>") //FIXME add/remove
+							.replace("$password", "<![CDATA[]]>") //FIXME add/remove
+							;
+				} catch (Exception e) {
+					log.error("Unexpected error while creating jnlp file", e);
+				}
+				download.setResourceStream(new StringResourceStream(app, "application/x-java-jnlp-file"));
+				download.initiate(target);
+			}
+		})); //FIXME add/remove
 	}
 
 	private JSONArray getStringLabels(long... ids) {

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/AboutDialog.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/AboutDialog.java?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/AboutDialog.java (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/java/org/apache/openmeetings/web/user/AboutDialog.java Fri Jul 18 18:47:00 2014
@@ -26,7 +26,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.openmeetings.db.dao.basic.ConfigurationDao;
-import org.apache.openmeetings.web.app.Application;
+import static org.apache.openmeetings.web.app.Application.getBean;
 import org.apache.openmeetings.web.app.WebSession;
 import org.apache.wicket.ajax.AjaxRequestTarget;
 import org.apache.wicket.markup.html.basic.Label;
@@ -40,10 +40,7 @@ public class AboutDialog extends Abstrac
 	public AboutDialog(String id) {
 		super(id, WebSession.getString(1549));
 		
-		add(new Label("name", Application.getBean(ConfigurationDao.class).getConfValue(
-				"application.name"
-				, String.class
-				, ConfigurationDao.DEFAULT_APP_NAME)));
+		add(new Label("name", getBean(ConfigurationDao.class).getAppName()));
 		add(new Label("version", getVersion()));
 		add(new Label("revision", getRevision()));
 		add(new Label("buildDate", getBuildDate()));

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/WEB-INF/web.xml Fri Jul 18 18:47:00 2014
@@ -71,7 +71,7 @@
 		</init-param>
 		<init-param>
 			<param-name>ignorePaths</param-name>
-			<param-value>conf,css,default,docs,images,js,persistence,public,screensharing,streams,upload,uploadtemp,services,networktest.,file.,remotelog.,screen.,DownloadHandler</param-value>
+			<param-value>conf,css,default,docs,images,js,persistence,public,screenshare,streams,upload,uploadtemp,services,networktest.,file.,remotelog.,DownloadHandler</param-value>
 		</init-param>
 	</filter>
 	<filter-mapping>

Added: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/images/user_add.png
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/images/user_add.png?rev=1611763&view=auto
==============================================================================
Binary file - no diff available.

Propchange: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/images/user_add.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/room.css
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/room.css?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/room.css (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/room.css Fri Jul 18 18:47:00 2014
@@ -27,9 +27,10 @@
 }
 .room.menu.right {
 	position: absolute;
-	top: 5px;
+	top: 0px;
 	margin-right: 5px;
-	width: 100%;
+	right: 0px;
+	display: inline-block;
 }
 .room.menu.right .room {
 	float: right;
@@ -42,14 +43,19 @@
 .room.menu.right .room.recording {
 	color: red;
 }
-.room.menu.right .share {
-	background-image: url(images/monitor_go.png);
+.room.menu.right .icon {
 	width: 30px;
 	height: 30px;
 	background-repeat: no-repeat;
 	background-position: 5px 5px;
 	float: right;
 }
+.room.menu.right .icon.share {
+	background-image: url(images/monitor_go.png);
+}
+.room.menu.right .icon.ask {
+	background-image: url(images/user_add.png);
+}
 .room.sidebar.left {
 	min-width: 200px;
 	width: 20%;

Modified: openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css?rev=1611763&r1=1611762&r2=1611763&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css (original)
+++ openmeetings/trunk/singlewebapp/openmeetings-web/src/main/webapp/css/theme.css Fri Jul 18 18:47:00 2014
@@ -597,3 +597,10 @@ select.messages.selector {
 	margin: 10px;
 	max-width: 900px;
 }
+#topControls #wicketDebugBar {
+	right: initial;
+	top: initial;
+	z-index: 2;
+	bottom: 0;
+	position: fixed;
+}