User can enter {dollar} to code for a literal $

Description

Context:  Currently quickMARC does not handle literal $ well, instead it turns $ into a subfield delimiter 

Examples

  • Ke$ha

  • A$Ap Rocky

  • The book costs $560.00

  • $a Daniela Andrade - $$$ $b song lyrics

  • MARC tag 066 $a$1

Requirements

  • Applies to

    • Create/Derive/Edit MARC bibliographic via quickMARC

    • Create/Edit MARC holdings via quickMARC

    • Create/Edit MARC authority via quickMARC

  • Code to use to express a literal dollar sign: {dollar}

  • If SRS does store the actual MARC subfield delimiter ‡ then assume that the literal dollar sign is stored.

  • This requirement needs to address any records that have a field with a literal dollar sign that were never edited prior to the implementation of this user story. Assume that there is a way to update a field(s) to the literal dollar sign code when the user hits Edit or Derive.

  • This requirement needs to address adding a new field with a literal dollar sign on Create/Edit/Derive a MARC record

  • When the user enters the code to use to express a literal dollar sign and hits save then

    • View source displays the literal dollar sign

    • AND that literal dollar sign should be reflected when exporting MARC record 

    • AND Derive/Edit should display the code to use to express a literal dollar sign 

  • This will not change MARC records that were already edited and the literal dollar sign was already changed to delimiter. The library will need to find these records, export records, and use MARCedit to correct. 

  • No data import updates with this user story. 

Proposed Approach:

  • confirm code {dollar} can be used to expressed literal $ sign

  • convert passed literal to dollar sign on entity from UI. See AbstractFieldItemConverter->MarcUtils::extractSubfields, where subfields are extracted by regexp

  • convert dollar sign to literal on entity from srs before sending it to UI. See CommonDataFieldConverter::convertSubfield

MARC

Edit/Derive quickMARC > If user has never edited the record and edit/derives after implementation then display

View Source/MARC export > If user has never edited the record and edit/derives after implementation then display

Ke$ha

Ke{dollar}ha

Ke$ha

A$Ap Rocky

A{dollar}Ap Rocky

A$Ap Rocky

The book costs $560.00

The book costs {dollar}560.00

The book costs $560.00

$a Daniela Andrade - $$$ $b song lyrics

$a Daniela Andrade - {dollar){dollar){dollar) $b song lyrics

$a Daniela Andrade - $$$ $b song lyrics

MARC tag 066 $a$1

MARC tag 066 $a{dollar)1

MARC tag 066 $a$1

 

 

 

Scenario 1

Given I edit/derive/create a MARC record 
When I enter/edit  a field with $a Ke<<TBD code to use express a literal dollar sign>>$ha
AND hit Save
Then 

  • View Source should display $a Ke$ha

  • mrc. export should show $a Ke$ha 

  • Edit / Derive quickMARC should show $a Ke<<TBD code to use express a literal dollar sign>>$ha

 

Scenario 2

Given I edit/derive/create a MARC record 
When I enter/edit  a field with $a Daniela Andrade - <<TBD code to use express a literal dollar sign><<TBD code to use express a literal dollar sign><<TBD code to use express a literal dollar sign> $b song lyrics

AND hit Save
Then 

  • View Source should display $a Daniela Andrade - $$$ $b song lyrics

  • mrc. export should show $a Daniela Andrade - $$$ $b song lyrics 

  • Edit / Derive quickMARC should show $a Daniela Andrade - <<TBD code to use express a literal dollar sign><<TBD code to use express a literal dollar sign><<TBD code to use express a literal dollar sign> $b song lyrics

 

Scenario 3

Given I edit/derive a MARC bib record

AND I have never edited this MARC bib record ever

AFTER I have implemented this story

Then display 066 $a{dollar}1

AND View source should display 066 $a$1

AND MARC export should display 066 $a$1

 

Examples

Authority: A$AP Rocky

BIB Records:

  • Long Live A$AP Rocky

  • The $100 startup

  • The $1,000 genome

Environment

None

Potential Workaround

None

Attachments

8

Checklist

hide

TestRail: Results

Activity

Show:

Valery_PilkoMarch 20, 2024 at 8:43 AM

Re-tested on Snapshot environment - issue related to “suggestion” endpoint is fixed.
See attached screencasts:
Ready for PO review

Christine Schultz-RichertMarch 19, 2024 at 1:03 PM

Hey - for the search box, I would expect it to not show the placeholder - I would expect that in the search box, it shows the literal $. “A$AP Rocky 1988-”

Denys BohdanMarch 19, 2024 at 9:44 AM

Hey , is it expected that /suggestion endpoint returns $ instead of {dollar}?

For example we send this payload
{"leader":"01589crm\\a2200397Ia\\4500","fields":[{"tag":"100","content":"$a A{dollar}AP Rocky $c (Rapper), $d 1988- $0 http://id.loc.gov/authorities/names/no2013015444 $9 b82398f4-0332-4e8b-8bc6-c58b51d99de0"}],"marcFormat":"BIBLIOGRAPHIC","_actionType":"view"}

and get such response:

Valery_PilkoMarch 19, 2024 at 9:05 AM
Edited

Hi
Following issues found during manual and automated linking:
Issue with manual linking:

  1. Import attached “MARC bib” and “MARC authority” records via “Data import” app

  2. Find and open detail view of imported record, ex. of search query: “Long. Live. A$AP [sound recording] / A$AP Rocky.

  3. Click on "Actions" button on the third pane → Select "Edit MARC bibliographic record" option

  4. Click on the "Link to MARC authority record" icon next to the “100” field
    Question to : is it ok to show “A{dollar}AP Rocky 1988-” in the search box of opened plug-in?

  5. Find and open "A$AP Rocky (Rapper), 1988-" record

  6. Click on the “Link” button

  7. Click on the “Save & keep editing” button

Expected result: “$a A{dollar}AP Rocky $c (Rapper), $d 1988-” value is displayed in the first controlled box of linked field.
Actual result: “$a A $c (Rapper), $d 1988-” value is displayed in the first controlled box of linked field.

Issue with automated linking:

  1. Import attached “MARC bib” and “MARC authority” records via “Data import” app

  2. Find and open detail view of imported record, ex. of search query: “Long. Live. A$AP [sound recording] / A$AP Rocky.

  3. Click on "Actions" button on the third pane → Select "Edit MARC bibliographic record" option

  4. Click on the “Link headings” button.
    Expected result: “$a A{dollar}AP Rocky $c (Rapper), $d 1988-” value is displayed in the first controlled box of linked field.
    Actual result: “$a A $c (Rapper), $d 1988-” value is displayed in the first controlled box of linked field.

UPD: Discussed with the team - a separate story created to address found issues -

Works as expected for Create/Derive/Edit MARC bibliographic\holdings\authority via quickMARC
See attached screencast for example:

Khalilah GambrellMarch 18, 2024 at 3:26 PM

Thank you . Lets include in “Q” release.

Done

Details

Assignee

Reporter

Priority

Story Points

Sprint

Development Team

Spitfire

Fix versions

Release

Quesnelia (R1 2024)

TestRail: Cases

Open TestRail: Cases

TestRail: Runs

Open TestRail: Runs

Created July 11, 2022 at 9:18 PM
Updated January 22, 2025 at 5:09 PM
Resolved March 29, 2024 at 12:35 PM
TestRail: Cases
TestRail: Runs