erikrause / RSCIExportOJSPlugin

Плагин OJS для экспорта метаданных выпусков журнала в формате XML РИНЦ (elibrary.ru)
GNU General Public License v3.0
3 stars 1 forks source link

Ошибка в фильтрации номера журнала и несколько предложений по коду #3

Open vodingithub opened 1 year ago

vodingithub commented 1 year ago

Здравствуйте. Спасибо за плагин, отличная вещь! Обнаружили в коде несколько ошибок. С гитхабом не дружу, приведу здесь. В фильтре 563 строка и plugins\importexport\rsciexport\RSCIExportPlugin.inc.php 158 строка

Не верно указано название номера 'issueId' , а должно быть 'issueIds' . В результате hook не может понять что за номер и проверяет все!!! У нас это занимает много минут. protected function _getPublications($issue) { $submissionsIterator = Services::get('submission')->getMany([ 'contextId' => $this->_getContext()->getId(), 'issueIds' => [$issue->getId()] //Vodin ]);

Мы в журнале храним PDF в отдельном хранилище, т.к. по факту мы руками указываем URL на файл. А у вас он формируется. Вероятно, это нужно как-то разрулить. Приведу наш вариант, но не для всех он будет подходить. 394 строка в фильтре

foreach ($galleys as $galley) { $resourceURL = $galley->getRemoteURL(); //$file = $galley->getFile(); if (!$resourceURL) { continue; }

        $furlNode = $doc->createElement('furl', $resourceURL);
        $furlNode->setAttribute('location', 'publisher');
        $furlNode->setAttribute('version', 'published');
        $filesNode->appendChild($furlNode);

            $galleys = $publication->getData('galleys');    $file = basename($resourceURL);
        $fileNode = $doc->createElement('file', $file);
        $fileNode->setAttribute('desc', 'fullText');
        $filesNode->appendChild($fileNode);
    }   

В фильтре для online журналов неверно указан префикс essn. Правильный вариант ниже $essn = $journal->getData('onlineIssn'); if ($essn != '') $journalNode->appendChild($doc->createElement('eissn', $essn));

Инструментарий для разработчика на маркапе выдает ошибку

еще раз спасибо за плагин.

rodionstepanov commented 1 year ago

@vodingithub Спасибо за исправления! А у вас под верстей OJS 3.4 работает?