...
So far, we've really only discussed the public "interfaces" of AtomPub in a writable CMA - the SDefs, URIs, and data formats. Let us now take a look at all CMA and instance objects together, and see if we can map our desired functionality on to them.
Image item model: (augments capabilities in demo:DualResImage)
Code Block |
---|
pid: thought-expdemo:ImageItemInstanceDualResImage relationship.hasService: thought-exp:ImageItem # New Atom functionality relationship.hasService: demo:DualResolution # Original Imageimage collection functionality relationship.hasModel: fedora-system:ContentModel-3.0 DS-COMPOSITE-MODEL: datastream: FULL_SIZE # from original demo:DualResImage datastream: MEDIUM_SIZE # from original demo:DualResImage datastream: RELS-EXT: # from original demo:DualResImage datastream: DC # from original demo:DualResImage |
Image item instance (one per image)
Code Block |
---|
pid: [item PID] datastream: MEDIUM_SIZE datastream: FULL_SIZE datastream: DC relationship.isMemberOf [collection PID] # de facto, see image collection demo objects relationship.hasModel: thought-expdemo:ImageItemInstanceDualResImage |
Image item SDef:
Code Block |
---|
pid: thought-exp:ImageItem method: service # APP Service document for one image collection method: feed # atom Image Collection feed relationship.hasModel atom:DomainModel # to have atom:Domain/feeds relationship.hasModel fedora-system:ServiceDefinition-3.0 |
...
Code Block |
---|
pid: thought-exp:ImageItemInstanceImpl relationship.isDeploymentOf: thought-exp:ImageItem relationship.isContractorOf: thought-expdemo:ImageItemInstanceDualResImage relationship.hasModel: fedora-system:ServiceDeployment-3.0 |
Image collection model:
Code Block |
---|
pid: thought-expdemo:ImageCollectionInstanceDualResImageCollection relationship.hasService: thought-exp:ImageCollection relationship.hasModel: # Adds fedoraatom collection functionality relationship.hasModel: fedora-system:ContentModel-3.0 DS-COMPOSITE-MODEL: datastream: thought-exp.imageCollectionEntryimageCollection.ATOM_SERVICE datastream: QUERY # from original demo:DualResImageCollection datastream: XSLT # from original demo:DualResImageCollection datastream: LIST # from original demo:DualResImageCollection |
Image collection instance:
Code Block |
---|
pid: [collection PID] relationship.hasModel demo:DualResImageCollection datastream: QUERY datastream: XSLT datastream: LIST datastream: thought-exp.ImageCollection.ATOM_SERVICE |
atom image Image collection SDef:
Code Block |
---|
Image atom image collection SDep:
Code Block |
---|
...