diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/CrudEntityController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/CrudEntityController.java
index 8e233ac673bd57291d8721f458a7dbe8d83018fc..aa9b5d95331ba3c134a918e4647fb37340f36dfe 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/CrudEntityController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/CrudEntityController.java
@@ -122,10 +122,15 @@ public abstract class CrudEntityController<EntityType extends CloneableEntity, F
 
  
     public String prepareView(EntityType entity) {
+        clear();
         logger.debug("Preparing view");
         current = entity;
         return "view?faces-redirect=true";
     }
+    
+    public void clear() {
+        
+    }
 
     public String view() {
         return "view?faces-redirect=true";
diff --git a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
index c1a4c8f596a5676f65cc81244883358decd8e75a..50d9bb2e05e5435b222ae449fb6cfc9e62e1cbad 100644
--- a/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
+++ b/src/java/DmWebPortal/src/java/gov/anl/aps/dm/portal/controllers/UserInfoController.java
@@ -127,18 +127,16 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
             roleTypes = experimentRoles.values();
             ExperimentUser experimentUser;
             for (Experiment experiment : list) {
-                if ((experimentUser = userExperiments.get(experiment.getId())) == null) {
-                    experimentUser = new ExperimentUser(experiment.getId(), getCurrent().getId());
-                    experimentUser.setExperimentName(experiment.getName());
-                    experimentUser.setDescription(experiment.getDescription());
-                    userExperiments.put(experiment.getId(), experimentUser);
-                }
+                experimentUser = new ExperimentUser(experiment.getId(), getCurrent().getId());
+                experimentUser.setExperimentName(experiment.getName());
+                experimentUser.setDescription(experiment.getDescription());
+                userExperiments.add(experimentUser);
                 for (RoleType roleType : roleTypes) {
                     boolean inRole = getCurrent().inRole(roleType.getId(), experiment.getId());
                     experimentUser.setIsInRole(roleType, inRole);
                 }
             }
-            return new ArrayList<>(userExperiments.values());
+            return new ArrayList<>(userExperiments);
         }
 
         @Override
@@ -149,7 +147,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
 
     private UserInfoController.UserExperimentsTable userExperimentsListTable = new UserInfoController.UserExperimentsTable();
 
-    private final Map<Integer, ExperimentUser> userExperiments = new HashMap<>();
+    private final List<ExperimentUser> userExperiments = new ArrayList<>();
     private final Map<String, RoleType> experimentRoles = new HashMap<>();
     int maxExperimentRoleTypeId;
     boolean initialized = false;
@@ -170,9 +168,10 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
         initialized = true;
     }
     
+    @Override
     public void clear() {
         userExperimentsListTable.resetList();
-        userExperimentsListTable.resetFilterList();
+        userExperiments.clear();
     }
 
     public UserExperimentsTable getUserExperimentsListTable() {
@@ -227,12 +226,6 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
         logger.debug("Inserting new user " + user.getUsername());
     }
     
-    @Override
-    public String update() {
-        clear();
-        return super.update();
-    }
-
     private void verifyMandatoryParam(UserInfo user) throws MissingProperty {
         int missing = 0;
         if ((user.getUsername() == null) || (user.getUsername().length() == 0)) {
@@ -280,8 +273,7 @@ public class UserInfoController extends CrudEntityController<UserInfo, UserInfoF
         }
         return "User " + user.getUsername() + " already exists."; 
     }
