Interesting bit of history, Aaron.  I agree with Adam, but in light of 
the reasons you list, I can see the virtues of the current design.  In 
which case, it may make more sense to realistically set user 
expectations up front and make these principles explicit in the 
documentation, then provide some tips on what the repository 
administrator will need to do to ensure referential integrity if they 
plan to use the CMA.

Could/should Fedora contain a flag that turns CMA validations on or off, 
set by the end-user in the config file?  That might be an acceptable 
compromise between end-user friendliness and design flexibility.

-- Scott

Aaron Birkland wrote:
>> 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


-- 
Scott Prater
Library, Instructional, and Research Applications (LIRA)
Division of Information Technology (DoIT)
University of Wisconsin - Madison
pra...@wisc.edu

------------------------------------------------------------------------------
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