[ARVADOS] updated: ab58549b6249224decdb913097f1649e993b95a7

git at public.curoverse.com git at public.curoverse.com
Wed Jul 30 15:22:31 EDT 2014


Summary of changes:
 .../workbench/app/assets/javascripts/filterable.js |   2 +-
 .../app/assets/javascripts/select_modal.js         |   7 +-
 .../workbench/app/controllers/search_controller.rb |  13 +-
 .../app/views/search/_choose_rows.html.erb         |   6 +-
 doc/_config.yml                                    |   1 +
 doc/_includes/_alert_docker.liquid                 |   4 -
 doc/install/index.html.textile.liquid              |   2 -
 doc/install/install-docker.html.textile.liquid     |  94 ++++++------
 .../check-environment.html.textile.liquid          |   2 +-
 docker/api/Dockerfile                              |  37 ++++-
 docker/api/application.yml.in                      |   5 +
 docker/api/apt.arvados.org.list                    |   2 +
 docker/api/arvados-clients.yml.in                  |   5 +
 docker/api/crunch-dispatch-run.sh                  |  24 +++
 docker/api/keep_server_0.json                      |   6 +
 docker/api/keep_server_1.json                      |   7 +
 docker/api/munge.key                               | Bin 0 -> 1024 bytes
 docker/api/setup-gitolite.sh.in                    |  77 ++++++++++
 docker/api/setup.sh.in                             |  62 ++++++++
 docker/api/slurm.conf.in                           |  60 ++++++++
 docker/api/supervisor.conf                         |  29 ++++
 docker/api/update-gitolite.rb                      | 162 +++++++++++++++++++++
 docker/arvdock                                     | 120 ++++++++++++---
 docker/base/Dockerfile                             |   4 +
 docker/base/apt.arvados.org.list                   |   2 +
 docker/build.sh                                    |  32 +++-
 docker/build_tools/Makefile                        | 143 ++++++++++++++++--
 docker/build_tools/build.rb                        |  28 +++-
 docker/compute/Dockerfile                          |  28 ++++
 docker/compute/fuse.conf                           |  10 ++
 docker/compute/setup.sh.in                         |  20 +++
 docker/{api => compute}/ssh.sh                     |   0
 docker/compute/supervisor.conf                     |  29 ++++
 docker/compute/wrapdocker                          |  90 ++++++++++++
 docker/config.yml.example                          |   4 +
 docker/shell/Dockerfile                            |  19 +++
 docker/shell/fuse.conf                             |  10 ++
 docker/shell/setup.sh.in                           |  21 +++
 docker/{api => shell}/superuser_token.in           |   0
 docker/shell/supervisor.conf                       |  15 ++
 docker/slurm/Dockerfile                            |  11 ++
 docker/slurm/munge.key                             | Bin 0 -> 1024 bytes
 docker/slurm/slurm.conf.in                         |  60 ++++++++
 docker/slurm/supervisor.conf                       |  14 ++
 docker/workbench/Dockerfile                        |   3 +
 .../api/app/controllers/application_controller.rb  |   1 +
 .../controllers/arvados/v1/groups_controller.rb    |  28 ++--
 .../arvados/v1/groups_controller_test.rb           |  34 +++--
 48 files changed, 1204 insertions(+), 129 deletions(-)
 delete mode 100644 doc/_includes/_alert_docker.liquid
 create mode 100644 docker/api/apt.arvados.org.list
 create mode 100644 docker/api/arvados-clients.yml.in
 create mode 100755 docker/api/crunch-dispatch-run.sh
 create mode 100644 docker/api/keep_server_0.json
 create mode 100644 docker/api/keep_server_1.json
 create mode 100644 docker/api/munge.key
 create mode 100755 docker/api/setup-gitolite.sh.in
 create mode 100755 docker/api/setup.sh.in
 create mode 100644 docker/api/slurm.conf.in
 create mode 100755 docker/api/update-gitolite.rb
 create mode 100644 docker/base/apt.arvados.org.list
 create mode 100644 docker/compute/Dockerfile
 create mode 100644 docker/compute/fuse.conf
 create mode 100755 docker/compute/setup.sh.in
 copy docker/{api => compute}/ssh.sh (100%)
 create mode 100644 docker/compute/supervisor.conf
 create mode 100755 docker/compute/wrapdocker
 create mode 100644 docker/shell/Dockerfile
 create mode 100644 docker/shell/fuse.conf
 create mode 100755 docker/shell/setup.sh.in
 copy docker/{api => shell}/superuser_token.in (100%)
 create mode 100644 docker/shell/supervisor.conf
 create mode 100644 docker/slurm/Dockerfile
 create mode 100644 docker/slurm/munge.key
 create mode 100644 docker/slurm/slurm.conf.in
 create mode 100644 docker/slurm/supervisor.conf

       via  ab58549b6249224decdb913097f1649e993b95a7 (commit)
       via  45dd2c3f3db472132974aeb4fe3f0e0f4e57dd13 (commit)
       via  04cdd8c9292523aaca50ff6f41791ea54ee91e3b (commit)
       via  4b007d7c702987f3b65d0c3fec5b21dcf6ac647c (commit)
       via  6790e24febd872dcf98b1356ad1d06fc69fc2915 (commit)
       via  20f944be863d7d455534ebac0083c25869a3379d (commit)
       via  4f78624e3134bdf838d219e1a983dda0945e70c9 (commit)
       via  4426418ecff6f1281da5915a84e30b1f4ce7c9db (commit)
       via  735d69e66e208bbc5c49d6276c74dc66bf181efe (commit)
       via  6d3636939f60a96d8ede920fec474079d713c7e1 (commit)
       via  82c23c04e3105dfd0d2167a53552df56b0a81785 (commit)
       via  360b5d19eb0cb595fd34d11aa6426d95b3c974d4 (commit)
       via  386aae039eaa8007dace4328b0dfd132256a79a5 (commit)
       via  5e062b44d6b9ebb70a7b0708436eb463b5e8ae7b (commit)
       via  ba4d612f8448337f555d369ec383d9b4cc055e79 (commit)
       via  aaafb72c1efb215dd6f6008c98a28f13f850b7fa (commit)
       via  69369eeb2d11290f7ff21a2e2b903390fd3d3369 (commit)
       via  ff1b1d43022df59f80aff7384fc1903c5637ffb9 (commit)
       via  190d0f110dab5d51dcfa7b13ff658583fdd21a5d (commit)
       via  97f3ab858482c9d68972fa0fe3cb887d7968fcc7 (commit)
       via  18717f2285dfc992720f6d9eb1f3af0bba267916 (commit)
       via  564a719cc8bb9abd6684ad1d60e73a66be2901a2 (commit)
       via  33f52182ea5d0ca602ebe4dff81822ed57a3a847 (commit)
       via  94c6d21aed9f33599f7d8eee29481b47b7bb99f7 (commit)
       via  c58d996cd35e754c56a7c223414f04d0b362c284 (commit)
       via  ab371a54c3522c06fbc82c9838a24c6f53122a6e (commit)
       via  150f495e96c43f5d7e0df58352c5b20cc9e83ccd (commit)
       via  cb63ae17322aa698f6636d39f43c6ad8f35c6fc5 (commit)
       via  ee0896bf5bf1f7f4ebdc5168e928c28d9f06eaeb (commit)
       via  031db3fcd2bbcc2d3a31345c39d7a57bf960ad69 (commit)
       via  652aec8c581bb6c38bae2c98f0611b142f855e4b (commit)
      from  4aae92930a32c99bc803ddfedc7b21715a5a77b7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit ab58549b6249224decdb913097f1649e993b95a7
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jul 30 15:20:40 2014 -0400

    3235: Accept group_class="folder" as a project.

