Skip to main content

Recommended WRLC Primo Display Norm Rules

The following are various Primo VE display normalization rules that are used by some of the institutions in the WRLC. It is not a requirement to have these configured in a WRLC Institution Zone, but they can be helpful, depending on your institution's policies. 

For instructions on how to configure new display rules for Primo VE, see the following Wiki page:

https://alma.wrlc.org/books/discovery-primo-ve/page/how-to-hide-change-add-marc-fields-for-display-in-primo-primo-ve-display-rules-and-dei-list-of-terms-to-exclude 

SUBJECTS Display Rules

See this page on the workflow to editing Primo VE display fields : https://alma.wrlc.org/books/discovery-primo-ve/page/how-to-hide-change-add-marc-fields-for-display-in-primo-primo-ve-display-rules-and-dei-list-of-terms-to-exclude#bkmrk-editing-primo-ve-dis 


Hide "America, Gulf of" in a 650 subfield $$z

rule "Primo VE Display - Subject 650 (hide 650 $$z Gulf of America LCSH heading)"
	when
		MARC."650" has any "a-u,w-z" AND NOT
		MARC."650"."z" match "America, Gulf of*" AND NOT
		MARC."650".ind"2"  equals "4" AND NOT
		MARC."650".ind"2"  equals "5" AND NOT
		MARC."650".ind"2"  equals "6" AND NOT
		MARC."650".ind"2"  equals "7" 
	then
		set TEMP"1" to MARC."650" subfields "a-u,w" delimited by " " remove substring using regex "\\.+$"
		set TEMP"2" to MARC."650" subfields "x-z" delimited by " -- " remove substring using regex "\\.+$"
		concatenate with delimiter (TEMP"1",TEMP"2"," -- ")
        create pnx."display"."subject" with TEMP"1"
end

Hide "Illegal aliens" and other related LCSH in a 650 subfield $$a

rule "Primo VE Display - Subject 650 (hide 650 $$a Illegal aliens and related LCSH headings)"
	when
		MARC."650" has any "a-u,w-z" AND NOT
		MARC."650"."a" match "Illegal alien.*" AND NOT
		MARC."650"."a" match "Alien criminals" AND NOT
		MARC."650"."a" match "Alien detention centers" AND NOT
		MARC."650"."a" match "Alien property" AND NOT
		MARC."650"."a" match "Church work with aliens" AND NOT
		MARC."650".ind"2"  equals "4" AND NOT
		MARC."650".ind"2"  equals "5" AND NOT
		MARC."650".ind"2"  equals "6" AND NOT
		MARC."650".ind"2"  equals "7" 
	then
		set TEMP"1" to MARC."650" subfields "a-u,w" delimited by " " remove substring using regex "\\.+$"
		set TEMP"2" to MARC."650" subfields "x-z" delimited by " -- " remove substring using regex "\\.+$"
		concatenate with delimiter (TEMP"1",TEMP"2"," -- ")
        create pnx."display"."subject" with TEMP"1"
end

Display WRLC local supplemental headings (those in a 650 field with a subfield $$2 local and $$5 CAO)

rule "Primo VE Display - Subject 650 local supplemental WRLC subject headings"
	when
		MARC."650" has any "a-u,w-z" AND
		MARC."650".ind"2"  equals "7" AND 
		MARC."650"."2" match "local" AND
		MARC."650"."5" match "CAO"
	then
		set TEMP"1" to MARC."650" subfields "a-u,w" delimited by " " remove substring using regex "\\.+$"
		set TEMP"2" to MARC."650" subfields "x-z" delimited by " -- " remove substring using regex "\\.+$"
		concatenate with delimiter (TEMP"1",TEMP"2"," -- ")
        create pnx."display"."subject" with TEMP"1"
end

All 650 field rules listed above combined

Hide "Gulf of America", "America, Gulf of", and "McKinley, Mount (Alaska)"in a 651 subfield $$a

rule "Prima_Display - Subject 651 (hide 651 $$a Gulf of America and Mount McKinley LCSH headings)"
	when
		MARC."651" has any "a-z" AND NOT
        MARC."651"."a" match "America, Gulf of*" AND NOT
        MARC."651"."a" match "Gulf of America*" AND NOT
        MARC."651"."a" match "McKinley, Mount (Alaska)*" AND NOT
		MARC."651".ind"2"  equals "2"  
	then
		set TEMP"1" to MARC."651" subfields "a-u,w" delimited by " " remove substring using regex "\\.+$"
		set TEMP"2" to MARC."651" sub without sorting "x-z" delimited by " -- "
        remove substring using regex (TEMP"2","\\.+$")
		concatenate with delimiter (TEMP"1",TEMP"2"," -- ")
		set TEMP"3" to multilingual by "651" "Subject" "display"
		concatenate with delimiter (TEMP"1",TEMP"3","")
		set TEMP"4" to MARC."651" sub without sort "v"
		remove substring using regex (TEMP"4","\\.+$")
		add suffix (TEMP"4",".")	
        concatenate with delimiter (TEMP"1",TEMP"1","$$Q")
        concatenate with delimiter (TEMP"1",TEMP"4"," -- ")
		remove substring using regex (TEMP"1","\\$\\$Q.+[^.]$")
		remove substring using regex (TEMP"1","\\.$")
        create operational."prima_display"."subject" with TEMP"1"
end

 

Local Field Rules

See this page on the workflow to configuring a Primo VE local fields : https://alma.wrlc.org/books/discovery-primo-ve/page/how-to-hide-change-add-marc-fields-for-display-in-primo-primo-ve-display-rules-and-dei-list-of-terms-to-exclude#bkmrk-configuring-a-primo-

Display local WRLC subject headings in a 690 field (these are added to CZ records)

rule "Primo VE - display local WRLC subject headings in CZ records, 690 field"
	when
		MARC "XXX" has any "a-z"
	then
		set TEMP"1" to MARC."XXX" subfields "a-w" delimited by " " remove substring using regex "\\.+$"
		set TEMP"2" to MARC."XXX" subfields "x-z" delimited by " -- " remove substring using regex "\\.+$"
		concatenate with delimiter (TEMP"1",TEMP"2"," -- ")
        create pnx."display"."subject" with TEMP"1"
end