From a39c4d9b4ff99b7cb7b4fc2a37da8039ab02b6fa Mon Sep 17 00:00:00 2001 From: LEARN Academy Date: Fri, 10 Dec 2021 16:26:23 -0800 Subject: [PATCH 1/7] test push --- README.md | 69 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 38 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index 7ae7b434..6967459c 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ # Hyku, the Hydra-in-a-Box Repository Application + #### Refer to [Repo-README](./Repo-README.md) for repository specific instructions Code: @@ -13,30 +14,31 @@ Docs: Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samvera.org/) ----- +--- + ## Table of Contents - * [Running the stack](#running-the-stack) - * [For development](#for-development) - * [For testing](#for-testing) - * [On AWS](#on-aws) - * [With Docker](#with-docker) - * [With Vagrant](#with-vagrant) - * [With Kubernetes](#with-kubernetes) - * [Single Tenant Mode](#single-tenancy) - * [Switching accounts](#switching-accounts) - * [Development dependencies](#development-dependencies) - * [Postgres](#postgres) - * [Importing](#importing) - * [Enable Bulkrax](#enable-bulkrax) - * [from CSV](#from-csv) - * [from purl](#from-purl) - * [Compatibility](#compatibility) - * [Product Owner](#product-owner) - * [Help](#help) - * [Acknowledgments](#acknowledgments) - ----- +- [Running the stack](#running-the-stack) + - [For development](#for-development) + - [For testing](#for-testing) + - [On AWS](#on-aws) + - [With Docker](#with-docker) + - [With Vagrant](#with-vagrant) + - [With Kubernetes](#with-kubernetes) +- [Single Tenant Mode](#single-tenancy) +- [Switching accounts](#switching-accounts) +- [Development dependencies](#development-dependencies) + - [Postgres](#postgres) +- [Importing](#importing) + - [Enable Bulkrax](#enable-bulkrax) + - [from CSV](#from-csv) + - [from purl](#from-purl) +- [Compatibility](#compatibility) +- [Product Owner](#product-owner) +- [Help](#help) +- [Acknowledgments](#acknowledgments) + +--- ## Running the stack @@ -44,7 +46,7 @@ Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samv #### Dory -On OS X or Linux we recommend running [Dory](https://github.com/FreedomBen/dory). It acts as a proxy allowing you to access domains locally such as hyku.test or tenant.hyku.test, making multitenant development more straightforward and prevents the need to bind ports locally. Be sure to [adjust your ~/.dory.yml file to support the .test tld](https://github.com/FreedomBen/dory#config-file). You can still run in development via docker with out Dory. To do so, copy `docker-compose.override-nodory.yml` to `docker-compose.override.yml` before starting doing docker-compose up. You can then see the application at the loopback domain 'lvh.me:3000'. +On OS X or Linux we recommend running [Dory](https://github.com/FreedomBen/dory). It acts as a proxy allowing you to access domains locally such as hyku.test or tenant.hyku.test, making multitenant development more straightforward and prevents the need to bind ports locally. Be sure to [adjust your ~/.dory.yml file to support the .test tld](https://github.com/FreedomBen/dory#config-file). You can still run in development via docker with out Dory. To do so, copy `docker-compose.override-nodory.yml` to `docker-compose.override.yml` before starting doing docker-compose up. You can then see the application at the loopback domain 'lvh.me:3000'. ```bash gem install dory @@ -57,7 +59,7 @@ dory up docker-compose up web ``` -This command starts the whole stack in individual containers allowing Rails to be started or stopped independent of the other services. Once that starts (you'll see the line `Passenger core running in multi-application mode.` to indicate a successful boot), you can view your app in a web browser with at either hyku.test or localhost:3000 (see above). When done `docker-compose stop` shuts down everything. +This command starts the whole stack in individual containers allowing Rails to be started or stopped independent of the other services. Once that starts (you'll see the line `Passenger core running in multi-application mode.` to indicate a successful boot), you can view your app in a web browser with at either hyku.test or localhost:3000 (see above). When done `docker-compose stop` shuts down everything. #### Tests in Docker @@ -82,6 +84,7 @@ bin/setup DISABLE_REDIS_CLUSTER=true bundle exec sidekiq DISABLE_REDIS_CLUSTER=true bundle exec rails server -b 0.0.0.0 ``` + #### For testing See the [Hyku Development Guide](https://github.com/samvera/hyku/wiki/Hyku-Development-Guide) for how to run tests. @@ -102,7 +105,7 @@ https://github.com/hybox/aws ### With Docker -We distribute two `docker-compose.yml` configuration files. The first is set up for development / running the specs. The other, `docker-compose.production.yml` is for running the Hyku stack in a production setting. . Once you have [docker](https://docker.com) installed and running, launch the stack using e.g.: +We distribute two `docker-compose.yml` configuration files. The first is set up for development / running the specs. The other, `docker-compose.production.yml` is for running the Hyku stack in a production setting. . Once you have [docker](https://docker.com) installed and running, launch the stack using e.g.: ```bash docker-compose up -d web @@ -124,16 +127,18 @@ Hyku relies on the helm charts provided by Hyrax. See [Deployment Info](https:// ## Single Tenant Mode -Much of the default configuration in Hyku is set up to use multi-tenant mode. This default mode allows Hyku users to run the equivielent of multiple Hyrax installs on a single set of resources. However, sometimes the subdomain splitting multi-headed complexity is simply not needed. If this is the case, then single tenant mode is for you. Single tenant mode will not show the tenant sign up page, or any of the tenant management screens. Instead it shows a single Samvera instance at what ever domain is pointed at the application. +Much of the default configuration in Hyku is set up to use multi-tenant mode. This default mode allows Hyku users to run the equivielent of multiple Hyrax installs on a single set of resources. However, sometimes the subdomain splitting multi-headed complexity is simply not needed. If this is the case, then single tenant mode is for you. Single tenant mode will not show the tenant sign up page, or any of the tenant management screens. Instead it shows a single Samvera instance at what ever domain is pointed at the application. To enable single tenant, set `HYKU_MULTITENANT=false` in your `docker-compose.yml` and `docker-compose.production.yml` configs. After changinig this setting, run `rails db:seed` to prepopulate the single tenant. -In single tenant mode, both the application root (eg. localhost, or hyku.test) and the tenant url single.* (eg. single.hyku.test) will load the tenant. Override the root host by setting HYKU_ROOT_HOST`. +In single tenant mode, both the application root (eg. localhost, or hyku.test) and the tenant url single.\* (eg. single.hyku.test) will load the tenant. Override the root host by setting HYKU_ROOT_HOST`. To change from single- to multi-tenant mode, change the multitenancy/enabled flag to true and restart the application. Change the 'single' tenant account cname in the Accounts edit interface to the correct hostname. ## Switching accounts + There are three recommend ways to switch your current session from one account to another by using: + ```ruby switch!(Account.first) # or @@ -149,12 +154,14 @@ switch!('myaccount') Hyku supports multitenancy using the `apartment` gem. `apartment` works best with a postgres database. ## Importing + ### Enable Bulkrax: - Set bulkrax -> enabled to true in the [config/settings.yml](config/settings.yml) and [.env](.env) files -- Add ` require bulkrax/application` to app/assets/javascripts/application.js and app/assets/stylesheets/application.css files. +- Add ` require bulkrax/application` to app/assets/javascripts/application.js and app/assets/stylesheets/application.css files. (in a `docker-compose exec web bash` if you're doing docker otherwise in your terminal) + ```bash bundle exec rails db:migrate ``` @@ -173,8 +180,8 @@ bundle exec rails db:migrate ## Compatibility -* Ruby 2.4 or the latest 2.3 version is recommended. Later versions may also work. -* Rails 5 is required. We recommend the latest Rails 5.1 release. +- Ruby 2.4 or the latest 2.3 version is recommended. Later versions may also work. +- Rails 5 is required. We recommend the latest Rails 5.1 release. ### Product Owner @@ -188,7 +195,7 @@ The Samvera community is here to help. Please see our [support guide](./SUPPORT. This software was developed by the Hydra-in-a-Box Project (DPLA, DuraSpace, and Stanford University) under a grant from IMLS. -This software is brought to you by the Samvera community. Learn more at the +This software is brought to you by the Samvera community. Learn more at the [Samvera website](http://samvera.org/). ![Samvera Logo](https://samvera.atlassian.net/wiki/download/attachments/405216084/samvera-fall-TM-220w-transparent.png?version=1&modificationDate=1540440075555&cacheVersion=1&api=v2) From 1d4853591957b0ece473dd06f2690ad61aa179b0 Mon Sep 17 00:00:00 2001 From: LEARN Academy Date: Tue, 14 Dec 2021 16:53:50 -0800 Subject: [PATCH 2/7] Hover-Trouble-wip --- app/assets/stylesheets/hyku.scss | 46 +++++++++--- app/views/bulkrax/importers/index.html.erb | 77 +++++++++++++++++++++ db/schema.rb | 4 +- solr/config/hyku.zip | Bin 0 -> 8154 bytes 4 files changed, 115 insertions(+), 12 deletions(-) create mode 100644 app/views/bulkrax/importers/index.html.erb create mode 100644 solr/config/hyku.zip diff --git a/app/assets/stylesheets/hyku.scss b/app/assets/stylesheets/hyku.scss index 8a6f50a2..9bd1bd5f 100644 --- a/app/assets/stylesheets/hyku.scss +++ b/app/assets/stylesheets/hyku.scss @@ -11,9 +11,33 @@ margin-right: 10px; } - .glyphicon { - display: none; - } + // .glyphicon { + // display: none; + // } +} + +.tooltip { + position: relative; + display: inline-block; + border-bottom: 1px dotted black; +} + +.tooltip .glyphicon { + visibility: hidden; + width: 120px; + background-color: black; + color: #fff; + text-align: center; + border-radius: 6px; + padding: 5px 0; + + /* Position the tooltip */ + position: absolute; + z-index: 1; +} + +.tooltip:hover .glyphicon { + visibility: visible; } @media (min-width: $screen-sm-min) { @@ -60,7 +84,11 @@ } .btn-sign-up { - @include button-variant($classic-white, $jumbotron-button-background-color, $jumbotron-button-background-color); + @include button-variant( + $classic-white, + $jumbotron-button-background-color, + $jumbotron-button-background-color + ); border-radius: 3px; font-size: 0.7em; margin-top: 15px; @@ -306,7 +334,7 @@ footer.navbar { .hyc-bl-sort > form.per_page.form-horizontal::before, .hyc-bl-sort > form.per_page.form-horizontal::after { - content: " "; + content: ' '; display: table; } @@ -319,7 +347,6 @@ footer.navbar { padding: 0; } - #users > .panel { .panel-body { padding-left: 0px; @@ -338,7 +365,7 @@ footer.navbar { } } -.defaultable-fonts div[class$="_font"] { +.defaultable-fonts div[class$='_font'] { margin-bottom: 0; label { @@ -355,7 +382,7 @@ a.restore-default-color { margin-bottom: 2em; } -.defaultable-colors div[class$="_color"] { +.defaultable-colors div[class$='_color'] { margin-bottom: 0.75em; } @@ -370,7 +397,7 @@ a.restore-default-color { margin-top: 2em; } - .defaultable-colors div[class$="_color"] { + .defaultable-colors div[class$='_color'] { margin-bottom: 2em; } } @@ -394,4 +421,3 @@ a.restore-default-color { } } } - diff --git a/app/views/bulkrax/importers/index.html.erb b/app/views/bulkrax/importers/index.html.erb new file mode 100644 index 00000000..f24b107b --- /dev/null +++ b/app/views/bulkrax/importers/index.html.erb @@ -0,0 +1,77 @@ +<% provide :page_header do %> +