diff --git a/services/api/app/controllers/arvados/v1/groups_controller.rb b/services/api/app/controllers/arvados/v1/groups_controller.rb
index 4dc5c9b..e7d5530 100644
--- a/services/api/app/controllers/arvados/v1/groups_controller.rb
+++ b/services/api/app/controllers/arvados/v1/groups_controller.rb
@@ -64,7 +64,7 @@ class Arvados::V1::GroupsController < ApplicationController
      Human, Specimen, Trait].each do |klass|
       @objects = klass.readable_by(*@read_users)
       if klass == Group
-        @objects = @objects.where('group_class = ?', 'project')
+        @objects = @objects.where('group_class in (?)', ['project', 'folder'])
       end
       if opts[:owner_uuid]
         conds = []

commit 45dd2c3f3db472132974aeb4fe3f0e0f4e57dd13
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jul 30 15:11:53 2014 -0400

    3235: Show names of named collections instead of their uuids, but support searching by uuid.

diff --git a/apps/workbench/app/views/search/_choose_rows.html.erb b/apps/workbench/app/views/search/_choose_rows.html.erb
index 81d1f68..0a73a41 100644
--- a/apps/workbench/app/views/search/_choose_rows.html.erb
+++ b/apps/workbench/app/views/search/_choose_rows.html.erb
@@ -12,8 +12,12 @@
   <div class="row filterable selectable" data-section-name="<%= object.class.to_s %>" data-object-uuid="<%= object.uuid %>" data-preview-href="<%= chooser_preview_url_for object %>">
     <div class="col-sm-12" style="overflow-x:hidden; white-space: nowrap">
       <i class="fa fa-fw <%= icon_class %>"></i>
