diff --git a/catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/PluginStatusBL.java b/catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/PluginStatusBL.java
index dcd5eef..55e7790 100644
--- a/catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/PluginStatusBL.java
+++ b/catalog-fe/src/main/java/org/openecomp/sdc/fe/impl/PluginStatusBL.java
@@ -57,14 +57,9 @@
 	}
 
 	private boolean checkPluginAvailability(Plugin plugin) {
-
-		StringBuilder requestString = new StringBuilder();
 		boolean result = false;
 
-		requestString.append(plugin.getPluginProtocol()).append("://").append(plugin.getPluginHost()).append(":")
-				.append(plugin.getPluginPort()).append(plugin.getPluginPath());
-
-		HttpHead head = new HttpHead(requestString.toString());
+		HttpHead head = new HttpHead(plugin.getPluginDiscoveryUrl());
 
 		try (CloseableHttpResponse response = this.client.execute(head)) {
 			result = response != null && response.getStatusLine().getStatusCode() == 200;
diff --git a/catalog-fe/src/main/resources/config/plugins-configuration.yaml b/catalog-fe/src/main/resources/config/plugins-configuration.yaml
index 4193b50..69598e0 100644
--- a/catalog-fe/src/main/resources/config/plugins-configuration.yaml
+++ b/catalog-fe/src/main/resources/config/plugins-configuration.yaml
@@ -1,22 +1,21 @@
 pluginsList:
    - pluginId: DCAE
-     pluginHost: localhost
-     pluginPort: 8080
-     pluginPath: "/dcae"
+     pluginDiscoveryUrl: http://localhost:8702/dcae
+     pluginSourceUrl: http://localhost:8702/dcae
      pluginStateUrl: "dcae"
-     pluginProtocol: http
      pluginDisplayOptions:
         context:
             displayName: "Monitor"
             displayContext: ["VF", "SERVICE"]
-        top:
-            displayName: "DCAE"
+            displayRoles: ["DESIGNER"]
    - pluginId: WORKFLOW
-     pluginHost: localhost
-     pluginPort: 9527
-     pluginPath: "/"
+     pluginDiscoveryUrl: http://localhost:9527/
+     pluginSourceUrl: http://localhost:9527/
      pluginStateUrl: "workflowDesigner"
-     pluginProtocol: http
      pluginDisplayOptions:
         top:
-            displayName: "WORKFLOW"
\ No newline at end of file
+            displayName: "WORKFLOW"
+        context:
+            displayName: "Workflow Designer"
+            displayContext: ["VF"]
+            displayRoles: ["DESIGNER", "TESTER"]
\ No newline at end of file
diff --git a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
index 8a796a4..baef685 100644
--- a/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
+++ b/catalog-fe/src/test/java/org/openecomp/sdc/fe/servlets/PluginStatusBLTest.java
@@ -38,16 +38,10 @@
 	final static List<Plugin> testPluginsList = new ArrayList<>();
 
 	final static String offlinePluginsDisplayName = "offlinePlugin";
-	final static String offlinePluginHost = "192.168.10.1";
-	final static String offlinePluginPort = "1000";
-	final static String offlinePluginPath = "/offline";
-	final static String offlinePluginProtocol = "http";
+	final static String offlinePluginDiscoveryPath = "http://192.168.10.1:1000/offline";
 
 	final static String onlinePluginDisplayName = "onlinePlugin";
-	final static String onlinePluginHost = "192.168.20.2";
-	final static String onlinePluginPort = "2000";
-	final static String onlinePluginPath = "/online";
-	final static String onlinePluginProtocol = "http";
+	final static String onlinePluginDiscoveryPath = "http://192.168.10.1:2000/online";
 
 	@BeforeClass
 	public static void beforeClass() {
@@ -55,24 +49,10 @@
 		when(configurationManager.getPluginsConfiguration()).thenReturn(pluginsConfiguration);
 		
 		offlinePlugin.setPluginId(offlinePluginsDisplayName);
-		offlinePlugin.setPluginHost(offlinePluginHost);
-		offlinePlugin.setPluginPort(offlinePluginPort);
-		offlinePlugin.setPluginPath(offlinePluginPath);
-		offlinePlugin.setPluginProtocol(offlinePluginProtocol);
-
-		StringBuilder offlineRequestString = new StringBuilder();
-		offlineRequestString.append(offlinePluginProtocol).append("://").append(onlinePluginHost).append(":")
-				.append(offlinePluginPort).append(offlinePluginPath);
+		offlinePlugin.setPluginDiscoveryUrl(offlinePluginDiscoveryPath);
 
 		onlinePlugin.setPluginId(onlinePluginDisplayName);
-		onlinePlugin.setPluginHost(onlinePluginHost);
-		onlinePlugin.setPluginPort(onlinePluginPort);
-		onlinePlugin.setPluginPath(onlinePluginPath);
-		onlinePlugin.setPluginProtocol(onlinePluginProtocol);
-
-		StringBuilder onlineRequestString = new StringBuilder();
-		onlineRequestString.append(onlinePluginProtocol).append("://").append(onlinePluginHost).append(":")
-				.append(offlinePluginPort).append(offlinePluginPath);
+		onlinePlugin.setPluginDiscoveryUrl(onlinePluginDiscoveryPath);
 		
 	}
 
diff --git a/catalog-ui/src/app/models/plugins-config.ts b/catalog-ui/src/app/models/plugins-config.ts
index 18782ec..3f687a3 100644
--- a/catalog-ui/src/app/models/plugins-config.ts
+++ b/catalog-ui/src/app/models/plugins-config.ts
@@ -1,17 +1,16 @@
 
 export class Plugin {
     pluginId: string;
-    pluginHost: string;
-    pluginPort: string;
-    pluginPath: string;
+    pluginDiscoveryUrl: string;
+    pluginSourceUrl: string;
     pluginStateUrl: string;
-    pluginProtocol: string;
     pluginDisplayOptions: Map<string, PluginDisplayOptions>;
 }
 
 export class PluginDisplayOptions {
     displayName: string;
     displayContext: Array<string>;
+    displayRoles: Array<string>;
 }
 
 export type Plugins = Array<Plugin>;
diff --git a/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts b/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
index 5e43fec..b8b0e80 100644
--- a/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
+++ b/catalog-ui/src/app/ng2/components/layout/top-nav/top-nav.component.ts
@@ -120,14 +120,15 @@
                         tmpArray.push(new MenuItem(hostedApp.navTitle, null, hostedApp.defaultState, "goToState", null, null));
                     }
                 });
