在一个包中处理起草和生产Invenio记录

oarepo-invenio-records-draft的Python项目详细描述


库原则:

  1. 草稿记录应遵循与已发布记录相同的json模式,但有一个例外 所有/大多数属性都不是必需的,即使它们被标记为这样

  2. 草稿记录应遵循与已发布记录相同的棉花糖架构 一些例外:

    < Buff行情>
    1. 所有/大多数属性都不是必需的,即使它们被标记为这样
    2. 对于附加了验证器的属性,这些验证器将被忽略, 除非它们被明确标记为允许吃水
  3. 如果愿意的话,草稿记录可能被配置为完全不遵循模式。在这种情况下, 该记录在ElasticSearch中根本没有索引。

  4. "草稿"记录与已发布的记录位于不同的端点和不同的ES索引。 对于已发布的记录和 /api/drafts/records 用于草稿

  5. 草稿和已发布的记录共享相同的pid值,但具有两种不同的pid类型

  6. 无法直接创建/更新/修补已发布的记录。草稿记录可以是 创建/更新/修补。

  7. invenio记录包含json负载中的 link 头和 links 节。 已发布记录的链接包含(除了 self ):

    < Buff行情>
    1. 草稿 -链接到记录"草稿"版本的URL。此URL存在 仅当记录的草稿版本存在并且调用方具有 编辑草稿
    2. 编辑 -指向创建记录草稿版本的处理程序的URL,然后 返回http 302重定向到草稿版本。只有当 草稿版本不存在
    3. 取消发布 -指向创建记录草稿版本的处理程序的URL 如果不存在,则删除已发布的版本,然后将http 302返回草稿。
  8. 在草稿记录中, 链接包含(除了 self ):

    < Buff行情>
    1. 已发布 -链接到记录的"已发布"版本的URL。此URL存在 o仅当记录的已发布版本存在时
    2. 发布 -发布到此url的帖子将发布记录。松下和棉花糖 必须传递已发布记录的架构。发布后,草稿记录是 删除。返回的http 302指向已发布的记录。
  9. 草稿记录的序列化表示包含名为 invenio_draft_validation 的节。 本节包含棉花糖和jsonschema对原始 模式:

  10. 删除已发布的记录不会删除草稿记录。

  11. 删除草稿记录不会删除已发布的记录。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用运行时从JAVA运行openssl命令?   不使用线程安全类(如AtomicInteger和SynchronizedList)的java ProducerConsumer问题   匹配字符串的java模式   在java中使用泛型接口作为返回类型   java将可能具有序列化JSON值的hashmap作为节点添加到JSON字符串中   Eclipse无法从Java8流推断正确的类型   java无法了解标准JButton的大小   java我能用一个循环优化这个函数吗(在第一种方法中)?   Apache CXF中基于WebSocket的java SOAP?   java想要运行奇偶和求和三步   矩阵上随机元素的java集值   java布尔相等:0==a,操作数顺序重要吗?   java Eclipse不会退出我的插件   java如何在spring的SOAP拦截器中获取HttpServletRequest和HttpServletResponse