$ingester->slack("ContentDM Harvester - Starting Ingest: {$index} | Total # Records: {$total}", true);
 }
 // drill through each record in collection
 for ($i = 0; $i < $total; $i++) {
     echo "\n #{$i} - \n\n";
     $alias = "ingest.{$index}";
     $di = $records[$i]['pointer'];
     $info = $ingester->getItemInfo($index, $di);
     $pages = json_decode($info, true);
     $json = [];
     //TODO - put all this code in a foreach language, and set the language key on each iteration
     //TODO - create language testing code (sometime in future, CONTENTdm doesn't split up info based on language key (yet?...))
     //TODO - something like:  foreach ($pages as $entryLanguageKey => $v){}
     $entryLanguageKey = '_defaultLanguage';
     $json[$entryLanguageKey]['_json'] = $pages;
     $json[$entryLanguageKey]['_item'] = $ingester->mapValuesToFields($json[$entryLanguageKey]['_json'], $remap);
     //after drill down, set some ubc related variables
     //image data
     echo " Getting image info ({$index}, {$di})\n";
     $imgInfo = json_decode($ingester->getImageInfo($index, $di), true);
     $ingester->parseImageInfo($json[$entryLanguageKey]['_item'], $imgInfo);
     //pointers and handles with dmrecord
     $json[$entryLanguageKey]['_item']['ubc.internal.repo.handle'] = $di;
     $json[$entryLanguageKey]['_item']['ubc.internal.repo'] = "cdm";
     $json[$entryLanguageKey]['_item']['ubc.internal.cdm.find'] = "{$pages['find']}";
     $json[$entryLanguageKey]['_item']['ubc.internal.cdm.hasPDF'] = "{$pages['cdmprintpdf']}";
     //swap dmrecord with digital identifier, if possible
     $possibleRealID = '';
     if (isset($json[$entryLanguageKey]['_item']['dc.identifier'])) {
         $possibleRealID = implode("", $ingester->getValueFromArrayOfArrays($json[$entryLanguageKey]['_item']['dc.identifier'], "digitaliden"));
     }