profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/sul-dlss/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.
Stanford University Digital Library sul-dlss Stanford, CA http://library.stanford.edu/department/digital-library-systems-and-services-dlss Digital Library Systems and Services

sul-dlss/argo 18

The administrative discovery interface for Stanford's Digital Object Registry

sul-dlss/DeveloperPlaybook 17

A place to organize style guides, best practices, tools, and techniques for Stanford University's Digital Library Systems & Services group

sul-dlss/content_search 11

IIIF Content Search API implementation for OCR in DOR

sul-dlss/blacklight-hierarchy 10

gem: Hierarchical Facet Plugin for Blacklight

sul-dlss/blacklight_heatmaps 8

Heatmaps for Blacklight

sul-dlss/CJKFilterUtils 8

a Lucene/Solr filter and filter factory to fold certain CJK characters to improve recall. For example, it converts some modern Japanese Kanji characters to their traditional equivalents (when the modern Kanji doesn't map to the simplified Han character). Used by SearchWorks at index and query time

sul-dlss/blacklight-oembed 6

OEmbed media views for Blacklight

sul-dlss/arclight-demo 4

Public demo instance of ArcLight

sul-dlss/checksum-tools 2

[DISCOURAGED] Generate or verify checksums for a set of files (used by SMPL)

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}++          if embargo? && deposit_event_deposit_date_value.present?+            submitted_date[:date] = deposit_event_deposit_date_value+          elsif deposit_event_publication_date_value.present? # no embargo+            submitted_date[:date] = deposit_event_publication_date_value+          elsif publication_event_publication_date_value.present? # no embargo+            submitted_date[:date] = publication_event_publication_date_value+          end+          submitted_date[:dateType] = 'Submitted' if submitted_date.present?+          submitted_date+        end+      end++      # from Arcadia:+      #   Cocina event type release, date type publication maps to DataCite date type Available+      # In actuality:+      #   embargo release date is in DROAccess, not in an event+      def available_date+        return unless embargo?++        @available_date ||=+          {+            date: cocina_dro_access&.embargo&.releaseDate,

definitely - embargo might not exist

ndushay

comment created time in a few seconds

PullRequestReviewEvent

PR closed sul-dlss/dlme-transform

Bod title

Why was this change made?

Some Bodleian records were missing titles and title extraction macros were missing test coverage

How was this change tested?

Local transform

Which documentation and/or configurations were updated?

n/a

+157 -68

0 comment

12 changed files

jacobthill

pr closed time in 2 hours

PR opened sul-dlss/dlme-transform

fix Bodleian title extraction, add macro and tests

Why was this change made?

Some Bodleian records didn't have a title in the raw record

How was this change tested?

Local transform

Which documentation and/or configurations were updated?

n/a

+74 -9

0 comment

3 changed files

pr created time in 2 hours

create barnchsul-dlss/dlme-transform

branch : bodleian-titles

created branch time in 2 hours

issue openedsul-dlss/happy-heron

Add two new links from home page to library website

We would like to insert two links on the home page. Both will go to https://library.stanford.edu/research/stanford-digital-repository.

Here's the mockup: https://projects.invisionapp.com/share/EQXC9CLKCR2#/screens/455998487_home

The additions are:

  1. On the top right, add link text "SDR Services"
  2. Below the list under "The process is simple" add a button that says "Learn more about SDR Services"

created time in 2 hours

PR opened sul-dlss/dlme-transform

Bod title

Why was this change made?

Some Bodleian records were missing titles and title extraction macros were missing test coverage

How was this change tested?

Local transform

Which documentation and/or configurations were updated?

n/a

+157 -68

0 comment

12 changed files

pr created time in 2 hours

create barnchsul-dlss/dlme-transform

branch : bod-title

created branch time in 2 hours

issue commentsul-dlss/happy-heron

Email messages are not linking to images correctly

The second person has confirmed Windows, and she uses both the Webmail with Chrome and the Outlook desktop client.

jcoyne

comment created time in 4 hours

push eventsul-dlss/dlme-transform

Jacob Hill

commit sha bdb9d9d18efb99d093e4d3cee25ca99a2664d080

revise title extraction bodleian arabic

view details

push time in 5 hours

push eventsul-dlss/dlme-transform

Jacob Hill

commit sha e64572b05a4da6b3801e7061edb32d32f3847f3f

add missing bodleian lang keys

view details

push time in 5 hours

push eventsul-dlss/dlme-metadata

Jacob Hill

commit sha ff376f865f71eb0fe9af6b2ce75a31869112c8e5

refresh bnf records

view details

jacobthill

commit sha 56d092fba38b0ee925e38fa2979b0672a4cc338b

Merge pull request #221 from sul-dlss/bnf refresh bnf records

view details

push time in 6 hours

PR merged sul-dlss/dlme-metadata

refresh bnf records
+26260 -13945

0 comment

964 changed files

jacobthill

pr closed time in 6 hours

PR opened sul-dlss/dlme-metadata

refresh bnf records
+26260 -13945