-      <% if object.respond_to?(:name) and object.name and object.name.length > 0 %>
+      <% if (name_link = @objects.links_for(object, 'name').first) %>
+        <%= name_link.name %>
+        <span style="display:none"><%= object.uuid %></span>
+      <% elsif object.respond_to?(:name) and object.name and object.name.length > 0 %>
         <%= object.name %>
+        <span style="display:none"><%= object.uuid %></span>
       <% else %>
         unnamed - <span class="arvados-uuid"><%= object.uuid %></span>
       <% end %>

commit 04cdd8c9292523aaca50ff6f41791ea54ee91e3b
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jul 30 15:01:33 2014 -0400

    3235: Make collections show up in search results.

diff --git a/apps/workbench/app/assets/javascripts/select_modal.js b/apps/workbench/app/assets/javascripts/select_modal.js
index ee33b54..1fec3dc 100644
--- a/apps/workbench/app/assets/javascripts/select_modal.js
+++ b/apps/workbench/app/assets/javascripts/select_modal.js
@@ -72,11 +72,14 @@ $(document).on('click', '.selectable', function() {
         });
 }).on('click', '.chooser-show-project', function() {
     var params = {};
+    var project_uuid = $(this).attr('data-project-uuid');
     $(this).attr('href', '#');  // Skip normal click handler
-    if ($(this).attr('data-project-uuid')) {
+    if (project_uuid) {
         params = {'filters[]': JSON.stringify(['owner_uuid',
                                                '=',
-                                               $(this).attr('data-project-uuid')])};
+                                               project_uuid]),
+                  project_uuid: project_uuid
+                 };
     }
     // Use current selection as dropdown button label
     $(this).
diff --git a/apps/workbench/app/controllers/search_controller.rb b/apps/workbench/app/controllers/search_controller.rb
index 2b0ad7e..31c6663 100644
--- a/apps/workbench/app/controllers/search_controller.rb
+++ b/apps/workbench/app/controllers/search_controller.rb
@@ -1,6 +1,17 @@
 class SearchController < ApplicationController
   def find_objects_for_index
-    @objects = Group.contents(limit: @limit, offset: @offset, filters: @filters)
+    search_what = Group
+    if params[:project_uuid]
+      # Special case for "search all things in project":
+      @filters = @filters.select do |attr, operator, operand|
+        not (attr == 'owner_uuid' and operator == '=')
+      end
+      search_what = Group.find(params[:project_uuid])
+    end
+    @objects = search_what.contents(limit: @limit,
+                                    offset: @offset,
+                                    filters: @filters,
+                                    include_linked: true)
     super
   end
 
diff --git a/services/api/app/controllers/arvados/v1/groups_controller.rb b/services/api/app/controllers/arvados/v1/groups_controller.rb
index 6b21403..4dc5c9b 100644
--- a/services/api/app/controllers/arvados/v1/groups_controller.rb
+++ b/services/api/app/controllers/arvados/v1/groups_controller.rb
@@ -23,8 +23,8 @@ class Arvados::V1::GroupsController < ApplicationController
 
   def contents
     # Set @objects:
-    load_searchable_objects(owner_uuid: @object.andand.uuid, include_linked: params[:include_linked])
-
+    load_searchable_objects(owner_uuid: @object.andand.uuid,
+                            include_linked: params[:include_linked])
     sql = 'link_class=? and head_uuid in (?)'
     sql_params = ['name', @objects.collect(&:uuid)]
     if @object
@@ -66,19 +66,23 @@ class Arvados::V1::GroupsController < ApplicationController
       if klass == Group
         @objects = @objects.where('group_class = ?', 'project')
       end
-      conds = []
-      cond_params = []
       if opts[:owner_uuid]
