Chargement multiple de contenus, smartlists et casting (bulk upload)

Modifié le  Mon, 18 Dec 2023 sur 04:12 PM

Le chargement multiple (bulk) permet d’importer des contenus, des Smartlists et des Castings avec leurs métadonnées (titres, descriptions, mots-clés, castings, etc.) en une seule fois.



TABLE DES MATIÈRES


Comment faire un import bulk depuis le back office

Rendez-vous sur le menu GESTION DES CONTENUS > Imports (le menu n’est pas activé pour tous les utilisateurs, si vous ne voyez pas le menu de votre back-office, demandez à votre contact commercial).

Pour cela il faut créer des fichiers JSON en respectant la structure de chapitre Structure des objets de cette page (limités à 25 contenus maximum par bulk).

Les contenus créés sont communs à tous vos projets au sein de votre organisation. Les Smartlists et Castings restent spécifiques au projet sélectionné.


Le tableau récapitulatif des imports que vous avez effectués est organisé en 4 colonnes :

  • Statuts :
    VERT > Terminé
    ORANGE > Crée ou en cours
    ROUGE > Echec 
  • Référence : Copiez / collez la référence lors des échanges liés au bulk avec l'équipe support.
  • Nom du projet : Celui que vous avez choisi.
  • Date : Date de création de l'import.


Cliquez ensuite sur le bouton Créer un import.

Le fichier sera d’abord analysé pour connaitre le nombre de contenus et/ou de castings.

 

Vous pouvez accéder au rapport d'avancement du traitement du BULK en cliquant sur "Détails" 

Une fois que votre fichier est prêt à être traité, il suffit de cliquer sur "Démarrer" et l’importation commencera : le contenu et les castings seront créés et ajoutés automatiquement sur votre plateforme.

A noter que les informations en rouge dans la section A faire, ne sont pas bloquantes, mais indicative.


Vous pouvez enfin télécharger un rapport (un fichier CSV) pour avoir plus d’informations via le bouton « Télécharger le rapport ».

Le fichier JSON téléchargé donnera un état des objets importés précédemment en base de données sur votre back office.

Vous avez la possibilité d’updater ce fichier en changeant toutes les infos précédemment renseignées. Par ailleurs, changer le « linked » par « undo » permet d’enlever le lien fait précédemment à une offre ou une smartlist.

En uploadant à nouveau le fichier modifié, cela modifiera les objets en base de données.


Structure des objets

Par souci de simplicité, l’unicité de l’objet et la dépendance entre les objets sont réalisées en utilisant le LABEL comme clé unique. 

Un BULK est divisé en plusieurs objets

  • medias
  • smartlists
  • castings
  • copyright
  • s3-credentials

Gestion des traductions

Chaque fichier d’importation possède une langue par défaut définie globalement pour tous les objets : « default_language » (langue par défaut)


Les objets Médias, Smartlists et Castings supportent plusieurs traductions pour leurs paramètres


les code pays utilisés sont de type ALPHA2 > https://www.iban.com/country-codes
"translations": [
  {
    "language": "fr",
    // Liste des paramètres de l'objet
  },
  {
    "language": "en",
    // Liste des paramètres de l'objet
 }
]

Illustrations

Les objets medias, smartlists et castings supportent jusqu’à 4 tailles d’images par traduction. Chaque fichier est référencé par son lien sur le bucket s3. Formats supportés : jpeg et png


Si une seule image est renseignée, les autres sont générées automatiquement à partir de celle-ci.


"pictures":
{
  "16_6_s3_location": "s3://my_bucket_url/my_picture_16_6.jpg",
  "16_9_s3_location": "s3://my_bucket_url/my_picture_16_9.jpg",
  "4_3_s3_location": "s3://my_bucket_url/my_picture_4_3.jpg",
  "1_1_s3_location": "s3://my_bucket_url/my_picture_1_1.jpg"
}

Définition des objets, liste des paramètres disponibles