-
-                _.each(PluginsConfiguration.plugins, (plugin: Plugin) => {
-                    if (plugin.pluginDisplayOptions["top"]) {
-                        tmpArray.push(new MenuItem(plugin.pluginDisplayOptions["top"].displayName, null, "plugins", "goToState", {path: plugin.pluginStateUrl}, null));
-                    }
-                })
             }
 
+            // Adding plugins to top-nav only if they can be displayed for the current connected user role
+            _.each(PluginsConfiguration.plugins, (plugin: Plugin) => {
+                if (plugin.pluginDisplayOptions["tab"] && (this.user && plugin.pluginDisplayOptions["tab"].displayRoles.includes(this.user.role))) {
+                    tmpArray.push(new MenuItem(plugin.pluginDisplayOptions["tab"].displayName, null, "plugins", "goToState", {path: plugin.pluginStateUrl}, null));
+                }
+            });
+
             this.topLvlMenu = new MenuItemGroup(0, tmpArray, true);
             this.topLvlMenu.selectedIndex = isNaN(this.topLvlSelectedIndex) ? this._getTopLvlSelectedIndexByState() : this.topLvlSelectedIndex;
 
diff --git a/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts b/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
index 169cad0..801dfa9 100644
--- a/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
+++ b/catalog-ui/src/app/ng2/components/ui/plugin/plugin-frame.component.ts
@@ -21,10 +21,7 @@
 
     ngOnInit(): void {
 
-        this.pluginUrl = this.plugin.pluginProtocol + "://" +
-            this.plugin.pluginHost + ":" +
-            this.plugin.pluginPort +
-            this.plugin.pluginPath;
+        this.pluginUrl = this.plugin.pluginSourceUrl;
 
         if (this.queryParams && !_.isEmpty(this.queryParams)) {
             _.forOwn(this.queryParams, (value, key) => {
diff --git a/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts b/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts
index ce09800..d9dc40b 100644
--- a/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts
+++ b/catalog-ui/src/app/view-models/plugins/plugins-tab-view-model.ts
@@ -34,7 +34,9 @@
         this.$scope.user = this.cacheService.get('user');
 
         this.$scope.queryParams = {
-            userId: this.$scope.user.userId
+            userId: this.$scope.user.userId,
+            userRole: this.$scope.user.role,
+            displayType: "tab"
         };
     }
 }
diff --git a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts
index 76010b5..ca8c269 100644
--- a/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts
+++ b/catalog-ui/src/app/view-models/workspace/tabs/plugins/plugins-context-view-model.ts
@@ -33,6 +33,8 @@
 
         this.$scope.queryParams = {
             userId: this.$scope.user.userId,
+            userRole: this.$scope.user.role,
+            displayType: "context",
             contextType: this.$scope.component.componentType,
             uuid: this.$scope.component.uuid,
             lifecycleState: this.$scope.component.lifecycleState,
diff --git a/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts b/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
index 59dd2d8..0f9d759 100644
--- a/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
+++ b/catalog-ui/src/app/view-models/workspace/workspace-view-model.ts
@@ -719,23 +719,21 @@
         this.$scope.leftBarTabs = new MenuItemGroup();
         const menuItemsObjects:Array<any> = this.updateMenuItemByRole(this.sdcMenu.component_workspace_menu_option[this.$scope.component.getComponentSubType()], this.role);
 
-        // Only need to add plugins to the menu if the current role is Designer
-        if (this.role === "DESIGNER") {
-            _.each(PluginsConfiguration.plugins, (plugin: Plugin) => {
-                if (plugin.pluginDisplayOptions["context"]) {
-                    let displayOptions : PluginDisplayOptions = plugin.pluginDisplayOptions["context"];
+        // Only adding plugins to the workspace if they can be displayed for the current user role
+        _.each(PluginsConfiguration.plugins, (plugin: Plugin) => {
+            if (plugin.pluginDisplayOptions["context"] && plugin.pluginDisplayOptions["context"].displayRoles.includes(this.role)) {
+                let displayOptions : PluginDisplayOptions = plugin.pluginDisplayOptions["context"];
 
-                    if (displayOptions.displayContext.indexOf(this.$scope.component.componentType) !== -1) {
-                        menuItemsObjects.push({
-                            text: displayOptions.displayName,
-                            action: 'onMenuItemPressed',
-                            state: 'workspace.plugins',
-                            params: {path: plugin.pluginStateUrl}
-                        });
-                    }
+                if (displayOptions.displayContext.indexOf(this.$scope.component.getComponentSubType()) !== -1) {
+                    menuItemsObjects.push({
+                        text: displayOptions.displayName,
+                        action: 'onMenuItemPressed',
+                        state: 'workspace.plugins',
+                        params: {path: plugin.pluginStateUrl}
+                    });
                 }
-            });
-        }
+            }
+        });
 
         this.$scope.leftBarTabs.menuItems = menuItemsObjects.map((item:MenuItem) => {
             if (item.params) {
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/PluginsConfiguration.java b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/PluginsConfiguration.java
index ae04b7a..7865abd 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/PluginsConfiguration.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/PluginsConfiguration.java
@@ -25,19 +25,33 @@
     public static class Plugin {
 
         private String pluginId;
-        private String pluginHost;
-        private String pluginPort;
-        private String pluginPath;
+        private String pluginDiscoveryUrl;
+        private String pluginSourceUrl;
         private String pluginStateUrl;
-        private String pluginProtocol;
         private Map<String, PluginDisplayOptions> pluginDisplayOptions;
 
-        public Map<String, PluginDisplayOptions> getPluginDisplayOptions() {
-            return pluginDisplayOptions;
+        public String getPluginId() {
+            return pluginId;
         }
 
-        public void setPluginDisplayOptions(Map<String, PluginDisplayOptions> pluginDisplayOptions) {
-            this.pluginDisplayOptions = pluginDisplayOptions;
+        public void setPluginId(String pluginId) {
+            this.pluginId = pluginId;
+        }
+
+        public String getPluginDiscoveryUrl() {
+            return pluginDiscoveryUrl;
+        }
+
+        public void setPluginDiscoveryUrl(String pluginDiscoveryUrl) {
+            this.pluginDiscoveryUrl = pluginDiscoveryUrl;
+        }
+
+        public String getPluginSourceUrl() {
+            return pluginSourceUrl;
+        }
+
+        public void setPluginSourceUrl(String pluginSourceUrl) {
+            this.pluginSourceUrl = pluginSourceUrl;
         }
 
         public String getPluginStateUrl() {
@@ -48,44 +62,12 @@
             this.pluginStateUrl = pluginStateUrl;
         }
 
-        public String getPluginProtocol() {
-            return pluginProtocol;
+        public Map<String, PluginDisplayOptions> getPluginDisplayOptions() {
+            return pluginDisplayOptions;
         }
 
-        public void setPluginProtocol(String pluginProtocol) {
-            this.pluginProtocol = pluginProtocol;
-        }
-
-        public String getPluginId() {
-            return pluginId;
-        }
-
-        public void setPluginId(String pluginId) {
-            this.pluginId = pluginId;
-        }
-
-        public String getPluginHost() {
-            return pluginHost;
-        }
-
-        public void setPluginHost(String pluginHost) {
-            this.pluginHost = pluginHost;
-        }
-
-        public String getPluginPort() {
-            return pluginPort;
-        }
-
-        public void setPluginPort(String pluginPort) {
-            this.pluginPort = pluginPort;
-        }
-
-        public String getPluginPath() {
-            return pluginPath;
-        }
-
-        public void setPluginPath(String pluginPath) {
-            this.pluginPath = pluginPath;
+        public void setPluginDisplayOptions(Map<String, PluginDisplayOptions> pluginDisplayOptions) {
+            this.pluginDisplayOptions = pluginDisplayOptions;
         }
 
     }
@@ -94,6 +76,15 @@
 
         private String displayName;
         private List<String> displayContext;
+        private List<String> displayRoles;
+
+        public String getDisplayName() {
+            return displayName;
+        }
+
+        public void setDisplayName(String displayName) {
+            this.displayName = displayName;
+        }
 
         public List<String> getDisplayContext() {
             return displayContext;
@@ -103,14 +94,16 @@
             this.displayContext = displayContext;
         }
 
-        public String getDisplayName() {
-            return displayName;
+        public List<String> getDisplayRoles() {
+            return displayRoles;
         }
 
-        public void setDisplayName(String displayName) {
-            this.displayName = displayName;
+        public void setDisplayRoles(List<String> displayRoles) {
+            this.displayRoles = displayRoles;
         }
 
+
+
     }
 
 }
diff --git a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
index 236bb46..9e5953c 100644
--- a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
+++ b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_2_setup_configuration.rb
@@ -23,12 +23,10 @@
    group "jetty"
    mode "0755"
    variables({
-      :dcae_protocol             => node['Plugins']['DCAE']['dcae_protocol'],
-      :dcae_host                 => node['Plugins']['DCAE']['dcae_host'],
-      :dcae_port                 => node['Plugins']['DCAE']['dcae_port'],
-      :workflow_protocol         => node['Plugins']['WORKFLOW']['workflow_protocol'],
-      :workflow_host             => node['Plugins']['WORKFLOW']['workflow_host'],
-      :workflow_port             => node['Plugins']['WORKFLOW']['workflow_port']
+      :dcae_discovery_url     => node['Plugins']['DCAE']['dcae_discovery_url'],
+      :dcae_source_url        => node['Plugins']['DCAE']['dcae_source_url'],
+      :workflow_discovery_url => node['Plugins']['WORKFLOW']['workflow_discovery_url'],
+      :workflow_source_url    => node['Plugins']['WORKFLOW']['workflow_source_url']
    })
 end
 
diff --git a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-plugins-configuration.yaml.erb b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-plugins-configuration.yaml.erb
index ab13d4f..0a3b15c 100644
--- a/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-plugins-configuration.yaml.erb
+++ b/sdc-os-chef/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/templates/default/FE-plugins-configuration.yaml.erb
@@ -1,23 +1,25 @@
 pluginsList:
    - pluginId: DCAE
-     pluginProtocol: <%= @dcae_protocol %>
-     pluginHost: <%= @dcae_host %>
-     pluginPort: <%= @dcae_port %>
-     pluginPath: "/openoui/vnfmarket/#!/marketplace"
+     pluginDiscoveryUrl: <%= @dcae_discovery_url %>
+     pluginSourceUrl: <%= @dcae_source_url %>
      pluginStateUrl: "dcae"
      pluginDisplayOptions:
+        tab:
+            displayName: "DCAE"
+            displayRoles: ["TESTER"]
         context:
             displayName: "Monitor"
-            displayContext: ["RESOURCE", "SERVICE"]
+            displayContext: ["VF", "SERVICE"]
+            displayRoles: ["DESIGNER"]
    - pluginId: WORKFLOW
-     pluginProtocol: <%= @workflow_protocol %>
-     pluginHost: <%= @workflow_host %>
-     pluginPort: <%= @workflow_port %>
-     pluginPath: "/"
+     pluginDiscoveryUrl: <%= @workflow_discovery_url %>
+     pluginSourceUrl: <%= @workflow_source_url %>
      pluginStateUrl: "workflowDesigner"
      pluginDisplayOptions:
-        top:
+        tab:
             displayName: "WORKFLOW"
+            displayRoles: ["DESIGNER", "TESTER"]
         context:
             displayName: "Workflow Designer"
-            displayContext: ["RESOURCE"]
\ No newline at end of file
+            displayContext: ["VF"]
+            displayRoles: ["DESIGNER", "TESTER"]
\ No newline at end of file
