OJS OCS OMP OHS

You are viewing the PKP Support Forum | PKP Home Wiki



IEEE LOM

Open Harvester Systems support questions and answers, bug reports, and development issues.

Moderators: jmacgreg, michael, John

Forum rules
Developer Resources:

Git: You can access our public Git Repository here. Comprehensive Git usage instructions are available on the wiki.

Bugzilla: You can access our Bugzilla report tracker here.

Search: You can use our Google Custom Search to search across our main website, the support forum, and Bugzilla.

Questions and discussion are welcome.

IEEE LOM

Postby ovonder » Wed Jun 20, 2007 6:58 am

Is there anyone who has implemented a IEEE LOM plugin? I have been reading up on this forum, but could not find a good instruction how to implement other metadataschema's.

our ieee lom source is harvested, however the URL information is ignored. So there is no link to the original document...

example of an record:

<record>
<header>
<identifier>oai:triple-l:2c7ba037-52a6-4323-97dd-b6ea1cdbfd18</identifier>
<datestamp>2007-05-29T15:55:00Z</datestamp>
<datestampasdatetime>2007-05-29T17:55:00+02:00</datestampasdatetime>
</header>
<metadata>
<lom:lom xmlns:lom="http://dpc.uba.uva.nl/schema/lom/triplel" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://dpc.uba.uva.nl/schema/lom/triplel http://dpc.uba.uva.nl/schema/lom/triplel/lom.xsd">
<general xmlns="">
<title>
<langstring>
<value>Graduation mw. S. de Caralt</value>
<language>en</language>
</langstring>
</title>
<catalogentry>
<catalog>nl.wur.wurtv</catalog>
<entry>
<langstring>
<value>2c7ba037-52a6-4323-97dd-b6ea1cdbfd18</value>
<language>x-none</language>
</langstring>
</entry>
</catalogentry>
<grouplanguage>en</grouplanguage>
<description>
<langstring>
<value>Sponge Culture: Learning from Biology and Ecology</value>
<language>en</language>
</langstring>
</description>
</general>
<lifecycle xmlns="" />
<metametadata xmlns="">
<metadatascheme>LORENET</metadatascheme>
</metametadata>
<technical xmlns="">
<format>text/html</format>
<location>
<value>http://wurtv.wur.nl/wurtv/viewer.html?path=aulatv/2007/05/29/2/</value>
<type>URI</type>
</location>
</technical>
<educational xmlns="">
<learningresourcetype>
<source>
<langstring>
<value>TPPOVOv1.0</value>
<language>en</language>
</langstring>
</source>
<value>
<langstring>
<value>informatiebron</value>
<language>en</language>
</langstring>
</value>
</learningresourcetype>
<context>
<source>
<langstring>
<value>TPPOVOv1.0</value>
<language>en</language>
</langstring>
</source>
<value>
<langstring>
<value>WO</value>
<language>en</language>
</langstring>
</value>
</context>
</educational>
<rights xmlns="">
<cost>
<source>
<langstring>
<value>LOMv1.0</value>
<language>x-none</language>
</langstring>
</source>
<value>
<langstring>
<value>no</value>
<language>en</language>
</langstring>
</value>
</cost>
<copyrightandotherrestrictions>
<source>
<langstring>
<value>CCv2.5</value>
<language>x-none</language>
</langstring>
</source>
<value>
<langstring>
<value>http://creativecommons.org/licenses/by-nc-nd/2.5/en/</value>
<language>en</language>
</langstring>
</value>
</copyrightandotherrestrictions>
</rights>
<classification xmlns="">
<purpose>
<source>
<langstring>
<value />
<language>x-none</language>
</langstring>
</source>
<value>
<langstring>
<value />
<language>x-none</language>
</langstring>
</value>
</purpose>
<taxonpath>
<taxon>
<id>NBC48</id>
<entry>
<langstring>
<value>Agricultural science</value>
<language>en</language>
</langstring>
</entry>
</taxon>
</taxonpath>
</classification>
</lom:lom>
</metadata>
</record>
ovonder
 
Posts: 5
Joined: Wed Jun 20, 2007 5:36 am

Postby asmecher » Wed Jun 20, 2007 9:46 am

Hi ovonder,

We haven't heard of anyone using IEEE LOM extracts with OJS, but if you have any development expertise on hand, it would be suitable for a fairly straight-forward "gateway" plugin. Have a look at the OJS Technical Reference, available in the "Documentation" link off the OJS home page, and also look at the Google Scholar gateway plugin for an example, which ships with the most recent release of OJS.

Please let me know if you need any more information.

Regards,
Alec Smecher
Public Knowledge Project Team
---
Don't miss the First International PKP Scholarly Publishing Conference
July 11 - 13, 2007, Vancouver, BC, Canada
http://ocs.sfu.ca/pkp2007/
asmecher
 
Posts: 8425
Joined: Wed Aug 10, 2005 12:56 pm

Postby ovonder » Thu Jun 21, 2007 1:10 am

Dear alec,

Thanks for the fast response. Funny how the mind works... After reading up on the project, i discovered your OJS content creation system. However, my interest is from an other point of view. We are trying to collect metadata from various resources in our university into 1 metadata system in order to offer the public a unique enterance and search tool to all our knowledge. This means combining library records (http://library.wur.nl/oai) with elearning records (Hive learning content management system) and streaming presentations (http://www.presentations2go.eu). All resources have an OAI interface, however, they use various metadata formats.

The PKPHarvester is a tool which we would like to use to harvest and search throug all this data. If we succeed the next step will be a webservice which can be used for external portals/websites to include references to interesting selections within the PKP Harvester.


So.. my question... is there an instruction how to build your own alternative metadata schema plugin. Where to start, what to copy an where to register things. Is there an example available other then mods or marc, how to change the pre-plugin in such a way that

<technical><location><value></value></location></technical> will end up in the harvester as the link to the source document...

best regards,

Oscar Vonder
Wageningen University
ovonder
 
Posts: 5
Joined: Wed Jun 20, 2007 5:36 am

Postby asmecher » Thu Jun 21, 2007 10:28 am

Hi Oscar,

Unfortunately, we don't have a document describing the creation process for a new schema plugin -- however, the current set of plugins, particularly the Dublin Core plugin, should provide a good example. Everything required to harvest Dublin Core data is in the plugins/schemas/dc directory: the plugin itself, the XML handler, the locale data, and the two templates, one to display a record summary and another to display an entire record. You'll need to add an alias for the plugin to registry/schemaMap.xml so that there is a mapping from the OAI metadata prefix to the plugin name. Again, the DC entry should serve as a good example.

I'd be happy to answer any questions that come up as you work through the process. This forum is the best place, so that other users who are working on similar projects can benefit. There is also a technical reference available from the Harvester's Documentation page on the PKP website.

Regards,
Alec Smecher
Public Knowledge Project Team
---
Don't miss the First International PKP Scholarly Publishing Conference
July 11 - 13, 2007, Vancouver, BC, Canada
http://ocs.sfu.ca/pkp2007/
asmecher
 
Posts: 8425
Joined: Wed Aug 10, 2005 12:56 pm

Postby ovonder » Fri Jun 22, 2007 2:49 am

Alec, thanks for the reply!
I will tried to follow your steps. but get a lot of errors, starting with:

Warning: opendir(plugins/postprocessors) [function.opendir]: failed to open dir: Invalid argument in C:\moodle\oai\harvester\classes\plugins\PluginRegistry.inc.php on line 73

which i fixed by creating a missing directory. Then only 1 error remained:

Warning: Cannot modify header information - headers already sent by (output started at C:\moodle\oai\harvester\plugins\schemas\lom\index.php:1) in C:\moodle\oai\harvester\classes\template\TemplateManager.inc.php on line 127

two questions:

1. i do see my new plugin at the bottom of the plugin page just below dublincore, however , when adding a new archive, there is still not an option to select something else then dublin core (i don't see ieeelom, or marc or mods..)

2. Can anyone explain how to fix the cannot modify header information?

------
steps i took:

1. I have copied plugins\schemas\dc to plugins\schemas\lom,
2. and replaced the names of files from dublincoreplugin into ieeelomplugin.
3. Then i replaced dublin core and dublincore in all places in the documents in this folders.
4. i changed .dc. in locale\en_us\locale.xml into .lom.
5. i added
</schema>
<schema plugin="IEEELOMPlugin">
<alias harvester="OAIHarvesterPlugin">lom</alias>
</schema>
in registry\schemamap.xml
6. checked the php files for .dc. references and replaced it by .lom.
7. created a missing directory \plugins\postprocessing



[/list]
ovonder
 
Posts: 5
Joined: Wed Jun 20, 2007 5:36 am

Postby asmecher » Fri Jun 22, 2007 3:28 pm

Hi ovonder,

To correct the warning message, check to make sure there's not a blank line at the beginning of C:\moodle\oai\harvester\plugins\schemas\lom\index.php.

Schemas are displayed or hidden based on the results of the ListMetadataFormats OAI query; you can see for yourself what formats are available by requesting your OAI data source URL with "?verb=ListMetadataFormats" appended. The Harvester uses the registry/schemaMap.xml file to map from the listed metadata formats into the Harvester plugin names.

Regards,
Alec Smecher
Public Knowledge Project Team
---
Don't miss the First International PKP Scholarly Publishing Conference
July 11 - 13, 2007, Vancouver, BC, Canada
http://ocs.sfu.ca/pkp2007/
asmecher
 
Posts: 8425
Joined: Wed Aug 10, 2005 12:56 pm

Postby ovonder » Mon Jun 25, 2007 12:13 am

Dear Alec,

i managed to get the plugin accepted by the harvester, you tip was helpfull, i assummed lom to be the schema name, but after entering your verb, it appeared to be : imsmd_v1p2. So i changed the schemaMap.xml And now ieee lom is an option when creating a new archive and clicking on fetch.

I didn't find the empty line, but that's not a serieus problem for now. However i ran into the next problem...

IEEE LOM, uses multiple subtags under an item:
<title>
<langstring>
<value>Graduation mw. S. de Caralt</value>
<language>en</language>
</langstring>
</title>
<description>
<langstring>
<value>Sponge Culture: Learning from Biology and Ecology</value>
<language>en</language>
</langstring>
</description>

Now i end up with the field value of the second (filled)tag:
----------
Title en
Description en
-------------
So, the language string is placed on top of the real value.

Any tips where to change the php code to place all values , delimited, or only the first value?

best Regards,

Oscar

ps, i really appreciate your help!
ovonder
 
Posts: 5
Joined: Wed Jun 20, 2007 5:36 am

Postby asmecher » Mon Jun 25, 2007 7:55 pm

Hi Oscar,

The DC plugin is pretty simple in its handling and parsing of metadata because of the flat structure of DC data. Have a look at the other schema plugins, in particular the MODS XML handler class.

Regards,
Alec Smecher
Public Knowledge Project Team
---
Don't miss the First International PKP Scholarly Publishing Conference
July 11 - 13, 2007, Vancouver, BC, Canada
http://ocs.sfu.ca/pkp2007/
asmecher
 
Posts: 8425
Joined: Wed Aug 10, 2005 12:56 pm

Postby ovonder » Tue Jul 10, 2007 6:17 am

I have made a function to simplify an LOM xml structure into a DC kind of format:

<?xml version="1.0" encoding="utf-8"?>
<ListRecords>
<record>
<header_identifier>oai:triple-l:cf6f0164-77df-42e8-8b75-5c7ad6a481fd</header_identifier>
<header_datestamp>2007-07-06T12:13:05Z</header_datestamp>
<header_datestampasdatetime>2007-07-06T14:13:05+02:00</header_datestampasdatetime>
<metadata_lom:lom>Array</metadata_lom:lom>
<metadata_lom:lom_general_title_langstring_value>Graduation mw. L.H. Aramyan, MSc</metadata_lom:lom_general_title_langstring_value>
<metadata_lom:lom_general_title_langstring_language>x-none</metadata_lom:lom_general_title_langstring_language>
<metadata_lom:lom_general_catalogentry_catalog>nl.wur.wurtv </metadata_lom:lom_general_catalogentry_catalog>


etc.

My questions:
1. Which variable should i parse to this function to preprocess the xml into an simple format
2. In which file (+path) and on which position should i call this function? (i have made a copy of the plugin/schemas/dc into plugin/schemas/lom
3. are there essential parts in the DC xml record which i need to get this to function?

best regards,

Oscar Vonder
Wageningen UR
ovonder
 
Posts: 5
Joined: Wed Jun 20, 2007 5:36 am

Re: IEEE LOM

Postby encore » Wed Jul 16, 2008 5:05 am

Hello,

I am currently in the same situation like Oscar and Fred (see other thread) and try to implement IEEE LOM to the harvester.
Once I succeeded I want to share this as a plugin to the community. But it seems that there are still some stones in my way and I hope you can help me to clear the way.

I succeeded in implementing the new metadata format "LOM" and can choose it when adding an archive.
But when I try to harvest my repository and click in the administration on "Update Metadata Index" I get this message: The metadata index has been updated. 0 records are currently indexed.

Something happened, but something failed.
Is there a log file where I can see the process of harvesting or is there some kind of debugging?
The problem might be the XML structure, so I tested several possibilities. But had no luck at all.

But here is my mystery: I tried to harvest another existing repository (not mine) and could harvest more than 100 entries in LOM format. Of course the display in the "browse archive" menu wasn't good at all, but at least they showed up.

I began to change my repository to have exactly the same XML structure, but still couldn't get any record.

It would be great to get any hints on that.

Thanks a lot,
Tobias
encore
 
Posts: 1
Joined: Wed Jul 16, 2008 4:26 am

Re: IEEE LOM

Postby asmecher » Wed Jul 16, 2008 9:46 am

Hi Tobias,

If PHP's XML parser is unable to successfully parse the XML of an OAI response, it will sometimes show up as "0 records harvested". I'd suggest trying the command-line harvesting tool, tools/harvest.php, which has a debugging option that displays the URLs it's using to get OAI data. Fetch this URL manually using a tool like wget, and then run the result through an XML validator like xmllint.

Regards,
Alec Smecher
Public Knowledge Project Team
asmecher
 
Posts: 8425
Joined: Wed Aug 10, 2005 12:56 pm


Return to Open Harvester Systems Support and Development

Who is online

Users browsing this forum: No registered users and 2 guests