Hi, I need to show the Supporting Agencies in the OAI registers, but I don’t know how can I do it. I know than the file is plugins/metadata/dc11/filter/Dc11SchemaArticleAdapter.inc.php but I don’t know how can I get the Supporting Agencies, Can you help me ?
@asmecher can you help me in this topic ?
Hi @JCar,
What version of OJS 3.x are you working with?
Regards,
Alec Smecher
Public Knowledge Project Team
the version is 3.1.1.4.
Hi @JCar,
You can see e.g. plugins/reports/articles/ArticleReportPlugin.inc.php
, which generates the articles report:
$submissionAgencyDao = DAORegistry::getDAO('SubmissionAgencyDAO');
[...]
case $index == 'agencies':
$agencies = $submissionAgencyDao->getAgencies($article->getId(), array($article->getLocale()));
$columns[$index] = join(', ', $agencies[$article->getLocale()]);
break;
You can see here the SubmissionAgencyDAO
being used to fetch and concatenate a list of contributing agencies for a submission.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher,
I tried to do but never show me the Supporting Agencies…I only can I do than show the supporting agencies in the same place with keywords in the file /plugins/metadata/dc11/filter/Dc11schemaArticleAdapter.inc.php.
$submissionAgencyDao = DAORegistry::getDAO('SubmissionAgencyDAO');
$agencies=$submissionAgencyDao->getAgencies($article->getId(), array(AppLocale::getLocale()));
$agenciesStrings = array_map(function($e){ return implode('; ', $e); }, $agencies);
$subjectDao = DAORegistry::getDAO('SubmissionSubjectDAO');
$subjects = $subjectDao->getSubjects($article->getId(), $journal->getSupportedSubmissionLocales());
$subjectsStrings = array_map(function($e){ return implode('; ', $e); }, $subjects);
$dcSubjects = array_merge_recursive(
(array) $disciplinesStrings,
(array) $keywordsStrings,
(array) $agenciesStrings,
(array) $subjectsStrings
);
$this->_addLocalizedElements($dc11Description, 'dc:subject', $dcSubjects);
when I tried to do in other place I couldn’t to show the informations. I don’t know what is the correct label for Agencies supporting in the field ‘dc:agencies’ and how can I do it in other place. can you help me ?
Hi @JCar,
If you wanted to add a dc:agencies
metadata property, you would need to modify the Dublin Core metadata schema definition (lib/pkp/plugins/metadata/dc11/schema/PKPDc11Schema.inc.php
). However, that would be breaking the standard, so I don’t recommend it.
Regards,
Alec Smecher
Public Knowledge Project Team
Hi @asmecher ,
Many thanksI understand than If I do that, I would breaking the standard and I don’t like to do. How can I write the correct field for supporting Agencies in the OAI ? looks the fields than I have at the moment.
How can I do write in the list a new field with the correct standar for supporting agencies?
Hi @JCar,
That’s more a question about the unqualified Dublin Core standard than OJS; see e.g. 3. Dublin Core Metadata Schema - Metadata Creation - Library Guides at University of California, Santa Cruz for details.
Regards,
Alec Smecher
Public Knowledge Project Team