-
-
+     
     public String prepareSessionUserEdit(String viewPath) {
         UserInfo sessionUser = (UserInfo) SessionUtility.getUser();
         if (sessionUser == null) {
diff --git a/src/java/DmWebPortal/web/views/experiment/create.xhtml b/src/java/DmWebPortal/web/views/experiment/create.xhtml
index f9a48d18e29bee48c6059360935716fbd88484d3..a22b87051c136c754c20204bb4e264f1de197c9f 100644
--- a/src/java/DmWebPortal/web/views/experiment/create.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/create.xhtml
@@ -7,7 +7,7 @@
                 xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
                 xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
                 template="../../templates/contentViewTemplate4x3.xhtml">
-
+    
     <ui:define name="middleCenter">
         <div class="pageTitle">
             <h1>Add Experiment</h1>
diff --git a/src/java/DmWebPortal/web/views/experiment/edit.xhtml b/src/java/DmWebPortal/web/views/experiment/edit.xhtml
index 7ca74d86d81f313d931a36b987b4a377ad957c43..e61944879cb9f39d22b7019cadd04064f38baa6b 100644
--- a/src/java/DmWebPortal/web/views/experiment/edit.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/edit.xhtml
@@ -12,7 +12,7 @@
         <h:form id="editExperimentForm">
 
                 <div class="pageTitle">
-                    <h1>Edit Experiment</h1>
+                    <h1>Edit Experiment #{experimentController.current.name}</h1>
                 </div>
 
             <p:accordionPanel multiple="true" dynamic="true" cache="false" activeIndex="0,1"  >
diff --git a/src/java/DmWebPortal/web/views/experiment/experimentEditPanelGrid.xhtml b/src/java/DmWebPortal/web/views/experiment/experimentEditPanelGrid.xhtml
index 8592664d047daa8c09f20646f15d4f8ec4bb2ab9..47a543821dd15a4fc43acec1e7f6d66ef3eaf8a8 100644
--- a/src/java/DmWebPortal/web/views/experiment/experimentEditPanelGrid.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/experimentEditPanelGrid.xhtml
@@ -12,7 +12,7 @@
     <p:panelGrid columns="2" > 
 
         <h:outputLabel for="name" value="Name" styleClass="entityDataEmphasizedLabel"/>
-        <h:inputText id="name" value="#{experimentObject.name}" title="Name" styleClass="entityDataEmphasizedText"/>
+        <h:outputText id="name" value="#{experimentObject.name}" title="Name" styleClass="entityDataEmphasizedText"/>
 
         <h:outputLabel for="experimentType" value="Experiment Type" styleClass="entityDataLabel"/>
         <p:selectOneMenu id="experimentType" value="#{experimentObject.experimentType}" styleClass="entityDataText">
diff --git a/src/java/DmWebPortal/web/views/experiment/experimentUsersEditDataTable.xhtml b/src/java/DmWebPortal/web/views/experiment/experimentUsersEditDataTable.xhtml
index cd6a59f38d317469c467e4bc0ed44fc50415c030..0a483d7d0af94a9c4190407fdc0ef5da16405a4c 100644
--- a/src/java/DmWebPortal/web/views/experiment/experimentUsersEditDataTable.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/experimentUsersEditDataTable.xhtml
@@ -20,13 +20,16 @@
         <p:tooltip for="ResetFiltersButton" value="Reset filters."/>
     </p:commandButton>
 
+    <p:commandButton id="#{entityTypeName}NoOp" style="visibility:hidden" value="NoOp"/>
+    <p:defaultCommand target="#{entityTypeName}NoOp"/>
+
     <p:dataTable id="experimentUsersEditDataTable"                              
                  var="experimentUserObject" 
                  value="#{experimentController.experimentUsersEditTable.listDataModel}" 
                  filteredValue="#{experimentController.experimentUsersEditTable.filteredObjectList}"
                  paginator="true" 
                  paginatorAlwaysVisible="false" 
-                 rows="25"
+                 rows="8"
                  binding="#{experimentController.experimentUsersEditTable.listDataTable}"
                  widgetVar="experimentUsersEditWidget" 
                  emptyMessage="No users found.">
@@ -44,17 +47,17 @@
             <h:outputText value="#{experimentUserObject.name}"/>
         </p:column>                  
 
-        <p:column headerText="Manager">
+        <p:column sortBy="#{!experimentUserObject.isManager}" headerText="Manager">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isManager and !isAdmin and !isManager}" /> 
             <p:selectBooleanCheckbox value="#{experimentUserObject.isManager}" rendered="#{isAdmin or isManager}" immediate="true" />  
         </p:column>
 
-        <p:column headerText="Principal Investigator">
+        <p:column sortBy="#{!experimentUserObject.isPI}" headerText="Principal Investigator">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isPI and !isAdmin and !isPi}" /> 
             <p:selectBooleanCheckbox value="#{experimentUserObject.isPI}" rendered="#{isAdmin or isPi}" />  
         </p:column>
 
