1.15k likes | 1.32k Views
Repository. FEDORA. Issued document 1.0. Rathachai Chawuthai rathachai.chawuthai@live.com . Information Management CSIM / AIT. Agenda. Overview Data Model Services Architecture Fedora in use C hallenges. Overview. What is Fedora.
E N D
Repository FEDORA Issued document 1.0 RathachaiChawuthai rathachai.chawuthai@live.com Information Management CSIM / AIT
Agenda • Overview • Data Model • Services • Architecture • Fedora in use • Challenges
What is Fedora • Flexible Extensible Digital Object Repository Architecture • A system that serve digital content repository for a wide variety of users • E.g. institutional repository, digital archive, content management system, scholarly publishing enterprises, and digital library. • Sponsor by Fedora Common • A non-profit organization providing free product fedora-commons.org, wikipedia.org
Capability • Fedora has a core component that response to enable durable storage and access to the digital content • Fedora is able to be either a stand-alone server or a component of other system • To complete repository solution, 3rd parties are needed to enhance features • E.g. authoring, search engine, workflow management, security component fedora-commons.org
Design advantages • Fedora’s Digital Object Model • The model can apply to many domains and digital object types. • Distributed Repositories • It can integrated access to digital resource from other repositories. • It provides interface accessed by multiple repositories. • Preservation & Archiving • Represent preservation object by XML format • Offer content versioning • Can define object to object relationships • Log event history for every change of the object • Web Service • Provide SOAP and REST access • Easy to integrate with other applications and systems • It is able to function as a generic repository that other applications or systems can apply it fedora-commons.org
Features • Store all types of content and its metadata • Digital content of any type can be managed and maintained • Metadata about content in any format can be managed and maintained • Scale to millions of objects • Access data via Web APIs (REST/SOAP) • Provide RDF search (SPARQL) • Rebuilder Utility (for disaster recovery and data migration) • The entire repository can be rebuilt from the digital object and content files. • Content Model Architecture (define "types" of objects by their content) • Many storage options (database and file systems) • JMS messaging (your apps can "listen" to repository events) • Web-based Administrator GUI (low-level object editing) • OAI-PMH Provider Service • GSearch (fulltext) Search Service • Multiple, customer driven front-ends. fedora-commons.org
Compare with others Archival Repository Systems • Fedora • A flexible system that is based on fundamental of SOA. It is capable to preserve and access any types of digital contents. However, it does not provide rich user interface. • DSpace • A complex system that complete all function of repository focusing on user experience mainly. However, it is not a flexible system. • EPrints • A system that is primarily used for scientific publication (digital object are not modified very often). Commonly, it provides features as a document management system. wikipedia.org
Compare with others Criteria • User Interface • Provide complete user interfaces supporting all types of end-users • System Security • Provide authentication and authorization in order to access information and functions • RDF searchable • Provide service for semantic search in form of RDF language • Customizable metadata formats • Allow users to work with many types of metadata format • Flexibility of the system • Has flexibility of architecture that allow to build many alternative behaviors • SOA principle • Provide accessibilities of services following principles of Service Oriented Architecture • Process based approach • Support document management process • Support Preservation Strategies • Support preservation activities of digital information based on OAIS reference model
Compare with others Result DSpace EPrints Fedora User Interface System Security RDF searchable Customizable metadata formats Flexibility of the system SOA principle Process based approach Support Preservation Strategies E D F E D F F F E D F D E F D F E F D E Michal,2010
FOXML Fedora Object XML FOXML is a metadata that is stored in an object as a content. FOXML is required by Fedora Repository <foxml:digitalObjectPID="demo:999"xmlns:foxml="info:fedora/fedora-system:def/foxml#"> <foxml:objectProperties> ... </foxml:objectProperties> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> ... </foxml:datastream> <foxml:datastreamID="RELS-EXT"CONTROL_GROUP="X"> ... </foxml:datastream> <foxml:datastreamCONTROL_GROUP="E"ID="IMAGE"STATE="A"VERSIONABLE="true"> ... </foxml:datastream> <foxml:disseminatorID="DISS1"BDEF_CONTRACT_PID="demo:8"STATE="A"VERSIONABLE="true"> ... </foxml:disseminator> </foxml:digitalObject>
Object Data Model • Digital Object Identifier: A unique, persistent identifier for the digital object. • System Properties: A set of system-defined descriptive properties that is necessary to manage and track the object in the repository. • Object Properties describe the object’s type, its state, the content model to which it subscribes, the created and last modified dates of the object, and its label. • Datastream(s): The element in a Fedora digital object that represents a content item. fedora-commons.org
System Properties • The content of System Properties is generated by system For example <foxml:objectProperties> <foxml:propertyNAME="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"VALUE="FedoraObject"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="A"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE="FOXML Reference Example"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#contentModel"VALUE="TEST_IMAGE"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2004-12-10T00:21:58.000Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2005-01-20T22:46:07.506Z"/> <foxml:extpropertyNAME="http://www.openarchives.org/OAI/1.1/oai-identifier.xsd"VALUE="oai:cornell.edu:demo:999"/> </foxml:objectProperties>
Datastreams • A datastream is the element of Fedora object • A Fedora object can have one/more Datastreams • (It can treat as bitstream) • Fedora model supports versioning of Datastreams • Every change of datastreams has running version fedora-commons.org
Datastreams • Datastreams can be: • Digital resource that is needed to preserve • Metadata of the digital resourceE.g. DublinCore (DC), METS, PREMIS, …. , and etc • More … • DC is a defaultDatastream of Fedora system • AUDIT is to record change of digital object. • AUDIT content is controlled by system (no human editable) • RELS-EXT is to provide relationship between digital objects fedora-commons.org
Datastreams • Easy perspective • Fedora repository as a warehouse • Fedora digital object as a cabinet • Datastreams as a drawer Fedora Object Datastream Fedora repository
Datastream ID:38493 Digital Object Identifier Keep Persistent ID of an object called PID PID
Datastream Object Property A set of system-defined descriptive properties that is necessary to manage and track the object in the repository. It is controlled by system PID Prop Example <foxml:objectProperties> <foxml:propertyNAME=“…#state"VALUE="Active"/> <foxml:propertyNAME=“…#label"VALUE="Example 1"/> <foxml:propertyNAME=“…#ownerId"VALUE=“st111227"/> </foxml:objectProperties>
Datastream Datastream DlubinCore (DC) A reserved datastream. (Key object metadata) DC contents is basically generate to fedora objects. However, administrator is able to add it by insert DC information in the stream <dc:title> <dc:author> PID Prop DC Example <oai_dc:dcxmlns:oai_dc="...."xmlns:dc="...."xmlns:xsi="...."xsi:schemaLocation="...."> <dc:title>Example 1</dc:title> <dc:identifier>demo:555</dc:identifier> </oai_dc:dc>
Datastream Datastream AUDIT A reserved datastream. (Key object metadata) To record a change of digital object. The record is controlled by system audit:record Audit:process PID Prop DC Example AUDIT <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>addDatastream</audit:action> <audit:componentID>HTML</audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-07T16:47:12.679Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail>
Datastream Datastream Relationship-ExternalRELS-EXT A reserved datastream. (Key object metadata) To defined relationship with other digital objects in RDF syntax PID Prop DC AUDIT Example RELS-EXT <foxml:datastreamID="RELS-EXT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="RELS-EXT1.0"LABEL="RDF Statements about this object" CREATED="2008-07-02T05:09:44.406Z"MIMETYPE="application/rdf+xml" > <foxml:xmlContent> <rdf:RDFxmlns:fedora-model="info:fedora/fedora-system:def/model#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> <rdf:Descriptionrdf:about="info:fedora/fedora-system:ServiceDeployment"> <fedora-model:hasModelrdf:resource="info:Model"></fedora-model:hasModel> </rdf:Description> </rdf:RDF> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream>
Datastream Datastream Content … e.g. IMG User can add content that need to preserve. In this case, user need to preserve image file, so he can upload image file to system and name the datastream himself (e.g. IMG). PID Prop DC AUDIT RELS-EXT IMG
Datastream Datastream Content e.g. Metadata “PREMIS” It can use datastream to keep external metadata schema e.g. PREMIS. User has to define a PREMIS content and add it as the datastream, then name the datastream e.g. “PREMIS” PID Prop DC pms:object pms:event pms:agent pms:rights AUDIT Example RELS-EXT IMG PREMIS
Versioning User can change datastream directly in the digital object. After changing, The system run a new version of the content. Thus, user is able to access the previous version of content. <dc:title> <dc:author> <dc:subject> PID Prop <dc:title> <dc:author> <dc:subject> DC V. 2 <dc:title> <dc:author> AUDIT V. 1 RELS-EXT IMG PREMIS DC
Datastream’s Properties • Datastream Identifier: an identifier for the Datastream that is unique within the digital object (but not necessarily globally unique) • State: the Datastream state of Active, Inactive, or Deleted • CreatedDate: the date/time that the Datastream was created (assigned by the repository service) • Modified Date: the date/time that the Datastream was modified (assigned by the repository service) • Versionable: an indicator (true/false) as to whether the repository service should version the Datastream. By default the repository versions all Datastreams. • Label: a descriptive label for the Datastream • MIME Type: the MIME type of the Datastream (required) fedora-commons.org
Datastream’s Properties • Format Identifier: an optional format identifier for the Datastream. Examples of emerging schemes are PRONOM and the Global Digital Format Registry (GDRF). • Alternate Identifiers: one or more alternate identifiers for the Datastream. Such identifiers could be local identifiers or global identifiers such as Handles or DOI. • Checksum: an integrity stamp for the Datastream which can be calculate using one of many standard algorithms (MD5, SHA-1, etc.) • BytestreamContent: the "stuff" of the Datastream is about (such as a document, digital image, video, metadata record) fedora-commons.org
Datastream’s Properties • Control Group: pertaining the thebytestream content, a new Datastream can be defined as one of four types, or control groups, as follows: • Internal XML Metadata – To store XML content • Managed Content – To store content that need to preserve; such as, image file, video, pdf, and etcthat upload to the system. • Redirect Referenced Content - To store URL of digital object from external repository • External Referenced Content – Same purpose as Redirect, but when user access the content, user will see url of content in the same domain name of the repository fedora-commons.org
Datastream’s Properties Can export Example Display digital object information Fedora object information List of datastreams Be able to add a new datastream
Datastream’s Properties Example XML Datastream group XML. It might be ontology, RDF, metadata, and etc. In case of XML, user can input XML content here.
Datastream’s Properties Example Datastream group Managed Content, a content that user need to preserve M Set MIME Type URL of image in repository
Datastream’s Properties Example E Reference digital object from external source. The digital content will not be stored in the repository itself. Set MIME Type Reference URL URL to access
Datastream’s Properties View XML Object View digital object in XML format Example
Datastream’s Properties Can export Example Export digital object to another format • FOXML 1.1 (the most current FOXML format) • FOXML 1.0 (the FOXML format used with pre-3.0 Fedora repositories) • METS 1.1 (the most current Fedora extension of METS) • METS 1.0 (the METS format used with pre-3.0 Fedora repositories) • ATOM (the Fedora extension of Atom) • ATOM ZIP (an ATOM based format which packages all datastreams along with the object XML in a ZIP file)
Example exported XML PID Information of object identifier … <?xmlversion="1.0"encoding="UTF-8"?> <foxml:digitalObjectVERSION="1.1"PID="changeme:2" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> <foxml:objectProperties> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="Active"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE=" Photo Jpg"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#ownerId"VALUE="Rathachai"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2011-07-06T15:13:41.243Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2011-07-12T20:10:58.659Z"/> </foxml:objectProperties> <foxml:datastreamID="AUDIT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="AUDIT.0"LABEL="Audit Trail for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> <foxml:xmlContent> <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:15:22.428Z</audit:date> <audit:justification></audit:justification> </audit:record> <audit:recordID="AUDREC2"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:16:37.065Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> <foxml:datastreamVersionID="DC1.0"LABEL="Dublin Core Record for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"SIZE="339"> <foxml:xmlContent> <oai_dc:dcxmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>changeme:2</dc:identifier> </oai_dc:dc> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="MEDRES_IMG"STATE="A"CONTROL_GROUP="M"VERSIONABLE="true"> <foxml:datastreamVersionID="MEDRES_IMG.0"LABEL="Rathachai image"CREATED="2011-07-06T15:23:39.962Z"MIMETYPE="text/jpeg"SIZE="4575"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.0"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.1"LABEL="Rathachai image"CREATED="2011-07-06T15:28:01.456Z"MIMETYPE="text/jpeg"SIZE="37443"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.1"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.2"LABEL="Rathachai image"CREATED="2011-07-06T15:29:40.024Z"MIMETYPE="text/jpeg"SIZE="54448"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.2"/> </foxml:datastreamVersion> </foxml:datastream> </foxml:digitalObject>
Example exported XML System Properties of digital object generated from system … <?xmlversion="1.0"encoding="UTF-8"?> <foxml:digitalObjectVERSION="1.1"PID="changeme:2" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> <foxml:objectProperties> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="Active"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE=" Photo Jpg"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#ownerId"VALUE="Rathachai"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2011-07-06T15:13:41.243Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2011-07-12T20:10:58.659Z"/> </foxml:objectProperties> <foxml:datastreamID="AUDIT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="AUDIT.0"LABEL="Audit Trail for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> <foxml:xmlContent> <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:15:22.428Z</audit:date> <audit:justification></audit:justification> </audit:record> <audit:recordID="AUDREC2"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:16:37.065Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> <foxml:datastreamVersionID="DC1.0"LABEL="Dublin Core Record for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"SIZE="339"> <foxml:xmlContent> <oai_dc:dcxmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>changeme:2</dc:identifier> </oai_dc:dc> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="MEDRES_IMG"STATE="A"CONTROL_GROUP="M"VERSIONABLE="true"> <foxml:datastreamVersionID="MEDRES_IMG.0"LABEL="Rathachai image"CREATED="2011-07-06T15:23:39.962Z"MIMETYPE="text/jpeg"SIZE="4575"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.0"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.1"LABEL="Rathachai image"CREATED="2011-07-06T15:28:01.456Z"MIMETYPE="text/jpeg"SIZE="37443"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.1"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.2"LABEL="Rathachai image"CREATED="2011-07-06T15:29:40.024Z"MIMETYPE="text/jpeg"SIZE="54448"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.2"/> </foxml:datastreamVersion> </foxml:datastream> </foxml:digitalObject>
Example exported XML <?xmlversion="1.0"encoding="UTF-8"?> <foxml:digitalObjectVERSION="1.1"PID="changeme:2" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> <foxml:objectProperties> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="Active"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE=" Photo Jpg"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#ownerId"VALUE="Rathachai"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2011-07-06T15:13:41.243Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2011-07-12T20:10:58.659Z"/> </foxml:objectProperties> <foxml:datastreamID="AUDIT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="AUDIT.0"LABEL="Audit Trail for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> <foxml:xmlContent> <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:15:22.428Z</audit:date> <audit:justification></audit:justification> </audit:record> <audit:recordID="AUDREC2"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:16:37.065Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> <foxml:datastreamVersionID="DC1.0"LABEL="Dublin Core Record for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"SIZE="339"> <foxml:xmlContent> <oai_dc:dcxmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>changeme:2</dc:identifier> </oai_dc:dc> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="MEDRES_IMG"STATE="A"CONTROL_GROUP="M"VERSIONABLE="true"> <foxml:datastreamVersionID="MEDRES_IMG.0"LABEL="Rathachai image"CREATED="2011-07-06T15:23:39.962Z"MIMETYPE="text/jpeg"SIZE="4575"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.0"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.1"LABEL="Rathachai image"CREATED="2011-07-06T15:28:01.456Z"MIMETYPE="text/jpeg"SIZE="37443"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.1"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.2"LABEL="Rathachai image"CREATED="2011-07-06T15:29:40.024Z"MIMETYPE="text/jpeg"SIZE="54448"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.2"/> </foxml:datastreamVersion> </foxml:datastream> </foxml:digitalObject> Datastream “AUDIT” … Audit ID An audit record Action Date
<?xmlversion="1.0"encoding="UTF-8"?> <foxml:digitalObjectVERSION="1.1"PID="changeme:2" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> <foxml:objectProperties> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="Active"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE=" Photo Jpg"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#ownerId"VALUE="Rathachai"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2011-07-06T15:13:41.243Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2011-07-12T20:10:58.659Z"/> </foxml:objectProperties> <foxml:datastreamID="AUDIT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="AUDIT.0"LABEL="Audit Trail for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> <foxml:xmlContent> <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:15:22.428Z</audit:date> <audit:justification></audit:justification> </audit:record> <audit:recordID="AUDREC2"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:16:37.065Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> <foxml:datastreamVersionID="DC1.0"LABEL="Dublin Core Record for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"SIZE="339"> <foxml:xmlContent> <oai_dc:dcxmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>changeme:2</dc:identifier> </oai_dc:dc> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="MEDRES_IMG"STATE="A"CONTROL_GROUP="M"VERSIONABLE="true"> <foxml:datastreamVersionID="MEDRES_IMG.0"LABEL="Rathachai image"CREATED="2011-07-06T15:23:39.962Z"MIMETYPE="text/jpeg"SIZE="4575"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.0"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.1"LABEL="Rathachai image"CREATED="2011-07-06T15:28:01.456Z"MIMETYPE="text/jpeg"SIZE="37443"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.1"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.2"LABEL="Rathachai image"CREATED="2011-07-06T15:29:40.024Z"MIMETYPE="text/jpeg"SIZE="54448"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.2"/> </foxml:datastreamVersion> </foxml:datastream> </foxml:digitalObject> Example exported XML Datastream “DC” DC content …
<?xmlversion="1.0"encoding="UTF-8"?> <foxml:digitalObjectVERSION="1.1"PID="changeme:2" xmlns:foxml="info:fedora/fedora-system:def/foxml#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="info:fedora/fedora-system:def/foxml# http://www.fedora.info/definitions/1/0/foxml1-1.xsd"> <foxml:objectProperties> <foxml:propertyNAME="info:fedora/fedora-system:def/model#state"VALUE="Active"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#label"VALUE=" Photo Jpg"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#ownerId"VALUE="Rathachai"/> <foxml:propertyNAME="info:fedora/fedora-system:def/model#createdDate"VALUE="2011-07-06T15:13:41.243Z"/> <foxml:propertyNAME="info:fedora/fedora-system:def/view#lastModifiedDate"VALUE="2011-07-12T20:10:58.659Z"/> </foxml:objectProperties> <foxml:datastreamID="AUDIT"STATE="A"CONTROL_GROUP="X"VERSIONABLE="false"> <foxml:datastreamVersionID="AUDIT.0"LABEL="Audit Trail for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="info:fedora/fedora-system:format/xml.fedora.audit"> <foxml:xmlContent> <audit:auditTrailxmlns:audit="info:fedora/fedora-system:def/audit#"> <audit:recordID="AUDREC1"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:15:22.428Z</audit:date> <audit:justification></audit:justification> </audit:record> <audit:recordID="AUDREC2"> <audit:processtype="Fedora API-M"/> <audit:action>modifyObject</audit:action> <audit:componentID></audit:componentID> <audit:responsibility>fedoraAdmin</audit:responsibility> <audit:date>2011-07-06T15:16:37.065Z</audit:date> <audit:justification></audit:justification> </audit:record> </audit:auditTrail> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="DC"STATE="A"CONTROL_GROUP="X"VERSIONABLE="true"> <foxml:datastreamVersionID="DC1.0"LABEL="Dublin Core Record for this object"CREATED="2011-07-06T15:13:41.243Z"MIMETYPE="text/xml"FORMAT_URI="http://www.openarchives.org/OAI/2.0/oai_dc/"SIZE="339"> <foxml:xmlContent> <oai_dc:dcxmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/"xmlns:dc="http://purl.org/dc/elements/1.1/"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd"> <dc:identifier>changeme:2</dc:identifier> </oai_dc:dc> </foxml:xmlContent> </foxml:datastreamVersion> </foxml:datastream> <foxml:datastreamID="MEDRES_IMG"STATE="A"CONTROL_GROUP="M"VERSIONABLE="true"> <foxml:datastreamVersionID="MEDRES_IMG.0"LABEL="Rathachai image"CREATED="2011-07-06T15:23:39.962Z"MIMETYPE="text/jpeg"SIZE="4575"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.0"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.1"LABEL="Rathachai image"CREATED="2011-07-06T15:28:01.456Z"MIMETYPE="text/jpeg"SIZE="37443"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.1"/> </foxml:datastreamVersion> <foxml:datastreamVersionID="MEDRES_IMG.2"LABEL="Rathachai image"CREATED="2011-07-06T15:29:40.024Z"MIMETYPE="text/jpeg"SIZE="54448"> <foxml:contentLocationTYPE="INTERNAL_ID"REF="changeme:2+MEDRES_IMG+MEDRES_IMG.2"/> </foxml:datastreamVersion> </foxml:datastream> </foxml:digitalObject> Example exported XML Managed Content(to store in repository) Datastream of preservation content Name + Version number Version Record URL to resource file …
Relationship • To record relationship of a Fedora digital object can be related to other Fedora objects. • Relationship types: • isPartOf, hasPart • isMemberOf, hasMember • Relationship ontology • http://www.fedora.info/definitions/1/0/fedora-relsext-ontology.rdfs fedora-commons.org
Relationship Example fedora-commons.org
Relationship • Benefit of relationship • Support OAI harvesting and user search/browse • Be able to define bibliographic relationship among objects • Define semantic relationship among resources • Link resources together based on contextual information fedora-commons.org
Relationship Pattern <subjectFedoraObject> <relationshipProperty> <targetFedoraObject> Example <Chapter1.pdf> <isPartOf> <TheBook> fedora-commons.org
Relationship Between object and object use datastreamRELS-EXT < > <isMemberCollectionOf> < >
Relationship Between datastreams inside the same Fedora digital objectuse datastreamRELS-INT < > <isThumbnailOf> < >
Major Features • Open Source - The Fedora repository system is open source software. • Flexible Digital Object Model - The Fedora digital object model provides the flexibility to create kinds of objects including documents, images, electronic books, multi-media learning objects, datasets, metadata, and etc. • Content Versioning - Any modifications made to a Datastreamthrough the Fedora management interface (API-M) will automatically result in the creation of a new version of that Datastream or Disseminator • XML Ingest and Export - Digital objects can be submitted to a Fedora repository as XML-encoded files : FOXML • XML Storage - By default, Fedora digital objects are stored in a Fedora repository as XML-encoded files • Object-to-Object Relationships - Fedora provides the ability to assert object-to-object relationships. • Access Control and Authentication - Includes a simple form of access control to provide access restrictions based on IP address/range. fedora-commons.org
Major Features • Simple Search - Fedora automatically creates simple indexes of the repository. Search engine also use information from DC and relationship. • RDF-based Resource Index - Includes more information about objects plus object-to-object relationships • OAI Metadata Harvesting Provider - The OAI Protocol for Metadata Harvesting is a standard for sharing metadata across repositories • Migration Utility - A new migration utility is provided to perform mass export and mass ingest of objects • Batch Utility - Fedora Administrator client that enables the mass creation and modification of Fedora digital objects • Reporting Utility - A reporting utility is provided providing different management views of the contents of the Fedora repository web services from wiki.duraspace.org
Web Service Interfaces Internet
Web Service Interfaces API • Management API (API-M) – SOAP-enabled web service defines an administration interface managing repository. There are necessary functions for administrator to create and maintain digital objects and their components. • Access API (API-A)– SOAP-enabled web service defines an interface for accessing digital objects stored in the repository. • Resource Index Search API–RDF based index search provides searching of the new Resource Index to each digital objects following: • object properties • object-to-object relationships • metadata about datastreams and disseminations • default Dublin Core record web services from wiki.duraspace.org