anchor.diff:                  
                   
                   //
  +                //   USER MESSAGE FUNCTIONS
  +                //
  +                
  +                //
  +                // Check which buttons should be on and which should be off
  +                //
  +                var mCheckNavButtons = function() {
  +                    
  +                    if (userMessageGrid.getSelectionModel().getCount() === 1) {
  +                        Ext.getCmp('mViewButton').setDisabled(false);
  +                        Ext.getCmp('mDeleteButton').setDisabled(false);
  +                        
  +                    } else if (userMessageGrid.getSelectionModel().getCount() > 1) {
  +                        Ext.getCmp('mViewButton').setDisabled(true);
  +                        Ext.getCmp('mDeleteButton').setDisabled(true);
  +                        
  +                    } else {
  +                        Ext.getCmp('mViewButton').setDisabled(true);
  +                        Ext.getCmp('mDeleteButton').setDisabled(true);
  +                    }
  +                    
  +                    if(Ext.getCmp('userMessageGrid').getStore().getCount()>0){
  +                            
  +                      Ext.getCmp('mProcessNowButton').setDisabled(false);
  +                      Ext.getCmp('mCleanUpNowButton').setDisabled(false);
  +                    }
  +                    else {
  +                        
  +                      Ext.getCmp('mProcessNowButton').setDisabled(true);
  +                      Ext.getCmp('mCleanUpNowButton').setDisabled(true); 
  +                    }
  +                };
  +                
  +                //
  +                //  Refresh and reload the grid
  +                //
  +                var mRefreshGrid = function(){ 
  +                     Ext.getCmp('userMessageGrid').getStore().load({
  +						params: {
  +							status: Ext.getCmp('userMessageFilter-ActiveStatus').getValue() ? Ext.getCmp('userMessageFilter-ActiveStatus').getValue() : '',
  +						    all: (Ext.getCmp('userMessageFilter-ActiveStatus').getValue() === 'All')
  +                             
  +                        }
  +					});
  +                };
  +                
  +                //
  +                //  Delete a message
  +                //
  +                var mDeleteMessage = function() {
  +                    
  +                    var selectedObj = Ext.getCmp('userMessageGrid').getSelection()[0];
  +                    console.log("Selected Obj:",selectedObj);
  +                    Ext.Msg.show({
  +                        title: 'Delete Message?',
  +                        message: 'Are you sure you want to delete the selected message?',
  +                        buttons: Ext.Msg.YESNO,
  +                        icon: Ext.Msg.QUESTION,
  +                        fn: function (btn) {
  +                            if (btn === 'yes') {
  +                                Ext.getCmp('userMessageGrid').setLoading(true);
  +                                var messageId = selectedObj.data.userMessageId;
  +                                //console.log("Message ID:",messageId);
  +                                Ext.Ajax.request({
  +                                    url: '../api/v1/resource/usermessages/' + messageId,
  +                                    method: 'DELETE',
  +                                    success: function (response, opts) {
  +                                        Ext.getCmp('userMessageGrid').setLoading(false);
  +                                        mRefreshGrid();
  +                                    },
  +                                    failure: function (response, opts) {
  +                                        Ext.getCmp('userMessageGrid').setLoading(false);
  +                                    }
  +                                });
  +                            }
  +                        }
  +                    });
  +                };
  +                
  +                //
  +                // View Message
  +                //
  +                var  mViewMessage = function (whichone){
  +                    
  +                    var selectedObj = Ext.getCmp('userMessageGrid').getSelection()[0];
  +                    console.log("Selected Obj",selectedObj);
  +                    
  +                    Ext.create('Ext.window.Window', {
  +                        title: 'View Message',
  +                        iconCls: 'fa fa-info-circle',
  +                        width: '30%',
  +                        bodyStyle: 'padding: 10px;',
  +                        y: 40,
  +                        modal: true,
  +                        maximizable: false,
  +                        layout: 'vbox',
  +                        items:[{
  +                             xtype: 'textfield',
  +                             name: 'Subject',
  +                             fieldLabel: 'Subject',
  +                             width: '100%',
  +                             maxLength: 50,
  +                             editable:false,
  +                             text: selectedObj.subject
  +                        },
  +                        {
  +                             xtype: 'textareafield',
  +                             name: 'msgBody',
  +                             fieldLabel: 'Message Body',
  +                             width: '100%',
  +                             height: 200,
  +                             maxLength: 300,
  +                             editable: false,
  +                             text: selectedObj.bodyOfMessage
  +                        }]
  +                        
  +                    }).show();                    
  +                };
  +                
  +                //
  +                // Process Messages Now
  +                //
  +                var  mProcessMessagesNow = function (){
  +                    Ext.toast('Processing Messages...');
  +                    Ext.Ajax.request({
  +                        url: '../api/v1/resource/usermessages/processnow',
  +                        method: 'POST',
  +                        success: function (response, opts) {
  +                            mRefreshGrid();
  +                            
  +                        }
  +                    });
  +                };
  +                
  +                //
  +                // Cleanup Messages Now
  +                //
  +                var  mCleanupOldMessagesNow = function (){
  +                    Ext.toast('Cleaning Up Old Messages...');
  +                    Ext.Ajax.request({
  +                        url: '../api/v1/resource/usermessages/cleanold',
  +                        method: 'POST',
  +                        success: function (response, opts) {
  +                            Ext.toast('Successful Cleaning Up Old Messages');
  +                            mRefreshGrid();
  +                        }
  +                    });
  +                    
  +                };
  +                
  +                //
                   //  Notifications
                   //
                   var notificationsGridStore = Ext.create('Ext.data.Store', {
  +                    id: 'notificationsGridStore',
                       autoLoad: false,
                       pageSize: 300,
                       remoteSort: true,
  
positive.code:                                 type: 'string'
                              }
                          },
                          {text: 'Message', dataIndex: 'messate', width: 200, flex:1},
                          {text: 'Event Type', dataIndex: 'eventTypeDescription', width: 150,
                              filter: {
                                  type: 'string'
  
negative.code:                             dock: 'top',
                              xtype: 'toolbar',
                              items: [
                                    Ext.create('OSF.component.StandardComboBox', {
                                              id: 'userMessageFilter-ActiveStatus',
                                              emptyText: 'All',
                                              fieldLabel: 'Active Status',
                                              name: 'activeStatus',	
                                              listeners: {
                                                  change: function(filter, newValue, oldValue, opts){
                                                      mRefreshGrid();
                                                  }
                                              },
                                              storeConfig: {
  										customStore: {
  											fields: [
  												'code',
  												'description'
  											],
  											data: [												
  												{
  													code: 'A',
  													description: 'Active'
  												},
  												{
  													code: 'I',
  													description: 'Inactive'
  												},
  												{
  													code: 'All',
  													description: 'All'
  												}
  											]
  										}
  									}
                              })]
                         },
                         {
                                      dock: 'top',
  							        xtype: 'toolbar',
  							        items: [
                                      {
                                          text: 'Refresh',
                                          scale: 'medium',
                                          id: 'mRefreshButton',
                                          iconCls: 'fa fa-2x fa-refresh',
                                          tip: 'Refresh the list of messages',
                                          handler: function () {
                                             mRefreshGrid();
                                          },
                                          tooltip: 'Refresh the list of messages'
                                      },
                                      {
                                          text: 'View',
                                          id: 'mViewButton',
                                          scale: 'medium',
                                          iconCls: 'fa fa-2x fa-eye',
                                          disabled: true,
                                          handler: function () {
                                              mViewMessage();
                                          },
                                          tooltip: 'View the message data',
                                      },
                                      {
                                          text: 'Delete',
                                          id: 'mDeleteButton',
                                          cls: 'alert-danger',
                                          scale: 'medium',
                                          iconCls: 'fa fa-2x fa-trash',
                                          disabled: true,
                                          handler: function () {
                                              mDeleteMessage();  
                                          },
                                          tooltip: 'Delete a message'
                                      },
                                      {
                                          text: 'Process Messages Now',
                                          scale: 'medium',
                                          id: 'mProcessNowButton',
                                          iconCls: 'fa fa-2x fa-bolt',
                                          disabled: true,
                                          handler: function () {
                                            mProcessMessagesNow();
                                          },
                                          tooltip: 'Process all active messages and send them immediately.'
  
                                      },
                                      {
                                          text: 'Cleanup Old Messages Now',
                                          id: 'mCleanUpNowButton',
                                          scale: 'medium',
                                          iconCls: 'fa fa-2x fa-eraser',
                                          disabled: true,
                                          handler: function () {
                                             mCleanupOldMessagesNow();         
                                          },
                                          tooltip:'Removes old archive data now. Default is 28 days.'
  
                                      },
                                      {
                                          xtype: 'tbfill'
                                      }
                                  ]
                          },
                          { 
                              xtype: 'pagingtoolbar',
                              dock: 'bottom',
                              store: userMessageGridStore,
                              displayInfo: true   
                          }
                      ],
                      listeners: {
  