diff --git a/web/pgadmin/browser/__init__.py b/web/pgadmin/browser/__init__.py
index b1f2b5d92..9ee756374 100644
--- a/web/pgadmin/browser/__init__.py
+++ b/web/pgadmin/browser/__init__.py
@@ -47,6 +47,7 @@ from pgadmin.utils.master_password import validate_master_password, \
     set_masterpass_check_text, cleanup_master_password, get_crypt_key, \
     set_crypt_key, process_masterpass_disabled
 from pgadmin.model import User
+from pgadmin.utils.constants import APP_JS, PGADMIN_NODE
 
 try:
     from flask_security.views import default_render_json
@@ -57,6 +58,17 @@ except ImportError as e:
         from flask_security.views import _render_json as default_render_json
 
 MODULE_NAME = 'browser'
+BROWSER_STATIC = 'browser.static'
+JQUERY_ACIPLUGIN = 'jquery.aciplugin'
+BROWSER_INDEX = 'browser.index'
+PGADMIN_BROWSER = 'pgAdmin.Browser'
+PASS_ERROR_MSG = u'Your password has not been changed.'
+SMTP_SOCKET_ERROR = u'SMTP Socket error: {error}\n {pass_error}'.format(
+    error={}, pass_error=PASS_ERROR_MSG)
+SMTP_ERROR = u'SMTP error: {error}\n {pass_error}'.format(
+    error={}, pass_error=PASS_ERROR_MSG)
+PASS_ERROR = u'Error: {error}\n {pass_error}'.format(
+    error={}, pass_error=PASS_ERROR_MSG)
 
 
 class BrowserModule(PgAdminModule):
@@ -77,7 +89,7 @@ class BrowserModule(PgAdminModule):
             ('static', 'vendor/codemirror/addon/dialog/dialog.css'),
             ('static', context_menu_file),
             ('static', wcdocker_file),
-            ('browser.static', 'vendor/aciTree/css/aciTree.css')
+            (BROWSER_STATIC, 'vendor/aciTree/css/aciTree.css')
         ]:
             stylesheets.append(url_for(endpoint, filename=filename))
         return stylesheets