0 comment

964 changed files

pr created time in 6 hours

create barnchsul-dlss/dlme-metadata

branch : bnf

created branch time in 6 hours

push eventsul-dlss/dlme-harvest

Jacob Hill

commit sha 65d1183d8720a87902af3e4be4277f09aa03e67a

revise old bnf harvest script, add tests and logging

view details

jacobthill

commit sha 86bde7012c8fd104da7d872e7ddff551c2890308

Merge pull request #91 from sul-dlss/bnf revise old bnf harvest script, add tests and logging

view details

push time in 6 hours

create barnchsul-dlss/dlme-harvest

branch : bnf

created branch time in 6 hours

Pull request review commentsul-dlss/happy-heron

Group and label work types.

   </div> </div> -<div class="mb-5 row work-types" data-controller="more-types">-  <% if other_type? %>-    <div class="col-sm-2">-      <div class="col-form-label">-        <%= form.label :subtype, 'Specify "Other" type' %> <%= render PopoverComponent.new key: 'work.subtypes.other' %>-      </div>-    </div>--    <div class="col-sm-10">-      <%= form.text_field :subtype, class: 'form-control', required: true, multiple: true %>-      <div class="invalid-feedback">You must provide a subtype for works of type 'Other'</div>-    </div>-  <% else %>-    <% if music_type? %>-      <h6>Select at least one term below:</h6>-    <% elsif mixed_material_type? %>-      <h6>Select at least two terms below:</h6>-    <% end %>--    <% subtypes.each do |subtype| %>-      <div class="col-sm-4">-        <div class="form-check">-          <%= form.check_box :subtype, { multiple: true, class: 'form-check-input' }, subtype, nil %>-          <%= form.label "subtype_#{sanitized_value(subtype)}", subtype, class: 'form-check-label' %>+<fieldset>

L8-9 and 54 were the only changes in this PR.

justinlittman

comment created time in 6 hours

PullRequestReviewEvent

push eventsul-dlss/happy-heron

Justin Littman

commit sha 857d72af8c4d6000f197cee206b688a5d1ec3265

Group and label work types. closes #1828

view details

push time in 6 hours

PR opened sul-dlss/happy-heron

Group and label work types.

closes #1828

Why was this change made?

Accessability

How was this change tested?

Local

Which documentation and/or configurations were updated?

NA

+39 -35

0 comment

1 changed file

pr created time in 6 hours

create barnchsul-dlss/happy-heron

branch : t1828-work_type_accessability

created branch time in 6 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}++          if embargo? && deposit_event_deposit_date_value.present?+            submitted_date[:date] = deposit_event_deposit_date_value+          elsif deposit_event_publication_date_value.present? # no embargo+            submitted_date[:date] = deposit_event_publication_date_value+          elsif publication_event_publication_date_value.present? # no embargo+            submitted_date[:date] = publication_event_publication_date_value+          end+          submitted_date[:dateType] = 'Submitted' if submitted_date.present?+          submitted_date+        end+      end++      # from Arcadia:+      #   Cocina event type release, date type publication maps to DataCite date type Available+      # In actuality:+      #   embargo release date is in DROAccess, not in an event+      def available_date+        return unless embargo?++        @available_date ||=+          {+            date: cocina_dro_access&.embargo&.releaseDate,

Are the & checks necessary?

ndushay

comment created time in 7 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}++          if embargo? && deposit_event_deposit_date_value.present?+            submitted_date[:date] = deposit_event_deposit_date_value+          elsif deposit_event_publication_date_value.present? # no embargo+            submitted_date[:date] = deposit_event_publication_date_value+          elsif publication_event_publication_date_value.present? # no embargo+            submitted_date[:date] = publication_event_publication_date_value+          end+          submitted_date[:dateType] = 'Submitted' if submitted_date.present?+          submitted_date+        end+      end++      # from Arcadia:+      #   Cocina event type release, date type publication maps to DataCite date type Available+      # In actuality:+      #   embargo release date is in DROAccess, not in an event+      def available_date+        return unless embargo?++        @available_date ||=+          {+            date: cocina_dro_access&.embargo&.releaseDate,+            dateType: 'Available'+          }+      end++      # Cocina event type publication, date type publication maps to DataCite date type Issued+      def issued_date+        return if publication_event_publication_date_value.blank?++        @issued_date ||=+          {+            date: publication_event_publication_date_value,+            dateType: 'Issued'+          }+      end++      # Cocina event type creation, date type creation maps to DataCite date type Created+      def created_date+        return if creation_event_creation_date.blank?++        @created_date ||= begin+          created_date = {+            dateType: 'Created'+          }+          if creation_event_creation_date.value+            created_date[:date] = creation_event_creation_date.value+            created_date[:dateInformation] = creation_event_creation_date.qualifier if creation_event_creation_date.qualifier.present?+          else+            created_date.merge!(structured_date_result(creation_event_creation_date))+          end++          created_date+        end+      end++      def deposit_event_deposit_date_value+        @deposit_event_deposit_date_value ||= deposit_event&.date&.find { |date| date&.type == 'deposit' }&.value+      end++      def deposit_event_publication_date_value+        @deposit_event_publication_date_value ||= deposit_event&.date&.find { |date| date&.type == 'publication' }&.value       end        def deposit_event-        cocina_events&.find { |event| event&.type == 'deposit' }+        @deposit_event ||= cocina_events&.find { |event| event&.type == 'deposit' }+      end++      def publication_event_publication_date_value+        @publication_event_publication_date_value ||= publication_event&.date&.find { |date| date&.type == 'publication' }&.value+      end++      def publication_event+        @publication_event ||= cocina_events&.find { |event| event&.type == 'publication' }+      end++      def creation_event_creation_date+        @creation_event_creation_date ||= creation_event&.date&.find { |date| date&.type == 'creation' }+      end++      def creation_event+        @creation_event ||= cocina_events&.find { |event| event&.type == 'creation' }+      end++      def structured_date_result(date)+        return unless date.structuredValue++        start_date, end_date, = ''+        info = date.qualifier if date.qualifier.present?+        date.structuredValue.each do |structured_val|+          start_date = structured_val.value if structured_val.type == 'start'+          end_date = structured_val.value if structured_val.type == 'end'+          info = structured_val.qualifier if structured_val.qualifier+        end++        result_date = if start_date.present? && end_date.present?+                        "#{start_date}/#{end_date}"+                      elsif start_date.present?+                        start_date+                      elsif end_date.present?+                        end_date+                      end++        {+          date: result_date+        }.tap do |attributes|+          attributes[:dateInformation] = info if info.present?+        end.compact

