Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...