-        <p:column headerText="User">
+        <p:column sortBy="#{!experimentUserObject.isUser}" headerText="User">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isUser and !isAdmin and !isPi}" /> 
             <p:selectBooleanCheckbox value="#{experimentUserObject.isUser}" rendered="#{isAdmin or isPi}" />  
         </p:column>
diff --git a/src/java/DmWebPortal/web/views/experiment/experimentUsersListDataTable.xhtml b/src/java/DmWebPortal/web/views/experiment/experimentUsersListDataTable.xhtml
index 3ffb91e5a1bba05872c0f06f268f2782fd4d16a4..b17657ad3873b2e41e176ce271c49d4d8d57eac6 100644
--- a/src/java/DmWebPortal/web/views/experiment/experimentUsersListDataTable.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/experimentUsersListDataTable.xhtml
@@ -5,9 +5,12 @@
                 xmlns:p="http://primefaces.org/ui"
                 xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
 
+
     <p:commandButton id="ResetFiltersButton" action="#{experimentController.experimentUsersListTable.resetList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('experimentUsersListWidget').clearFilters()" update="experimentUsersListDataTable">
         <p:tooltip for="ResetFiltersButton" value="Reset filters."/>
     </p:commandButton>
+    <p:commandButton id="#{entityTypeName}NoOp" style="visibility:hidden" value="NoOp"/>
+    <p:defaultCommand target="#{entityTypeName}NoOp"/>
 
     <p:dataTable id="experimentUsersListDataTable"                              
                  var="experimentUserObject" 
@@ -31,15 +34,15 @@
         </p:column>                  
 
 
-        <p:column headerText="Manager">
+        <p:column sortBy="#{!experimentUserObject.isManager}" headerText="Manager" >
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isManager}" /> 
         </p:column>
 
-        <p:column headerText="Principal Investigator">
+        <p:column sortBy="#{!experimentUserObject.isPI}" headerText="Principal Investigator">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isPI}" />  
         </p:column>
 
-        <p:column headerText="User">
+        <p:column sortBy="#{!experimentUserObject.isUser}" headerText="User">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{experimentUserObject.isUser}" />   
         </p:column>
 
diff --git a/src/java/DmWebPortal/web/views/experiment/view.xhtml b/src/java/DmWebPortal/web/views/experiment/view.xhtml
index e8582377f4f8c90707d2aec5c3791e8bb2b4fbe3..f059e9623db9795bc521d8807c00c05f2c2c237a 100644
--- a/src/java/DmWebPortal/web/views/experiment/view.xhtml
+++ b/src/java/DmWebPortal/web/views/experiment/view.xhtml
@@ -11,7 +11,7 @@
     <ui:define name="middleCenter">
         <h:form id="viewExperimentForm">
             <div class="pageTitle">
-                <h1>Experiment Details</h1>
+                <h1>Experiment #{experimentController.current.name}</h1>
             </div>
 
             <ui:param name="experimentObject" value="#{experimentController.current}"/>
diff --git a/src/java/DmWebPortal/web/views/roleType/list.xhtml b/src/java/DmWebPortal/web/views/roleType/list.xhtml
index 73dcee27d1e34115b0776779d2903157b897a2e4..3ae2e81e4a1e100071baf9bbc47bf3c6b737af04 100644
--- a/src/java/DmWebPortal/web/views/roleType/list.xhtml
+++ b/src/java/DmWebPortal/web/views/roleType/list.xhtml
@@ -20,6 +20,8 @@
                 <p:commandButton id="#{entityTypeName}ResetFiltersButton" action="#{entityController.resetList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight">
                     <p:tooltip for="#{entityTypeName}ResetFiltersButton" value="Reset list filters."/>
                 </p:commandButton>
+                <p:commandButton id="#{entityTypeName}NoOp" style="visibility:hidden" value="NoOp"/>
+                <p:defaultCommand target="#{entityTypeName}NoOp"/>
             </div>
 
             <h:panelGroup>  
