Ready to Learn?Ex Libris products all provide open APIs

General Purpose

As a rule of thumb, normalization procedures that cannot be preformed during the normalization phase (the NR is not flexible enough), should be treated in the enrichment phase.

This is an example of such a normalization procedure.

The problem this enrichment procedure comes to solve is split to two:

1) Duplicate values in the same PNX field - This can happen when you concatenate 2 (or more) fields to the same PNX field.
     For example, display/author = James E. Murphy, James E. Murphy

2) Duplicate values across different PNX fields.
     For example:
               display/author         = James E. Murphy
               display/contributor = James E. Murphy

This enrichment will remove the unneeded duplicate values from the PNX,
according to specific configuration which describes the PNX fields to be checked.

Product Version

This will be available from Primo 4.8 and higher

Configuration steps

  1. Configure the "Plugins" mapping table with :
      class = com.exlibris.primo.publish.platform.nep.enrichment.
      type  = Enrichment
      name  = Whichever name you wish

  2. Configure the "Plugins Parameters" mapping table
      In this step you should assign parameters to your enrichment,
      configuring which PNX fields should be checked for duplicates.

      You can configure two different types of parameters:
        a) single value – remove duplicates from a single field
                                       (i.e. display/title = barak ;  barak)
                 Parameter Name = SingleField<X> (i.e. SingleField1)
                 Parameter value = <section>/<field>|<delimiter> (i.e. display/title|,)

            (You can configure the parameter SingleField<X> multiple times by having the prefix increment.
             For example you can have the following configuration values:
             SingleField1 = display/title
             SingleField2 = display/author)

        b) group – remove duplicates from a group of fields
                   (i.e display/author       = James E. Murphy
                        display/contributor  = James E. Murphy)
             Parameter Name = GroupField<X> (i.e. GroupField1)
             Parameter value = <section>/<field>|<delimiter>@D@<section>/<field>|<delimiter>
                               for example: display/title|,@D@display/author|;
                               NOTE: the delimiter between fields is: @D@                   

    NOTE: When configuring a field (i.e. <section>/<field>|<delimiter>),
                the delimiter is optional, and will default to " ; " (semicolon with surrounding spaces).


Enrichment sets

Once you have finished configuring the enrichment, the enrichment is now ready to be added to an "enrichment set".

Now when you create/edit an enrichment set, the new enrichment will be displayed.