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 see if the surrounding objects (take a look at all CMA and instance objects together, content models, and Service Deployments) are tractable... and see if we can map our desired functionality on to them.

Image item model: (augments capabilities in demo:DualResImage)

Code Block

pid:                       thought-exp:ImageItemInstance
relationship.hasService:   thought-exp:ImageItem # Atom functionality
relationship.hasService:   demo:DualResolution   # Image collection functionality
relationship.hasModel:     fedora-system:ContentModel-3.0
DS-COMPOSITE-MODEL:        datastream: FULL_SIZE # from demo:DualResImage
                           datastream: MEDIUM_SIZE # from demo:DualResImage
                           datastream: RELS-EXT:  # from demo:DualResImage
                           datastream: DC # from demo:DualResImage

Image item instance (one per image)

Code Block

pid:                      [item PID]
datastream:               MEDIUM_SIZE
datastream:               FULL_SIZE
relationship.isMemberOf   [collection PID] # de facto, see image collection demo objects
relationship.hasModel:    thought-exp:ImageItemInstance

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

Image item SDep:

Code Block

pid:      thought-exp:ImageItemInstanceImpl
relationship.isDeploymentOf: thought-exp:ImageItem
relationship.isContractorOf: thought-exp:ImageItemInstance
relationship.hasModel: fedora-system:ServiceDeployment-3.0

Image collection model:

Code Block

pid:                       thought-exp:ImageCollectionInstance
relationship.hasService:   thought-exp:ImageCollection
relationship.hasModel:     fedora-system:ContentModel-3.0
DS-COMPOSITE-MODEL:        datastream: thought-exp.imageCollectionEntry.ATOM_SERVICE
                           datastream: QUERY # from demo:DualResImageCollection
                           datastream: XSLT  # from demo:DualResImageCollection
                           datastream: LIST  # from demo:DualResImageCollection

Image collection instance:

Code Block

pid:  [collection PID]

Image collection SDef:

Code Block

Image collection SDep:

Code Block

page is unfinished.  Need to put in discussion, questions/implications, and basic conclusion as to whether this makes sense, and if it truly adds any value to, say, an external APP service.