Does the .compact do anything here?

ndushay

comment created time in 7 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}++          if embargo? && deposit_event_deposit_date_value.present?+            submitted_date[:date] = deposit_event_deposit_date_value+          elsif deposit_event_publication_date_value.present? # no embargo+            submitted_date[:date] = deposit_event_publication_date_value+          elsif publication_event_publication_date_value.present? # no embargo+            submitted_date[:date] = publication_event_publication_date_value+          end+          submitted_date[:dateType] = 'Submitted' if submitted_date.present?+          submitted_date+        end+      end++      # from Arcadia:+      #   Cocina event type release, date type publication maps to DataCite date type Available+      # In actuality:+      #   embargo release date is in DROAccess, not in an event+      def available_date+        return unless embargo?

Does having the return outside the ||= defeat the purposes of the ||=?

ndushay

comment created time in 7 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}

Could be {}.tap which would avoid begin and end.

ndushay

comment created time in 7 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def pub_year         if embargo?           embargo_release_date = cocina_dro_access&.embargo&.releaseDate           embargo_release_date&.year&.to_s-        elsif deposit_event_publication_date-          DateTime.parse(deposit_event_publication_date).year&.to_s+        elsif deposit_event_publication_date_value+          DateTime.parse(deposit_event_publication_date_value).year&.to_s         end       end +      # H2 publisher role > same cocina event as publication date > see DataCite contributor mappings       # Add Stanford Digital Repository as publisher to cocina release event if present, otherwise deposit event+      #+      # sdr is the publisher for the event where the content becomes public via purl -- deposit if no embargo, release if embargo present.+      # if it's not public via purl, sdr should not be the publisher;+      #   the user may enter someone with the publisher role in h2, referring to publication in another venue, regardless of the purl status.       def publisher         # TODO: implement this       end -      # For DataCite dates-      # H2 publication date > cocina event/date type publication > DataCite date type Issued-      # H2 deposit date > cocina event type deposit > DataCite date type Submitted-      ## If no embargo, > cocina date type publication-      ## If embargo, > cocina date type deposit-      # H2 embargo end date > cocina event type release and date type publication > DataCite date type Available+      # DataCite date (YYYY-MM-DD) is repeatable and each DataCite data has an associated type attribute+      # @return [Array<Hash>] DataCite date hashs, conforming to the expectations of HTTP PUT request to DataCite       def dates-        # TODO: implement this+        dates = []

Could be a [].tap.

ndushay

comment created time in 7 hours

Pull request review commentsul-dlss/dor-services-app

datacite mappings: cocina event -> DataCite dates with unit tests

 def embargo?         cocina_dro_access&.embargo&.releaseDate.presence       end -      def deposit_event_publication_date-        deposit_event&.date&.find { |date| date&.type == 'publication' }&.value+      # If embargo,+      #   Cocina event type deposit, date type deposit maps to DataCite date type Submitted+      # If no embargo+      #   Cocina event type deposit, date type publication maps to DataCite date type Submitted+      # If no embargo and no deposit event with date type publication,+      #   Cocina event type publication, date type publication maps to DataCite date type Submitted+      def submitted_date+        @submitted_date ||= begin+          submitted_date = {}++          if embargo? && deposit_event_deposit_date_value.present?

Could be submitted_date[:date] = if embargo? && deposit_event_deposit_date_value.present? ...

ndushay

comment created time in 7 hours