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 2017/08/05 17:38:05 UTC

openmeetings git commit: [OPENMEETINGS-1642] initial work on WB size

Repository: openmeetings
Updated Branches:
  refs/heads/master db57bb0ea -> 601ebd278


[OPENMEETINGS-1642] initial work on WB size


Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/601ebd27
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/601ebd27
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/601ebd27

Branch: refs/heads/master
Commit: 601ebd27891cfe726e37f3b9a210fb4c30dbbce3
Parents: db57bb0
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Sun Aug 6 00:36:54 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Sun Aug 6 00:36:54 2017 +0700

----------------------------------------------------------------------
 .../openmeetings/db/dto/room/Whiteboard.java    |  53 ++++----
 .../openmeetings/db/entity/file/FileItem.java   |   8 +-
 .../openmeetings/db/entity/room/Whiteboard.java | 135 -------------------
 .../db/entity/room/WhiteboardItem.java          |  72 ----------
 .../org/apache/openmeetings/web/room/room.js    |   2 +-
 .../openmeetings/web/room/wb/WbPanel.java       |  26 +++-
 .../org/apache/openmeetings/web/room/wb/wb.js   |  11 +-
 .../classes/META-INF/db2_persistence.xml        |   2 -
 .../classes/META-INF/derby_persistence.xml      |   2 -
 .../classes/META-INF/mssql_persistence.xml      |   2 -
 .../classes/META-INF/mysql_persistence.xml      |   2 -
 .../classes/META-INF/oracle_persistence.xml     |   2 -
 .../classes/META-INF/postgresql_persistence.xml |   2 -
 openmeetings-web/src/main/webapp/css/wb.css     |   5 +
 14 files changed, 69 insertions(+), 255 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
