From the horse's mouth... "A Data object may assert a hasModel relationship to multiple CModel objects. Such a Data object should conform to all of its Content Models, containing an aggregation of all the Datastreams defined by the Content Models. If two or more Content Models define Datastreams which have the same name but different characteristics, no well-formed Data object can be constructed and likely the repository will be unable to deliver its content or services."
http://fedora-commons.org/confluence/display/FCR30/Fedora+Digital+Object+Model#FedoraDigitalObjectModel-ContentModelObject I haven't found anything that mentions how Fedora handles digital objects that belong to Content Models with the same or similar SDefs but different deployments, however. -- Scott Scott Prater wrote: > Hi, Bill -- > > Yes, my sense reading the Fedora docs and wiki is that the CDMA is > designed primarily to enable Content Model reuse and sharing, by making > them as modular as possible. This, I think, is the whole point of the > mix-in idea, the ability to subscribe a digital object model to as many > Content Models as is necessary to adequately describe the object and its > behaviors, but no more. One of the great things about this mix-in > approach is that someone else (such as you) could take my objects, > import them, and add/override more Content Models to them to refine them > even further. > > One danger we've discussed here, though, is what happens when Content > Models begin to step on each other. We haven't tested this out yet, but > what happens if Content Model A implements foo(), and Content Model B > also implements foo(), and digital object Bar is a member of both A and > B? Which implementation of foo() gets executed? Or, in the case of > datastreams, what happens if Content Model A says the object must > contain a datastream FOO of mime type text/xml, and Content Model B says > the object must contain a datastream FOO of mime type text/html? Which > (if any) constraint is applied to digital object Bar? > > A wide, rich plethora of atomistic Content Models can open yourself up > to that kind of confusion. That would be something that would need to > be taken into account also when designing a shareable Content Model > registry -- anyone who implements your Content Models will need to know, > preferably up front, if your Content Models are going to overlap with > theirs. > > -- Scott > > Bill Parod wrote: >> This has been a real interesting discussion. It brings up a design >> principle I've wondered about with CMDA: Does one view cmodels for >> data integrity or service readiness? That is, if you're using cmodels to >> enforce object completeness (data integrity), you might be inclined to >> express rich cmodels that thoroughly describe complex objects. However, >> if your goal is to maximize your objects' reusability (service >> readiness), you might be inclined to express multiple cmodels that are >> simpler with minimum datastream requirements so that a given object is >> more likely to match requirements for more services. I've been tending >> toward the latter approach since CMDA. I think this is in the spirit of >> what Scott suggested, (is that right, Scott?) but with premium on >> satisfying likely service opportunities. >> >> Of course, one can go both ways, declaring complex cmodels for >> integrity, profiling, or more demanding service requirements. And also >> break those out simply to enable contractual promiscuity. So maybe this >> is a non-issue.:) But if there's community potential for cmodel and >> service registries, it might be good to map this out a bit and see where >> there are natural cmodel/service agreements/opportunities. Are there >> other trade-offs to consider? How are others approaching this? > -- Scott Prater Library, Instructional, and Research Applications (LIRA) Division of Information Technology (DoIT) University of Wisconsin - Madison [email protected] ------------------------------------------------------------------------------ This SF.net email is sponsored by: SourcForge Community SourceForge wants to tell your story. http://p.sf.net/sfu/sf-spreadtheword _______________________________________________ Fedora-commons-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/fedora-commons-users
