PKP Bugzilla – Bug 5796
Add MODS support to the Article object
Last modified: 2012-09-21 13:09:13 PDT
Angela, I've created this BugZilla entry for us to track the development of the article NLM adapter.
Please see http://github.com/jerico-dev/pkp-lib/commit/d61fd82c469ed5bc5472766038fc7c24db6fffc8 and http://github.com/jerico-dev/ojs/commit/5a86065455a05a8130f5792fde68b4e9d44c8bea for a stub implementation. You can use git's cherry-pick feature to get that code from my repository, see http://pkp.sfu.ca/wiki/index.php/Frequent_git_use_cases#Pull_changes_from_other_developer.27s_personal_repositories
Oups, forget about the pkp-lib part, that's actually just a small fix in the classdoc which has to go into the main repository anyway. The real stuff is in ojs.
I'm currently writing MODS meta-data support for OMP and I'm paying attention that most of it can be re-used across all apps. MODS is directly supported by Zotero and Mendeley. This means that there probably is no more need to go via NLM to COinS or MODS. You can just use my MODS filter in OJS. Angela, can you please re-assign this bug to Jennifer (was that here name?) and make sure that she gets this message? I don't have her email address.
Hi, I'm sorry for my confusion. Are you suggesting we drop this bug and use your MODS filter (in /lib/pkp?) to interface with the Mendeley and Zotero APIs? Thanks (In reply to comment #3) > I'm currently writing MODS meta-data support for OMP and I'm paying attention > that most of it can be re-used across all apps. MODS is directly supported by > Zotero and Mendeley. This means that there probably is no more need to go via > NLM to COinS or MODS. You can just use my MODS filter in OJS. > > Angela, can you please re-assign this bug to Jennifer (was that here name?) and > make sure that she gets this message? I don't have her email address.
Hi Jennifer, I'm just proposing we rename this bug (done) and change the implementation strategy for Zotero/Mendeley access to our meta-data a bit. What changes is that rather than exporting Article -> NLM meta-data description (via NLM-article meta-data adapter) -> NLM XML (via NLM XML export filter) -> MODS XML (via NLM-MODS crosswalk XSL) we can now do Article -> MODS meta-data description (via MODS-article meta-data adapter) -> MODS XML (via MODS XML export filter) directly. BTW: Direct export to COinS/MODS is deprecated as it causes duplicate code within and across apps and bears a considerable risk of inconsistent implementations of the same standard across interfaces. It's also more work in the long run as we have to re-implement the same thing many times. So please don't use the MODS OAI or import/export plug-ins as examples. If you've already implemented something "old style" it'd be cool if you could move that to the MD-framework also as I'll have to do that otherwise. ;-) The meta-data framework uses the same standards compliant intermediate representation of meta-data schemas for all use-cases (including import/export, citations, OAI, etc.) so that we can re-use code across all interfaces and across all applications and avoid inconsistencies. I've already spent some time explaining the MD framework to Angela as I thought she'd implement this bug. She should be able to give you a good first overview. I'll of course be there to help further if that's not enough to get you started! :-)
I've just made my commit for the MODS schema + submission adapter, see http://github.com/pkp/pkp-lib/commit/950f7e1240f30817fe60cc518ce1016f7dbd44c7 and http://github.com/pkp/pkp-lib/commit/a354d7ef3a2d0f0e7da33e39df67e5aea3808ef8. The former also requires installation of vocabulary, see http://github.com/pkp/omp/blob/master/dbscripts/xml/controlled_vocab.xml. What is missing now is the MODS meta-data description -> XML filter which I'll do either later today or tomorrow.
Hi Jennifer, I've also added the MODS XML export filter now. The only thing missing now is for you to implement something corresponding to http://github.com/pkp/omp/tree/master/plugins/metadata/mods/ to configure MODS for OJS. As you can see there's minimal application-specific adaptation required. Then you can immediately use the MODS adapter and XML export filter to generate MODS XML from articles and feed that into Zotero/Mendeley. See the test classes in the above commit for examples how to set up and use these filters.