Social Feed Manager user interface application.
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
Service for creating Twitter datasets for research and archiving.
Docker support for Social Feed Manager.
A collection of ipython/jupyter notebooks
gwu-libraries/sfm-twitter-harvester 12
A harvester for twitter content as part of Social Feed Manager.
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
</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.
comment created time in 6 hours
push eventsul-dlss/happy-heron
commit sha 857d72af8c4d6000f197cee206b688a5d1ec3265
Group and label work types. closes #1828
push time in 6 hours
PR opened sul-dlss/happy-heron
closes #1828
Why was this change made?
Accessability
How was this change tested?
Local
Which documentation and/or configurations were updated?
NA
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?
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?
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 ||=?
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.
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.
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? ...
comment created time in 7 hours
push eventsul-dlss/sdr-deploy
commit sha e3765502f26c4da839c81a6f3a70cb27b47a1ec4
Automatically run check cocina for deployments
commit sha 3c82b682457b322fa35fa9d1544004bd185fe355
Merge pull request #53 from sul-dlss/t53-auto-cocina-check Automatically run check cocina for deployments
push time in 7 hours
PR merged sul-dlss/sdr-deploy
Why was this change made?
FIXES #52
How was this change tested?
n/a
Which documentation and/or configurations were updated?
Added inline comment
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-sulpush eventsul-dlss/happy-heron
commit sha c703d051aa3355c8917282580f5bbfbed28e641c
Changes auto-generated citation switch. closes #1815
commit sha af129ff50c41e59d2db94ca176669e028218a393
Adds delay to flappy spec. closes #1848
commit sha b50eb2963db6532c187767b386cba8504ed9b33d
Merge pull request #1854 from sul-dlss/t1724-layout Update layout for release and visibility section of item deposit form.
commit sha b19790656112490c8bb34729fdb428770d93c51a
Merge pull request #1853 from sul-dlss/t1848-flappy Adds delay to flappy spec.
commit sha 8af4bdd24f1b2494707a0a9ad08d83dc8f826f0e
Merge pull request #1829 from sul-dlss/t1815-citation Changes auto-generated citation switch.
commit sha c9bdbc0545dda328dec99c62fd2059b7f9e24d75
Do not allow changing release setting when item has been released. closes #1741
push time in 21 hours
PR opened sul-dlss/happy-heron
closes #1799
Why was this change made?
Accesability.
How was this change tested?
Unit

Which documentation and/or configurations were updated?
NA
pr created time in 21 hours
PR opened sul-dlss/happy-heron
closes #1741
Why was this change made?
Per ticket.
How was this change tested?
Unit
Which documentation and/or configurations were updated?
NA
pr created time in a day
PR opened sul-dlss/happy-heron
closes #1724
Why was this change made?
UI consistency
How was this change tested?
Unit, local

Which documentation and/or configurations were updated?
NA
pr created time in a day
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.
comment created time in a day
push eventsul-dlss/dor-services-app
commit sha a668a5f453a76486831f07ccda1bba8e8ae8f55d
datacite mappings: cocina event -> DataCite publicationYear
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
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
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?
pr closed time in a day