Aaron--

You don't have to convince me of the dangers. I have ugly memories of watching 
Ross Wayland and Thorny Staples being chafed by the straightjacket of strong 
integrity for objects/bdefs/bmechs that was baked into the 2.x series. {grin}

With time, though, I've forgotten the grim images enough to reprice in my mind 
the guarantees that such strong constraints buy. But that's only my situation, 
and I accept your narrative and its import and the cautions they imply.

Let me suggest the existence of a set of categories of repository behavior 
desirable by different users, categories that might be directly connected with 
scale. The cost of correcting a failure that is publicly visible (e.g. a 
dissemination that fails) is often in a direct relationship with some function 
of the size of the repository. It may be that such a cost is very high to some 
users (who would then prefer to work in that comfortable, stylish, and 
supportive straightjacket) but a marginal and uninteresting item to others (who 
find it confining).

I'm impressed by Scott's suggestion of parameterized validation behavior, and I 
wonder if we could imagine partitioning his proposed CMA validation flag 
further into a module or service to include some of the options we've been 
discussing, and perhaps others. Could we leverage some of the enhanced content 
model validation functionality to support a range of sizes of straightjacket? 
{grin} 

While I understand and accept that forcing every user to construct workflows 
that fulfill these kinds of integrity would be wrong, I believe that there are 
enough users who would really benefit from the workflow feedback and long-term 
stability that such integrities provide that it's worth considering such 
provision.

---
A. Soroka
Digital Research and Scholarship R & D and Online Library Environment
the University of Virginia Library




On Oct 29, 2010, at 4:32 PM, 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
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/fedora-commons-users


------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/fedora-commons-users

Reply via email to