> The CMA is such a core part of the repository architecture that I think a 
> situation in which the repository can be said to be working but the CMA can't 
> be is a bad situation to enable.

Ah, I see your perspective.  "working" is a bit of a sticky point here.
In conceptualizing the CMA, here were a few thoughts or principles that
motivated its design:

- Users may choose to ignore the CMA - simply preserving and providing
access objects without an explicit model is a valid use case.

- The core repository is not concerned with referential integrity of
RELS-EXT relationships.

- There shall not be a prescribed order in which objects must be
ingested into the repository.

- Service binding will occur dynamically.  If this cannot happen for
some reason (missing objects, relationships, etc), then a runtime error
is reported.

These thoughts were partly in response to problems encountered with the
precursor to the CMA.  In particular, the precursor *did* enforce a kind
of referential integrity - and this turned out to be a bit of a sore
point.  In response, there was a trend to more lightweight and dynamic
behaviour.   

So, in other words, it was intentional that the core repository would be
capable of ingesting and preserving objects that don't yet contribute to
a functioning CMA behaviour.  I think it was viewed that higher-level
validation, correction, etc could occur later (if at all), or as part of
some other functionality on layered on top of the basic core and enabled
separately.

Perhaps somebody can give more on the history and motivation.  It could
be worth revisiting if the resulting behaviours are seen as generally
unintuitive.

> It's not obvious to me how feedback could be supplied to avoid that, but 
> perhaps the ingest method could continue without the additional validation of 
> a) but could provide a response notation like "Ingested with PID", "Ingested 
> as content model with PID", "Ingested as service definition with PID", etc. 
> for the system-defined models? It could even be extended to user-defined 
> models, which could provide valuable feedback in a workflow. But admittedly, 
> that would induce more complexity and even if carried out cleverly, might 
> break older fragile installed workflows...

That is an interesting line of thought.  

  -Aaron


------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in  U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store 
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Fedora-commons-users mailing list
Fedora-commons-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to