Content Model API

Title (Goal)Support Fedora 3-style object classes (content models) - Content Model API
Primary ActorRepository architect & implementer 
ScopeData architecture and access
LevelHigh 
Story (A paragraph or two describing what happens)

As a repository manager,

    1. I will be able to associate "content models" to objects via an API
    2. I will be able to disassociate objects from "content models" via an API
      1. In so doing, services associated with those "content models" are no longer available on those objects
    3. I will be able to associate objects with a single content model only
    4. I will be able to define relationships between objects

6 Comments

  1. As of 4.0-Alpha-4, numbers 1, 2, and 4 are supported via mixins. Number 2a is contingent on discussions related to this use case. Number 3 is contingent on this proposal and may not be included in Fedora 4.0.

  2. Stefano Cossu can you verify that numbers 1, 2, and 4 are supported in the Alpha 4 build?

    1. David,

      1,2 and 4 are supported in alpha 4. Although I'm not sure that 2.a is dependent on the discussion about permissions. This case is about breaking the relationship between object and services, the other one is about removing or changing access policies associated with a content model. 

      1. David WilcoxAndrew Woods, regarding point 2.a: by "services" associated with a content model, do we also intend the set of child nodes and properties defined and/or auto-created by a content model?

        In that case, if I have e.g. a CND definition of a mixin type that auto-creates some properties, and I attach that mixin to a node, the properties are created as expected. But if I remove the mixin, the properties are not removed (and there is no easy way to remove them without duplicating the content model schema in the client). 

        1. Hello Stefano Cossu, "we intend" what you intend, since you wrote the use case. However, I will say that my interpretation of 2a. does not imply the removal of child nodes or properties with the removal of a mixin. Rather, I interpret 2a. to mean that services in the object services sense would no longer be available on objects that no longer have a mixin that was previously applied to that object.

          1. Andrew Woods, I was asking since these use cases were sort of a collaborative writing. 

            My issue probably pertains more to Art Institute of Chicago Use Case - Structural Validation. I will add it to that page.