index 5c3e818..9919d44 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/Whiteboard.java
@@ -35,11 +35,13 @@ import com.github.openjson.JSONObject;
 public class Whiteboard implements Serializable {
 	private static final long serialVersionUID = 1L;
 	public static final String ITEMS_KEY = "roomItems";
+	private static final int DEFAULT_WIDTH = 1920;
+	private static final int DEFAULT_HEIGHT = 1080;
 	private long id;
-	private Integer x = 0;
-	private Integer y = 0;
-	private Integer zoom = 100;
-	private Boolean fullFit = true;
+	private double zoom = 1.;
+	private boolean fullFit = true;
+	private int width = DEFAULT_WIDTH;
+	private int height = DEFAULT_HEIGHT;
 	private Map<String, String> roomItems = Collections.synchronizedMap(new LinkedHashMap<>());
 	private Date created = new Date();
 	private int slide = 0;
@@ -49,6 +51,7 @@ public class Whiteboard implements Serializable {
 
 	public Whiteboard(String name) {
 		this.name = name;
+		this.created = new Date();
 	}
 
 	public long getId() {
@@ -59,22 +62,6 @@ public class Whiteboard implements Serializable {
 		this.id = id;
 	}
 
-	public Integer getX() {
-		return x;
-	}
-
-	public void setX(Integer x) {
-		this.x = x;
-	}
-
-	public Integer getY() {
-		return y;
-	}
-
-	public void setY(Integer y) {
-		this.y = y;
-	}
-
 	public Date getCreated() {
 		return created;
 	}
@@ -83,24 +70,26 @@ public class Whiteboard implements Serializable {
 		this.created = created;
 	}
 
-	public Integer getZoom() {
+	public double getZoom() {
 		return zoom;
 	}
 
-	public void setZoom(Integer zoom) {
+	public void setZoom(double zoom) {
 		this.zoom = zoom;
 	}
 
-	public Boolean getFullFit() {
+	public boolean getFullFit() {
 		return fullFit;
 	}
 
-	public void setFullFit(Boolean fullFit) {
+	public void setFullFit(boolean fullFit) {
 		this.fullFit = fullFit;
 	}
 
 	public void clear() {
 		roomItems.clear();
+		width = DEFAULT_WIDTH;
+		height = DEFAULT_HEIGHT;
 	}
 
 	public void put(String uid, JSONObject obj) {
@@ -159,6 +148,22 @@ public class Whiteboard implements Serializable {
 		this.slide = slide;
 	}
 
+	public int getWidth() {
+		return width;
+	}
+
+	public void setWidth(int width) {
+		this.width = width;
+	}
+
+	public int getHeight() {
+		return height;
+	}
+
+	public void setHeight(int height) {
+		this.height = height;
+	}
+
 	public JSONObject toJson() {
 		//deep-copy
 		JSONObject json = new JSONObject(new JSONObject(this).toString(new NullStringer()));

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
index 5bc8e2e..8966d0d 100644
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
+++ b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/file/FileItem.java
@@ -194,16 +194,16 @@ public abstract class FileItem implements IDataProviderEntity {
 		return width;
 	}
 
-	public void setWidth(Integer flvWidth) {
-		this.width = flvWidth;
+	public void setWidth(Integer width) {
+		this.width = width;
 	}
 
 	public Integer getHeight() {
 		return height;
 	}
 
-	public void setHeight(Integer flvHeight) {
-		this.height = flvHeight;
+	public void setHeight(Integer height) {
+		this.height = height;
 	}
 
 	public Type getType() {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Whiteboard.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Whiteboard.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Whiteboard.java
deleted file mode 100644
index fe8242e..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/Whiteboard.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * 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.db.entity.room;
-
-import java.util.Calendar;
-import java.util.Collection;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.OneToMany;
-import javax.persistence.Table;
-
-import org.apache.openjpa.persistence.jdbc.ElementJoinColumn;
-import org.apache.openjpa.persistence.jdbc.ForeignKey;
-import org.apache.openmeetings.db.entity.IDataProviderEntity;
-
-@Entity
-@Table(name = "whiteboard")
-public class Whiteboard implements IDataProviderEntity {
-	private static final long serialVersionUID = 1L;
-
-	@Id
-	@GeneratedValue(strategy = GenerationType.IDENTITY)
-	@Column(name = "id")
-	private Long id;
-
-	@Column(name = "room_id")
-	private Integer roomId = 0;
-
-	@Column(name = "x")
-	private Integer x = 0;
-
-	@Column(name = "y")
-	private Integer y = 0;
-
-	@Column(name = "zoom")
-	private Integer zoom = 100;
-
-	@Column(name = "full_fit")
-	private Boolean fullFit;
-
-	@Column(name = "created")
-	private Calendar created;
-
-	@OneToMany
-	@ElementJoinColumn(name = "whiteboarditem_id", referencedColumnName = "id")
-	@ForeignKey(enabled = true)
-	private Collection<WhiteboardItem> roomItems;
-
-	@Override
-	public Long getId() {
-		return id;
-	}
-
-	@Override
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public Integer getX() {
-		return x;
-	}
-
-	public void setX(Integer x) {
-		this.x = x;
-	}
-
-	public Integer getY() {
-		return y;
-	}
-
-	public void setY(Integer y) {
-		this.y = y;
-	}
-
-	public Integer getZoom() {
-		return zoom;
-	}
-
-	public void setZoom(Integer zoom) {
-		this.zoom = zoom;
-	}
-
-	public Boolean getFullFit() {
-		return fullFit;
-	}
-
-	public void setFullFit(Boolean fullFit) {
-		this.fullFit = fullFit;
-	}
-
-	public Calendar getCreated() {
-		return created;
-	}
-
-	public void setCreated(Calendar created) {
-		this.created = created;
-	}
-
-	public Integer getRoomId() {
-		return roomId;
-	}
-
-	public void setRoomId(Integer roomId) {
-		this.roomId = roomId;
-	}
-
-	public Collection<WhiteboardItem> getRoomItems() {
-		return roomItems;
-	}
-
-	public void setRoomItems(Collection<WhiteboardItem> roomItems) {
-		this.roomItems = roomItems;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/WhiteboardItem.java
----------------------------------------------------------------------
diff --git a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/WhiteboardItem.java b/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/WhiteboardItem.java
deleted file mode 100644
index 039d058..0000000
--- a/openmeetings-db/src/main/java/org/apache/openmeetings/db/entity/room/WhiteboardItem.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * 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.db.entity.room;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.Table;
-
-import org.apache.openmeetings.db.entity.IDataProviderEntity;
-
-@Entity
-@Table(name = "whiteboard_item")
-public class WhiteboardItem implements IDataProviderEntity {
-	private static final long serialVersionUID = 1L;
-
-	@Id
-	@GeneratedValue(strategy = GenerationType.IDENTITY)
-	@Column(name = "id")
-	private Long id;
-	
-	@Column(name = "keyx")
-	private String key;
-	
-	@Column(name = "value")
-	private String value;
-
-	@Override
-	public Long getId() {
-		return id;
-	}
-
-	@Override
-	public void setId(Long id) {
-		this.id = id;
-	}
-
-	public String getKey() {
-		return key;
-	}
-
-	public void setKey(String key) {
-		this.key = key;
-	}
-
-	public String getValue() {
-		return value;
-	}
-
-	public void setValue(String value) {
-		this.value = value;
-	}
-	
-}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
index c78a0da..8217e90 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
@@ -211,7 +211,7 @@ var VideoManager = (function() {
 function setRoomSizes() {
 	var sb = $(".room.sidebar.left")
 		, w = $(window).width() - sb.width() - 8
-		, h = $(window).height() - $('#menu').height()
+		, h = $(window).height() - $('#menu').height() - 3
 		, p = sb.find('.tabs');
 	sb.height(h);
 	var hh = h - 5;

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
index 9c655ed..93af4a6 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/WbPanel.java
@@ -237,15 +237,37 @@ public class WbPanel extends Panel {
 							Long wbId = obj.getLong("wbId");
 							UndoObject uo = getUndo(wbId);
 							if (uo != null) {
+								Whiteboard wb = WhiteboardCache.get(roomId).get(wbId);
 								switch (uo.getType()) {
 									case add:
-										sendWbAll(WbAction.deleteObj, obj.put("obj", new JSONArray().put(new JSONObject(uo.getObject()))));
+									{
+										JSONObject o = new JSONObject(uo.getObject());
+										wb.remove(o.getString("uid"));
+										WhiteboardCache.update(roomId, wb);
+										sendWbAll(WbAction.deleteObj, obj.put("obj", new JSONArray().put(o)));
+									}
 										break;
 									case remove:
+									{
+										JSONArray arr = new JSONArray(uo.getObject());
+										for (int i  = 0; i < arr.length(); ++i) {
+											JSONObject o = arr.getJSONObject(i);
+											wb.put(o.getString("uid"), o);
+										}
+										WhiteboardCache.update(roomId, wb);
 										sendWbAll(WbAction.createObj, obj.put("obj", new JSONArray(uo.getObject())));
+									}
 										break;
 									case modify:
-										sendWbAll(WbAction.modifyObj, obj.put("obj", new JSONArray(uo.getObject())));
+									{
+										JSONArray arr = new JSONArray(uo.getObject());
+										for (int i  = 0; i < arr.length(); ++i) {
+											JSONObject o = arr.getJSONObject(i);
+											wb.put(o.getString("uid"), o);
+										}
+										WhiteboardCache.update(roomId, wb);
+										sendWbAll(WbAction.modifyObj, obj.put("obj", arr));
+									}
 										break;
 								}
 							}

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
index 75c66b7..9db3655 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb.js
@@ -513,7 +513,8 @@ var Wb = function() {
 	const ACTIVE = 'active';
 	const BUMPER = 100;
 	var wb = {id: -1, name: ''}, a, t, z, s, canvases = [], mode, slide = 0, width = 0, height = 0
-			, minWidth = 0, minHeight = 0, role = null, extraProps = ['uid', 'fileId', 'fileType', 'count', 'slide'];
+			, wbWidth = 0, wbHeight = 0, role = null, extraProps = ['uid', 'fileId', 'fileType', 'count', 'slide'];
+	var minWidth = 0, minHeight = 0; //TODO TEMP
 
 	function getBtn(m) {
 		return !!t ? t.find(".om-icon." + (m || mode)) : null;
@@ -796,10 +797,10 @@ var Wb = function() {
 			case 'Presentation':
 			{
 				var ccount = canvases.length;
-				minWidth = Math.max(minWidth, _o.width);
-				minHeight = Math.max(minHeight, _o.height);
-				width = Math.max(minWidth, width);
-				height = Math.max(minHeight, height);
+				minWidth = Math.max(minWidth, _o.width); //TODO TEMP
+				minHeight = Math.max(minHeight, _o.height); //TODO TEMP
+				width = Math.max(minWidth, width); //TODO TEMP
+				height = Math.max(minHeight, height); //TODO TEMP
 				var count = _o.deleted ? 1 : _o.count;
 				for (var i = 0; i < count; ++i) {
 					if (canvases.length < i + 1) {

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
index 4f59627..8134c66 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/db2_persistence.xml
@@ -48,8 +48,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
index f0600aa..d147355 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/derby_persistence.xml
@@ -48,8 +48,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
index 311d32f..f97ac16 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mssql_persistence.xml
@@ -47,8 +47,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomPollAnswer</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
index 597af8a..68c5d04 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/mysql_persistence.xml
@@ -48,8 +48,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
index 87faf64..0dd404b 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/oracle_persistence.xml
@@ -48,8 +48,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
index fc25f9f..397016e 100644
--- a/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
+++ b/openmeetings-web/src/main/webapp/WEB-INF/classes/META-INF/postgresql_persistence.xml
@@ -48,8 +48,6 @@
 		<class>org.apache.openmeetings.db.entity.room.RoomModerator</class>
 		<class>org.apache.openmeetings.db.entity.room.Room</class>
 		<class>org.apache.openmeetings.db.entity.room.RoomGroup</class>
-		<class>org.apache.openmeetings.db.entity.room.Whiteboard</class>
-		<class>org.apache.openmeetings.db.entity.room.WhiteboardItem</class>
 		<class>org.apache.openmeetings.db.entity.user.Address</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessage</class>
 		<class>org.apache.openmeetings.db.entity.user.PrivateMessageFolder</class>

http://git-wip-us.apache.org/repos/asf/openmeetings/blob/601ebd27/openmeetings-web/src/main/webapp/css/wb.css
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/webapp/css/wb.css b/openmeetings-web/src/main/webapp/css/wb.css
index f4b7205..c53ca00 100644
--- a/openmeetings-web/src/main/webapp/css/wb.css
+++ b/openmeetings-web/src/main/webapp/css/wb.css
@@ -192,6 +192,11 @@
 .wb-settings .tab.props .wb-prop-b.selected {
 	font-weight: bold;
 }
+.wb-settings .tab.props .block.but .wb-prop-i
+	, .wb-settings .tab.props .block.but .wb-prop-b
+{
+	width: 5px;
+}
 .dropdown-menu.om-left {
 	right: 0;
 	left: auto !important;