在Dspace中伪造项目更改

时间:2016-05-12 02:39:34

标签: dspace

我遇到了正在运行的dspace的特殊情况。我需要假设某个项目发生了某些更新,因此这会触发通过OAI协议重新获取。

最好的方法是什么?我应该直接到达数据库并自己更改最后修改的值,还是可以在对象上执行上下文提交而不对其执行任何操作。

我只是想确保使用来自内部dspace repo的项目的外部存储库,即使没有发生任何更改,也可以定期自动对内部存储库的所有项目执行此操作。

非常感谢

1 个答案:

答案 0 :(得分:1)

要为初始收获准备集合,您需要确保集合项可供OAI服务使用。

如果您更改项目(通过任何方法),请运行

.../bin/dspace oai import
.../bin/dspace oai clean-cache

上面列出的命令应该安排在你的cron中。

出于测试目的,请运行以下命令强制刷新所有内容

.../bin/dspace oai import -c
.../bin/dspace oai clean-cache

在OAI SOLR存储库中,该项目将如下所示。

  {
    "item.id": 858,
    "item.public": true,
    "item.handle": "10822/761511",
    "item.lastmodified": "2016-04-15T23:25:13.321Z",
    "item.submitter": "user@org.edu",
    "item.deleted": false,
    "item.collections": [
      "col_10822_552792"
    ],
    "item.communities": [
      "com_10822_707896",
      "com_10822_707878",
      "com_10822_1"
    ],
    ...
}

从您的收藏中收集更新

一旦建立了收集的集合,收割机将继续轮询源集合以获取更新。

这些更新基于item.lastmodified日期。您必须触发item.lastmodified日期的更新才能触发重新获取项目。