Activity log for bug #1496627

Date Who What changed Old value New value Message
2015-09-16 23:32:12 Travis Tripp bug added bug
2015-09-17 14:30:54 Travis Tripp description If you set a facet as isServer, smart table filtering will still be done. In the case of wildcards or more advanced searching that is done on the server side which requires server logic, the client side filtering may subsequently wipe out a server response, potentially hiding results. The culprit is that hz-magic-search-bar wraps st-magic-search. st-magic-search is doing the client side filtering here regardless of the isServer property. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L100 Server side searching and filtering is disrupted by client side smart table filtering. The magic search documentation allows you to set an isServer property for facets. However, ff you set a facet as isServer, smart table filtering will still be done. In the case of wildcards or more advanced searching that is done on the server side which requires server logic, the client side filtering may subsequently wipe out a server response, potentially hiding results, because the client side filtering doesn't understand that the syntax passed to the server will not match content on the client side. The culprit is that hz-magic-search-bar wraps st-magic-search. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/hz-magic-search-bar.html#L6 st-magic-search is doing the client side filtering here regardless of the isServer property. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L100 The filterFacets are typically in scope for st-magic-search. If nothing else, it could check the filter facets to see if the isServer property is set on each facet before performing search. Perhaps something like the below: if (scope.filterFacets) {    var isServerFacet = scope.filterFacets.some(function checkIsServer(facet) {    return facet.name == predString && facet.isServer;  }); if (isServerFacet) {   return;   } } There also should be a way to disable client side full text filtering and allow that to only come from server side (important for magic search). https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L70 Possibly, an attribute on hz-magic-search-bar of client-full-text-search="false" could be added and then honored by st-magic-search directive.
2015-09-17 16:07:42 Travis Tripp description Server side searching and filtering is disrupted by client side smart table filtering. The magic search documentation allows you to set an isServer property for facets. However, ff you set a facet as isServer, smart table filtering will still be done. In the case of wildcards or more advanced searching that is done on the server side which requires server logic, the client side filtering may subsequently wipe out a server response, potentially hiding results, because the client side filtering doesn't understand that the syntax passed to the server will not match content on the client side. The culprit is that hz-magic-search-bar wraps st-magic-search. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/hz-magic-search-bar.html#L6 st-magic-search is doing the client side filtering here regardless of the isServer property. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L100 The filterFacets are typically in scope for st-magic-search. If nothing else, it could check the filter facets to see if the isServer property is set on each facet before performing search. Perhaps something like the below: if (scope.filterFacets) {    var isServerFacet = scope.filterFacets.some(function checkIsServer(facet) {    return facet.name == predString && facet.isServer;  }); if (isServerFacet) {   return;   } } There also should be a way to disable client side full text filtering and allow that to only come from server side (important for magic search). https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L70 Possibly, an attribute on hz-magic-search-bar of client-full-text-search="false" could be added and then honored by st-magic-search directive. Server side searching and filtering is disrupted by client side smart table filtering. The magic search documentation allows you to set an isServer property for facets. However, ff you set a facet as isServer, smart table filtering will still be done. In the case of wildcards or more advanced searching that is done on the server side which requires server logic, the client side filtering may subsequently wipe out a server response, potentially hiding results, because the client side filtering doesn't understand that the syntax passed to the server will not match content on the client side. The culprit is that hz-magic-search-bar wraps st-magic-search. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/hz-magic-search-bar.html#L6 st-magic-search is doing the client side filtering here regardless of the isServer property. https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L100 The filterFacets are typically in scope for st-magic-search. If nothing else, it could check the filter facets to see if the isServer property is set on each facet before performing search. Perhaps something like the below:  if (scope.filterFacets) {    var isServerFacet = scope.filterFacets.some(function checkIsServer(facet) {    return facet.name == predString && facet.isServer;  });  if (isServerFacet) {    return;    }  } There also should be a way to disable client side full text filtering and allow that to only come from server side (important for searchlight). https://github.com/openstack/horizon/blob/master/horizon/static/framework/widgets/magic-search/st-magic-search.directive.js#L70 Possibly, an attribute on hz-magic-search-bar of client-full-text-search="false" could be added and then honored by st-magic-search directive.
2015-09-17 20:56:37 OpenStack Infra horizon: status New In Progress
2015-09-17 20:56:37 OpenStack Infra horizon: assignee Rajat Vig (rajatv)
2015-09-18 02:01:50 Travis Tripp horizon: milestone liberty-rc1
2015-09-18 12:34:13 Rob Cresswell horizon: importance Undecided Medium
2015-09-18 12:34:18 Rob Cresswell horizon: milestone liberty-rc1 next
2015-09-18 17:47:09 Travis Tripp horizon: milestone next liberty-rc1
2015-09-24 14:13:13 David Lyle horizon: milestone liberty-rc1
2015-12-05 00:48:09 OpenStack Infra horizon: assignee Rajat Vig (rajatv) Travis Tripp (travis-tripp)
2015-12-09 16:15:31 OpenStack Infra horizon: assignee Travis Tripp (travis-tripp) Rajat Vig (rajatv)
2016-01-12 18:41:16 OpenStack Infra horizon: assignee Rajat Vig (rajatv) Travis Tripp (travis-tripp)
2016-01-12 19:08:18 Travis Tripp horizon: assignee Travis Tripp (travis-tripp) Rajat Vig (rajatv)
2016-01-29 22:29:03 OpenStack Infra horizon: assignee Rajat Vig (rajatv) Travis Tripp (travis-tripp)