Pod model

Pod model

  • podId
  • containedObjects
  • podvarDeclarations
  • assembly-calls

podId

A UUID identifying the pod.

containedObjects

all the Java object graphs contained within the pod

podvarDeclarations

A podvar is a variable scoped to the pod. It gives a name to some property of some object within the pod.

assembly-calls

A list of calls to make in the assembly phase. So far, we have one type of assembly call, assignment. An assignment assigns one podvar to another. Something like:

PodId0.revisitUrl := PodId1.urlOfEvidence

See Pod XMLEncoder format for how this will look in XML.

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. May 19, 2006

    Scott Cytacki says:

    Is a podvarDeclaration the same as a "slot" in the pod xml format?

    Is a podvarDeclaration the same as a "slot" in the pod xml format?

  2. Sep 11, 2006

    Scott Cytacki says:

    After working with this model a bit. I really like to remove the assemblycalls. ...

    After working with this model a bit. I really like to remove the assembly-calls. Using these makes it difficult to parse the content without "assembling" it. This means the content is not declarative.

    I can see two reasons for the assembly calls:
    1. to deal with references to non-local objects. There needs to be a way to reference an object that is defined in another Pod. Assembly calls were probably the easiest way to make this work with XMLEncoder. There are other ways to do this that would be much easier to parse.
    2. to make the pod more reusable. Because part of the pod is stored unassembled in theory it should be possible to reuse the unassembled pod, by just changing the assembly calls. But this level of reuse has not been used. To reuse an assembled pod it just needs to be cleaned of its assembled parts.

    If we really want to maintain number 2, it would be possible to maintain this reuse in a declartive/templated way. However, even in this case it would be best to store a fully assembled pod in the curnit. The unassembled pod could be used by the authoring system and at publishing time the pod is fully assembled.