diff --git a/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml b/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml
index 2df53a706970f12b114ae3a4b2f529022466d211..74727954c3c1b08e7c7aad46c2fd77a3cde39332 100644
--- a/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml
+++ b/src/java/DmWebPortal/web/views/userInfo/userExperimentsListDataTable.xhtml
@@ -5,9 +5,13 @@
                 xmlns:p="http://primefaces.org/ui"
                 xmlns:ui="http://xmlns.jcp.org/jsf/facelets">
 
-    <p:commandButton id="ResetFiltersButton" action="#{userInfoController.userExperimentsListTable.resetList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('userExperimentsListWidget').clearFilters()" update="userExperimentsListDataTable">
-        <p:tooltip for="ResetFiltersButton" value="Reset filters."/>
-    </p:commandButton>
+    <div>
+        <p:commandButton id="ResetFiltersButton" action="#{userInfoController.userExperimentsListTable.resetList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('userExperimentsListWidget').clearFilters()" update="userExperimentsListDataTable">
+            <p:tooltip for="ResetFiltersButton" value="Reset filters."/>
+        </p:commandButton>
+        <p:commandButton id="#{entityTypeName}NoOp" style="visibility:hidden" value="NoOp"/>
+        <p:defaultCommand target="#{entityTypeName}NoOp"/>
+    </div>
 
     <p:dataTable id="userExperimentsListDataTable"                              
                  var="userExperimentObject" 
@@ -15,7 +19,7 @@
                  filteredValue="#{userInfoController.userExperimentsListTable.filteredObjectList}"
                  paginator="true" 
                  paginatorAlwaysVisible="false" 
-                 rows="25"
+                 rows="6"
                  binding="#{userInfoController.userExperimentsListTable.listDataTable}"
                  widgetVar="userExperimentsListWidget" 
                  emptyMessage="No users found.">
@@ -31,15 +35,15 @@
         </p:column>                  
 
 
-        <p:column headerText="Manager">
+        <p:column sortBy="#{!experimentUserObject.isManager}" headerText="Manager">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isManager}" /> 
         </p:column>
 
-        <p:column headerText="Principal Investigator">
+        <p:column sortBy="#{!experimentUserObject.isPI}" headerText="Principal Investigator">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isPI}" />  
         </p:column>
 
-        <p:column headerText="User">
+        <p:column sortBy="#{!experimentUserObject.isUser}" headerText="User">
             <h:outputText value="" styleClass="ui-icon ui-icon-check" rendered="#{userExperimentObject.isUser}" />   
         </p:column>
 
diff --git a/src/java/DmWebPortal/web/views/userInfo/userInfoListDataTable.xhtml b/src/java/DmWebPortal/web/views/userInfo/userInfoListDataTable.xhtml
index b75e01aa80f15284622fcb9c30970b73244129e8..fab31128358d0ef53a3cfaabb0ea16cc7e064613 100644
--- a/src/java/DmWebPortal/web/views/userInfo/userInfoListDataTable.xhtml
+++ b/src/java/DmWebPortal/web/views/userInfo/userInfoListDataTable.xhtml
@@ -54,7 +54,9 @@
         
         <p:column headerText="Actions" >
             <div class="actionLink">
-                <p:commandLink action="#{userInfoController.prepareView(userInfoObject)}" styleClass="ui-icon ui-icon-info" title="View"/>
+                <p:commandLink action="#{userInfoController.prepareView(userInfoObject)}" styleClass="ui-icon ui-icon-info" title="View">
+                    <f:setPropertyActionListener value="#{userInfoObject}" target="#{userInfoController.current}"/>
+                </p:commandLink>
                 <p:commandLink action="#{userInfoController.prepareEdit(userInfoObject)}" rendered="#{loginController.admin}" styleClass="ui-icon ui-icon-pencil" title="Edit"/>
                 <p:commandLink oncomplete="PF('userInfoDestroyDialogWidget').show()" rendered="#{loginController.admin}" styleClass="ui-icon ui-icon-trash" title="Delete" update="@form">
                     <f:setPropertyActionListener value="#{userInfoObject}" target="#{userInfoController.current}"/>
