profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/justinlittman/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.

gwu-libraries/sfm-ui 133

Social Feed Manager user interface application.

justinlittman/fbarc 72

A commandline tool and Python library for archiving data from Facebook using the Graph API.

justinlittman/fb-ad-archive-scraper 30

Scraper for Facebook's Archive of Ads with Political Content

gwu-libraries/TweetSets 16

Service for creating Twitter datasets for research and archiving.

gwu-libraries/sfm-docker 15

Docker support for Social Feed Manager.

gwu-libraries/notebooks 14

A collection of ipython/jupyter notebooks

gwu-libraries/sfm-twitter-harvester 12

A harvester for twitter content as part of Social Feed Manager.

gwu-libraries/sfm-elk 7

Proof-of-concept analytics dashboard for Social Feed Manager using ELK stack

gwu-libraries/sfm-weibo-harvester 7

A basic harvester for Sina Weibo public post data as part of Social Feed Manager.

gwu-libraries/sfm-web-harvester 4

A wrapper around Heritrix for harvesting web content as part of Social Feed Manager.

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

PullRequestReviewEvent
PullRequestReviewEvent

delete branch sul-dlss/sdr-deploy

delete branch : t53-auto-cocina-check

delete time in 7 hours

push eventsul-dlss/sdr-deploy

Jeremy Nelson

commit sha e3765502f26c4da839c81a6f3a70cb27b47a1ec4

Automatically run check cocina for deployments

view details

Justin Littman

commit sha 3c82b682457b322fa35fa9d1544004bd185fe355

Merge pull request #53 from sul-dlss/t53-auto-cocina-check Automatically run check cocina for deployments

view details

push time in 7 hours

PR merged sul-dlss/sdr-deploy

Automatically run check cocina for deployments

Why was this change made?

FIXES #52

How was this change tested?

n/a

Which documentation and/or configurations were updated?

Added inline comment

+23 -14

0 comment

1 changed file

jermnelson

pr closed time in 7 hours

issue closedsul-dlss/sdr-deploy

--check-cocina behavior triggered automatically before deploy

Modify deploy.rb to perform the --check-cocina behavior automatically before deployment, so that it happens implicitly as part of the weekly dependency update process.

If an inconsistency in the cocina-models version is found among consumers of the gem, halt the script with an informative error message (and do not proceed with deployment).

As part of this, we can also get rid of the explicit reading of the --check-cocina arg, and the corresponding usage note at the top of the file.

closed time in 7 hours

jmartin-sul
PullRequestReviewEvent

push eventsul-dlss/happy-heron

Justin Littman

commit sha c703d051aa3355c8917282580f5bbfbed28e641c

Changes auto-generated citation switch. closes #1815

view details

Justin Littman

commit sha af129ff50c41e59d2db94ca176669e028218a393

Adds delay to flappy spec. closes #1848

view details

Naomi Dushay

commit sha b50eb2963db6532c187767b386cba8504ed9b33d

Merge pull request #1854 from sul-dlss/t1724-layout Update layout for release and visibility section of item deposit form.

view details

Naomi Dushay

commit sha b19790656112490c8bb34729fdb428770d93c51a

Merge pull request #1853 from sul-dlss/t1848-flappy Adds delay to flappy spec.

view details

Naomi Dushay

commit sha 8af4bdd24f1b2494707a0a9ad08d83dc8f826f0e

Merge pull request #1829 from sul-dlss/t1815-citation Changes auto-generated citation switch.

view details

Justin Littman

commit sha c9bdbc0545dda328dec99c62fd2059b7f9e24d75

Do not allow changing release setting when item has been released. closes #1741

view details

push time in 21 hours

PR opened sul-dlss/happy-heron

Provides more descriptive page titles.

closes #1799

Why was this change made?

Accesability.

How was this change tested?

Unit

image

Which documentation and/or configurations were updated?

NA

+73 -12

0 comment

15 changed files

pr created time in 21 hours

create barnchsul-dlss/happy-heron

branch : t1799-titles

created branch time in 21 hours

PR opened sul-dlss/happy-heron

Do not allow changing release setting when item has been released.

closes #1741

Why was this change made?

Per ticket.

How was this change tested?

Unit

Which documentation and/or configurations were updated?

NA

+112 -42

0 comment

8 changed files

pr created time in a day

create barnchsul-dlss/happy-heron

branch : t1741-release_options

created branch time in a day

PR opened sul-dlss/happy-heron

Update layout for release and visibility section of item deposit form.

closes #1724

Why was this change made?

UI consistency

How was this change tested?

Unit, local

image

Which documentation and/or configurations were updated?

NA

+57 -36

0 comment

8 changed files

pr created time in a day

create barnchsul-dlss/happy-heron

branch : t1724-layout

created branch time in a day

PullRequestReviewEvent

Pull request review commentsul-dlss/DeveloperPlaybook

two more first responder responsibilities

 The first responder needs to make sure that all codebases needing updates have u  Run the `merge-all` script to automatically merge all dependency update PRs: https://github.com/sul-dlss/access-update-scripts/blob/master/merge-all.rb. Note that this script will only work with Ruby 2.6 or greater.  See the comments at the top for how to run and note you will need a github access token if you haven't previously created one.  Instructions for creating a token are here:  https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line   Save your token somewhere secure for re-use since you won't be able to view it in the Github interface again. +### Confirm that all consumers of cocina-models are using the same version of the gem

Why is this a FR responsibility instead of the dev rolling out the cocina model changes? If this is a FR responsibility, it should be automatically performed by sdr-deploy instead of another step to be documented / forgotten.

jmartin-sul

comment created time in a day

push eventsul-dlss/dor-services-app

Naomi Dushay

commit sha a668a5f453a76486831f07ccda1bba8e8ae8f55d

datacite mappings: cocina event -> DataCite publicationYear

view details

Justin Littman

commit sha 180d9a087f143483f9c397ef909083d92f84222e

Merge pull request #2949 from sul-dlss/datacite-h2-mappings-pub-year-unit datacite mappings: cocina event -> DataCite publicationYear with unit tests

view details

push time in a day

delete branch sul-dlss/dor-services-app

delete branch : datacite-h2-mappings-pub-year-unit

delete time in a day

PR merged sul-dlss/dor-services-app

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

Why was this change made?

We need to map cocina generated by h2 to datacite format so we can update DOI data.

This PR implements extracting correct publication year for DataCite mapping from cocina events

How was this change tested?

unit tests adapted from Arcadia's tests

Which documentation and/or configurations were updated?

+1120 -0

1 comment

2 changed files

ndushay

pr closed time in a day