Uploaded image for project: 'ERM Platform'
  1. ERM Platform
  2. ERM-1820

SPIKE: Investigate best method of eISSN/eISBN/pISSN/pISBN namespace cleanup



    • Story
    • Status: Draft (View Workflow)
    • TBD
    • Resolution: Unresolved
    • None
    • None
    • Bienenvolk


      ERM-1649 ensures that eISSN/eISBN/pISSN/pISBN identifier namespaces are not used going forward. However we also wish to clean up any existing identifiers in these namespaces:

      • Any identifiers existing in these namespaces should be changed to be in the issn namespace and linked to the appropriate titleInstance. If an appropriate titleInstance does not currently exist it should be created

      Potentially this can be approached using the following logic:

      • Find all identifierNamespaces with eissn (or the other variants), AND the identifierNamespace for issn, and store that in a variable x
      • Find all IdentifierOccurences using Identifiers with that namespace
      • Check to see if the same identifier value already exists in namespace x and if so, delete the identifier and any occurrences and stop
      • Check each occurence’s TI to see if it is electronic (or print for some of the others)
        • If so, just change namespace over to x
        • Else look for a TI with same work that is electronic
          • if exists, switch identifier occurrence over to it, changing namepsace to x
          • If doesn’t exist, THEN create a new TI (with appropriate subtype)

      However, we may wish to also investigate whether these can be cleaned up through other methods. One option maybe to make use of the PCI/PTI 'match key' concept described in ERM-1799 - using existing eISSN/pISSN/eISBN/pISBN values to populate match keys on existing PCIs without a match key, and then implementing a re-match process that will correct match the PCIs to Tis, or create new TIs, based on the match key data

      TestRail: Results


          Issue Links



                ostephens Owen Stephens
                ostephens Owen Stephens
                0 Vote for this issue
                2 Start watching this issue



                  TestRail: Runs

                    TestRail: Cases