Importers

+
+ <%= link_to new_importer_path, class: 'btn btn-primary' do %> + <%= t(:'helpers.action.importer.new') %> + <% end %> +
+<% end %> + +
+
+ <% if @importers.present? %> +
+ + + + + + + + + + + + + + + + + + + + <% @importers.each do |importer| %> + + + + + + + + + + + +
+
+ + + + + <% end %> + +
NameStatusLast RunNext RunEntries EnqueuedEntries ProcessedEntries FailedEntries Deleted UpstreamTotal Collection EntriesTotal Work Entries
<%= link_to importer.name, importer_path(importer) %><%= importer.status %><%= importer.last_imported_at.strftime("%b %d, %Y") if importer.last_imported_at %><%= importer.next_import_at.strftime("%b %d, %Y") if importer.next_import_at %><%= importer.importer_runs.last&.enqueued_records %><%= (importer.importer_runs.last&.processed_collections || 0) + (importer.importer_runs.last&.processed_records || 0) %><%= (importer.importer_runs.last&.failed_collections || 0) + (importer.importer_runs.last&.failed_records || 0) %><%= importer.importer_runs.last&.deleted_records %><%= importer.importer_runs.last&.total_collection_entries %><%= importer.importer_runs.last&.total_work_entries %><%= link_to raw('HI'), importer_path(importer) %><%= link_to raw(''), edit_importer_path(importer) %><%= link_to raw(''), importer, method: :delete, data: { confirm: 'Are you sure?' } %>
+
+ <% else %> +