diff --git a/src/java/DmWebPortal/web/views/userInfo/view.xhtml b/src/java/DmWebPortal/web/views/userInfo/view.xhtml
index 50f39a1ec7d6762b14c40492522a9024c89dece8..5847bc78b936108867ba93fb8e920e25e331f42b 100644
--- a/src/java/DmWebPortal/web/views/userInfo/view.xhtml
+++ b/src/java/DmWebPortal/web/views/userInfo/view.xhtml
@@ -11,7 +11,7 @@
     <ui:define name="middleCenter">
         <h:form id="viewUserInfoForm">
             <div class="pageTitle">
-                <h1>User Details</h1>
+                <h1>User #{userInfoController.current.username}</h1>
             </div>
 
             <ui:param name="userInfoObject" value="#{userInfoController.current}"/>
diff --git a/src/java/DmWebPortal/web/views/userSystemRole/list.xhtml b/src/java/DmWebPortal/web/views/userSystemRole/list.xhtml
index f23059ab4a29180e250570f4acd80a96db067f8a..652683ec88f93f5bfd5b28279377c3d028ed503c 100644
--- a/src/java/DmWebPortal/web/views/userSystemRole/list.xhtml
+++ b/src/java/DmWebPortal/web/views/userSystemRole/list.xhtml
@@ -19,10 +19,12 @@
                 <p:commandButton id="systemRoleAddButton" value="Add" onclick="PF('systemRoleAddDialogWidget').show();" rendered="#{loginController.admin}" icon="ui-icon-plus" >
                     <p:tooltip for="systemRoleAddButton" value="Add new Administrators."/>
                 </p:commandButton>
-                
+
                 <p:commandButton id="ResetFiltersButton" action="#{userSystemRoleController.resetSystemRoleUserList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight">
                     <p:tooltip for="ResetFiltersButton" value="Reset list filters."/>
                 </p:commandButton>
+                <p:commandButton id="#{entityTypeName}NoOp" style="visibility:hidden" value="NoOp"/>
+                <p:defaultCommand target="#{entityTypeName}NoOp"/>
             </div>
 
             <h:panelGroup>  
diff --git a/src/java/DmWebPortal/web/views/userSystemRole/systemRoleAddDialog.xhtml b/src/java/DmWebPortal/web/views/userSystemRole/systemRoleAddDialog.xhtml
index 033d51d19551542076d2c11079f86801ac448a0f..df7c4fd97b72679fc18640968fb661589dda8414 100644
--- a/src/java/DmWebPortal/web/views/userSystemRole/systemRoleAddDialog.xhtml
+++ b/src/java/DmWebPortal/web/views/userSystemRole/systemRoleAddDialog.xhtml
@@ -13,12 +13,13 @@
     <p:dialog id="adminAddDialog" 
               header="Add Administrators" widgetVar="systemRoleAddDialogWidget" dynamic="true" styleClass="dialog" width="800">
         
-            <div class="actionButton">
-                <p:commandButton id="ResetFilters" actionListener="#{userSystemRoleController.noSystemRoleTable.resetFilterList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('systemRoleAddDialogWidget').show()" update="adminAddDialog" >
-                    <p:tooltip for="ResetFilters" value="Reset list filters."/>
-                </p:commandButton>
-            </div>
-        
+        <div class="actionButton">
+            <p:commandButton id="ResetFilters" actionListener="#{userSystemRoleController.noSystemRoleTable.resetFilterList()}" alt="Clear Filters" icon="ui-icon-refresh" styleClass="actionButtonRight" oncomplete="PF('systemRoleAddDialogWidget').show()" update="adminAddDialog" >
+                <p:tooltip for="ResetFilters" value="Reset list filters."/>
+            </p:commandButton>
+        <p:commandButton id="systemRoleNoOp" style="visibility:hidden" value="SNoOp"/>
+        </div>
+
         <div>
          <p:dataTable id="addSystemRoleList"                              
                  var="adminUser"