Sheet 1
Activation
  Performance
    Parallelization
      different subscribers
      multiple content to same subscriber
        Probably most problematic kind of parallelization to achieve safely. If done needs also be aware of different mappings when checking for collisions
      chunked transfer of one big piece of content
      step wise parallelization
        start activation as soon as first piece of content is versioned. do not wait for all to be versioned before starting the activation
        start backup of the content while receiving the content on public
  Testability
    clear separation of functionality in small managable tasks
      versioning
      content collection/export
      transfer
      backup of existing content
      import
      restore or deletion of the backup
  Extensibility
    Different subscribers
      Public instance
      RSS feed
      Other media (Flicker, etc)
    Different types of activation
    Different content sources
  Content Source
    Current content
    Versioned Content
    Exported Content ?
      could be possibly used for deferred activation of deletion as well as for undelete of the deleted content
  Activation types
    Single content
    Sets
      Content and sub content
      Disconnected set of content
      Rule based sets
        All modified content
        All results from query xyz
        ...
  Special Features
    Synchronization
      Journal based
        Reply activation to re-synchronize instace disconnected since arbitrary time
      Status based
        Used to re-create one single public w/o affecting the others
    Folder Activation status
      Represents state of the content incl. all the subcontent.
      Dynamic/calculated property
    Activation log on each public instance to aid custom cache flushing strategies?
  XA Activation
    Boundaries definition
      Currently all or none can participate in the transaction. Should be possible to define arbitrary sets of public instances to participate in transaction
  MetaData
    Activation date
    Activation initiator (publisher)
    Activation target (1..n)
    Content Activation log?
    "isModified" should be a status rather then dynamically calculated value. Should be probably mapped 1:1 with the targets
  Corner cases
    Public should use unique names for the transfer files to prevent conflicts when 2 pubscribers point to the same public
    Locks needs to be applied to the parent of activated content
    Unavailability of the lock is not a case for failure ... wait and repeat check instead
    Lock needs to be released safely no matter what ... use the timeout?
    Two activations of the same content are treaded as 2 consecutive activations