@@ -119,9 +131,9 @@ class BrowserModule(PgAdminModule):
             'preloaded': True
         })
         scripts.append({
-            'name': 'jquery.aciplugin',
+            'name': JQUERY_ACIPLUGIN,
             'path': url_for(
-                'browser.static',
+                BROWSER_STATIC,
                 filename='vendor/aciTree/jquery.aciPlugin.min'
             ),
             'deps': ['jquery'],
@@ -131,21 +143,21 @@ class BrowserModule(PgAdminModule):
         scripts.append({
             'name': 'jquery.acitree',
             'path': url_for(
-                'browser.static',
+                BROWSER_STATIC,
                 filename='vendor/aciTree/jquery.aciTree' if
                 current_app.debug else 'vendor/aciTree/jquery.aciTree.min'
             ),
-            'deps': ['jquery', 'jquery.aciplugin'],
+            'deps': ['jquery', JQUERY_ACIPLUGIN],
             'exports': 'aciPluginClass.plugins.aciTree',
             'preloaded': True
         })
         scripts.append({
             'name': 'jquery.acisortable',
             'path': url_for(
-                'browser.static',
+                BROWSER_STATIC,
                 filename='vendor/aciTree/jquery.aciSortable.min'
             ),
-            'deps': ['jquery', 'jquery.aciplugin'],
+            'deps': ['jquery', JQUERY_ACIPLUGIN],
             'exports': 'aciPluginClass.plugins.aciSortable',
             'when': None,
             'preloaded': True
@@ -153,10 +165,10 @@ class BrowserModule(PgAdminModule):
         scripts.append({
             'name': 'jquery.acifragment',
             'path': url_for(
-                'browser.static',
+                BROWSER_STATIC,
                 filename='vendor/aciTree/jquery.aciFragment.min'
             ),
-            'deps': ['jquery', 'jquery.aciplugin'],
+            'deps': ['jquery', JQUERY_ACIPLUGIN],
             'exports': 'aciPluginClass.plugins.aciFragment',
             'when': None,
             'preloaded': True
@@ -175,18 +187,18 @@ class BrowserModule(PgAdminModule):
 
         scripts.append({
             'name': 'pgadmin.browser.datamodel',
-            'path': url_for('browser.static', filename='js/datamodel'),
+            'path': url_for(BROWSER_STATIC, filename='js/datamodel'),
             'preloaded': True
         })
 
         for name, script in [
-            ['pgadmin.browser', 'js/browser'],
+            [PGADMIN_BROWSER, 'js/browser'],
             ['pgadmin.browser.endpoints', 'js/endpoints'],
             ['pgadmin.browser.error', 'js/error']
         ]:
             scripts.append({
                 'name': name,
-                'path': url_for('browser.index') + script,
+                'path': url_for(BROWSER_INDEX) + script,
                 'preloaded': True
             })
 
@@ -197,7 +209,7 @@ class BrowserModule(PgAdminModule):
         ]:
             scripts.append({
                 'name': name,
-                'path': url_for('browser.index') + script,
+                'path': url_for(BROWSER_INDEX) + script,
                 'preloaded': True,
                 'deps': ['pgadmin.browser.datamodel']
             })
@@ -208,12 +220,12 @@ class BrowserModule(PgAdminModule):
             ['pgadmin.browser.frame', 'js/frame']
         ]:
             scripts.append({
-                'name': name, 'path': url_for('browser.static', filename=end),
+                'name': name, 'path': url_for(BROWSER_STATIC, filename=end),
                 'preloaded': True})
 
         scripts.append({
             'name': 'pgadmin.browser.node.ui',
-            'path': url_for('browser.static', filename='js/node.ui'),
+            'path': url_for(BROWSER_STATIC, filename='js/node.ui'),
             'when': 'server_group'
         })
 
@@ -226,26 +238,26 @@ class BrowserModule(PgAdminModule):
             'file_items': [
                 MenuItem(
                     name='mnu_locklayout',
-                    module='pgAdmin.Browser',
+                    module=PGADMIN_BROWSER,
                     label=gettext('Lock Layout'),
                     priority=999,
                     menu_items=[MenuItem(
                         name='mnu_lock_none',
-                        module='pgAdmin.Browser',
+                        module=PGADMIN_BROWSER,
                         callback='mnu_lock_none',
                         priority=0,
                         label=gettext('None'),
                         checked=True
                     ), MenuItem(
                         name='mnu_lock_docking',
-                        module='pgAdmin.Browser',
+                        module=PGADMIN_BROWSER,
                         callback='mnu_lock_docking',
                         priority=1,
                         label=gettext('Prevent Docking'),
                         checked=False
                     ), MenuItem(
                         name='mnu_lock_full',
-                        module='pgAdmin.Browser',
+                        module=PGADMIN_BROWSER,
                         callback='mnu_lock_full',
                         priority=2,
                         label=gettext('Full Lock'),
@@ -263,7 +275,7 @@ class BrowserModule(PgAdminModule):
         Returns:
             list: a list of url endpoints exposed to the client.
         """
-        return ['browser.index', 'browser.nodes',
+        return [BROWSER_INDEX, 'browser.nodes',
                 'browser.check_master_password',
                 'browser.set_master_password',
                 'browser.reset_master_password',
@@ -358,15 +370,15 @@ class BrowserPluginModule(PgAdminModule):
 
         if self.module_use_template_javascript:
             scripts.extend([{
-                'name': 'pgadmin.node.%s' % self.node_type,
-                'path': url_for('browser.index') +
-                        '%s/module' % self.node_type,
+                'name': PGADMIN_NODE % self.node_type,
+                'path': url_for(BROWSER_INDEX
+                                ) + '%s/module' % self.node_type,
                 'when': self.script_load,
                 'is_template': True
             }])
         else:
             scripts.extend([{
-                'name': 'pgadmin.node.%s' % self.node_type,
+                'name': PGADMIN_NODE % self.node_type,
                 'path': url_for(
                     '%s.static' % self.name,
                     filename=('js/%s' % self.node_type)
@@ -412,7 +424,7 @@ class BrowserPluginModule(PgAdminModule):
             "_type": node_type,
             "_id": node_id,
             "_pid": parent_id,
-            "module": 'pgadmin.node.%s' % node_type
+            "module": PGADMIN_NODE % node_type
         }
         for key in kwargs:
             obj.setdefault(key, kwargs[key])
@@ -527,7 +539,7 @@ class BrowserPluginModule(PgAdminModule):
 
 def _get_logout_url():
     return '{0}?next={1}'.format(
-        url_for('security.logout'), url_for('browser.index'))
+        url_for('security.logout'), url_for(BROWSER_INDEX))
 
 
 @blueprint.route("/")
@@ -737,7 +749,7 @@ def utils():
             support_ssh_tunnel=config.SUPPORT_SSH_TUNNEL,
             logout_url=_get_logout_url()
         ),
-        200, {'Content-Type': 'application/javascript'})
+        200, {'Content-Type': APP_JS})
 
 
 @blueprint.route("/js/endpoints.js")
@@ -745,7 +757,7 @@ def utils():
 def exposed_urls():
     return make_response(
         render_template('browser/js/endpoints.js'),
-        200, {'Content-Type': 'application/javascript'}
+        200, {'Content-Type': APP_JS}
     )
 
 
@@ -755,7 +767,7 @@ def exposed_urls():
 def error_js():
     return make_response(
         render_template('browser/js/error.js', _=gettext),
-        200, {'Content-Type': 'application/javascript'})
+        200, {'Content-Type': APP_JS})
 
 
 @blueprint.route("/js/messages.js")
@@ -763,7 +775,7 @@ def error_js():
 def messages_js():
     return make_response(
         render_template('browser/js/messages.js', _=gettext),
-        200, {'Content-Type': 'application/javascript'})
+        200, {'Content-Type': APP_JS})
 
 
 @blueprint.route("/browser.css")
@@ -969,9 +981,7 @@ if hasattr(config, 'SECURITY_CHANGEABLE') and config.SECURITY_CHANGEABLE:
             except SOCKETErrorException as e:
                 # Handle socket errors which are not covered by SMTPExceptions.
                 logging.exception(str(e), exc_info=True)
-                flash(gettext(u'SMTP Socket error: {}\n'
-                              u'Your password has not been changed.'
-                              ).format(e),
+                flash(gettext(SMTP_SOCKET_ERROR).format(e),
                       'danger')
                 has_error = True
             except (SMTPConnectError, SMTPResponseException,
@@ -980,19 +990,14 @@ if hasattr(config, 'SECURITY_CHANGEABLE') and config.SECURITY_CHANGEABLE:
                     SMTPRecipientsRefused) as e:
                 # Handle smtp specific exceptions.
                 logging.exception(str(e), exc_info=True)
-                flash(gettext(u'SMTP error: {}\n'
-                              u'Your password has not been changed.'
-                              ).format(e),
+                flash(gettext(SMTP_ERROR).format(e),
                       'danger')
                 has_error = True
             except Exception as e:
                 # Handle other exceptions.
                 logging.exception(str(e), exc_info=True)
                 flash(
-                    gettext(
-                        u'Error: {}\n'
-                        u'Your password has not been changed.'
-                    ).format(e),
+                    gettext(PASS_ERROR).format(e),
                     'danger'
                 )
                 has_error = True
@@ -1078,9 +1083,7 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
                     # Handle socket errors which are not
                     # covered by SMTPExceptions.
                     logging.exception(str(e), exc_info=True)
-                    flash(gettext(u'SMTP Socket error: {}\n'
-                                  u'Your password has not been changed.'
-                                  ).format(e),
+                    flash(gettext(SMTP_SOCKET_ERROR).format(e),
                           'danger')
                     has_error = True
                 except (SMTPConnectError, SMTPResponseException,
@@ -1090,17 +1093,13 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
 
                     # Handle smtp specific exceptions.
                     logging.exception(str(e), exc_info=True)
-                    flash(gettext(u'SMTP error: {}\n'
-                                  u'Your password has not been changed.'
-                                  ).format(e),
+                    flash(gettext(SMTP_ERROR).format(e),
                           'danger')
                     has_error = True
                 except Exception as e:
                     # Handle other exceptions.
                     logging.exception(str(e), exc_info=True)
-                    flash(gettext(u'Error: {}\n'
-                                  u'Your password has not been changed.'
-                                  ).format(e),
+                    flash(gettext(PASS_ERROR).format(e),
                           'danger')
                     has_error = True
 
@@ -1149,9 +1148,7 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
             except SOCKETErrorException as e:
                 # Handle socket errors which are not covered by SMTPExceptions.
                 logging.exception(str(e), exc_info=True)
-                flash(gettext(u'SMTP Socket error: {}\n'
-                              u'Your password has not been changed.'
-                              ).format(e),
+                flash(gettext(SMTP_SOCKET_ERROR).format(e),
                       'danger')
                 has_error = True
             except (SMTPConnectError, SMTPResponseException,
@@ -1161,17 +1158,13 @@ if hasattr(config, 'SECURITY_RECOVERABLE') and config.SECURITY_RECOVERABLE:
 
                 # Handle smtp specific exceptions.
                 logging.exception(str(e), exc_info=True)
-                flash(gettext(u'SMTP error: {}\n'
-                              u'Your password has not been changed.'
-                              ).format(e),
+                flash(gettext(SMTP_ERROR).format(e),
                       'danger')
                 has_error = True
             except Exception as e:
                 # Handle other exceptions.
                 logging.exception(str(e), exc_info=True)
-                flash(gettext(u'Error: {}\n'
-                              u'Your password has not been changed.'
-                              ).format(e),
+                flash(gettext(PASS_ERROR).format(e),
                       'danger')
                 has_error = True
 
diff --git a/web/pgadmin/browser/collection.py b/web/pgadmin/browser/collection.py
index 6c1633451..61ee9d26e 100644
--- a/web/pgadmin/browser/collection.py
+++ b/web/pgadmin/browser/collection.py
@@ -16,6 +16,7 @@ from pgadmin.browser import BrowserPluginModule
 from pgadmin.browser.utils import PGChildModule
 from pgadmin.utils import PgAdminModule
 from pgadmin.utils.preferences import Preferences
+from pgadmin.utils.constants import PGADMIN_NODE
 
 
 @six.add_metaclass(ABCMeta)
@@ -58,15 +59,15 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
 
         if self.module_use_template_javascript:
             scripts.extend([{
-                'name': 'pgadmin.node.%s' % self.node_type,
-                'path': url_for('browser.index') +
-                        '%s/module' % self.node_type,
+                'name': PGADMIN_NODE % self.node_type,
+                'path': url_for('browser.index'
+                                ) + '%s/module' % self.node_type,
                 'when': self.script_load,
                 'is_template': True
             }])
         else:
             scripts.extend([{
-                'name': 'pgadmin.node.%s' % self.node_type,
+                'name': PGADMIN_NODE % self.node_type,
                 'path': url_for(
                     '%s.static' % self.name,
                     filename=('js/%s' % self.node_type)
@@ -93,7 +94,7 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
             "_type": self.node_type,
             "_id": node_id,
             "_pid": parent_id,
-            "module": 'pgadmin.node.%s' % self.node_type
+            "module": PGADMIN_NODE % self.node_type
         }
         for key in kwargs:
             obj.setdefault(key, kwargs[key])
@@ -108,7 +109,7 @@ class CollectionNodeModule(PgAdminModule, PGChildModule):
             "_type": 'coll-%s' % (self.node_type),
             "_id": parent_id,
             "_pid": parent_id,
-            "module": 'pgadmin.node.%s' % self.node_type,
+            "module": PGADMIN_NODE % self.node_type,
             "nodes": [self.node_type]
         }
 
diff --git a/web/pgadmin/browser/register_browser_preferences.py b/web/pgadmin/browser/register_browser_preferences.py
index 2857fc7cd..73cda77e2 100644
--- a/web/pgadmin/browser/register_browser_preferences.py
+++ b/web/pgadmin/browser/register_browser_preferences.py
@@ -7,6 +7,7 @@
 #
 ##########################################################################
 from flask_babelex import gettext
+from pgadmin.utils.constants import KEYBOARD_SHORTCUTS
 
 LOCK_LAYOUT_LEVEL = {
     'PREVENT_DOCKING': 'docking',
@@ -125,7 +126,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 66, 'char': 'b'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -140,7 +141,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 91, 'char': '['}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -155,7 +156,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 93, 'char': ']'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -170,7 +171,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 70, 'char': 'f'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -185,7 +186,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 79, 'char': 'o'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -200,7 +201,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 76, 'char': 'l'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -215,7 +216,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 72, 'char': 'h'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -230,7 +231,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 81, 'char': 'q'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -245,7 +246,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 86, 'char': 'v'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -260,7 +261,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 83, 'char': 's'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -275,7 +276,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 78, 'char': 'n'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -290,7 +291,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 69, 'char': 'e'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -305,7 +306,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 68, 'char': 'd'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -320,7 +321,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 77, 'char': 'm'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -335,7 +336,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 85, 'char': 'u'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -350,7 +351,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 67, 'char': 'c'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -365,7 +366,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 71, 'char': 'g'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -380,7 +381,7 @@ def register_browser_preferences(self):
             'control': True,
             'key': {'key_code': 93, 'char': ']'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -395,7 +396,7 @@ def register_browser_preferences(self):
             'control': True,
             'key': {'key_code': 91, 'char': '['}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -410,7 +411,7 @@ def register_browser_preferences(self):
             'control': False,
             'key': {'key_code': 116, 'char': 'F5'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
 
@@ -425,6 +426,6 @@ def register_browser_preferences(self):
             'control': True,
             'key': {'key_code': 65, 'char': 'a'}
         },
-        category_label=gettext('Keyboard shortcuts'),
+        category_label=gettext(KEYBOARD_SHORTCUTS),
         fields=fields
     )
diff --git a/web/pgadmin/browser/server_groups/__init__.py b/web/pgadmin/browser/server_groups/__init__.py
index b9733f845..3c4ec6831 100644
--- a/web/pgadmin/browser/server_groups/__init__.py
+++ b/web/pgadmin/browser/server_groups/__init__.py
@@ -24,9 +24,12 @@ from pgadmin.utils.menu import MenuItem
 from sqlalchemy import exc
 from pgadmin.model import db, ServerGroup
 
+SG_NOT_FOUND_ERROR = 'The specified server group could not be found.'
+
 
 class ServerGroupModule(BrowserPluginModule):
     _NODE_TYPE = "server_group"
+    node_icon = "icon-%s" % _NODE_TYPE
 
     def get_nodes(self, *arg, **kwargs):
         """Return a JSON document listing the server groups for the user"""
@@ -37,7 +40,7 @@ class ServerGroupModule(BrowserPluginModule):
             yield self.generate_browser_node(
                 "%d" % (group.id), None,
                 group.name,
-                "icon-%s" % self.node_type,
+                self.node_icon,
                 True,
                 self.node_type,
                 can_delete=True if idx > 0 else False
@@ -92,6 +95,9 @@ blueprint = ServerGroupModule(__name__)
 
 class ServerGroupView(NodeView):
     node_type = ServerGroupModule._NODE_TYPE
+    node_icon = ServerGroupModule.node_icon
+    node_label = "Server Group"
+
     parent_ids = []
     ids = [{'type': 'int', 'id': 'gid'}]
 
@@ -136,9 +142,7 @@ class ServerGroupView(NodeView):
             return make_json_response(
                 status=410,
                 success=0,
-                errormsg=gettext(
-                    'The specified server group could not be found.'
-                )
+                errormsg=gettext(SG_NOT_FOUND_ERROR)
             )
         else:
             try:
@@ -169,9 +173,7 @@ class ServerGroupView(NodeView):
             return make_json_response(
                 status=417,
                 success=0,
-                errormsg=gettext(
-                    'The specified server group could not be found.'
-                )
+                errormsg=gettext(SG_NOT_FOUND_ERROR)
             )
         else:
             try:
@@ -194,7 +196,7 @@ class ServerGroupView(NodeView):
                 gid,
                 None,
                 servergroup.name,
-                "icon-%s" % self.node_type,
+                self.node_icon,
                 True,
                 self.node_type,
                 can_delete=True  # This is user created hence can deleted
@@ -214,9 +216,7 @@ class ServerGroupView(NodeView):
             return make_json_response(
                 status=410,
                 success=0,
-                errormsg=gettext(
-                    'The specified server group could not be found.'
-                )
+                errormsg=gettext(SG_NOT_FOUND_ERROR)
             )
         else:
             return ajax_response(
@@ -246,7 +246,7 @@ class ServerGroupView(NodeView):
                         "%d" % sg.id,
                         None,
                         sg.name,
-                        "icon-%s" % self.node_type,
+                        self.node_icon,
                         True,
                         self.node_type,
                         # This is user created hence can deleted
@@ -306,7 +306,7 @@ class ServerGroupView(NodeView):
                         "%d" % group.id,
                         None,
                         group.name,
-                        "icon-%s" % self.node_type,
+                        self.node_icon,
                         True,
                         self.node_type
                     )
@@ -322,7 +322,7 @@ class ServerGroupView(NodeView):
             nodes = self.blueprint.generate_browser_node(
                 "%d" % (group.id), None,
                 group.name,
-                "icon-%s" % self.node_type,
+                self.node_icon,
                 True,
                 self.node_type
             )
diff --git a/web/pgadmin/browser/server_groups/servers/__init__.py b/web/pgadmin/browser/server_groups/servers/__init__.py
index 7a0730b24..1a295f515 100644
--- a/web/pgadmin/browser/server_groups/servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/__init__.py
@@ -30,6 +30,7 @@ from pgadmin.utils.exception import CryptKeyMissing
 from pgadmin.tools.schema_diff.node_registry import SchemaDiffRegistry
 from psycopg2 import Error as psycopg2_Error, OperationalError
 from pgadmin.browser.server_groups.servers.utils import is_valid_ipaddress
+from pgadmin.utils.constants import UNAUTH_REQ
 
 
 def has_any(data, keys):
@@ -240,6 +241,7 @@ blueprint = ServerModule(__name__)
 
 class ServerNode(PGChildNodeView):
     node_type = ServerModule._NODE_TYPE
+    node_label = "Server"
 
     parent_ids = [{'type': 'int', 'id': 'gid'}]
     ids = [{'type': 'int', 'id': 'sid'}]
@@ -658,7 +660,7 @@ class ServerNode(PGChildNodeView):
             return make_json_response(
                 status=410,
                 success=0,
-                errormsg=gettext("Could not find the required server.")
+                errormsg=self.not_found_error_msg
             )
 
         sg = ServerGroup.query.filter_by(
@@ -1004,15 +1006,15 @@ class ServerNode(PGChildNodeView):
         # Fetch Server Details
         server = Server.query.filter_by(id=sid).first()
         if server is None:
-            return bad_request(gettext("Server not found."))
+            return bad_request(self.not_found_error_msg)
 
         if current_user and hasattr(current_user, 'id'):
             # Fetch User Details.
             user = User.query.filter_by(id=current_user.id).first()
             if user is None:
-                return unauthorized(gettext("Unauthorized request."))
+                return unauthorized(gettext(UNAUTH_REQ))
         else:
-            return unauthorized(gettext("Unauthorized request."))
+            return unauthorized(gettext(UNAUTH_REQ))
 
         data = {}
         if request.form:
@@ -1179,7 +1181,7 @@ class ServerNode(PGChildNodeView):
 
         server = Server.query.filter_by(id=sid).first()
         if server is None:
-            return bad_request(gettext("Server not found."))
+            return bad_request(self.not_found_error_msg)
 
         # Release Connection
         manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
@@ -1287,12 +1289,12 @@ class ServerNode(PGChildNodeView):
             # Fetch Server Details
             server = Server.query.filter_by(id=sid).first()
             if server is None:
-                return bad_request(gettext("Server not found."))
+                return bad_request(self.not_found_error_msg)
 
             # Fetch User Details.
             user = User.query.filter_by(id=current_user.id).first()
             if user is None:
-                return unauthorized(gettext("Unauthorized request."))
+                return unauthorized(gettext(UNAUTH_REQ))
 
             manager = get_driver(PG_DEFAULT_DRIVER).connection_manager(sid)
             conn = manager.connection()
@@ -1407,7 +1409,7 @@ class ServerNode(PGChildNodeView):
         if server is None:
             return make_json_response(
                 success=0,
-                errormsg=gettext("Could not find the required server.")
+                errormsg=self.not_found_error_msg
             )
 
         try:
@@ -1491,7 +1493,7 @@ class ServerNode(PGChildNodeView):
         if server is None:
             return make_json_response(
                 success=0,
-                errormsg=gettext("Could not find the required server.")
+                errormsg=self.not_found_error_msg
             )
 
         try:
@@ -1566,7 +1568,7 @@ class ServerNode(PGChildNodeView):
             if server is None:
                 return make_json_response(
                     success=0,
-                    info=gettext("Could not find the required server.")
+                    info=self.not_found_error_msg
                 )
 
             setattr(server, 'password', None)
@@ -1605,7 +1607,7 @@ class ServerNode(PGChildNodeView):
             if server is None:
                 return make_json_response(
                     success=0,
-                    info=gettext("Could not find the required server.")
+                    info=self.not_found_error_msg
                 )
 
             setattr(server, 'tunnel_password', None)
diff --git a/web/pgadmin/browser/server_groups/servers/databases/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/__init__.py
index 5e2ed1c8a..bbe98f177 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/__init__.py
@@ -97,6 +97,7 @@ blueprint = DatabaseModule(__name__)
 
 class DatabaseView(PGChildNodeView):
     node_type = blueprint.node_type
+    node_label = "Database"
 
     parent_ids = [
         {'type': 'int', 'id': 'gid'},
@@ -380,7 +381,7 @@ class DatabaseView(PGChildNodeView):
                 status=200
             )
 
-        return gone(errormsg=_("Could not find the database on the server."))
+        return gone(errormsg=self.not_found_error_msg)
 
     @check_precondition(action="properties")
     def properties(self, gid, sid, did):
@@ -396,7 +397,7 @@ class DatabaseView(PGChildNodeView):
 
         if len(res['rows']) == 0:
             return gone(
-                _("Could not find the database on the server.")
+                self.not_found_error_msg
             )
 
         SQL = render_template(
@@ -801,7 +802,7 @@ class DatabaseView(PGChildNodeView):
 
         if len(rset['rows']) == 0:
             return gone(
-                _("Could not find the database on the server.")
+                self.not_found_error_msg
             )
 
         res = rset['rows'][0]
@@ -930,7 +931,7 @@ class DatabaseView(PGChildNodeView):
 
             if len(rset['rows']) == 0:
                 return gone(
-                    _("Could not find the database on the server.")
+                    self.not_found_error_msg
                 )
 
             data['old_name'] = (rset['rows'][0])['name']
@@ -1101,7 +1102,7 @@ class DatabaseView(PGChildNodeView):
 
         if len(res['rows']) == 0:
             return gone(
-                _("Could not find the database on the server.")
+                self.not_found_error_msg
             )
 
         SQL = render_template(
diff --git a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
index 2b41d6c30..7b396011b 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/event_triggers/__init__.py
@@ -149,6 +149,7 @@ class EventTriggerView(PGChildNodeView, SchemaDiffObjectCompare):
     """
 
     node_type = blueprint.node_type
+    node_icon = "icon-%s" % blueprint.node_type
 
     parent_ids = [
         {'type': 'int', 'id': 'gid'},
@@ -258,7 +259,7 @@ class EventTriggerView(PGChildNodeView, SchemaDiffObjectCompare):
                     row['oid'],
                     did,
                     row['name'],
-                    icon="icon-%s" % self.node_type
+                    self.node_icon
                 ))
 
         return make_json_response(
@@ -292,7 +293,7 @@ class EventTriggerView(PGChildNodeView, SchemaDiffObjectCompare):
                     row['oid'],
                     did,
                     row['name'],
-                    icon="icon-%s" % self.node_type
+                    self.node_icon
                 ),
                 status=200
             )
@@ -431,7 +432,7 @@ class EventTriggerView(PGChildNodeView, SchemaDiffObjectCompare):
                     etid,
                     did,
                     data['name'],
-                    icon="icon-%s" % self.node_type
+                    self.node_icon
                 )
             )
         except Exception as e:
@@ -478,7 +479,7 @@ class EventTriggerView(PGChildNodeView, SchemaDiffObjectCompare):
                         etid,
                         did,
                         data['name'],
-                        icon="icon-%s" % self.node_type
+                        self.node_icon
                     )
                 )
             else:
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
index d08bd66a3..e07c90692 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/__init__.py
@@ -163,6 +163,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare):
     """
 
     node_type = blueprint.node_type
+    node_label = "Foreign Server"
 
     parent_ids = [
         {'type': 'int', 'id': 'gid'},
@@ -356,9 +357,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare):
             return False, internal_server_error(errormsg=res)
 
         if len(res['rows']) == 0:
-            return False, gone(
-                gettext("Could not find the foreign server information.")
-            )
+            return False, gone(self.not_found_error_msg)
 
         res['rows'][0]['is_sys_obj'] = (
             res['rows'][0]['oid'] <= self.datlastsysoid)
@@ -651,9 +650,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare):
             if not status:
                 return internal_server_error(errormsg=res)
             if len(res['rows']) == 0:
-                return gone(
-                    gettext("Could not find the foreign server information.")
-                )
+                return gone(self.not_found_error_msg)
 
             if res['rows'][0]['fsrvoptions'] is not None:
                 res['rows'][0]['fsrvoptions'] = tokenize_options(
@@ -758,9 +755,7 @@ class ForeignServerView(PGChildNodeView, SchemaDiffObjectCompare):
         if not status:
             return internal_server_error(errormsg=res)
         if len(res['rows']) == 0:
-            return gone(
-                gettext("Could not find the foreign server information.")
-            )
+            return gone(self.not_found_error_msg)
 
         if fid is None and 'fdwid' in res['rows'][0]:
             fid = res['rows'][0]['fdwid']
diff --git a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
index 075c94ee3..a22387dbb 100644
--- a/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
+++ b/web/pgadmin/browser/server_groups/servers/databases/foreign_data_wrappers/foreign_servers/user_mappings/__init__.py
@@ -179,6 +179,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare):
     """
 
     node_type = blueprint.node_type
+    node_label = "User Mapping"
 
     parent_ids = [
         {'type': 'int', 'id': 'gid'},
@@ -374,9 +375,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare):
             return False, internal_server_error(errormsg=res)
 
         if len(res['rows']) == 0:
-            return False, gone(
-                gettext("Could not find the user mapping information.")
-            )
+            return False, gone(self.not_found_error_msg)
 
         res['rows'][0]['is_sys_obj'] = (
             res['rows'][0]['oid'] <= self.datlastsysoid)
@@ -672,9 +671,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare):
             if not status:
                 return internal_server_error(errormsg=res)
             if len(res['rows']) == 0:
-                return gone(
-                    gettext("Could not find the user mapping information.")
-                )
+                return gone(self.not_found_error_msg)
 
             if res['rows'][0]['umoptions'] is not None:
                 res['rows'][0]['umoptions'] = tokenize_options(
@@ -769,9 +766,7 @@ class UserMappingView(PGChildNodeView, SchemaDiffObjectCompare):
         if not status:
             return internal_server_error(errormsg=res)
         if len(res['rows']) == 0:
-            return gone(
-                gettext("Could not find the user mapping information.")
-            )
+            return gone(self.not_found_error_msg)
 
         if fsid is None and 'fsid' in res['rows'][0]:
             fsid = res['rows'][0]['fsid']
diff --git a/web/pgadmin/browser/utils.py b/web/pgadmin/browser/utils.py
index e6e1c4664..fca2bdeae 100644
--- a/web/pgadmin/browser/utils.py
+++ b/web/pgadmin/browser/utils.py
@@ -221,6 +221,8 @@ class NodeView(with_metaclass(MethodViewType, View)):
 
     # Inherited class needs to modify these parameters
     node_type = None
+    # Inherited class needs to modify these parameters
+    node_label = None
     # This must be an array object with attributes (type and id)
     parent_ids = []
     # This must be an array object with attributes (type and id)
@@ -707,3 +709,8 @@ class PGChildNodeView(NodeView):
                 )
 
         return dependency
+
+    @property
+    def not_found_error_msg(self):
+        return gettext("Could not find the specified {}.".format(
+            self.node_label).lower())
diff --git a/web/pgadmin/utils/constants.py b/web/pgadmin/utils/constants.py
new file mode 100644
index 000000000..1663b7bcb
--- /dev/null
+++ b/web/pgadmin/utils/constants.py
@@ -0,0 +1,15 @@
+##########################################################################
+#
+# pgAdmin 4 - PostgreSQL Tools
+#
+# Copyright (C) 2013 - 2020, The pgAdmin Development Team
+# This software is released under the PostgreSQL Licence
+#
+##########################################################################
+
+"""Application wide constants."""
+
+APP_JS = 'application/javascript'
+PGADMIN_NODE = 'pgadmin.node.%s'
+KEYBOARD_SHORTCUTS = 'Keyboard shortcuts'
+UNAUTH_REQ = "Unauthorized request."