+        conds = []
+        cond_params = []
         conds << "#{klass.table_name}.owner_uuid = ?"
         cond_params << opts[:owner_uuid]
+        if opts[:include_linked]
+          haslink = "#{klass.table_name}.uuid IN (SELECT head_uuid FROM links WHERE link_class=#{klass.sanitize 'name'}"
+          haslink += " AND links.tail_uuid=#{klass.sanitize opts[:owner_uuid]}"
+          haslink += ")"
+          conds << haslink
+        end
+        if conds.any?
+          cond_sql = '(' + conds.join(') OR (') + ')'
+          @objects = @objects.where(cond_sql, *cond_params)
+        end
       end
-      if opts[:include_linked]
-        conds << "#{klass.table_name}.uuid IN (SELECT head_uuid FROM links WHERE link_class=#{klass.sanitize 'name'} AND links.tail_uuid=#{klass.sanitize @object.uuid})"
-      end
-      if conds.any?
-        cond_sql = '(' + conds.join(') OR (') + ')'
-        @objects = @objects.where(cond_sql, *cond_params)
-      end
+
       @objects = @objects.order("#{klass.table_name}.uuid")
       @limit = limit_all - all_objects.count
       apply_where_limit_order_params
diff --git a/services/api/test/functional/arvados/v1/groups_controller_test.rb b/services/api/test/functional/arvados/v1/groups_controller_test.rb
index d6ac3ce..0110e65 100644
--- a/services/api/test/functional/arvados/v1/groups_controller_test.rb
+++ b/services/api/test/functional/arvados/v1/groups_controller_test.rb
@@ -90,22 +90,24 @@ class Arvados::V1::GroupsControllerTest < ActionController::TestCase
     check_project_contents_response
   end
 
-  test 'list objects across multiple projects' do
-    authorize_with :project_viewer
-    get :contents, {
-      format: :json,
-      include_linked: false,
-      filters: [['uuid', 'is_a', 'arvados#specimen']]
-    }
-    assert_response :success
-    found_uuids = json_response['items'].collect { |i| i['uuid'] }
-    [[:in_aproject, true],
-     [:in_asubproject, true],
-     [:owned_by_private_group, false]].each do |specimen_fixture, should_find|
-      if should_find
-        assert_includes found_uuids, specimens(specimen_fixture).uuid, "did not find specimen fixture '#{specimen_fixture}'"
-      else
-        refute_includes found_uuids, specimens(specimen_fixture).uuid, "found specimen fixture '#{specimen_fixture}'"
+  [false, true].each do |include_linked|
+    test 'list objects across multiple projects' do
+      authorize_with :project_viewer
+      get :contents, {
+        format: :json,
+        include_linked: include_linked,
+        filters: [['uuid', 'is_a', 'arvados#specimen']]
+      }
+      assert_response :success
+      found_uuids = json_response['items'].collect { |i| i['uuid'] }
+      [[:in_aproject, true],
+       [:in_asubproject, true],
+       [:owned_by_private_group, false]].each do |specimen_fixture, should_find|
+        if should_find
+          assert_includes found_uuids, specimens(specimen_fixture).uuid, "did not find specimen fixture '#{specimen_fixture}'"
+        else
+          refute_includes found_uuids, specimens(specimen_fixture).uuid, "found specimen fixture '#{specimen_fixture}'"
+        end
       end
     end
   end

commit 4b007d7c702987f3b65d0c3fec5b21dcf6ac647c
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jul 30 13:54:20 2014 -0400

    3235: Update results as soon as search modal opens.

diff --git a/apps/workbench/app/assets/javascripts/filterable.js b/apps/workbench/app/assets/javascripts/filterable.js
index 0e9e9cb..7da461e 100644
--- a/apps/workbench/app/assets/javascripts/filterable.js
+++ b/apps/workbench/app/assets/javascripts/filterable.js
@@ -49,5 +49,5 @@ $(document).
             data('filters', filters).
             trigger('refresh');
     }).on('ajax:complete', function() {
-        $('.filterable-control').trigger('change');
+        $('.filterable-control').trigger('input');
     });

commit 6790e24febd872dcf98b1356ad1d06fc69fc2915
Merge: 4aae929 20f944b
Author: Tom Clegg <tom at curoverse.com>
Date:   Wed Jul 30 13:48:52 2014 -0400

    3235: Merge branch 'master' into 3235-top-nav-site-search


-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list