Skip to content

[Reference PR] [ENG-11560] PBS-26-9 Updated#11793

Merged
cslzchen merged 30 commits into
CenterForOpenScience:feature/pbs-26-9from
cslzchen:feature/pbs-26-9-updated
Jul 1, 2026
Merged

[Reference PR] [ENG-11560] PBS-26-9 Updated#11793
cslzchen merged 30 commits into
CenterForOpenScience:feature/pbs-26-9from
cslzchen:feature/pbs-26-9-updated

Conversation

@cslzchen

@cslzchen cslzchen commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator

cslzchen and others added 30 commits June 9, 2026 10:40
…enScience#11768)

* Implement domain validation for user fields and add corresponding tests
* Fix unit tests which shouldn't have used email as user's full name
* Replace auth_utils.URL_REGEX with DOMAIN_REGEX for user domain validation
* Add SendEmailThrottle to NodeContributorsList throttle classes
* Refactor user domain validation functions and remove SendEmailThrottle from NodeContributorsList

---------

Co-authored-by: Ostap Zherebetskyi <ozherebetskyi@exoft.net>
Prevent users from using URLs/domains in their names
Disable Preprint DELETE from API
Fix typo in pyproject.toml
…#11745)

* [ENG-9705] osfmetrics using es8 (CenterForOpenScience#11739)

* resolve rebase mishaps

* [ENG-9708] osfmetrics minus es6 (CenterForOpenScience#11746)

* wip

* wip

* wip

* wip

* wip

* raw elastic pass-thru http 40X responses

* wip

* [ENG-9699] expiring usage events (CenterForOpenScience#11760)

* expire usage events after 90 days

* chore: renames from djelme

* fix[api]: getting metrics count

* fix: use search_timeseries_range for recent reports

* clearer pytest marker name

* fix: too many date-range params
)

* add required_metadata_template (CenterForOpenScience#11680)

* add required_metadata_template to API

* Fix tests

* Add required metadata validation

* Add Required metadata template field to admin pages

* fix tests

* add field, change admin form

* add migration

* remove unused field

* Update imports

* Add switch to enforce required_metadata_template

* added cedar metadata record creation/deletion in share for collection submission

* removed validate_required_metadata redefinition

* enqueue cedar record update in share

* added focus_iri to shtrove POST request

* separate cedar record identifier to avoid potential issues

* separate cedar record serialization

* added retry, moved tasks to task__update_share

* added more tests, make delete cedar record function working without cedar record existence

* fixed tests

* simplified turtle test and task__update_share

* use delay instead of signature for cedar tasks

* fixed migrations conflicts + share conflicts

* make cedar metadata templates filterable for collections

* ENG-9827

* Change metadata creation workflow

* fix tests

* Fix comments

* Fix test

* fix metadata validation

* remove non-required fields from payload @context; add tests

* add comments

* skip setting fields on CollectionSubmission model if the waffle switch is on

* fix validations again

* fix: consistent shtrove record identifiers

when sending cedar records to shtrove as supplementary records about an
item, use that item's osfid in the record_identifier instead of a
database id, so the records are more clearly associated in shtrove admin

* Backfill CedarMetadataRecord from CollectionSubmission custom metadata

* fix comment

* make waffle switch on by default

* Remove TestCopyCollectionSubmissionMetadataToCedar tests

* fix test

* Restore and fix tests

* remove cedar records upon submission failures

* Add command tests

* Fix @context building and add validation in sync_cedar_metadata

* allow upserting cedart records for collection templates

* refining logic

* update filter field name

* Fix CEDAR property mapping in sync_cedar_metadata

* update tests

---------

Co-authored-by: Vlad0n20 <137097005+Vlad0n20@users.noreply.github.com>
Co-authored-by: Vlad0n20 <vlad.onischuk1234@gmail.com>
Co-authored-by: Ihor Sokhan <isokhan@exoft.net>
Co-authored-by: abram axel booth <boothaa@gmail.com>
Hotfix management command
Improve management command
…nce#11774)

* fix: migrate_osfmetrics_fix_6to8

make sure all items get a recent monthly usage report with cumulative
counts up to this point -- previous data migration incorrectly assumed
monthly usage reports were either complete or completely missing

- restore some previously-removed elastic6 config and dsl types in
  osf.metrics.es6_metrics
- change django-elasticsearch-metrics dependency to a version with
  elastic6 support added back in
- add migrate_osfmetrics_fix_6to8 management command
    - shows diagnostic counts from es6 and es8 (unless --no-counts)
    - starts a task for each item with any past usage to add a usage
      report for 2026-05 with accurate cumulative view/download counts
    - allow running via osf-admin web ui

* add es6 back to github actions

* fix: orderable YearMonth

* more correct counts

* loggable error on non-existant osfid

* more accurate comparison count

* move usage report epoch to setting

* finding anomalies...

* further inspecting anomalies...

* fix up whoopsies

* better handle preprint osfids

* fix some older usage reports too

* use date_histogram to skip empty months

* remove debugging
26.13.0

- add migrate_osfmetrics_fix_6to8 command to correct monthly usage reports
- temporarily re-add elasticsearch6 and some es6-based osf-metrics models
@cslzchen cslzchen changed the title Feature/pbs 26 9 updated [Reference PR] [ENG-11560] PBS-26-9 Updated Jul 1, 2026
@cslzchen cslzchen merged commit 8c28cc6 into CenterForOpenScience:feature/pbs-26-9 Jul 1, 2026
8 checks passed
@cslzchen

cslzchen commented Jul 1, 2026

Copy link
Copy Markdown
Collaborator Author

Upstream pushed directly with update, consider merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants