{"action":"created","issue":{"url":"https://api.github.com/repos/NCEAS/metacat/issues/645","repository_url":"https://api.github.com/repos/NCEAS/metacat","labels_url":"https://api.github.com/repos/NCEAS/metacat/issues/645/labels{/name}","comments_url":"https://api.github.com/repos/NCEAS/metacat/issues/645/comments","events_url":"https://api.github.com/repos/NCEAS/metacat/issues/645/events","html_url":"https://github.com/NCEAS/metacat/issues/645","id":302306087,"number":645,"title":"design and implement OAI-PMH compliant harvest subsystem","user":{"login":"mbjones","id":766407,"avatar_url":"https://avatars0.githubusercontent.com/u/766407?v=4","gravatar_id":"","url":"https://api.github.com/users/mbjones","html_url":"https://github.com/mbjones","followers_url":"https://api.github.com/users/mbjones/followers","following_url":"https://api.github.com/users/mbjones/following{/other_user}","gists_url":"https://api.github.com/users/mbjones/gists{/gist_id}","starred_url":"https://api.github.com/users/mbjones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbjones/subscriptions","organizations_url":"https://api.github.com/users/mbjones/orgs","repos_url":"https://api.github.com/users/mbjones/repos","events_url":"https://api.github.com/users/mbjones/events{/privacy}","received_events_url":"https://api.github.com/users/mbjones/received_events","type":"User","site_admin":false},"labels":[{"id":822385528,"url":"https://api.github.com/repos/NCEAS/metacat/labels/Category:%20metacat","name":"Category: metacat","color":"ededed","default":false},{"id":822385150,"url":"https://api.github.com/repos/NCEAS/metacat/labels/Component:%20Bugzilla-Id","name":"Component: Bugzilla-Id","color":"ededed","default":false},{"id":822385527,"url":"https://api.github.com/repos/NCEAS/metacat/labels/Priority:%20Immediate","name":"Priority: Immediate","color":"ededed","default":false},{"id":854418426,"url":"https://api.github.com/repos/NCEAS/metacat/labels/Status:%20In%20Progress","name":"Status: In Progress","color":"ededed","default":false},{"id":822385145,"url":"https://api.github.com/repos/NCEAS/metacat/labels/Tracker:%20Bug","name":"Tracker: Bug","color":"ededed","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/NCEAS/metacat/milestones/11","html_url":"https://github.com/NCEAS/metacat/milestone/11","labels_url":"https://api.github.com/repos/NCEAS/metacat/milestones/11/labels","id":3157855,"number":11,"title":"2.x.y","description":null,"creator":{"login":"mbjones","id":766407,"avatar_url":"https://avatars0.githubusercontent.com/u/766407?v=4","gravatar_id":"","url":"https://api.github.com/users/mbjones","html_url":"https://github.com/mbjones","followers_url":"https://api.github.com/users/mbjones/followers","following_url":"https://api.github.com/users/mbjones/following{/other_user}","gists_url":"https://api.github.com/users/mbjones/gists{/gist_id}","starred_url":"https://api.github.com/users/mbjones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbjones/subscriptions","organizations_url":"https://api.github.com/users/mbjones/orgs","repos_url":"https://api.github.com/users/mbjones/repos","events_url":"https://api.github.com/users/mbjones/events{/privacy}","received_events_url":"https://api.github.com/users/mbjones/received_events","type":"User","site_admin":false},"open_issues":29,"closed_issues":12,"state":"open","created_at":"2018-03-03T01:52:11Z","updated_at":"2018-03-05T13:48:07Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2018-03-05T13:48:07Z","updated_at":"2018-03-05T13:48:09Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"---\n\n\nAuthor Name: **Matt Jones** (Matt Jones)\nOriginal Redmine Issue: 3835, https://projects.ecoinformatics.org/ecoinfo/issues/3835\nOriginal Date: 2009-02-23\nOriginal Assignee: Duane Costa\n\n---\n\nMetacat's current harvest mechanism works well but is a proprietary system.  The Dryad project has proposed to implement an OAI-PMH compliant harvest susbstem for Metacat in order to allow Metacat to interact more effectively with other systems that implement this protocol.  This is a tracking bug for the design and implementation of this feature.  Other more detailed bugs will be filed for specific tasks.  It would be useful if the final system allowed Metacat to act as both an OAI-PMH Data Provider and as an OAI-PMH Service Provider, allowing us to both serve and harvest documents from OAI-PMH servers.  \r\n\r\nSome issues to consider and discuss:\r\n1) lack of record authorization mechanisms in OAI-PMH.  Metacat currently allows harvest with access controls on harvested records.  Reverting to a purely OAI-PMH system would eliminate this capability that is used by many of our harvest clients (especially for data, but somewhat for metadata as well).  So the design needs to consider a hybrid that allows both public records to be exposed through OAI-PMH and restricted records to be exposed through a protocol like Metacat's that supports access control.  What is our design goal here?\r\n\r\n2) A corollary of (1) is how to determine who is allowed to update a given record.  Does OAI-PMH assume providers always originate from a constant URL endpoint in order to get around authenticating data providers? This is probably not reasonable for even short periods of time (a few years).  A number of sites change domain names over short period of times, and the harvester needs to be able to adjust to these changes, update endpoints, and still handle record replacement.  Maybe this is a non-issue if PMH allows provider endpoints to be updated.\r\n\r\n3) Date-based change detection in OAI-PMH versus GUID-based versioning in metacat.  How should these be reconciled?  If a PMH harvest occurs every ten days, but a metadata document is revised three times in that interval, does OAI-PMH only get the most recent version?  How are the other versions archived and made accessible over time?\r\n\r\n4) Data objects.  The Metacat harvester allows one to transfer objects of any type, which is used to harvest both metadata objects of various formats (e.g., EML and FGDC) as well as the associated data objects.  Each of these objects has their own unique identifier.  How would this be handled under OAI-PMH?\r\n\r\nA nice background set of slides is here:\r\nhttp://www.oaforum.org/otherfiles/berl_oai-tutorial_e.ppt\n\n\n"},"comment":{"url":"https://api.github.com/repos/NCEAS/metacat/issues/comments/370424034","html_url":"https://github.com/NCEAS/metacat/issues/645#issuecomment-370424034","issue_url":"https://api.github.com/repos/NCEAS/metacat/issues/645","id":370424034,"user":{"login":"mbjones","id":766407,"avatar_url":"https://avatars0.githubusercontent.com/u/766407?v=4","gravatar_id":"","url":"https://api.github.com/users/mbjones","html_url":"https://github.com/mbjones","followers_url":"https://api.github.com/users/mbjones/followers","following_url":"https://api.github.com/users/mbjones/following{/other_user}","gists_url":"https://api.github.com/users/mbjones/gists{/gist_id}","starred_url":"https://api.github.com/users/mbjones/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mbjones/subscriptions","organizations_url":"https://api.github.com/users/mbjones/orgs","repos_url":"https://api.github.com/users/mbjones/repos","events_url":"https://api.github.com/users/mbjones/events{/privacy}","received_events_url":"https://api.github.com/users/mbjones/received_events","type":"User","site_admin":false},"created_at":"2018-03-05T13:48:09Z","updated_at":"2018-03-05T13:48:09Z","author_association":"CONTRIBUTOR","body":"---\n\nOriginal Redmine Comment\nAuthor Name: **Duane Costa** (Duane Costa)\nOriginal Date: 2010-05-14T18:40:59Z\n\n---\n\nMatt Jones wrote:\n> Thanks, Duane.  I had missed that document, which seems quite complete after looking it over.  Would you be willing to incorporate the technical details of the documentation into the Administrator's Guide?  I think most of what you wrote could go in wholesale as it is now.\n>\n> The one major issue is that we have tried to make configuration pretty easy for people.  Maybe we need to add a new screen to the Metacat administration utility that allows people to turn on and off OAI, and possibly set needed properties?  For the most part, the default URLs would be fine, and its ok to enable the servlet by default, so this configuration might be a simple checkbox labeled 'Enable OAI-PMH?'.  Do you think that would work?\n>\n> Matt \n\nMatt,\n\nYes, with regard to both the Administrator's Guide and the Metacat administration utility, these sound like the best way to go. I'll add this info to the Bugzilla bug (#3835).\n\nI think this works well in terms of scheduling, too. Between May 1 through August 31, I am working on the second year of the Dryad/LTER project. Ryan or Mark will correct me if I'm wrong, but it seems that adding the finishing touches on the Metacat OAI-PMH work that was started last year would be a worthwhile part of this year's effort (although I should add that the main focus this year is to integrate the LTER controlled vocabulary with other vocabularies using the resources provided by a project called HIVE -- Helping Interdisciplinary Vocabulary Engineering).\n\nDuane"}}
{"actor":{"display_login":"mbjones"}}