medias

  • Informations générales
    • label : text(255) --> clé unique
    • slug: text (255) --> le friendly url dans le back office
    • media_s3_location (optionnel): path on S3 bucket
    • type: audio, video
    • storage : hosted, live
    • duration (en secondes – optionnel) : integer
    • isan_code (optionnel): ISAN 0000-0001-8947-0000-8-0000-0000-D
    • isrc_code (optionnel): ISRC FR-Z11-92-20350
    • eidr_code (optionnel): 10.5240/3202-A3F9-0937-E9DC-7B21-9
    • custom_id (optionnel): text (255)
    • production_date (optionnel): yyyy-mm-dd
    • publication_date (optionnel): yyyy-mm-dd
  • Traductions
    • title: text (255)
    • description (optionnel): markdown (2046) 
    • short_description (optionnel): markdown (2046)
    • pictures (optionnel) : 1_1, 16_9, 16_6, 3_4
  • Restrictions
    • geolock_mode (optionnel): disabled, allow, deny
    • media_countries: tableau de code pays pour le geolock
    • temporal_restriction (optionnel)
      • begin_date: yyyy-mm-dd hh:mm:ss
      • end_date:  yyyy-mm-dd hh:mm:ss
    • commercial_restriction(optionnel)
      • begin_date: yyyy-mm-dd hh:mm:ss
      • end_date: yyyy-mm-dd hh:mm:ss
  • Associations
    • copyright (optionnel): text (255) --> doit correspondre à une clé de copyright existante
    • media_castings (optionnel): tableau de type de casting --> doit correspondre à un label casting existant
      • type: actor, director, author, producer
      • l'ordre des castings dans la fiche media correspond à l’ordre de la liste des castings présents dans la liste
    • offers: tableau d'uuid des offres avec lesquelles associer le media
    • smartlists: tableau d'uuid desmartlists avec lesquelles associer le media
  • Classification
    • new_genre (optionnel) : music, magazine, miscellaneous, reportage, entertainment_&_game_shows, performing_arts,docs, animation_&_kids_, fiction
    • themes (optionnel) : travel_/_discovery, police, adventure, youth, biopic_, concert_/_live_music, animal, environment_/_green, cinema, crime, thriller, circus, drama, investigation, science_/_knowledge, medical, music, action, sports, musical, comedy, science_fiction, war, educational, humour, western, romantic_comedy, fantasy_/_horror, lifestyle, dance_, justice, entertainment_/_games, nature_, family, opera, social_issue_/_economy, arts_/_culture, current_affairs, history
    • duration_type (optionnel) : « 26′ », « 90′ », « >26′ », « >90′ »
    • format (optionnel) : collection, feature_film, mini-series, one off, serie, short film, short program, podcast, chip
  • Langues
    • lang_availables (optionnel) : Lang part1
    • original_ver (optionnel) : Lang part1



genre et category sont des champs obsolètes


smartlists

  • Informations générales
    • label: text (255)
    • slug : text (255)
  • Traductions
    • title: text (255)
    • description: markdown (2046)
    • pictures (optionnel) : 1_1, 16_9, 16_6, 3_4
  • Listes des éléments de la smartlist
    • smartlist_items
      • label: média à associer
      • rank: position dans la smartlist



castings

  • Informations générales
    • label: text (255)
    • slug : text (255)
  • Traductions
    • name: text (255)
    • biography (optionnel): markdown (2046)
    • pictures (optionnel): 1_1


copyright: liste de clés ouvertes


"copyright": [
  {
    "key": "test"
  },
  {
     "key": "test1"
   }
]

s3_credentials


"s3_credentials": {
  "s3_access_key": "xxx"
  "s3_secret_key": "xxx"
  "s3_bucket_url": "xxx"
  "s3_bucket_region": "xxx"
  "s3_host": "xxx" OPTIONNEL par defaut AWS s3
} 

Exemple


{
   "default_language":"FR",
   "medias":[
      {
         "label":"test_bulk_label_name18",
         "media_s3_location":"s3://tmp-upload-okast/720p_5mb.mp4",
         "type":"video",
         "storage":"hosted",
         "geoblock_mode":"disabled",
         "media_countries":[
            "FR",
            "US"
         ],
         "temporal_restriction":{
            "begin_date":"2022-01-23 00:00:00",
            "end_date":"2023-01-25 00:00:00"
         },
         "duration":1526,
         "isan_code":"ISAN 0000-0004-E572-0000-6-0000-0000-J",
         "eidr_code":"10.5240/3202-A3F9-0937-E9DC-7B21-9",
         "custom_id":"sdfgsdfg654s9sdgf165dsf8g4",
         "production_date":"2042-01-01",
         "publication_date":"2042-01-01",
         "copyright":"C.O Mickeu",
         "translations":[
            {
               "language":"fr",
               "title":"test_bulk_label_name fr",
               "description":"un film sur les aléas",
               "short_description":"pareil que dans la description",
               "pictures":{
                  "16_6_s3_location":"s3://bucket/okast.jpeg",
                  "16_9_s3_location":"s3://bucket/okast.jpeg",
                  "4_3_s3_location":"s3://bucket/okast.jpeg",
                  "1_1_s3_location":"s3://bucket/okast.jpeg"
               }
            },
            {
               "language":"en",
               "title":"test_bulk_label_name",
               "description":"un film sur les aléas",
               "short_description":"court"
            }
         ],
         "media_castings":{
            "actor":[
               "John Doe",
               "Mickey",
               "Miss Piggie"
            ],
            "director":[
               "Juste Leblanc"
            ],
            "producer":[
               "François Pignon"
            ]
         },
         "duration_type":">90'",
         "format":"feature_film",
         "original_ver":"en",
         "target_audience":"kids",
         "new_genre":"performing_arts",
         "themes":[
            "action",
            "comedy"
         ],
         "nationalities":[
            "FR",
            "ES",
            "ZD"
         ],
         "lang_availables":[
            "fr",
            "en"
         ]
      }
   ],
   "s3_credentials":{
      "s3_access_key":"XXXXXXXX",
      "s3_secret_key":"XXXXXXXXXXX",
      "s3_bucket_url":"s3://bucket",
      "s3_bucket_region":"eu-west-2",
      "s3_host":"s3.eu-west-2.wasabisys.com"
   }
}