No importers have been created.

+ <% end %> +
+
+ + \ No newline at end of file diff --git a/db/schema.rb b/db/schema.rb index e15f8993..b4f12520 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_09_20_065530) do +ActiveRecord::Schema.define(version: 2021_10_04_170708) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -141,7 +141,7 @@ create_table "bulkrax_statuses", force: :cascade do |t| t.string "status_message" t.string "error_class" - t.string "error_message" + t.text "error_message" t.text "error_backtrace" t.integer "statusable_id" t.string "statusable_type" diff --git a/solr/config/hyku.zip b/solr/config/hyku.zip new file mode 100644 index 0000000000000000000000000000000000000000..bca01ee725e3cc76d0dac186a47e5f0776235a38 GIT binary patch literal 8154 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 literal 0 HcmV?d00001 From 02cad8d6df90d71a02d1a94fe0cdfa178c1981d4 Mon Sep 17 00:00:00 2001 From: HackCoder77 <55999406+HackCoder77@users.noreply.github.com> Date: Wed, 15 Dec 2021 14:24:20 -0800 Subject: [PATCH 3/7] added hover effect to icons --- app/assets/stylesheets/hyku.scss | 61 +++++++++++++++------- app/views/bulkrax/importers/index.html.erb | 3 +- 2 files changed, 45 insertions(+), 19 deletions(-) diff --git a/app/assets/stylesheets/hyku.scss b/app/assets/stylesheets/hyku.scss index 9bd1bd5f..8001f77b 100644 --- a/app/assets/stylesheets/hyku.scss +++ b/app/assets/stylesheets/hyku.scss @@ -11,33 +11,58 @@ margin-right: 10px; } - // .glyphicon { - // display: none; - // } } -.tooltip { - position: relative; - display: inline-block; - border-bottom: 1px dotted black; +.glyphicon { + position: relative; } -.tooltip .glyphicon { - visibility: hidden; - width: 120px; - background-color: black; - color: #fff; - text-align: center; - border-radius: 6px; - padding: 5px 0; +.glyphicon-info-sign:hover::after{ + top: -20px; + right: -10px; + visibility: visible; + opacity: 1; + content: "info"; + background-color: white ; + position: absolute; + border: 1px blue solid ; + color:blue ; + font-family: "DejaVu Sans Mono", monospace; + font-size: 15px; + font-weight: bold; + transition: top ease 1s; +} - /* Position the tooltip */ +.glyphicon-pencil:hover::after{ + top: -20px; + right: -10px; + visibility: visible; + opacity: 1; + content: "edit"; + background-color: white ; position: absolute; - z-index: 1; + border: 1px blue solid ; + color:blue ; + font-family: "DejaVu Sans Mono", monospace; + font-size: 15px; + font-weight: bold; + transition: top ease 1s; } -.tooltip:hover .glyphicon { +.glyphicon-remove:hover::after{ + top: -20px; + right: -10px; visibility: visible; + opacity: 1; + content: "delete"; + background-color: white ; + position: absolute; + border: 1px red solid ; + color:blue ; + font-family: "DejaVu Sans Mono", monospace; + font-size: 15px; + font-weight: bold; + transition: top ease 1s; } @media (min-width: $screen-sm-min) { diff --git a/app/views/bulkrax/importers/index.html.erb b/app/views/bulkrax/importers/index.html.erb index f24b107b..7ee24e97 100644 --- a/app/views/bulkrax/importers/index.html.erb +++ b/app/views/bulkrax/importers/index.html.erb @@ -42,8 +42,9 @@ <%= importer.importer_runs.last&.deleted_records %> <%= importer.importer_runs.last&.total_collection_entries %> <%= importer.importer_runs.last&.total_work_entries %> +
- <%= link_to raw('HI'), importer_path(importer) %> + <%= link_to raw(''), importer_path(importer) %> <%= link_to raw(''), edit_importer_path(importer) %> <%= link_to raw(''), importer, method: :delete, data: { confirm: 'Are you sure?' } %>
From 500e62f743a7e44ce5d844a11ac3c59996e0d3a5 Mon Sep 17 00:00:00 2001 From: HackCoder77 <55999406+HackCoder77@users.noreply.github.com> Date: Wed, 15 Dec 2021 14:44:13 -0800 Subject: [PATCH 4/7] changed hover tooltip --- app/assets/stylesheets/hyku.scss | 42 +++++++++----------------------- 1 file changed, 11 insertions(+), 31 deletions(-) diff --git a/app/assets/stylesheets/hyku.scss b/app/assets/stylesheets/hyku.scss index 8001f77b..ab5b2d73 100644 --- a/app/assets/stylesheets/hyku.scss +++ b/app/assets/stylesheets/hyku.scss @@ -17,52 +17,32 @@ position: relative; } -.glyphicon-info-sign:hover::after{ +.glyphicon-info-sign:hover::after, .glyphicon-pencil:hover::after, .glyphicon-remove:hover::after{ top: -20px; right: -10px; visibility: visible; + padding: 5px; opacity: 1; - content: "info"; - background-color: white ; + background-color: gray ; position: absolute; - border: 1px blue solid ; - color:blue ; - font-family: "DejaVu Sans Mono", monospace; - font-size: 15px; + color:white ; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 10px; font-weight: bold; transition: top ease 1s; + border-radius: 4px; +} + +.glyphicon-info-sign:hover::after{ + content: "info" } .glyphicon-pencil:hover::after{ - top: -20px; - right: -10px; - visibility: visible; - opacity: 1; content: "edit"; - background-color: white ; - position: absolute; - border: 1px blue solid ; - color:blue ; - font-family: "DejaVu Sans Mono", monospace; - font-size: 15px; - font-weight: bold; - transition: top ease 1s; } .glyphicon-remove:hover::after{ - top: -20px; - right: -10px; - visibility: visible; - opacity: 1; content: "delete"; - background-color: white ; - position: absolute; - border: 1px red solid ; - color:blue ; - font-family: "DejaVu Sans Mono", monospace; - font-size: 15px; - font-weight: bold; - transition: top ease 1s; } @media (min-width: $screen-sm-min) { From 34146f75933582c8151ea8dec6e75d73735d00bf Mon Sep 17 00:00:00 2001 From: HackCoder77 <55999406+HackCoder77@users.noreply.github.com> Date: Thu, 16 Dec 2021 17:02:02 -0800 Subject: [PATCH 5/7] made changes back to original --- README.md | 43 ++++++++---------- .../stylesheets/bulkrax/import_export.scss | 38 ++++++++++++++++ db/schema.rb | 4 +- solr/config/hyku.zip | Bin 8154 -> 0 bytes 4 files changed, 60 insertions(+), 25 deletions(-) create mode 100644 app/assets/stylesheets/bulkrax/import_export.scss delete mode 100644 solr/config/hyku.zip diff --git a/README.md b/README.md index 6967459c..027c81a3 100644 --- a/README.md +++ b/README.md @@ -13,30 +13,29 @@ Docs: [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE) Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samvera.org/) - --- ## Table of Contents -- [Running the stack](#running-the-stack) - - [For development](#for-development) - - [For testing](#for-testing) - - [On AWS](#on-aws) - - [With Docker](#with-docker) - - [With Vagrant](#with-vagrant) - - [With Kubernetes](#with-kubernetes) -- [Single Tenant Mode](#single-tenancy) -- [Switching accounts](#switching-accounts) -- [Development dependencies](#development-dependencies) - - [Postgres](#postgres) -- [Importing](#importing) - - [Enable Bulkrax](#enable-bulkrax) - - [from CSV](#from-csv) - - [from purl](#from-purl) -- [Compatibility](#compatibility) -- [Product Owner](#product-owner) -- [Help](#help) -- [Acknowledgments](#acknowledgments) +- *[Running the stack](#running-the-stack) + - *[For development](#for-development) + - *[For testing](#for-testing) + - *[On AWS](#on-aws) + - *[With Docker](#with-docker) + - *[With Vagrant](#with-vagrant) + - *[With Kubernetes](#with-kubernetes) +- *[Single Tenant Mode](#single-tenancy) +- *[Switching accounts](#switching-accounts) +- *[Development dependencies](#development-dependencies) + - *[Postgres](#postgres) +- *[Importing](#importing) + - *[Enable Bulkrax](#enable-bulkrax) + - *[from CSV](#from-csv) + - *[from purl](#from-purl) +- *[Compatibility](#compatibility) +- *[Product Owner](#product-owner) +- *[Help](#help) +- *[Acknowledgments](#acknowledgments) --- @@ -131,14 +130,12 @@ Much of the default configuration in Hyku is set up to use multi-tenant mode. Th To enable single tenant, set `HYKU_MULTITENANT=false` in your `docker-compose.yml` and `docker-compose.production.yml` configs. After changinig this setting, run `rails db:seed` to prepopulate the single tenant. -In single tenant mode, both the application root (eg. localhost, or hyku.test) and the tenant url single.\* (eg. single.hyku.test) will load the tenant. Override the root host by setting HYKU_ROOT_HOST`. +In single tenant mode, both the application root (eg. localhost, or hyku.test) and the tenant url single.* (eg. single.hyku.test) will load the tenant. Override the root host by setting HYKU_ROOT_HOST`. To change from single- to multi-tenant mode, change the multitenancy/enabled flag to true and restart the application. Change the 'single' tenant account cname in the Accounts edit interface to the correct hostname. ## Switching accounts - There are three recommend ways to switch your current session from one account to another by using: - ```ruby switch!(Account.first) # or diff --git a/app/assets/stylesheets/bulkrax/import_export.scss b/app/assets/stylesheets/bulkrax/import_export.scss new file mode 100644 index 00000000..1ce5907e --- /dev/null +++ b/app/assets/stylesheets/bulkrax/import_export.scss @@ -0,0 +1,38 @@ +div.importer_parser_fields_file_style span.radio { + display: inline; + margin-right: 20px; + } + + div#file_upload, div#file_path { + display: none; + } + + div.hide-required-tag .required-tag { + display: none; + } + + div#s2id_exporter_export_source_collection { + border: none; + padding: 0; + } + + .bulkrax-nav-tab-top-margin { + margin-top: 20px !important; + } + + .bulkrax-nav-tab-bottom-margin { + margin-bottom: 20px; + } + + .bulkrax-nav-tab-table-left-align { + margin-left: 10px; + } + + .bulkrax-p-align { + margin: 15px 0 10px 15px; + } + + .bulkrax-clear-toggles { + clear: both; + } + diff --git a/db/schema.rb b/db/schema.rb index b4f12520..e15f8993 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_10_04_170708) do +ActiveRecord::Schema.define(version: 2021_09_20_065530) do # These are extensions that must be enabled in order to support this database enable_extension "plpgsql" @@ -141,7 +141,7 @@ create_table "bulkrax_statuses", force: :cascade do |t| t.string "status_message" t.string "error_class" - t.text "error_message" + t.string "error_message" t.text "error_backtrace" t.integer "statusable_id" t.string "statusable_type" diff --git a/solr/config/hyku.zip b/solr/config/hyku.zip deleted file mode 100644 index bca01ee725e3cc76d0dac186a47e5f0776235a38..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8154 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 From 20cdd2f0ebb8139dc2dbc375a1ca5a4d15fee488 Mon Sep 17 00:00:00 2001 From: brandonho2000 Date: Fri, 17 Dec 2021 16:49:26 -0600 Subject: [PATCH 6/7] fixed cooments on indentation and fixed tooltip --- README.md | 64 ++++++++--------- .../stylesheets/bulkrax/import_export.scss | 72 +++++++++---------- app/assets/stylesheets/hyku.scss | 41 ++--------- app/views/bulkrax/importers/index.html.erb | 6 +- 4 files changed, 75 insertions(+), 108 deletions(-) diff --git a/README.md b/README.md index 027c81a3..7ae7b434 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ # Hyku, the Hydra-in-a-Box Repository Application - #### Refer to [Repo-README](./Repo-README.md) for repository specific instructions Code: @@ -13,31 +12,31 @@ Docs: [![Apache 2.0 License](http://img.shields.io/badge/APACHE2-license-blue.svg)](./LICENSE) Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samvera.org/) ---- +---- ## Table of Contents -- *[Running the stack](#running-the-stack) - - *[For development](#for-development) - - *[For testing](#for-testing) - - *[On AWS](#on-aws) - - *[With Docker](#with-docker) - - *[With Vagrant](#with-vagrant) - - *[With Kubernetes](#with-kubernetes) -- *[Single Tenant Mode](#single-tenancy) -- *[Switching accounts](#switching-accounts) -- *[Development dependencies](#development-dependencies) - - *[Postgres](#postgres) -- *[Importing](#importing) - - *[Enable Bulkrax](#enable-bulkrax) - - *[from CSV](#from-csv) - - *[from purl](#from-purl) -- *[Compatibility](#compatibility) -- *[Product Owner](#product-owner) -- *[Help](#help) -- *[Acknowledgments](#acknowledgments) - ---- + * [Running the stack](#running-the-stack) + * [For development](#for-development) + * [For testing](#for-testing) + * [On AWS](#on-aws) + * [With Docker](#with-docker) + * [With Vagrant](#with-vagrant) + * [With Kubernetes](#with-kubernetes) + * [Single Tenant Mode](#single-tenancy) + * [Switching accounts](#switching-accounts) + * [Development dependencies](#development-dependencies) + * [Postgres](#postgres) + * [Importing](#importing) + * [Enable Bulkrax](#enable-bulkrax) + * [from CSV](#from-csv) + * [from purl](#from-purl) + * [Compatibility](#compatibility) + * [Product Owner](#product-owner) + * [Help](#help) + * [Acknowledgments](#acknowledgments) + +---- ## Running the stack @@ -45,7 +44,7 @@ Jump In: [![Slack Status](http://slack.samvera.org/badge.svg)](http://slack.samv #### Dory -On OS X or Linux we recommend running [Dory](https://github.com/FreedomBen/dory). It acts as a proxy allowing you to access domains locally such as hyku.test or tenant.hyku.test, making multitenant development more straightforward and prevents the need to bind ports locally. Be sure to [adjust your ~/.dory.yml file to support the .test tld](https://github.com/FreedomBen/dory#config-file). You can still run in development via docker with out Dory. To do so, copy `docker-compose.override-nodory.yml` to `docker-compose.override.yml` before starting doing docker-compose up. You can then see the application at the loopback domain 'lvh.me:3000'. +On OS X or Linux we recommend running [Dory](https://github.com/FreedomBen/dory). It acts as a proxy allowing you to access domains locally such as hyku.test or tenant.hyku.test, making multitenant development more straightforward and prevents the need to bind ports locally. Be sure to [adjust your ~/.dory.yml file to support the .test tld](https://github.com/FreedomBen/dory#config-file). You can still run in development via docker with out Dory. To do so, copy `docker-compose.override-nodory.yml` to `docker-compose.override.yml` before starting doing docker-compose up. You can then see the application at the loopback domain 'lvh.me:3000'. ```bash gem install dory @@ -58,7 +57,7 @@ dory up docker-compose up web ``` -This command starts the whole stack in individual containers allowing Rails to be started or stopped independent of the other services. Once that starts (you'll see the line `Passenger core running in multi-application mode.` to indicate a successful boot), you can view your app in a web browser with at either hyku.test or localhost:3000 (see above). When done `docker-compose stop` shuts down everything. +This command starts the whole stack in individual containers allowing Rails to be started or stopped independent of the other services. Once that starts (you'll see the line `Passenger core running in multi-application mode.` to indicate a successful boot), you can view your app in a web browser with at either hyku.test or localhost:3000 (see above). When done `docker-compose stop` shuts down everything. #### Tests in Docker @@ -83,7 +82,6 @@ bin/setup DISABLE_REDIS_CLUSTER=true bundle exec sidekiq DISABLE_REDIS_CLUSTER=true bundle exec rails server -b 0.0.0.0 ``` - #### For testing See the [Hyku Development Guide](https://github.com/samvera/hyku/wiki/Hyku-Development-Guide) for how to run tests. @@ -104,7 +102,7 @@ https://github.com/hybox/aws ### With Docker -We distribute two `docker-compose.yml` configuration files. The first is set up for development / running the specs. The other, `docker-compose.production.yml` is for running the Hyku stack in a production setting. . Once you have [docker](https://docker.com) installed and running, launch the stack using e.g.: +We distribute two `docker-compose.yml` configuration files. The first is set up for development / running the specs. The other, `docker-compose.production.yml` is for running the Hyku stack in a production setting. . Once you have [docker](https://docker.com) installed and running, launch the stack using e.g.: ```bash docker-compose up -d web @@ -126,7 +124,7 @@ Hyku relies on the helm charts provided by Hyrax. See [Deployment Info](https:// ## Single Tenant Mode -Much of the default configuration in Hyku is set up to use multi-tenant mode. This default mode allows Hyku users to run the equivielent of multiple Hyrax installs on a single set of resources. However, sometimes the subdomain splitting multi-headed complexity is simply not needed. If this is the case, then single tenant mode is for you. Single tenant mode will not show the tenant sign up page, or any of the tenant management screens. Instead it shows a single Samvera instance at what ever domain is pointed at the application. +Much of the default configuration in Hyku is set up to use multi-tenant mode. This default mode allows Hyku users to run the equivielent of multiple Hyrax installs on a single set of resources. However, sometimes the subdomain splitting multi-headed complexity is simply not needed. If this is the case, then single tenant mode is for you. Single tenant mode will not show the tenant sign up page, or any of the tenant management screens. Instead it shows a single Samvera instance at what ever domain is pointed at the application. To enable single tenant, set `HYKU_MULTITENANT=false` in your `docker-compose.yml` and `docker-compose.production.yml` configs. After changinig this setting, run `rails db:seed` to prepopulate the single tenant. @@ -151,14 +149,12 @@ switch!('myaccount') Hyku supports multitenancy using the `apartment` gem. `apartment` works best with a postgres database. ## Importing - ### Enable Bulkrax: - Set bulkrax -> enabled to true in the [config/settings.yml](config/settings.yml) and [.env](.env) files -- Add ` require bulkrax/application` to app/assets/javascripts/application.js and app/assets/stylesheets/application.css files. +- Add ` require bulkrax/application` to app/assets/javascripts/application.js and app/assets/stylesheets/application.css files. (in a `docker-compose exec web bash` if you're doing docker otherwise in your terminal) - ```bash bundle exec rails db:migrate ``` @@ -177,8 +173,8 @@ bundle exec rails db:migrate ## Compatibility -- Ruby 2.4 or the latest 2.3 version is recommended. Later versions may also work. -- Rails 5 is required. We recommend the latest Rails 5.1 release. +* Ruby 2.4 or the latest 2.3 version is recommended. Later versions may also work. +* Rails 5 is required. We recommend the latest Rails 5.1 release. ### Product Owner @@ -192,7 +188,7 @@ The Samvera community is here to help. Please see our [support guide](./SUPPORT. This software was developed by the Hydra-in-a-Box Project (DPLA, DuraSpace, and Stanford University) under a grant from IMLS. -This software is brought to you by the Samvera community. Learn more at the +This software is brought to you by the Samvera community. Learn more at the [Samvera website](http://samvera.org/). ![Samvera Logo](https://samvera.atlassian.net/wiki/download/attachments/405216084/samvera-fall-TM-220w-transparent.png?version=1&modificationDate=1540440075555&cacheVersion=1&api=v2) diff --git a/app/assets/stylesheets/bulkrax/import_export.scss b/app/assets/stylesheets/bulkrax/import_export.scss index 1ce5907e..8f3660e0 100644 --- a/app/assets/stylesheets/bulkrax/import_export.scss +++ b/app/assets/stylesheets/bulkrax/import_export.scss @@ -1,38 +1,38 @@ div.importer_parser_fields_file_style span.radio { - display: inline; - margin-right: 20px; - } - - div#file_upload, div#file_path { - display: none; - } - - div.hide-required-tag .required-tag { - display: none; - } - - div#s2id_exporter_export_source_collection { - border: none; - padding: 0; - } - - .bulkrax-nav-tab-top-margin { - margin-top: 20px !important; - } - - .bulkrax-nav-tab-bottom-margin { - margin-bottom: 20px; - } - - .bulkrax-nav-tab-table-left-align { - margin-left: 10px; - } - - .bulkrax-p-align { - margin: 15px 0 10px 15px; - } - - .bulkrax-clear-toggles { - clear: both; - } + display: inline; + margin-right: 20px; +} +div#file_upload, +div#file_path { + display: none; +} + +div.hide-required-tag .required-tag { + display: none; +} + +div#s2id_exporter_export_source_collection { + border: none; + padding: 0; +} + +.bulkrax-nav-tab-top-margin { + margin-top: 20px !important; +} + +.bulkrax-nav-tab-bottom-margin { + margin-bottom: 20px; +} + +.bulkrax-nav-tab-table-left-align { + margin-left: 10px; +} + +.bulkrax-p-align { + margin: 15px 0 10px 15px; +} + +.bulkrax-clear-toggles { + clear: both; +} diff --git a/app/assets/stylesheets/hyku.scss b/app/assets/stylesheets/hyku.scss index ab5b2d73..a50c9ce0 100644 --- a/app/assets/stylesheets/hyku.scss +++ b/app/assets/stylesheets/hyku.scss @@ -10,39 +10,10 @@ .navbar-right { margin-right: 10px; } - } .glyphicon { - position: relative; -} - -.glyphicon-info-sign:hover::after, .glyphicon-pencil:hover::after, .glyphicon-remove:hover::after{ - top: -20px; - right: -10px; - visibility: visible; - padding: 5px; - opacity: 1; - background-color: gray ; - position: absolute; - color:white ; - font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; - font-size: 10px; - font-weight: bold; - transition: top ease 1s; - border-radius: 4px; -} - -.glyphicon-info-sign:hover::after{ - content: "info" -} - -.glyphicon-pencil:hover::after{ - content: "edit"; -} - -.glyphicon-remove:hover::after{ - content: "delete"; + position: relative; } @media (min-width: $screen-sm-min) { @@ -65,7 +36,7 @@ } #banner.jumbotron { - background: image_url('white-cloud-background.jpg') no-repeat; + background: image_url("white-cloud-background.jpg") no-repeat; background-color: $gray-lighter; background-position: center; border: 0; @@ -339,7 +310,7 @@ footer.navbar { .hyc-bl-sort > form.per_page.form-horizontal::before, .hyc-bl-sort > form.per_page.form-horizontal::after { - content: ' '; + content: " "; display: table; } @@ -370,7 +341,7 @@ footer.navbar { } } -.defaultable-fonts div[class$='_font'] { +.defaultable-fonts div[class$="_font"] { margin-bottom: 0; label { @@ -387,7 +358,7 @@ a.restore-default-color { margin-bottom: 2em; } -.defaultable-colors div[class$='_color'] { +.defaultable-colors div[class$="_color"] { margin-bottom: 0.75em; } @@ -402,7 +373,7 @@ a.restore-default-color { margin-top: 2em; } - .defaultable-colors div[class$='_color'] { + .defaultable-colors div[class$="_color"] { margin-bottom: 2em; } } diff --git a/app/views/bulkrax/importers/index.html.erb b/app/views/bulkrax/importers/index.html.erb index 7ee24e97..114f8fe4 100644 --- a/app/views/bulkrax/importers/index.html.erb +++ b/app/views/bulkrax/importers/index.html.erb @@ -44,9 +44,9 @@ <%= importer.importer_runs.last&.total_work_entries %>
- <%= link_to raw(''), importer_path(importer) %> - <%= link_to raw(''), edit_importer_path(importer) %> - <%= link_to raw(''), importer, method: :delete, data: { confirm: 'Are you sure?' } %> + <%= link_to raw(''), importer_path(importer) %> + <%= link_to raw(''), edit_importer_path(importer) %> + <%= link_to raw(''), importer, method: :delete, data: { confirm: 'Are you sure?' } %>
<% end %> From 21b6b5a129255b6090f9d47c4ac4914aac4c2508 Mon Sep 17 00:00:00 2001 From: SunkissedQueen Date: Mon, 3 Jan 2022 12:39:01 -0800 Subject: [PATCH 7/7] Created bulkrax/exporters/index.html.erb. Added labels to columns under the tables on each file starting on line 20 for exporters and line 27 for importers --- app/views/bulkrax/exporters/index.html.erb | 67 ++++++++++++++++++++++ app/views/bulkrax/importers/index.html.erb | 6 +- 2 files changed, 70 insertions(+), 3 deletions(-) create mode 100644 app/views/bulkrax/exporters/index.html.erb diff --git a/app/views/bulkrax/exporters/index.html.erb b/app/views/bulkrax/exporters/index.html.erb new file mode 100644 index 00000000..c309e6fe --- /dev/null +++ b/app/views/bulkrax/exporters/index.html.erb @@ -0,0 +1,67 @@ +<% provide :page_header do %> +

Exporters

+
+ <%= link_to new_exporter_path, class: 'btn btn-primary' do %> + <%= t(:'helpers.action.exporter.new') %> + <% end %> +
+<% end %> + +
+
+ <% if @exporters.present? %> +
+ + + + + + + + + + + + + + <% @exporters.each do |exporter| %> + + + + + + + + + + <% end %> + +
NameStatusDate ExportedDownloadInfoEditDelete
<%= link_to exporter.name, exporter_path(exporter) %><%= exporter.status %><%= exporter.created_at %> + <% if File.exist?(exporter.exporter_export_zip_path) %> + <%= link_to raw(''), exporter_download_path(exporter) %> + <% end%> + <%= link_to raw(''), exporter_path(exporter) %><%= link_to raw(''), edit_exporter_path(exporter) %><%= link_to raw(''), exporter, method: :delete, data: { confirm: 'Are you sure?' } %>
+
+ <% else %> +

No exporters have been created.

+ <% end %> +
+
+ + \ No newline at end of file diff --git a/app/views/bulkrax/importers/index.html.erb b/app/views/bulkrax/importers/index.html.erb index 114f8fe4..91a0ce9f 100644 --- a/app/views/bulkrax/importers/index.html.erb +++ b/app/views/bulkrax/importers/index.html.erb @@ -24,9 +24,9 @@ Entries Deleted Upstream Total Collection Entries Total Work Entries - - - + Info + Edit + Delete