summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
authorPetr Vobornik <pvoborni@redhat.com>2013-07-18 16:17:40 +0200
committerMartin Kosek <mkosek@redhat.com>2013-07-23 13:14:02 +0200
commit881290b0109aa1f52a34d31505b9ebf73b991a00 (patch)
tree24d9eb886a3f2d80311b913c06456d6c34a24cd0 /install
parentb7f10d9fe677e16bf669c8af2aeee2c0af86f14d (diff)
downloadfreeipa.git-881290b0109aa1f52a34d31505b9ebf73b991a00.tar.gz
freeipa.git-881290b0109aa1f52a34d31505b9ebf73b991a00.tar.xz
freeipa.git-881290b0109aa1f52a34d31505b9ebf73b991a00.zip
Web UI search optimization
This patch optimizes options used in commands executed by search pages. 1) Removed --all from _find and _show commands used by search pages. All displayed attributes should be already included in default attributes. 2) Removed search_all_attributes - Not needed since introduction of paging. 3) Added --no-members options to search _show commmands. Members are not displayed on search pages and such change drastically improves performance. It reduces computations on server and amount of data transferred to Web UI. https://fedorahosted.org/freeipa/ticket/3706
Diffstat (limited to 'install')
-rw-r--r--install/ui/src/freeipa/entity.js14
-rw-r--r--install/ui/src/freeipa/facet.js11
-rw-r--r--install/ui/src/freeipa/hbac.js1
-rw-r--r--install/ui/src/freeipa/search.js5
-rw-r--r--install/ui/src/freeipa/selinux.js1
5 files changed, 21 insertions, 11 deletions
diff --git a/install/ui/src/freeipa/entity.js b/install/ui/src/freeipa/entity.js
index 22efd47a..eef58d1a 100644
--- a/install/ui/src/freeipa/entity.js
+++ b/install/ui/src/freeipa/entity.js
@@ -217,6 +217,20 @@ exp.entity = IPA.entity = function(spec) {
return that;
};
+ that.has_members = function() {
+ var members = that.metadata.attribute_members;
+ var has = false;
+ if (members) {
+ for (var member in members) {
+ if (members.hasOwnProperty(member)) {
+ has = true;
+ break;
+ }
+ }
+ }
+ return has;
+ };
+
that.builder = spec.builder || IPA.entity_builder(that);
that.entity_init = that.init;
diff --git a/install/ui/src/freeipa/facet.js b/install/ui/src/freeipa/facet.js
index 166203a9..37106e22 100644
--- a/install/ui/src/freeipa/facet.js
+++ b/install/ui/src/freeipa/facet.js
@@ -1082,7 +1082,6 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) {
that.pagination = spec.pagination === undefined ? true : spec.pagination;
that.search_all_entries = spec.search_all_entries;
- that.search_all_attributes = spec.search_all_attributes;
that.sort_enabled = spec.sort_enabled === undefined ? true : spec.sort_enabled;
that.selectable = spec.selectable === undefined ? true : spec.selectable;
that.select_changed = IPA.observer();
@@ -1312,7 +1311,7 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) {
that.create_get_records_command = function(pkeys, on_success, on_error) {
- var batch = IPA.batch_command({
+ var batch = IPA.batch_command({
name: that.get_records_command_name(),
on_success: on_success,
on_error: on_error
@@ -1324,10 +1323,13 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) {
var command = IPA.command({
entity: that.table.entity.name,
method: 'show',
- args: [ pkey ],
- options: { all: true }
+ args: [pkey]
});
+ if (that.table.entity.has_members()) {
+ command.set_options({no_members: true});
+ }
+
batch.add_command(command);
}
@@ -1353,7 +1355,6 @@ exp.table_facet = IPA.table_facet = function(spec, no_init) {
label: entity.metadata.label,
entity: entity,
pagination: true,
- search_all_attributes: that.search_all_attributes,
scrollable: true,
selectable: that.selectable && !that.read_only
});
diff --git a/install/ui/src/freeipa/hbac.js b/install/ui/src/freeipa/hbac.js
index dc29fad5..e977b4d2 100644
--- a/install/ui/src/freeipa/hbac.js
+++ b/install/ui/src/freeipa/hbac.js
@@ -44,7 +44,6 @@ var spec = {
{
$type: 'search',
row_enabled_attribute: 'ipaenabledflag',
- search_all_attributes: true,
columns: [
'cn',
{
diff --git a/install/ui/src/freeipa/search.js b/install/ui/src/freeipa/search.js
index 03ec0b12..c2e678a3 100644
--- a/install/ui/src/freeipa/search.js
+++ b/install/ui/src/freeipa/search.js
@@ -239,10 +239,7 @@ IPA.search_facet = function(spec, no_init) {
name: that.get_search_command_name(),
entity: that.managed_entity.name,
method: 'find',
- args: args,
- options: {
- all: that.search_all_attributes
- }
+ args: args
});
if (that.pagination) {
diff --git a/install/ui/src/freeipa/selinux.js b/install/ui/src/freeipa/selinux.js
index 4eb5fbee..8a308b43 100644
--- a/install/ui/src/freeipa/selinux.js
+++ b/install/ui/src/freeipa/selinux.js
@@ -42,7 +42,6 @@ var spec = {
{
$type: 'search',
row_enabled_attribute: 'ipaenabledflag',
- search_all_attributes: true,
columns: [
'cn',
'ipaselinuxuser',