[ARVADOS] updated: 6812b3350f48ed977ea2e3e788e49e1008a3b244

git at public.curoverse.com git at public.curoverse.com
Sun Feb 16 06:06:44 EST 2014


Summary of changes:
 .gitignore                                         |    3 +-
 apps/admin/list-inactive-users.rb                  |   24 -
 .../app/assets/javascripts/application.js          |   99 +-
 apps/workbench/app/assets/javascripts/users.js     |   11 +-
 .../app/assets/stylesheets/application.css.scss    |   50 +-
 apps/workbench/app/assets/stylesheets/loading.css  |  390 +-
 .../app/controllers/application_controller.rb      |   22 +-
 .../app/controllers/collections_controller.rb      |    6 +-
 .../controllers/pipeline_instances_controller.rb   |    2 +
 apps/workbench/app/helpers/provenance_helper.rb    |  107 +-
 apps/workbench/app/models/pipeline_instance.rb     |    4 +
 apps/workbench/app/models/pipeline_template.rb     |    3 +
 .../app/views/application/_show_metadata.html.erb  |    2 +-
 .../app/views/collections/_index_tbody.html.erb    |   24 +-
 .../app/views/collections/_show_recent.html.erb    |   10 +-
 apps/workbench/app/views/collections/index.js.erb  |    1 +
 .../app/views/groups/_show_recent.html.erb         |    2 +-
 .../app/views/layouts/application.html.erb         |   51 +-
 ...ext_compare.html.erb => _show_compare.html.erb} |    0
 .../views/pipeline_instances/_show_graph.html.erb  |   19 +-
 .../views/pipeline_instances/_show_recent.html.erb |   19 +-
 .../views/pipeline_templates/_show_recent.html.erb |    2 +-
 .../app/views/user_agreements/index.html.erb       |    2 +-
 .../app/views/users/_notifications.html.erb        |   93 -
 apps/workbench/app/views/users/_tables.html.erb    |    5 +-
 apps/workbench/app/views/users/home.js.erb         |    2 +-
 doc/Gemfile                                        |    4 +-
 doc/Gemfile.lock                                   |   63 +-
 doc/README_FOR_APP                                 |    2 -
 doc/Rakefile                                       |   25 +
 doc/_config.yml                                    |  100 +-
 doc/_includes/{0-filter.py => _0_filter_py.liquid} |    0
 ...rt-incomplete.html => _alert-incomplete.liquid} |    0
 .../{alert-stub.html => _alert_stub.liquid}        |    0
 doc/_includes/_navbar_left.liquid                  |   18 +
 doc/_includes/_navbar_top.liquid                   |   23 +
 .../{notebox-begin.html => _notebox_begin.liquid}  |    0
 .../{notebox-end.html => _notebox_end.liquid}      |    0
 ...h_script.py => _parallel_hash_script_py.liquid} |    0
 .../{run-md5sum.py => _run_md5sum_py.liquid}       |    0
 ...h_script.py => _tutorial_hash_script_py.liquid} |    0
 doc/_includes/navbar_left.html                     |   27 -
 doc/_includes/navbar_top.html                      |   23 -
 doc/_layouts/default.html                          |  120 -
 doc/_layouts/default.html.liquid                   |  109 +
 doc/admin/cheat_sheet.html.textile.liquid          |   72 +
 doc/admin/cheat_sheet.textile                      |   73 -
 doc/admin/index.html.md.liquid                     |   14 +
 doc/admin/index.md                                 |   15 -
 doc/api/authentication.html.textile.liquid         |   40 +
 doc/api/authentication.textile                     |   40 -
 doc/api/crunch-scripts.html.textile.liquid         |   46 +
 doc/api/crunch-scripts.textile                     |   46 -
 doc/api/index.html.textile.liquid                  |   52 +
 doc/api/index.textile                              |   52 -
 doc/api/methods.html.textile.liquid                |   80 +
 doc/api/methods.textile                            |   80 -
 .../api_client_authorizations.html.textile.liquid  |  109 +
 doc/api/methods/api_client_authorizations.textile  |  109 -
 doc/api/methods/api_clients.html.textile.liquid    |   98 +
 doc/api/methods/api_clients.textile                |   98 -
 .../methods/authorized_keys.html.textile.liquid    |   98 +
 doc/api/methods/authorized_keys.textile            |   98 -
 doc/api/methods/collections.html.textile.liquid    |   98 +
 doc/api/methods/collections.textile                |   98 -
 doc/api/methods/groups.html.textile.liquid         |   98 +
 doc/api/methods/groups.textile                     |   98 -
 doc/api/methods/humans.html.textile.liquid         |   98 +
 doc/api/methods/humans.textile                     |   98 -
 doc/api/methods/job_tasks.html.textile.liquid      |   98 +
 doc/api/methods/job_tasks.textile                  |   98 -
 doc/api/methods/jobs.html.textile.liquid           |  130 +
 doc/api/methods/jobs.textile                       |  130 -
 doc/api/methods/keep_disks.html.textile.liquid     |  114 +
 doc/api/methods/keep_disks.textile                 |  114 -
 doc/api/methods/links.html.textile.liquid          |  109 +
 doc/api/methods/links.textile                      |  109 -
 doc/api/methods/logs.html.textile.liquid           |   98 +
 doc/api/methods/logs.textile                       |   98 -
 doc/api/methods/nodes.html.textile.liquid          |  109 +
 doc/api/methods/nodes.textile                      |  109 -
 .../methods/pipeline_instances.html.textile.liquid |   98 +
 doc/api/methods/pipeline_instances.textile         |   98 -
 .../methods/pipeline_templates.html.textile.liquid |   98 +
 doc/api/methods/pipeline_templates.textile         |   98 -
 doc/api/methods/repositories.html.textile.liquid   |  107 +
 doc/api/methods/repositories.textile               |  107 -
 doc/api/methods/specimens.html.textile.liquid      |   98 +
 doc/api/methods/specimens.textile                  |   98 -
 doc/api/methods/traits.html.textile.liquid         |   98 +
 doc/api/methods/traits.textile                     |   98 -
 doc/api/methods/users.html.textile.liquid          |  126 +
 doc/api/methods/users.textile                      |  126 -
 .../methods/virtual_machines.html.textile.liquid   |  117 +
 doc/api/methods/virtual_machines.textile           |  117 -
 doc/api/permission-model.html.textile.liquid       |  107 +
 doc/api/permission-model.textile                   |  107 -
 doc/api/resources.html.textile.liquid              |   49 +
 doc/api/resources.textile                          |   49 -
 doc/api/schema/ApiClient.html.textile.liquid       |   38 +
 doc/api/schema/ApiClient.textile                   |   38 -
 .../ApiClientAuthorization.html.textile.liquid     |   44 +
 doc/api/schema/ApiClientAuthorization.textile      |   44 -
 doc/api/schema/AuthorizedKey.html.textile.liquid   |   40 +
 doc/api/schema/AuthorizedKey.textile               |   40 -
 doc/api/schema/Collection.html.textile.liquid      |   45 +
 doc/api/schema/Collection.textile                  |   45 -
 doc/api/schema/Commit.html.textile.liquid          |   38 +
 doc/api/schema/Commit.textile                      |   38 -
 doc/api/schema/CommitAncestor.html.textile.liquid  |   39 +
 doc/api/schema/CommitAncestor.textile              |   39 -
 doc/api/schema/Group.html.textile.liquid           |   37 +
 doc/api/schema/Group.textile                       |   37 -
 doc/api/schema/Human.html.textile.liquid           |   36 +
 doc/api/schema/Human.textile                       |   36 -
 doc/api/schema/Job.html.textile.liquid             |   83 +
 doc/api/schema/Job.textile                         |   83 -
 doc/api/schema/JobTask.html.textile.liquid         |   51 +
 doc/api/schema/JobTask.textile                     |   51 -
 doc/api/schema/KeepDisk.html.textile.liquid        |   48 +
 doc/api/schema/KeepDisk.textile                    |   48 -
 doc/api/schema/Link.html.textile.liquid            |   87 +
 doc/api/schema/Link.textile                        |   87 -
 doc/api/schema/Log.html.textile.liquid             |   39 +
 doc/api/schema/Log.textile                         |   39 -
 doc/api/schema/Node.html.textile.liquid            |   42 +
 doc/api/schema/Node.textile                        |   42 -
 .../schema/PipelineInstance.html.textile.liquid    |   41 +
 doc/api/schema/PipelineInstance.textile            |   41 -
 .../schema/PipelineTemplate.html.textile.liquid    |   37 +
 doc/api/schema/PipelineTemplate.textile            |   37 -
 doc/api/schema/Repository.html.textile.liquid      |   38 +
 doc/api/schema/Repository.textile                  |   38 -
 doc/api/schema/Specimen.html.textile.liquid        |   37 +
 doc/api/schema/Specimen.textile                    |   37 -
 doc/api/schema/Trait.html.textile.liquid           |   37 +
 doc/api/schema/Trait.textile                       |   37 -
 doc/api/schema/User.html.textile.liquid            |   43 +
 doc/api/schema/User.textile                        |   43 -
 doc/api/schema/VirtualMachine.html.textile.liquid  |   36 +
 doc/api/schema/VirtualMachine.textile              |   36 -
 .../badges.css.scss => doc/css/badges.css          |    0
 doc/css/bootstrap-responsive.min.css               |   20 -
 doc/css/bootstrap-theme.css                        |  347 +
 doc/css/bootstrap-theme.css.map                    |    1 +
 doc/css/bootstrap-theme.min.css                    |    7 +
 doc/css/bootstrap.css                              | 9502 ++++++++++----------
 doc/css/bootstrap.css.map                          |    1 +
 doc/css/bootstrap.min.css                          |    7 +
 doc/css/nav-list.css                               |   24 +
 doc/fonts/glyphicons-halflings-regular.eot         |  Bin 0 -> 20290 bytes
 doc/fonts/glyphicons-halflings-regular.svg         |  229 +
 doc/fonts/glyphicons-halflings-regular.ttf         |  Bin 0 -> 41236 bytes
 doc/fonts/glyphicons-halflings-regular.woff        |  Bin 0 -> 23292 bytes
 doc/gen_api_method_docs.py                         |    1 -
 {apps/workbench/app/assets => doc}/images/dax.png  |  Bin 66943 -> 66943 bytes
 doc/index.html                                     |   46 -
 doc/index.html.liquid                              |   45 +
 doc/install/client.html.textile.liquid             |   36 +
 doc/install/client.textile                         |   36 -
 .../create-standard-objects.html.textile.liquid    |   60 +
 doc/install/create-standard-objects.textile        |   60 -
 doc/install/index.html.md.liquid                   |   17 +
 doc/install/index.md                               |   18 -
 doc/install/install-api-server.html.md.liquid      |  114 +
 doc/install/install-api-server.md                  |  114 -
 .../install-crunch-dispatch.html.textile.liquid    |  102 +
 doc/install/install-crunch-dispatch.textile        |  102 -
 doc/install/install-workbench-app.html.md.liquid   |   63 +
 doc/install/install-workbench-app.md               |   63 -
 doc/js/bootstrap.js                                | 1951 ++++
 doc/js/bootstrap.min.js                            |   13 +-
 doc/mkpydoc.sh                                     |    5 -
 doc/sdk/index.html.textile.liquid                  |   12 +
 doc/sdk/index.textile                              |   12 -
 .../crunch-utility-libraries.html.textile.liquid   |  225 +
 doc/sdk/python/crunch-utility-libraries.textile    |  225 -
 doc/sdk/python/python.html.textile.liquid          |   10 +
 doc/sdk/python/python.textile                      |   10 -
 doc/sdk/python/sdk-python.html.textile.liquid      |  120 +
 doc/sdk/python/sdk-python.textile                  |  120 -
 .../examples/crunch-examples.html.textile.liquid   |   99 +
 doc/user/examples/crunch-examples.textile          |   98 -
 .../check-environment.html.textile.liquid          |   46 +
 doc/user/getting_started/check-environment.textile |   54 -
 .../getting_started/community.html.textile.liquid  |   25 +
 doc/user/getting_started/community.textile         |   25 -
 .../getting_started/ssh-access.html.textile.liquid |  217 +
 doc/user/getting_started/ssh-access.textile        |  217 -
 .../getting_started/workbench.html.textile.liquid  |   18 +
 doc/user/getting_started/workbench.textile         |   18 -
 doc/user/index.html.textile.liquid                 |   52 +
 doc/user/index.textile                             |   51 -
 doc/user/reference/api-tokens.html.textile.liquid  |   74 +
 doc/user/reference/api-tokens.textile              |   47 -
 doc/user/reference/sdk-cli.html.textile.liquid     |   47 +
 doc/user/reference/sdk-cli.textile                 |   81 -
 .../running-external-program.html.textile.liquid   |   71 +
 .../tutorials/running-external-program.textile     |   67 -
 .../tutorial-firstscript.html.textile.liquid       |  124 +
 doc/user/tutorials/tutorial-firstscript.textile    |  124 -
 ...rial-gatk-variantfiltration.html.textile.liquid |  216 +
 .../tutorial-gatk-variantfiltration.textile        |  216 -
 .../tutorial-job-debug.html.textile.liquid         |  156 +
 doc/user/tutorials/tutorial-job-debug.textile      |  156 -
 .../tutorials/tutorial-job1.html.textile.liquid    |  235 +
 doc/user/tutorials/tutorial-job1.textile           |  233 -
 .../tutorials/tutorial-keep.html.textile.liquid    |  143 +
 doc/user/tutorials/tutorial-keep.textile           |  136 -
 .../tutorial-new-pipeline.html.textile.liquid      |  158 +
 doc/user/tutorials/tutorial-new-pipeline.textile   |  158 -
 .../tutorial-parallel.html.textile.liquid          |   85 +
 doc/user/tutorials/tutorial-parallel.textile       |   81 -
 .../tutorial-trait-search.html.textile.liquid      |  273 +
 doc/user/tutorials/tutorial-trait-search.textile   |  273 -
 doc/zenweb-liquid.rb                               |   41 +
 doc/zenweb-textile.rb                              |   17 +
 docker/Makefile                                    |    2 +-
 docker/README.md                                   |   12 +-
 docker/api/Dockerfile                              |    2 +-
 docker/api/apache2_vhost.in                        |    4 +-
 docker/api/production.rb.in                        |    4 +
 docker/arvdock                                     |  354 +
 docker/base/Dockerfile                             |    4 +-
 docker/config.rb                                   |    2 +
 docker/config.yml.example                          |    2 +-
 docker/doc/Dockerfile                              |    4 +-
 docker/doc/apache2_vhost                           |    4 +-
 docker/passenger/Dockerfile                        |    2 +-
 docker/postgresql/Dockerfile                       |    2 +-
 docker/run.sh                                      |  303 -
 docker/sso/Dockerfile                              |    4 +-
 docker/sso/apache2_vhost.in                        |    4 +-
 docker/warehouse/Dockerfile                        |    4 +-
 docker/workbench/Dockerfile                        |    2 +-
 docker/workbench/apache2_vhost.in                  |    2 +-
 docker/workbench/production.rb.in                  |    9 +-
 sdk/cli/Gemfile                                    |    2 +-
 sdk/cli/Gemfile.lock                               |   24 +-
 sdk/cli/arvados-cli.gemspec                        |    2 +-
 sdk/cli/bin/arv                                    |    2 +-
 sdk/cli/bin/arv-run-pipeline-instance              |    6 +-
 sdk/perl/lib/Arvados/ResourceMethod.pm             |   17 +-
 sdk/python/arvados/collection.py                   |    9 +-
 sdk/python/arvados/keep.py                         |   40 +-
 sdk/python/bin/arv-get                             |   11 +-
 .../v1/api_client_authorizations_controller.rb     |    1 +
 .../arvados/v1/collections_controller.rb           |   33 +-
 services/api/app/controllers/static_controller.rb  |    8 +-
 .../app/controllers/user_sessions_controller.rb    |    2 +-
 services/api/app/models/arvados_model.rb           |   19 +
 services/api/app/models/collection.rb              |   26 +-
 services/api/app/models/commit_ancestor.rb         |    4 +-
 services/api/app/models/job.rb                     |   14 +-
 services/api/app/models/user.rb                    |    6 +-
 services/api/test/fixtures/jobs.yml                |    1 +
 .../api_client_authorizations_controller_test.rb   |   18 +
 .../arvados/v1/collections_controller_test.rb      |   18 +-
 .../functional/arvados/v1/jobs_controller_test.rb  |   32 +
 .../api_client_authorizations_api_test.rb          |   11 +
 260 files changed, 14628 insertions(+), 12513 deletions(-)
 delete mode 100755 apps/admin/list-inactive-users.rb
 rename apps/workbench/app/views/pipeline_instances/{_show_text_compare.html.erb => _show_compare.html.erb} (100%)
 delete mode 100644 apps/workbench/app/views/users/_notifications.html.erb
 delete mode 100644 doc/README_FOR_APP
 create mode 100644 doc/Rakefile
 rename doc/_includes/{0-filter.py => _0_filter_py.liquid} (100%)
 rename doc/_includes/{alert-incomplete.html => _alert-incomplete.liquid} (100%)
 rename doc/_includes/{alert-stub.html => _alert_stub.liquid} (100%)
 create mode 100644 doc/_includes/_navbar_left.liquid
 create mode 100644 doc/_includes/_navbar_top.liquid
 rename doc/_includes/{notebox-begin.html => _notebox_begin.liquid} (100%)
 rename doc/_includes/{notebox-end.html => _notebox_end.liquid} (100%)
 rename doc/_includes/{parallel_hash_script.py => _parallel_hash_script_py.liquid} (100%)
 rename doc/_includes/{run-md5sum.py => _run_md5sum_py.liquid} (100%)
 rename doc/_includes/{tutorial_hash_script.py => _tutorial_hash_script_py.liquid} (100%)
 delete mode 100644 doc/_includes/navbar_left.html
 delete mode 100644 doc/_includes/navbar_top.html
 delete mode 100644 doc/_layouts/default.html
 create mode 100644 doc/_layouts/default.html.liquid
 create mode 100644 doc/admin/cheat_sheet.html.textile.liquid
 delete mode 100644 doc/admin/cheat_sheet.textile
 create mode 100644 doc/admin/index.html.md.liquid
 delete mode 100644 doc/admin/index.md
 create mode 100644 doc/api/authentication.html.textile.liquid
 delete mode 100644 doc/api/authentication.textile
 create mode 100644 doc/api/crunch-scripts.html.textile.liquid
 delete mode 100644 doc/api/crunch-scripts.textile
 create mode 100644 doc/api/index.html.textile.liquid
 delete mode 100644 doc/api/index.textile
 create mode 100644 doc/api/methods.html.textile.liquid
 delete mode 100644 doc/api/methods.textile
 create mode 100644 doc/api/methods/api_client_authorizations.html.textile.liquid
 delete mode 100644 doc/api/methods/api_client_authorizations.textile
 create mode 100644 doc/api/methods/api_clients.html.textile.liquid
 delete mode 100644 doc/api/methods/api_clients.textile
 create mode 100644 doc/api/methods/authorized_keys.html.textile.liquid
 delete mode 100644 doc/api/methods/authorized_keys.textile
 create mode 100644 doc/api/methods/collections.html.textile.liquid
 delete mode 100644 doc/api/methods/collections.textile
 create mode 100644 doc/api/methods/groups.html.textile.liquid
 delete mode 100644 doc/api/methods/groups.textile
 create mode 100644 doc/api/methods/humans.html.textile.liquid
 delete mode 100644 doc/api/methods/humans.textile
 create mode 100644 doc/api/methods/job_tasks.html.textile.liquid
 delete mode 100644 doc/api/methods/job_tasks.textile
 create mode 100644 doc/api/methods/jobs.html.textile.liquid
 delete mode 100644 doc/api/methods/jobs.textile
 create mode 100644 doc/api/methods/keep_disks.html.textile.liquid
 delete mode 100644 doc/api/methods/keep_disks.textile
 create mode 100644 doc/api/methods/links.html.textile.liquid
 delete mode 100644 doc/api/methods/links.textile
 create mode 100644 doc/api/methods/logs.html.textile.liquid
 delete mode 100644 doc/api/methods/logs.textile
 create mode 100644 doc/api/methods/nodes.html.textile.liquid
 delete mode 100644 doc/api/methods/nodes.textile
 create mode 100644 doc/api/methods/pipeline_instances.html.textile.liquid
 delete mode 100644 doc/api/methods/pipeline_instances.textile
 create mode 100644 doc/api/methods/pipeline_templates.html.textile.liquid
 delete mode 100644 doc/api/methods/pipeline_templates.textile
 create mode 100644 doc/api/methods/repositories.html.textile.liquid
 delete mode 100644 doc/api/methods/repositories.textile
 create mode 100644 doc/api/methods/specimens.html.textile.liquid
 delete mode 100644 doc/api/methods/specimens.textile
 create mode 100644 doc/api/methods/traits.html.textile.liquid
 delete mode 100644 doc/api/methods/traits.textile
 create mode 100644 doc/api/methods/users.html.textile.liquid
 delete mode 100644 doc/api/methods/users.textile
 create mode 100644 doc/api/methods/virtual_machines.html.textile.liquid
 delete mode 100644 doc/api/methods/virtual_machines.textile
 create mode 100644 doc/api/permission-model.html.textile.liquid
 delete mode 100644 doc/api/permission-model.textile
 create mode 100644 doc/api/resources.html.textile.liquid
 delete mode 100644 doc/api/resources.textile
 create mode 100644 doc/api/schema/ApiClient.html.textile.liquid
 delete mode 100644 doc/api/schema/ApiClient.textile
 create mode 100644 doc/api/schema/ApiClientAuthorization.html.textile.liquid
 delete mode 100644 doc/api/schema/ApiClientAuthorization.textile
 create mode 100644 doc/api/schema/AuthorizedKey.html.textile.liquid
 delete mode 100644 doc/api/schema/AuthorizedKey.textile
 create mode 100644 doc/api/schema/Collection.html.textile.liquid
 delete mode 100644 doc/api/schema/Collection.textile
 create mode 100644 doc/api/schema/Commit.html.textile.liquid
 delete mode 100644 doc/api/schema/Commit.textile
 create mode 100644 doc/api/schema/CommitAncestor.html.textile.liquid
 delete mode 100644 doc/api/schema/CommitAncestor.textile
 create mode 100644 doc/api/schema/Group.html.textile.liquid
 delete mode 100644 doc/api/schema/Group.textile
 create mode 100644 doc/api/schema/Human.html.textile.liquid
 delete mode 100644 doc/api/schema/Human.textile
 create mode 100644 doc/api/schema/Job.html.textile.liquid
 delete mode 100644 doc/api/schema/Job.textile
 create mode 100644 doc/api/schema/JobTask.html.textile.liquid
 delete mode 100644 doc/api/schema/JobTask.textile
 create mode 100644 doc/api/schema/KeepDisk.html.textile.liquid
 delete mode 100644 doc/api/schema/KeepDisk.textile
 create mode 100644 doc/api/schema/Link.html.textile.liquid
 delete mode 100644 doc/api/schema/Link.textile
 create mode 100644 doc/api/schema/Log.html.textile.liquid
 delete mode 100644 doc/api/schema/Log.textile
 create mode 100644 doc/api/schema/Node.html.textile.liquid
 delete mode 100644 doc/api/schema/Node.textile
 create mode 100644 doc/api/schema/PipelineInstance.html.textile.liquid
 delete mode 100644 doc/api/schema/PipelineInstance.textile
 create mode 100644 doc/api/schema/PipelineTemplate.html.textile.liquid
 delete mode 100644 doc/api/schema/PipelineTemplate.textile
 create mode 100644 doc/api/schema/Repository.html.textile.liquid
 delete mode 100644 doc/api/schema/Repository.textile
 create mode 100644 doc/api/schema/Specimen.html.textile.liquid
 delete mode 100644 doc/api/schema/Specimen.textile
 create mode 100644 doc/api/schema/Trait.html.textile.liquid
 delete mode 100644 doc/api/schema/Trait.textile
 create mode 100644 doc/api/schema/User.html.textile.liquid
 delete mode 100644 doc/api/schema/User.textile
 create mode 100644 doc/api/schema/VirtualMachine.html.textile.liquid
 delete mode 100644 doc/api/schema/VirtualMachine.textile
 copy apps/workbench/app/assets/stylesheets/badges.css.scss => doc/css/badges.css (100%)
 delete mode 100644 doc/css/bootstrap-responsive.min.css
 create mode 100644 doc/css/bootstrap-theme.css
 create mode 100644 doc/css/bootstrap-theme.css.map
 create mode 100644 doc/css/bootstrap-theme.min.css
 create mode 100644 doc/css/bootstrap.css.map
 create mode 100644 doc/css/bootstrap.min.css
 create mode 100644 doc/css/nav-list.css
 create mode 100644 doc/fonts/glyphicons-halflings-regular.eot
 create mode 100644 doc/fonts/glyphicons-halflings-regular.svg
 create mode 100644 doc/fonts/glyphicons-halflings-regular.ttf
 create mode 100644 doc/fonts/glyphicons-halflings-regular.woff
 copy {apps/workbench/app/assets => doc}/images/dax.png (100%)
 delete mode 100644 doc/index.html
 create mode 100644 doc/index.html.liquid
 create mode 100644 doc/install/client.html.textile.liquid
 delete mode 100644 doc/install/client.textile
 create mode 100644 doc/install/create-standard-objects.html.textile.liquid
 delete mode 100644 doc/install/create-standard-objects.textile
 create mode 100644 doc/install/index.html.md.liquid
 delete mode 100644 doc/install/index.md
 create mode 100644 doc/install/install-api-server.html.md.liquid
 delete mode 100644 doc/install/install-api-server.md
 create mode 100644 doc/install/install-crunch-dispatch.html.textile.liquid
 delete mode 100644 doc/install/install-crunch-dispatch.textile
 create mode 100644 doc/install/install-workbench-app.html.md.liquid
 delete mode 100644 doc/install/install-workbench-app.md
 create mode 100644 doc/js/bootstrap.js
 delete mode 100755 doc/mkpydoc.sh
 create mode 100644 doc/sdk/index.html.textile.liquid
 delete mode 100644 doc/sdk/index.textile
 create mode 100644 doc/sdk/python/crunch-utility-libraries.html.textile.liquid
 delete mode 100644 doc/sdk/python/crunch-utility-libraries.textile
 create mode 100644 doc/sdk/python/python.html.textile.liquid
 delete mode 100644 doc/sdk/python/python.textile
 create mode 100644 doc/sdk/python/sdk-python.html.textile.liquid
 delete mode 100644 doc/sdk/python/sdk-python.textile
 create mode 100644 doc/user/examples/crunch-examples.html.textile.liquid
 delete mode 100644 doc/user/examples/crunch-examples.textile
 create mode 100644 doc/user/getting_started/check-environment.html.textile.liquid
 delete mode 100644 doc/user/getting_started/check-environment.textile
 create mode 100644 doc/user/getting_started/community.html.textile.liquid
 delete mode 100644 doc/user/getting_started/community.textile
 create mode 100644 doc/user/getting_started/ssh-access.html.textile.liquid
 delete mode 100644 doc/user/getting_started/ssh-access.textile
 create mode 100644 doc/user/getting_started/workbench.html.textile.liquid
 delete mode 100644 doc/user/getting_started/workbench.textile
 create mode 100644 doc/user/index.html.textile.liquid
 delete mode 100644 doc/user/index.textile
 create mode 100644 doc/user/reference/api-tokens.html.textile.liquid
 delete mode 100644 doc/user/reference/api-tokens.textile
 create mode 100644 doc/user/reference/sdk-cli.html.textile.liquid
 delete mode 100644 doc/user/reference/sdk-cli.textile
 create mode 100644 doc/user/tutorials/running-external-program.html.textile.liquid
 delete mode 100644 doc/user/tutorials/running-external-program.textile
 create mode 100644 doc/user/tutorials/tutorial-firstscript.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-firstscript.textile
 create mode 100644 doc/user/tutorials/tutorial-gatk-variantfiltration.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-gatk-variantfiltration.textile
 create mode 100644 doc/user/tutorials/tutorial-job-debug.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-job-debug.textile
 create mode 100644 doc/user/tutorials/tutorial-job1.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-job1.textile
 create mode 100644 doc/user/tutorials/tutorial-keep.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-keep.textile
 create mode 100644 doc/user/tutorials/tutorial-new-pipeline.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-new-pipeline.textile
 create mode 100644 doc/user/tutorials/tutorial-parallel.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-parallel.textile
 create mode 100644 doc/user/tutorials/tutorial-trait-search.html.textile.liquid
 delete mode 100644 doc/user/tutorials/tutorial-trait-search.textile
 create mode 100644 doc/zenweb-liquid.rb
 create mode 100644 doc/zenweb-textile.rb
 create mode 100755 docker/arvdock
 delete mode 100755 docker/run.sh
 create mode 100644 services/api/test/integration/api_client_authorizations_api_test.rb

       via  6812b3350f48ed977ea2e3e788e49e1008a3b244 (commit)
       via  4290ebf2130f74b1a7448f073b0bfb2394e4e8bf (commit)
       via  78a1683680177da480dc3ffaea2d4f2b79ab793d (commit)
       via  df660bb1bd636ac09889f74604390a78f115bfe7 (commit)
       via  50567a15ccfdc5e73289227e343bfce946974ecd (commit)
       via  3d3f6b1262bd416ca1c7a2deb6ac87099f662edd (commit)
       via  603517c58cb2a57961de70c7b67f9856206515da (commit)
       via  a23b909256ae2ee222036d91d6e46faccfe13542 (commit)
       via  3c6f8001fb5d63ef92da36e662ac58396f18a9d0 (commit)
       via  6ecd3b6f76a1dbb39a56fc81d306969dc0a3f6af (commit)
       via  7024cc159936593350aaf7939d700102f6510787 (commit)
       via  ccf75b956a181b3867b0a3ce819607033a6775d0 (commit)
       via  d401c16c6043e56306d4c4ec3904f2a1ba9de7b6 (commit)
       via  ca435af8ada685bccd2a844b48582450c5c29f86 (commit)
       via  d3384897f0486aebd2941210ee16c5a4d52de21c (commit)
       via  7ee2fdbf6710397a608d548b210b89a68ea8f314 (commit)
       via  bfc0652a9bbc650688a393596355392ead16dbbb (commit)
       via  e1f7ea951ed4a661c68ce0168650f44d41240a06 (commit)
       via  b60db85375812f6cedfdb4e153de4ed5735f4854 (commit)
       via  a765f863edb242574de82486fae365c4a6687f41 (commit)
       via  bf74325bd7f166a7fe1c02aca47a03bc7443ac8b (commit)
       via  16d4aaa4520d2179e6f3f6af9173470463e13714 (commit)
       via  8d1ee366554c12b5746f39b34a46055ed431a7ef (commit)
       via  701074a294c18ad56b7f17cfc488a2cbc25816d5 (commit)
       via  b436539142666c2553a74363fbf7e34fefc9912b (commit)
       via  876c8e2ada7a9b8d1baf6fc11bd579e6bfad7789 (commit)
       via  c41beef3142e9c3e15385b2ad76c2a0088ca6a20 (commit)
       via  ed79eef62219259ef98dcdc8886d1a7132531075 (commit)
       via  848940a94d956c26297164cd6c7a51785db82726 (commit)
       via  430d4da65c609d1fde6e3cd428e7591b58cfd9e9 (commit)
       via  fb237e94403f58d35d011ffe26ec48cc77700fa2 (commit)
       via  91c96e8076bb8ea784378be41a0c6b385dd5de0a (commit)
       via  5b64c43183ede1313ccd7b44425d83a0b496a021 (commit)
       via  bb2574d7e3fc9b3031c881044b5878c2307b9d40 (commit)
       via  2eb5599c5a74fd84875258a3f0fdcff21a923ce4 (commit)
       via  975e9af85c66fa710728382d1efc66816c25f368 (commit)
       via  5d33c55fceab01d0ec426b9961e75a6ccddc7f8a (commit)
       via  80e6691141b54be951b4402b9109bd6b1b9f2ebb (commit)
       via  cbbfc43117251de9ea8eb858b02b50809b488717 (commit)
       via  3f3c680cdb5a9053dd074bc35070dc07b405f6d8 (commit)
       via  0730fad8bf3233751135e7f03bc6f45937b8d835 (commit)
       via  6acfb92f4e97007dd1b224ff8e74c104f250ddb8 (commit)
       via  b9e00c9e7ca0f7ab0184bd552a7783806cc0fd93 (commit)
       via  2211249b1a8b6f0a9ff88664a2227ebe5800e08b (commit)
       via  889d002fa79a29eb1d18731090f844380874d42f (commit)
       via  c2f564cd1359018e881857fe88c5bd7898318cc3 (commit)
       via  926625e0650d6e055ee098798694af3006ae34a9 (commit)
       via  77e12f54c6b5e97abb1f045163658f7deb31d5c4 (commit)
       via  95ced779d1f6a78539e21a646a1f8a78482443ac (commit)
       via  4f851b818a67ee768d0db2535186eee9eb73154e (commit)
       via  4ebb077a946fea01a36c8e53aa2c9c3dc56cf85e (commit)
       via  f5db24cc5434844e370cb2d959c6aa7800179159 (commit)
       via  e28dffcdee490a7da674f69d4b9d5cec086f8c41 (commit)
       via  ae0720ea3b92ff165f95b0eafc6d85f736f5ae5f (commit)
       via  9065715dd01b90f961a2b5118686075dfc13e458 (commit)
       via  d86f4c7485e7338e3725687634014c7711b83bfd (commit)
       via  2e89e1ddea9ecaca5352dfa557c275f35830ee1c (commit)
       via  8ebf6b6a0911f336e5cb5a31ac8aa8bb4cc0d6d1 (commit)
       via  5e02059d616d0e4906fe281379d26c69db1a6f23 (commit)
       via  953c8ece5b55913bd965a29e6a6ce08ccb7c935d (commit)
       via  4893194033b3d1765be13f9bf21058ebc91cf42e (commit)
       via  0baacafa11d24c91e4e493809c06f7c58a3fdfc7 (commit)
       via  fbd62569bca926fc12917eb60eada82a6d8a83b0 (commit)
       via  f4cd9f0565c69e4cd919124dc7184a4fdecb3b31 (commit)
       via  42f3da9a76a0cde60178cdeffdd6185050400a59 (commit)
       via  372d0c900866940713b9f3529cb4830c7ff0aa6a (commit)
       via  969049ab823d9c6d1050cced811a66a13a765070 (commit)
       via  ba64505e002d2d3a00d14ea567e80889534f14bf (commit)
       via  e7153591229d096b33ea4974fb3a4d581bb3b4d4 (commit)
       via  715869b9a22e22ac68a7dbefa96f27150017f75d (commit)
       via  f53c7cd9cb889916f4e7433af3b0a193c7b71554 (commit)
       via  fc38c67d9b3b8ae6a1d891e8005c43d6af6edd06 (commit)
       via  f7a0c7d8d0a33686330802b2fe4ed6e632abafe1 (commit)
       via  8c285503b45e89a891236221aba26488d2d74832 (commit)
       via  18258f6a3762ba7d83b05260b3c22f71423c0373 (commit)
       via  08913fc7a809d8138a1aeb11feaf1534fa6b6b43 (commit)
       via  720d44bbcf5299dd243a3b29e8b18c207290660b (commit)
       via  bd8c639ce45ee7b945c92b6492b4c05492f7a091 (commit)
       via  67b16f2fd5de0a5cb8078f73abb844d4b04974d6 (commit)
       via  e67af556174b714a241303040e8ad066002b167d (commit)
       via  22bf98c71f0a3e2c58bc591214d3e9ef13c4327f (commit)
       via  22f222fbd592c9fcf472678affbe6716cc3dd782 (commit)
       via  b54d7820e899733ce10b8960b1f04d0481f2e11f (commit)
       via  153d327346a213d0d48430af835b871ef4283da5 (commit)
       via  d0008ed3ab3c2cccb3b2aca217d4c86a1ad10cdd (commit)
       via  3301424f804263b2bab807932f5293993e231b96 (commit)
       via  956093639196f92f3ad4b9e0795bcc7e30520e0d (commit)
       via  b54a5ea817d3d2087eaa07dcf98ec8a82af56d06 (commit)
       via  2cdf96e15bbd5d45742a659f6ddcd7e3ddada855 (commit)
       via  cfa8a6978a03b4b2c3092581b0b4eb8e8f8e9d6b (commit)
       via  da51b9328abab2df757ed13eadc7c3557315094b (commit)
       via  7b66e00ebd071f5722ee18dcf132110020bdcdf3 (commit)
       via  3cd8626eda1618b9f2be293fc01c29f3d00973a7 (commit)
       via  3dc2b0008be4e09b47f73aeeb97d005cd7836619 (commit)
       via  91e4be41d77d023a06d53879b974ecf5d3b82d94 (commit)
       via  68ad3cbe4aaaa986b5b6e9f5cfcbf9d9d4c1c319 (commit)
      from  579300424ef50990ff9414f2eabf8f371f278d99 (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 6812b3350f48ed977ea2e3e788e49e1008a3b244
Merge: 78a1683 4290ebf
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 03:05:35 2014 -0800

    Merge branch 'master' into 2060-edit-tags-in-workbench


commit 78a1683680177da480dc3ffaea2d4f2b79ab793d
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 02:58:28 2014 -0800

    Lighten and add tooltips to "delete tag" buttons.

diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js
index cb20b32..dc71770 100644
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@ -78,7 +78,7 @@ jQuery(function($){
                 attr('data-tag-link-uuid', new_tag_uuid).
                 text(new_tag).
                 css('opacity', '0.2').
-                append(' <a><i class="glyphicon glyphicon-trash"></i></a> ');
+                append(' <a title="Delete tag"><i class="glyphicon glyphicon-trash"></i></a> ');
             $(this).
                 parent().
                 find('>span').
diff --git a/apps/workbench/app/assets/stylesheets/application.css.scss b/apps/workbench/app/assets/stylesheets/application.css.scss
index 5ee9508..7d241ad 100644
--- a/apps/workbench/app/assets/stylesheets/application.css.scss
+++ b/apps/workbench/app/assets/stylesheets/application.css.scss
@@ -140,6 +140,7 @@ td.add-tag-button .add-tag-button:hover {
     margin-top: .2em;
 }
 .label.removable-tag a {
+    color: #fff;
     cursor: pointer;
 }
 
diff --git a/apps/workbench/app/views/collections/_index_tbody.html.erb b/apps/workbench/app/views/collections/_index_tbody.html.erb
index 19a13ed..258b00b 100644
--- a/apps/workbench/app/views/collections/_index_tbody.html.erb
+++ b/apps/workbench/app/views/collections/_index_tbody.html.erb
@@ -36,7 +36,7 @@
       <% @collection_info[c.uuid][:tag_links].each do |tag_link| %>
         <span class="label label-info removable-tag" data-tag-link-uuid="<%= tag_link.uuid %>"><%= tag_link.name %>
           <% if tag_link.owner_uuid == current_user.uuid %>
-           <a><i class="glyphicon glyphicon-trash"></i></a>
+           <a title="Delete tag"><i class="glyphicon glyphicon-trash"></i></a>
           <% end %>
         </span>
       <% end %>

commit 50567a15ccfdc5e73289227e343bfce946974ecd
Merge: 603517c 3d3f6b1
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 02:36:57 2014 -0800

    Merge branch 'master' into 2060-edit-tags-in-workbench


commit 603517c58cb2a57961de70c7b67f9856206515da
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 02:23:07 2014 -0800

    Light up "add tag" buttons on button hover, not cell hover.

diff --git a/apps/workbench/app/assets/stylesheets/application.css.scss b/apps/workbench/app/assets/stylesheets/application.css.scss
index 1ea67d2..5ee9508 100644
--- a/apps/workbench/app/assets/stylesheets/application.css.scss
+++ b/apps/workbench/app/assets/stylesheets/application.css.scss
@@ -133,7 +133,7 @@ td.add-tag-button .add-tag-button {
     margin-right: 4px;
     opacity: 0.2;
 }
-td.add-tag-button:hover .add-tag-button {
+td.add-tag-button .add-tag-button:hover {
     opacity: 1;
 }
 .label.removable-tag {

commit a23b909256ae2ee222036d91d6e46faccfe13542
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 02:23:02 2014 -0800

    Do not show "delete tag" button unless current user owns tag.

diff --git a/apps/workbench/app/views/collections/_index_tbody.html.erb b/apps/workbench/app/views/collections/_index_tbody.html.erb
index fad520e..19a13ed 100644
--- a/apps/workbench/app/views/collections/_index_tbody.html.erb
+++ b/apps/workbench/app/views/collections/_index_tbody.html.erb
@@ -34,7 +34,11 @@
     <span>
     <% if @collection_info[c.uuid] %>
       <% @collection_info[c.uuid][:tag_links].each do |tag_link| %>
-        <span class="label label-info removable-tag" data-tag-link-uuid="<%= tag_link.uuid %>"><%= tag_link.name %> <a><i class="glyphicon glyphicon-trash"></i></a></span>
+        <span class="label label-info removable-tag" data-tag-link-uuid="<%= tag_link.uuid %>"><%= tag_link.name %>
+          <% if tag_link.owner_uuid == current_user.uuid %>
+           <a><i class="glyphicon glyphicon-trash"></i></a>
+          <% end %>
+        </span>
       <% end %>
     <% end %>
     </span>

commit 3c6f8001fb5d63ef92da36e662ac58396f18a9d0
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 02:17:15 2014 -0800

    Add and remove collection tags with ajax.

diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js
index 2f3b094..92cce3e 100644
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@ -49,24 +49,58 @@ jQuery(function($){
             $('.loading').fadeOut('fast', 0);
         }).
         on('click', '.removable-tag a', function(e) {
-            $(this).parents('[data-tag-link-uuid]').eq(0).remove();
+            var tag_span = $(this).parents('[data-tag-link-uuid]').eq(0)
+            tag_span.fadeTo('fast', 0.2);
+            $.ajax('/links/' + tag_span.attr('data-tag-link-uuid'),
+                   {dataType: 'json',
+                    type: 'POST',
+                    data: { '_method': 'DELETE' },
+                    context: tag_span}).
+                done(function(data, status, jqxhr) {
+                    this.remove();
+                }).
+                fail(function(jqxhr, status, error) {
+                    this.addClass('label-danger').fadeTo('fast', '1');
+                });
             return false;
         }).
         on('click', 'a.add-tag-button', function(e) {
-            new_tag = window.prompt("Add tag for collection "+
-                                    $(this).parents('tr').attr('data-object-uuid'),
+            var jqxhr;
+            var new_tag_uuid = 'new-tag-' + Math.random();
+            var tag_head_uuid = $(this).parents('tr').attr('data-object-uuid');
+            var new_tag = window.prompt("Add tag for collection "+
+                                    tag_head_uuid,
                                     "");
-            if (new_tag != null) {
-                new_tag_uuid = 'xxx';
-                $(this).
-                    parent().
-                    find('>span').
-                    append($('<span class="label label-info removable-tag" data-tag-link-uuid=""></span>').
-                           attr('data-tag-link-uuid', new_tag_uuid).
-                           text(new_tag).
-                           append(' <a><i class="glyphicon glyphicon-trash"></i></a> ')).
-                    append(' ');
-            }
+            if (new_tag == null)
+                return false;
+            var new_tag_span =
+                $('<span class="label label-info removable-tag"></span>').
+                attr('data-tag-link-uuid', new_tag_uuid).
+                text(new_tag).
+                css('opacity', '0.2').
+                append(' <a><i class="glyphicon glyphicon-trash"></i></a> ');
+            $(this).
+                parent().
+                find('>span').
+                append(new_tag_span).
+                append(' ');
+            $.ajax($(this).attr('data-remote-href'),
+                           {dataType: 'json',
+                            type: $(this).attr('data-remote-method'),
+                            data: {
+                                'link[head_kind]': 'arvados#collection',
+                                'link[head_uuid]': tag_head_uuid,
+                                'link[link_class]': 'tag',
+                                'link[name]': new_tag
+                            },
+                            context: new_tag_span}).
+                done(function(data, status, jqxhr) {
+                    this.attr('data-tag-link-uuid', data.uuid).
+                        fadeTo('fast', '1');
+                }).
+                fail(function(jqxhr, status, error) {
+                    this.addClass('label-danger').fadeTo('fast', '1');
+                });
             return false;
         });
 
diff --git a/apps/workbench/app/controllers/application_controller.rb b/apps/workbench/app/controllers/application_controller.rb
index 02ebc8b..e94428e 100644
--- a/apps/workbench/app/controllers/application_controller.rb
+++ b/apps/workbench/app/controllers/application_controller.rb
@@ -107,9 +107,10 @@ class ApplicationController < ActionController::Base
   end
 
   def create
-    @object ||= model_class.new params[model_class.to_s.singularize.to_sym]
+    @object ||= model_class.new params[model_class.to_s.underscore.singularize]
     @object.save!
     respond_to do |f|
+      f.json { render json: @object }
       f.html {
         redirect_to(params[:return_to] || @object)
       }
@@ -120,6 +121,7 @@ class ApplicationController < ActionController::Base
   def destroy
     if @object.destroy
       respond_to do |f|
+        f.json { render json: @object }
         f.html {
           redirect_to(params[:return_to] || :back)
         }
diff --git a/apps/workbench/app/controllers/collections_controller.rb b/apps/workbench/app/controllers/collections_controller.rb
index f8895da..b6997b9 100644
--- a/apps/workbench/app/controllers/collections_controller.rb
+++ b/apps/workbench/app/controllers/collections_controller.rb
@@ -19,7 +19,7 @@ class CollectionsController < ApplicationController
     @collection_info = {}
     @collections.each do |c|
       @collection_info[c.uuid] = {
-        tags: [],
+        tag_links: [],
         wanted: false,
         wanted_by_me: false,
         provenance: [],
@@ -31,7 +31,7 @@ class CollectionsController < ApplicationController
       info = @collection_info[link.head_uuid]
       case link.link_class
       when 'tag'
-        info[:tags] << link.name
+        info[:tag_links] << link
       when 'resources'
         info[:wanted] = true
         info[:wanted_by_me] ||= link.tail_uuid == current_user.uuid
diff --git a/apps/workbench/app/views/collections/_index_tbody.html.erb b/apps/workbench/app/views/collections/_index_tbody.html.erb
index f7209ee..fad520e 100644
--- a/apps/workbench/app/views/collections/_index_tbody.html.erb
+++ b/apps/workbench/app/views/collections/_index_tbody.html.erb
@@ -30,11 +30,11 @@
     <% end %>
   </td>
   <td class="add-tag-button">
-    <a class="btn btn-xs btn-info add-tag-button pull-right"><i class="glyphicon glyphicon-plus"></i> Add</a>
+    <a class="btn btn-xs btn-info add-tag-button pull-right" data-remote-href="<%= url_for(controller: 'links', action: 'create') %>" data-remote-method="post"><i class="glyphicon glyphicon-plus"></i> Add</a>
     <span>
     <% if @collection_info[c.uuid] %>
-      <% @collection_info[c.uuid][:tags].uniq.each do |tag| %>
-        <span class="label label-info removable-tag" data-tag-link-uuid=""><%= tag %> <a><i class="glyphicon glyphicon-trash"></i></a></span>
+      <% @collection_info[c.uuid][:tag_links].each do |tag_link| %>
+        <span class="label label-info removable-tag" data-tag-link-uuid="<%= tag_link.uuid %>"><%= tag_link.name %> <a><i class="glyphicon glyphicon-trash"></i></a></span>
       <% end %>
     <% end %>
     </span>

commit 6ecd3b6f76a1dbb39a56fc81d306969dc0a3f6af
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 01:04:30 2014 -0800

    Fix up tag and "add tag" button display.

diff --git a/apps/workbench/app/assets/javascripts/application.js b/apps/workbench/app/assets/javascripts/application.js
index 4d9c1b8..2f3b094 100644
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@ -49,18 +49,23 @@ jQuery(function($){
             $('.loading').fadeOut('fast', 0);
         }).
         on('click', '.removable-tag a', function(e) {
-            $(this).parents('[data-tag-link-uuid]').eq(0).next().andSelf().remove();
+            $(this).parents('[data-tag-link-uuid]').eq(0).remove();
+            return false;
         }).
         on('click', 'a.add-tag-button', function(e) {
             new_tag = window.prompt("Add tag for collection "+
                                     $(this).parents('tr').attr('data-object-uuid'),
                                     "");
             if (new_tag != null) {
+                new_tag_uuid = 'xxx';
                 $(this).
                     parent().
                     find('>span').
-                    append($('<span class="label label-info removable-tag" data-tag-link-uuid=""></span>').text(new_tag).append(' <a>×</a>')).
-                    append('<br/>');
+                    append($('<span class="label label-info removable-tag" data-tag-link-uuid=""></span>').
+                           attr('data-tag-link-uuid', new_tag_uuid).
+                           text(new_tag).
+                           append(' <a><i class="glyphicon glyphicon-trash"></i></a> ')).
+                    append(' ');
             }
             return false;
         });
diff --git a/apps/workbench/app/assets/stylesheets/application.css.scss b/apps/workbench/app/assets/stylesheets/application.css.scss
index a4163f8..1ea67d2 100644
--- a/apps/workbench/app/assets/stylesheets/application.css.scss
+++ b/apps/workbench/app/assets/stylesheets/application.css.scss
@@ -126,14 +126,20 @@ ul.arvados-nav li ul li {
     display:inline-block;
 }
 
+td.add-tag-button {
+    white-space: normal;
+}
 td.add-tag-button .add-tag-button {
-    margin-top: 2px;
-    opacity: 0;
+    margin-right: 4px;
+    opacity: 0.2;
 }
 td.add-tag-button:hover .add-tag-button {
     opacity: 1;
 }
-.removable-tag a {
+.label.removable-tag {
+    margin-top: .2em;
+}
+.label.removable-tag a {
     cursor: pointer;
 }
 
diff --git a/apps/workbench/app/views/collections/_index_tbody.html.erb b/apps/workbench/app/views/collections/_index_tbody.html.erb
index a34b213..f7209ee 100644
--- a/apps/workbench/app/views/collections/_index_tbody.html.erb
+++ b/apps/workbench/app/views/collections/_index_tbody.html.erb
@@ -20,16 +20,6 @@
   <td>
     <%= raw(distance_of_time_in_words(c.created_at, Time.now).sub('about ','~').sub(' ',' ')) if c.created_at %>
   </td>
-  <td class="add-tag-button">
-    <span>
-    <% if @collection_info[c.uuid] %>
-      <% @collection_info[c.uuid][:tags].uniq.each do |tag| %>
-        <span class="label label-info removable-tag" data-tag-link-uuid=""><%= tag %> <a>×</a></span><br/>
-      <% end %>
-    <% end %>
-    </span>
-    <a class="btn btn-xs btn-info add-tag-button"><i class="glyphicon glyphicon-plus"></i> Add</a>
-  </td>
   <td>
     <% if @collection_info[c.uuid][:wanted_by_me] %>
       <span class="label label-info">2×</span>
@@ -39,6 +29,16 @@
       <span class="label">cache</span>
     <% end %>
   </td>
+  <td class="add-tag-button">
+    <a class="btn btn-xs btn-info add-tag-button pull-right"><i class="glyphicon glyphicon-plus"></i> Add</a>
+    <span>
+    <% if @collection_info[c.uuid] %>
+      <% @collection_info[c.uuid][:tags].uniq.each do |tag| %>
+        <span class="label label-info removable-tag" data-tag-link-uuid=""><%= tag %> <a><i class="glyphicon glyphicon-trash"></i></a></span>
+      <% end %>
+    <% end %>
+    </span>
+  </td>
 </tr>
 
 <% end %>
diff --git a/apps/workbench/app/views/collections/_show_recent.html.erb b/apps/workbench/app/views/collections/_show_recent.html.erb
index 125f413..3cedb57 100644
--- a/apps/workbench/app/views/collections/_show_recent.html.erb
+++ b/apps/workbench/app/views/collections/_show_recent.html.erb
@@ -19,10 +19,10 @@
   <colgroup>
     <col width="10%" />
     <col width="36%" />
-    <col width="22%" />
+    <col width="15%" />
     <col width="8%" />
-    <col width="16%" />
     <col width="8%" />
+    <col width="23%" />
   </colgroup>
   <thead>
     <tr class="contain-align-left">
@@ -30,8 +30,8 @@
       <th>contents</th>
       <th>owner</th>
       <th>age</th>
-      <th>tags</th>
       <th>storage</th>
+      <th>tags</th>
     </tr>
   </thead>
   <tbody>

commit 7024cc159936593350aaf7939d700102f6510787
Merge: 5793004 ccf75b9
Author: Tom Clegg <tom at curoverse.com>
Date:   Sun Feb 16 00:26:54 2014 -0800

    Merge branch 'master' into 2060-edit-tags-in-workbench
    
    Conflicts:
    	apps/workbench/app/assets/javascripts/application.js
    	apps/workbench/app/assets/stylesheets/application.css.scss

diff --cc apps/workbench/app/assets/javascripts/application.js
index 3d2914b,927e7ae..4d9c1b8
--- a/apps/workbench/app/assets/javascripts/application.js
+++ b/apps/workbench/app/assets/javascripts/application.js
@@@ -43,25 -43,35 +43,51 @@@ jQuery(function($)
      });
      $(document).
          on('ajax:send', function(e, xhr) {
-             $('.loading').show();
+             $('.loading').fadeTo('fast', 1);
          }).
          on('ajax:complete', function(e, status) {
-             $('.loading').hide();
+             $('.loading').fadeOut('fast', 0);
 +        }).
 +        on('click', '.removable-tag a', function(e) {
 +            $(this).parents('[data-tag-link-uuid]').eq(0).next().andSelf().remove();
 +        }).
 +        on('click', 'a.add-tag-button', function(e) {
 +            new_tag = window.prompt("Add tag for collection "+
 +                                    $(this).parents('tr').attr('data-object-uuid'),
 +                                    "");
 +            if (new_tag != null) {
 +                $(this).
 +                    parent().
 +                    find('>span').
 +                    append($('<span class="label label-info removable-tag" data-tag-link-uuid=""></span>').text(new_tag).append(' <a>×</a>')).
 +                    append('<br/>');
 +            }
 +            return false;
          });
+ 
+     HeaderRowFixer = function(selector) {
+         var tables = $(selector);
+         this.duplicateTheadTr = function() {
+             $('>tbody', tables).each(function(){
+                 $(this).prepend($('thead>tr', this).clone().css('opacity:0'));
+             });
+         }
+         this.fixThead = function() {
+             tables.each(function() {
+                 var widths = [];
+                 $('> tbody > tr:eq(1) > td', this).each( function(i,v){
+                     widths.push($(v).width());
+                 });
+                 for(i=0;i<widths.length;i++) {
+                     $('thead th:eq('+i+')', this).width(widths[i]);
+                 }
+             });
+         }
+     }
+     var fixer = new HeaderRowFixer('.table-fixed-header-row');
+     fixer.fixThead();
+     fixer.duplicateTheadTr();
+     $(window).resize(function(){
+         fixer.fixThead();
+     });
  })(jQuery);
diff --cc apps/workbench/app/assets/stylesheets/application.css.scss
index c992959,5ada51a..a4163f8
--- a/apps/workbench/app/assets/stylesheets/application.css.scss
+++ b/apps/workbench/app/assets/stylesheets/application.css.scss
@@@ -126,15 -126,35 +126,46 @@@ ul.arvados-nav li ul li 
      display:inline-block;
  }
  
 +td.add-tag-button .add-tag-button {
 +    margin-top: 2px;
 +    opacity: 0;
 +}
- 
 +td.add-tag-button:hover .add-tag-button {
 +    opacity: 1;
 +}
- 
 +.removable-tag a {
 +    cursor: pointer;
 +}
++
+ li.notification {
+     padding: 10px;
+ }
+ .arvados-nav-container {
+     top: 70px; 
+     height: calc(100% - 70px); 
+     overflow: auto; 
+     z-index: 2;
+ }
+ 
+ .arvados-nav-active {
+     background: rgb(66, 139, 202);
+ }
+ 
+ .arvados-nav-active a {
+     color: white;
+ }
+ 
+ // See HeaderRowFixer in application.js
+ table.table-fixed-header-row {
+     width: 100%;
+     border-spacing: 0px;
+     margin:0;
+ }
+ table.table-fixed-header-row thead {
+     position:fixed;
+     background: #fff;
+ }
+ table.table-fixed-header-row tbody {
+     position:relative;
+     top:1.5em;
+ }

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


hooks/post-receive
-- 




More information about the arvados-commits mailing list