Project

General

Profile

MusicMaster integration

Protocol and API

Music master integration page https://www.musicmaster.com/integration.php

The protocol itself is not too complicated. And seems to be clear. Probably we will have some questions later. What is more important is algorithm of data ans schedule transferring we are going to use.

Schedule transferring.

  • Operation executed by request.
  • User can specify hours to be imported.
  • We have a grid for the schedule.
  • All blocks are created from this grid.
  • We do not create blocks during import.
  • During import from music master we use only music blocks as destination.
  • Before reimport of one hour we clear all music blocks in this hour.

Data exchange.

* Operation executed by request. (Or can be scheduled to be executed at a special time once a day?)

* We store MusicMaster id in out ID_Number field.

* We have a special category in digispot database. Inside this category we have categories like in music master (same names)

* Data exchange algorithm

* Load all items from MusicMaster

* Load all items MusicMaster category from DIGISPOT DB

* Deleting items from DIGISPOT. We delete items in DIGISPOT DB wich have id_Number but there is no item in MusicMaster with such id

* Deleting items from MusicMaster. We select all deleted items with ID_Number from DIGISPOT and delete all items with such id from MusicMaster

* Add items to MusicMaster, If we have some item in the DIGISPOT without ID_Number such item should be added to MusicMuster and its ID_Number in DIGISPOT should be updated with the new MusicMaster item id

* Add items to DIGISPOT, If we have some item in the MusicMuster and we can not find item in DIGISPOT with such ID_Number we will add this item to DIGISPOT and set its ID_Number from MusicMaster id

* Merge items. If we have item with ID_Number in DIGISPOT and we have item with the same id in MusicMaster we merge such items.

Merge items.

As far as I understand there is no possibility to get information what items were changed in MusicMaster since last request. It mean that we have to store all information about all items on the last exchange moment and use it what fields in which items were changed. We have to specify list of fields to be transferred between two databases and how to merge them.
For example:

  • duration - always take from digispot
  • name – when changed on both sides - take from MusicMaster

Reconciliation

Should be executed by request or schedule on some special time. I think we should use reconcileElements operation. What is unclear to me how to avoid duplications if we execute this task several times for the same day.

Resume

What do we need:

  • list of fields to be transferred
  • merge algorithm for every field
  • reconciliation algorithm is not clear

Add picture from clipboard (Maximum size: 742 MB)