Differentiating inserts from updates

The rule: NewReleaseMessages are self-sufficient

Release delivery messages are - like the internet - stateless. That means that whenever information is sent, such information does not rely on previously sent information (there is one exception, see below). In other word any NewReleaseMessge is self-sufficient and the process of ingestion must therefore be always as follows:

  1. Check the validity of the received message. If it is not valid; reject it.

  2. For each release included

    1. Read the release data 

    2. Check if that release is already in the database

      1. If it is: replace the existing data elements with the ones just received. This can happen in two ways:

        1. Just replace the data that has been changed.

        2. Replace the complete Release (Note that  metadata that a company has collated or generated from other sources should not be deleted just because new Release information has been released; one such example are consumer reviews of Releases)

      2. If it is not: create a new entity with the data received.

  3. For each resource included

    1. Read the resource data    

    2. Check if that resource is already in the database

      1. If it is: replace the existing data elements with the ones just received (of course, additional metadata collated or generated directly should be retained)

      2. If it is not: create a new entity with the data received.

  4. For each deal included

    1. Read the deal data    

    2. Check if that deal is already in the database

      1. If it is: no action needed

      2. If it is not: create a new deal with the data received

  5. All deals not ingested in this message can be discarded (or archived)

UpdateIndicator

The presence and value of the UpdateIndicator should play no role in this process and DDEX has, therefore, deprecated this field.

The exception: resource files

Delivery of resource files requires a lot of bandwidth and it makes no sense to force a complete re-delivery of a 20-track album just to correct a typo in the title or to change the commercial terms of a Deal. Thus a re-delivery with no resource files does not override (i.e. delete) any resource files already delivered. The presence of a Technical...Details indicates, simply, whether the message at hand contains resource files or whether resource file have already been sent (or will be sent).