humanReadableNames in logPanel
diff --git a/planetstack/core/xoslib/static/css/xosAdminDashboard.css b/planetstack/core/xoslib/static/css/xosAdminDashboard.css
index d94cb39..d707ffd 100644
--- a/planetstack/core/xoslib/static/css/xosAdminDashboard.css
+++ b/planetstack/core/xoslib/static/css/xosAdminDashboard.css
@@ -12,10 +12,12 @@
 
 #logPanel {
     overflow-y: auto;
+    overflow-x: hidden;
 }
 
 #logTable {
     width: 100%;
+    white-space: nowrap;
 }
 
 #logTable tr {
diff --git a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
index 99e47e7..dc11670 100644
--- a/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
+++ b/planetstack/core/xoslib/static/js/xoslib/xosHelper.js
@@ -205,27 +205,27 @@
             },

 

             saveError: function(model, result, xhr, infoMsgId) {

-                result["what"] = "save " + model.__proto__.modelName;

+                result["what"] = "save " + model.modelName + " " + model.attributes.humanReadableName;

                 result["infoMsgId"] = infoMsgId;

                 this.app.showError(result);

             },

 

             saveSuccess: function(model, result, xhr, infoMsgId) {

                 result = {status: xhr.xhr.status, statusText: xhr.xhr.statusText};

-                result["what"] = "save " + model.__proto__.modelName;

+                result["what"] = "save " + model.modelName + " " + model.attributes.humanReadableName;

                 result["infoMsgId"] = infoMsgId;

                 this.app.showSuccess(result);

             },
 
             destroyError: function(model, result, xhr, infoMsgId) {
-                result["what"] = "destroy " + model.__proto__.modelName;

+                result["what"] = "destroy " + model.modelName + " " + model.attributes.humanReadableName;

                 result["infoMsgId"] = infoMsgId;

                 this.app.showError(result);

             },

 

             destroySuccess: function(model, result, xhr, infoMsgId) {

                 result = {status: xhr.xhr.status, statusText: xhr.xhr.statusText};

-                result["what"] = "destroy " + model.__proto__.modelName;

+                result["what"] = "destroy " + model.modelName + " " + model.attributes.humanReadableName;

                 result["infoMsgId"] = infoMsgId;

                 this.app.showSuccess(result);

             },
@@ -252,7 +252,7 @@
 
             save: function() {
                 this.app.hideError();
-                var infoMsgId = this.app.showInformational( {what: "save " + this.model.__proto__.modelName, status: "", statusText: "in progress..."} );

+                var infoMsgId = this.app.showInformational( {what: "save " + model.modelName + " " + model.attributes.humanReadableName, status: "", statusText: "in progress..."} );

                 var data = Backbone.Syphon.serialize(this);

                 var that = this;

                 var isNew = !this.model.id;

@@ -268,7 +268,7 @@
 
             destroyModel: function() {
                  this.app.hideError();
-                 var infoMsgId = this.app.showInformational( {what: "destroy " + this.model.__proto__.modelName, status: "", statusText: "in progress..."} );
+                 var infoMsgId = this.app.showInformational( {what: "destroy " + model.modelName + " " + model.attributes.humanReadableName, status: "", statusText: "in progress..."} );
                  var that = this;
                  this.model.destroy({error: function(model, result, xhr) { that.destroyError(model,result,xhr,infoMsgId);},
                                      success: function(model, result, xhr) { that.destroySuccess(model,result,xhr,infoMsgId);}});