Identifiers

Cordra为每一个数字对象都分配对应标识符。此类标识符的形式为前缀/后缀。标识符的格式允许本数字对象可以引用其他数字对象,这种方式使得能够支持复杂的业务数据。

Cordra提供了一个内置的标识符/解析协议(IRP)接口,使客户端能够快速地将数字对象标识符解析为其状态信息,可以通过在服务器上注册定制的标识符使其可解析;可以使用handleminting配置和createhandlevalues钩子配置要返回的信息。在某些社区中,可通过IRP解析的标识符称为句柄,这些概念在后续的句柄集成介绍中继续阐述。

根据IRP,前缀起着特殊的作用。如果一个前缀在被称为mpa的认证方中注册,那么IRP客户端可以自动定位IRP提供者,并且反过来自动定位由Cordra实例管理的数字对象,无论这些对象在Internet中的何处。

用于创建数字对象的cordraapi允许用户指定标识符(包括前缀)。管理员还可以在Generate Object Id Hook的帮助下指定创建数字对象时要使用的标识符。一个Cordra实例可以具有所有具有相同前缀的对象,或者具有多个不同前缀的对象。如果标识符不是由用户或管理员指定的,Cordra将使用默认前缀分配标识符,该前缀可以按照handleminting配置中的指示进行配置。默认前缀(以及使用的任何其他前缀)可以向MPA注册。

简单来说,标识符是数据对象的身份证,可称为句柄,根据它可以找到数字对象,开发者可以自行配置标识符的生成格式,并使用cordra的钩子插件自行控制数据对象返回的信息内容。

Schemas

schema即结构,数据对象操作过程中可以定义数据结构,这样容易定义一些基础的数据规范,在服务器端使用schema来确保对象的结构正确,在客户端可以用来自动生成查看和编辑对象的用户界面。

schemas的概念和多数的NOSQL数据库的结构定义类似,给数据对象建一个类似表结构的微限制框架,数据创建时可以附带schemas中定义了的各属性,而同时定义的结构又不约束新建对象中充填其它属性。

Types

schemas是预定义的结构,types则是对应的结构实例,两者的关系类似Java中的类和实例。

schemas和types的定义语法将在下一篇Cordra服务端自带UI操作界面中阐述

Design Object

Cordra的模式配置设计,前一篇Cordra的简单开始中涉及的repoInit.json文档就是其配置文档,除了设置adminPassword和prefix等信息外,还有如allowInsecureAuthentication、enableVersionEdits等多个配置选项,详细配置可以参考Design Object进行各自业务需求的配置

Design JavaScript

方便快速生成request

Payloads

主体信息,在创建数据对象时,当选择某一个type后,除了其定义的结构属性外,还可以在主体信息内添加其它信息,比如文件、媒体对象等