Skip to the content.

Get started

What is needed

Todo

  1. Start-up the sync library

    Utilize class SmintIoSynchronization and create an instance, providing your (proposed) required implementations:

     final ISmintIoSynchronization smintIoSync = new SmintIoSynchronization(
         new DefaultSyncTargetFactory()
             .setSettingsProvider(() -> settings)
             .setAuthTokenStorage(new MyAuthTokenStorage())
             .setJobDataStorage(new MyJobStorageHandler())
             .setDataFactory(new MySyncTargetDataFactory())
             .setSyncTargetProvider(() -> new MySyncTarget())
     ).start();
    
  2. Implement settings provider ISettingsModel. Settings will be read a lot, so implement some caching technique in case you will read the data from the database.

  3. Implement storage provider for OAuth access data IAuthTokenStorage.

  4. implement storage handler for Job data storage ISyncJobDataStorage.

  5. implement synchronization target (DAM) data factory ISyncTargetDataFactory.
     public class MySyncTargetDataFactory implements ISyncTargetDataFactory {
    
         @Override
         public ISyncBinaryAsset createSyncBinaryAsset() {
             return new MySyncBinaryAssetImpl();
         }
    
         @Override
         public ISyncCompoundAsset createSyncCompoundAsset() {
             return new MySyncCompoundAssetImpl();
         }
    
         @Override
         public ISyncLicenseTerm createSyncLicenseTerm() {
             return new MySyncLicenseTermImpl();
         }
    
         @Override
         public ISyncReleaseDetails createSyncReleaseDetails() {
             return new MySyncReleaseDetailsImpl();
         }
    
         @Override
         public ISyncDownloadConstraints createSyncDownloadConstraints() {
             return new MySyncDownloadConstraintsImpl();
         }
     }
    
    
  6. (major) implement synchronization target (DAM) abstraction ISyncTarget.
     public class MySyncTarget implements ISyncTarget {
    
     }
    
    
  7. implement the interfaces representing meta data and asset data instances see Packages “target”

  8. implement OAuth authentification with the user utilizing the Package “authenticator”, see the OAuth example