SMS Updates

Changelog

Covered issues for the Metadata Supplier for ARD Mediathek/Audiothek.

Version 5.2.0

– 4/18/24

Sophora Client API: 5.1.0.

  • Improved
    Vorhandene Feedback-Haftnotizen sollen nicht verschwinden, wenn kein Mapping durchgeführt wird – SOMSI-383 (medium)
    Notes Wenn bei einem (erneuten) Mappingdurchlauf für ein Sophora-Dokument keine gemappten Ressourcen entstehen, bleiben zuvor gesetzte SMS-Haftnotizen an dem Dokument erhalten, statt sie zu entfernen.
  • Improved
    Erfolgreiche Depublikationen von Inhalten in der Mediathek/Audiothek sollen in Feedback-Haftnotizen mit aufgeführt werden – SOMSI-377 (medium)
    Notes Es gibt einen neuen Message-Key "sms.stickynote.unpublish.success" mit dem Standardtext "Die zugehörigen Inhalte wurden am ${date} um ${time} Uhr erfolgreich in der ARD Mediathek/Audiothek depubliziert (${resourceDescriptors})". Der Text erscheint (zusätzlich) in der Haftnotiz am Sophora-Dokument, wenn mindestens eine gemappte Ressource erfolgreich in der ARD Mediathek/Audiothek depubliziert wurde.

    Die Formulierung der Feedbacktexte mit den Message-Keys "sms.unpublish.error", "sms.unpublish.success", "sms.unpublish.unable", "sms.unpublish.unnecessary" wurden entsprechend angepasst, so dass die Inhalte nicht "aus der Mediathek entfernt", sondern "in der Mediathek depubliziert" wurden.
  • Added
    MDP4-Feld "publisherId" auf Item-Ebene und "timestampInParent" in Sections unterstützen – SOMSI-394 (medium)
    Notes Episodes, EventLivestreams, Extras und Sections verfügen nun über das Feld publisherId.
    Sections verfügen zusätzlich über das neue Feld timestampInParent.
Version 5.1.0

– 3/28/24

Sophora Client API: 5.0.0.

  • Added
    MDP4-Feld "hasLiveContentEvents" unterstützen – SOMSI-388 (medium)
    Notes EventLivestreams verfügen nun über das neue Feld "hasLiveContentEvents".
Version 5.0.0

– 3/13/24

Sophora Client API: 5.0.0.

  • Fixed
    Während des Aufsynchronisierens von Sophora-Events dürfen neue Events nicht verloren gehen – SOMSI-341 (high)
    Notes Während der Synchronisierung eingehende Sophora-Events werden nun nachträglich abgearbeitet
  • Fixed
    VideoBinary.hasEmbeddedSubtitles() darf nicht immer "false" an die Core API übergeben – SOMSI-232 (high)
    Notes VideoBinary.isHasEmbeddedSubtitles() wurde entfernt. Es muss IVideoBinary.hasEmbeddedSubtitles() genutzt werden.
    Der vollständige Fix ist erst ab Version 3.5.4 bzw. 4.5.4 enthalten.
  • Fixed
    Zeilenumbrüche bei Aufzählungen in Haftnotizmeldungen korrigieren – SOMSI-368 (medium)
    Notes Behebt das Problem, dass URLs am Ende von einzelnen Aufzählungspunkten in den Feedback-Haftnotizen im DeskClient nicht (richtig) als Link erkannt werden
  • Fixed
    Benutzerdefinierte Texte zu Fehlermeldungen der Core API werden nicht gefunden – SOMSI-326 (medium)
    Notes Behebt das Problem, dass die mitgelieferten Übersetzungen zu Fehlermeldungen der Core API oder eigene Übersetzungen in Mapping-Plugins nicht gefunden werden.
  • Fixed
    SMS muss im Dashboard richtig angezeigt werden – SOMSI-299 (medium)
    Notes Mit diesem Bugfix wird der Onlinestatus in der Kachel im Dashboard repariert. Damit die Daten in den Details auf der rechten Seite im Dashboard angezeigt werden, muss das Admin Dashboard in Version >= 3.1.5, 4.2.4, 5.0.0 verwendet werden.
  • Fixed
    Publications ohne ImageCollection können nicht von der ARD Core API geladen werden – SOMSI-197 (medium)
  • Fixed
    HTTP Patch muss auch bei Verwendung eines Proxy unterstützt werden – SOMSI-173 (medium)
    Notes Proxy-Einstellungen zur ARD Mediathek/Audiothek können nicht mehr in der application.yml über "ardmedialibrary.credentials.proxyUrl" und "ardmedialibrary.credentials.proxyPort" gesetzt werden. Stattdessen muss der Proxy über normale Systemproperties konfiguriert werden, z.B. in der Datei metadata-supplier-application-executable.conf.
  • Changed
    Banner und weitere Ausgaben des Sophora Metadata Suppliers sollen in der Log-Datei (nicht in einer gesonderten .out-Datei) ausgegeben werden – SOMSI-150 (high)
  • Changed
    Mapper sollen mehrere Entitäten in der ARD-Core-API erzeugen können – SOMSI-71 (high)
  • Changed
    Update auf SpringBoot 2.7: Umstellung der Swagger-UI von Springfox auf Springdoc – SOMSI-259 (high)
    Notes Die Standard-URL zur Swagger-UI lautet nun http://localhost:8080/swagger-ui.html (statt http://localhost:8080/swagger-ui/index.html). Siehe Dokumentation bzgl. REST-API, Monitoring und Konfiguration des Webservers.
  • Changed
    Docker-Image des Sophora Metadata Suppliers erstellen – SOMSI-120 (medium)
  • Changed
    Sophora-Events aufsynchronisieren nachdem der Metadata Supplier gestoppt war – SOMSI-108 (medium)
  • Changed
    Anbindung an Player API schaffen – SOMSI-65 (medium)
  • Changed
    Anlegen von Inhalten in der ARD-Core-API auch bei publishAt-Events unterstützen – SOMSI-64 (medium)
  • Changed
    Metadata Supplier muss auch ohne Sophora-Anbindung ausgeführt werden können – SOMSI-44 (medium)
  • Changed
    Rahmenwerk für kundenspezifische Mappings im Sophora Metadata Supplier schaffen – SOMSI-17 (medium)
  • Changed
    Projekt für Sophora Metadata Supplier anlegen – SOMSI-16 (medium)
  • Changed
    Das Reagieren auf die (inoffizielle) Statusänderung "PUBLISH_AT_CANCELED" ermöglichen – SOMSI-144 (medium)
  • Changed
    Health-Endpunkte und Metriken im Sophora Metadata Supplier anbieten – SOMSI-135 (medium)
  • Changed
    Entwicklung von kundenspezifischen Mappings in IDEs besser unterstützen – SOMSI-134 (medium)
    Notes Die ausführbare metadata-supplier-application-<version>.jar wurde in metadata-supplier-application-<version>-executable.jar umbenannt. Start-/Stop-Skripte, die diese jar ausführen, müssen dementsprechend angepasst werden. Auch die metadata-supplier-application.conf muss in metadata-supplier-application-executable.conf umbenannt werden, sofern vorhanden. Bei der metadata-supplier-application-<version>.jar handelt es sich jetzt stattdessen nur um das einfache Artefakt der metadata-supplier-application, welche für die Plugin-Entwicklung in einem Launcher-Projekt genutzt werden kann.
  • Changed
    Pflichtfelder "alt" und "producerName" für Images nachziehen – SOMSI-132 (medium)
  • Changed
    Versionen für Module vom SMS und SDS im DependencyManagement vorgeben – SOMSI-258 (medium)
    Notes Mapping-Plugin-Projekte können für einfacheres und konsistentes Dependency Management nun die "pom.xml" von "metadatasupplier-parent" importieren
  • Changed
    Standardmäßig die neue Test-Delivery-API-URL statt der einzelnen Core API-Service-URLs nutzen – SOMSI-253 (medium)
    Notes Die verschiedenen Services der ARD Mediathek/Audiothek (wie Image-Service, Asset-API und Player-API) werden mittlerweile unter einer Delivery-API-URL zusammengefasst und bereitgestellt. Daher lauten die Standard-URL-Konfigurationen im SMS für Image-Service, Asset-API und Player-API nun jeweils https://deliver-test.ard.de/delivery-api statt https://deliver-test.ard.de/image-service, https://deliver-test.ard.de/asset-api und https://deliver-test.ard.de/player-api.
    Bei bestehenden SMS-Installationen, die die ARD Mediathek/Audiothek Service-URLs in der application.yml eingetragen haben, müssen diese URLs für jeden der drei Services entsprechend angepasst werden: URL für das Testsystem der ARD Mediathek/Audiothek: https://deliver-test.ard.de/delivery-api bzw. URL für das Live-System der ARD Mediathek/Audiothek: https://deliver.ard.de/delivery-api
  • Changed
    NormDbLocation-Ids im CoreId-Format übertragen – SOMSI-385 (medium)
    Notes Der Builder für NormDbLocations nimmt die Id nun als CoreId-Objekt und als String entgegen. Wenn die Id als String übergeben wird, wird sie ins CoreId-Format umgewandelt, wenn nötig. Z.B. aus dem String "vokabel-1572" wird "urn:ard:location:e4f12d7dba8c438f" und aus dem String "1572" wird ebenfalls "urn:ard:location:e4f12d7dba8c438f". Die Angabe von "urn:ard:location:e4f12d7dba8c438f" bleibt unverändert. Mappings sollten dennoch direkt ein CoreId-Objekt statt einen String übergeben.
  • Changed
    Hilfsmethode für Mapping von Genres und Subgenres an geänderte Auswahlwertstruktur anpassen – SOMSI-330 (medium)
    Notes Die Hilfsmethoden der ArdNormDbUtil- und SdsArdNormDbUtil-Klassen können jetzt auch die Vokabel-IDs aus Genre- und Subgenre-Auswahlwerten auslesen, die der neuen Struktur folgen, welche mit dem ARD Metadatenpaket 2 eingeführt wurde. Genres und Subgenres, die noch der alten Struktur folgen, funktionieren weiterhin mit den Hilfsmethoden.
  • Changed
    ArtworkTypes umbenennen – SOMSI-329 (medium)
    Notes Statt ArtworkType COVER_ARTWORK und STAGE_ARTWORK gibt es nun ArtworkType COVER und BACKDROP.
  • Changed
    Version der Spring-Data-Sophora-Commons Dependency vorgeben – SOMSI-294 (medium)
    Notes Der Metadata Supplier gibt nun die Version von spring-data-sophora-commons vor, so dass Mapper-Projekte diese einfach verwenden können.
  • Changed
    Dependencies aktualisiert: Apache Commons Text und Commons Lang 3 – SOMSI-272 (medium)
    Notes Diverse Abhängigkeiten wurden aktualisiert
  • Changed
    Anpassungen für Java 17 – SOMSI-269 (medium)
  • Improved
    Publications sollen auch ohne ImageCollection angelegt werden können – SOMSI-225 (high)
    Notes Publications können auch angelegt werden, ohne explizit Images hinzufügen zu müssen. In dem Fall werden in der ARD Mediathek/Audiothek die Bilder aus dem referenzierten Item verwendet.
  • Improved
    Metriken für Job-Queue bereitstellen – SOMSI-336 (high)
    Notes Zum Auslesen der aktuellen Anzahl der aus Sophora getriggerten und noch abzuarbeitenden Mapping-Aufträge wurde die neue Metrik "metadatasupplier.supplyjob.queue.size" hinzugefügt. Die Anzahl der insgesamt aus Sophora getriggerten bzw. abgearbeiteten Mapping-Aufträge seit SMS-Start kann nun über die neuen Metriken "metadatasupplier.supplyjob.queued" bzw. "metadatasupplier.supplyjob.executed" abgefragt werden. Die Gesamtanzahl der Mapping-Aufträge, deren Abarbeitung aufgrund unvorhergesehener Fehler abgebrochen ist, kann über die neue Metrik "metadatasupplier.supplyjob.executionerrors" ausgelesen werden.
  • Improved
    Versionsnummer im Logfile ausgeben – SOMSI-116 (medium)
  • Improved
    Unpublish und Republish optimieren – SOMSI-81 (medium)
    Notes Die Operationen "unpublish" bzw. "republish" an der ARD Core API werden nur noch für veröffentlichbare Entitäten ausgeführt, bei denen der Sichtbarkeitszustand geändert werden muss.
  • Improved
    Feedback bei Fehlern während des Mappings geben – SOMSI-63 (medium)
  • Improved
    Zulieferung von Binärdaten in Image-Entität unterstützen – SOMSI-49 (medium)
  • Improved
    Feedback bei Fehlern während des Mappings oder beim Anlegen im ARD-Core ermöglichen – SOMSI-41 (medium)
  • Improved
    CompletionStage/Futures im ArdCoreConnector richtig nutzen – SOMSI-40 (medium)
  • Improved
    ARD-Core-Anteil aus Sophora Metadata Supplier in eigenes Git-Repo umziehen – SOMSI-38 (medium)
  • Improved
    Feld originalClipExternalId in IPublication unterstützen – SOMSI-206 (medium)
    Notes Bei Publications kann jetzt auch das Feld "originalClipExternalId" gesetzt werden.
  • Improved
    Verhindern, dass XML statt JSON zum ARD-Core geschickt wird – SOMSI-163 (medium)
  • Improved
    Im Feedback soll der Begriff "ARD Mediathek/Audiothek" verwendet werden – SOMSI-161 (medium)
  • Improved
    Beispiel-Mapper-Plugin um Spring-Data-Sophora erweitern – SOMSI-143 (medium)
    Notes Das "metadata-supplier-plugin-example" enthält jetzt zusätzlich einen Beispiel-Mapper, der Spring-Data-Sophora nutzt. Außerdem wir ein "jar-with-dependencies" erstellt. GroupId: "com.subshell.sophora.metadatasupplier", ArtifactId: "metadata-supplier-plugin-example" bzw. "metadata-supplier-plugin-example-launcher".
  • Improved
    Feedback bzgl. "unpublish" und "republish" verbessern – SOMSI-257 (medium)
    Notes Es gibt nun keine "Erfolgreich an die ARD Mediathek/Audiothek gesendet"-Feedbackmeldung mehr für Objekte vom Typ Publishable, da über diese keine Resourcen in der Mediathek angelegt oder inhaltlich aktualisiert werden können. Die Feedbackmeldungen "Erfolgreich in der ARD Mediathek/Audiothek veröffentlicht" bzw. "Erfolgreich aus der ARD Mediathek/Audiothek entfernt" erscheinen weiterhin.

    Es gibt neue, zusätzliche Feedbackmeldungen, wenn Resourcen in der ARD Mediathek/Audiothek veröffentlicht/depubliziert werden sollten, die bereits veröffentlicht/depubliziert sind: "Ein (erneutes) Veröffentlichen in der ARD Mediathek/Audiothek war nicht notwendig" und "Ein (erneutes) Entfernen aus der ARD Mediathek/Audiothek war nicht notwendig".

    Es gibt neue, zusätzliche Feedbackmeldungen, wenn Resourcen in der ARD Mediathek/Audiothek veröffentlicht/depubliziert werden sollten, die dort gar nicht existieren: "Ein Veröffentlichen in der ARD Mediathek/Audiothek war nicht möglich" bzw. "Ein Entfernen aus der ARD Mediathek/Audiothek war nicht möglich".
  • Improved
    Strukturiertes Logging: Image-Data soll nicht geloggt werden, damit Logfiles klein bleiben – SOMSI-255 (medium)
    Notes Alle Resourcen werden nur noch auf Trace-Level geloggt.
  • Improved
    Versionsnummern der Mapping-Klassen loggen – SOMSI-244 (medium)
    Notes Wenn die <my-mapping>-jar-with-dependencies.jar eine META-INF/MANIFEST.MF mit Eintrag für "Implementation-Version" hat, wird die Versionsnummer der Mapper-Klassen geloggt.
  • Improved
    Änderungen aus der Doku der ARD Core API nachziehen – SOMSI-239 (medium)
    Notes Der JavaDoc an den Interfaces für Resourcen (IShow, ISeason, IEpisode, usw.) wurde aktualisiert.
  • Improved
    Der ImageMapper soll auch die Seitenverhältnisse der gemappten Bilder liefern – SOMSI-227 (medium)
    Notes Der ImageMapper bietet nun zusätzlich die Methode mapImagesToAspectRatioMap(IImageDataProvider imageDataProvider) an, welche Map<IAspectRatio, IImage> zurück liefert.
  • Improved
    Inkompatibilitäten zwischen SMS und Mapping sollen geloggt werden und zum Beenden des SMS führen – SOMSI-223 (medium)
    Notes Beim Auftreten eines LinkageError zwischen SMS und Mapping erscheint dieser nun in der Logdatei und das SMS wird mit Exitcode 192 beendet.
  • Improved
    StickyNoteFeedbackHandler soll keinen langen Stack loggen, wenn das Sophora-Dokument nicht existiert – SOMSI-219 (medium)
  • Improved
    Strukturiertes Logging einbauen – SOMSI-218 (medium)
    Notes Über den VM-Parameter -Dspring.profiles.active=json-logs (oder über die Angabe in der application.yml) kann strukturiertes (Json-)Logging aktiviert werden.
    Vorsicht: Fügt eine Abhängigkeit zu "net.logstash.logback" "logstash-logback-encoder" hinzu, die in Mapping-Projekten ggf. zu Abhängigkeitskonflikten mit Jackson führen kann.
  • Improved
    Converter für Strings im Format "HH:MM:SS.ss" nach "PTxHxMx.xxxS" anbieten (ISO 8601) – SOMSI-217 (medium)
    Notes In "metadata-supplier-sophora-commons" gibt es nun einen com.subshell.sophora.metadatasupplier.sophora.commons.Iso8601Converter
  • Improved
    Methoden zum Erzeugen der CoreId aus Auswahlwertdokumenten für GenreCategories, SubgenreCategories und ThematicCategories bereitstellen – SOMSI-215 (medium)
    Notes In com.subshell.sophora.metadatasupplier.sophora.commons.ArdNormDbUtil sind nun entsprechende Methoden enthalten
  • Improved
    Hilfsmethoden bereitstellen, um mehrere Enums aus mehreren Strings zu erhalten – SOMSI-214 (medium)
    Notes Die Enums aus com.subshell.ardcore.model.types haben nun alle eine valuesOf(Collection<String> names)-Methode
  • Improved
    Tests für die automatische Erzeugung von ImageCollections hinzufügen – SOMSI-355 (medium)
    Notes Das bestehende Verhalten bei der Erzeugung von ImageCollections wurde durch weitere Unittests abgesichert
  • Improved
    Deutschsprachige Validierungsmeldungen für Felder des ARD Metadatenpakets 2 verbessern – SOMSI-352 (medium)
    Notes Manche deutsche Übersetzungen der englischsprachigen Validierungsmeldungen von der ARD Mediathek/Audiothek wurden verbessert
  • Improved
    AspectRatio um 2:3 erweitern – SOMSI-337 (medium)
    Notes Bei Bildern sind nun folgende Seitenverhältnisse möglich: 2:3, 3:4, 16:7, 16:9, 32:9, 64:9
  • Improved
    Feedback bei Exceptions in der accept()-Methode von Mappern zurückgeben – SOMSI-284 (medium)
    Notes Exceptions in IResourceMapper.accept(...) werden nun abgefangen und so behandelt, als ob es keinen Mapper für die Source gäbe. Eine entsprechende Feedbackmeldung wird zurückgegeben.
  • Improved
    Felder für Core-IDs sollen in Builder-Methoden CoreId-Objekte akzeptieren – SOMSI-172 (low)
    Notes ACHTUNG: Inkompatible Model-API-Änderung! Die Felder genreCategoryId, subgenreCategoryIds und thematicCategoryIds an Shows, Sections, Seasons usw. sind nun vom Typ CoreId statt String! Die Mapper-Projekte/-Klassen müssen dementsprechend angepasst werden, bevor diese Metadata Supplier Version produktiv eingesetzt wird, ansonsten funktioniert das Mapping nicht!
    Dazu `String genreCategoryCoreId = "urn:ard:category-genre:myExternalIdHash";` ändern zu `CoreId genreCategoryCoreId = CoreId.create("urn:ard:category-genre:myExternalIdHash");` oder `CoreId genreCategoryCoreId = CoreId.create(Type.GENRE_CATEGORY.getCoreIdPrefix(), "myExternalIdHash");` bzw. `String genreCategoryId = CoreId.create(Type.GENRE_CATEGORY, "myExternalId").getId();` ändern zu `CoreId genreCategoryCoreId = CoreId.create(Type.GENRE_CATEGORY, "myExternalId");`.
    Zum Lesen von List<CoreId> als List<String> (z.B. in Tests) kann CoreId.getStrings() verwendet werden, falls benötigt.
  • Improved
    FeedbackHandler für Haftnotizen soll nur greifen, wenn Sophora-Dokumente gemapped wurden – SOMSI-160 (low)
  • Added
    Priorisierungsmöglichkeit für Aufträge aus Sophora im SMS anbieten – SOMSI-364 (medium)
    Notes Die Behandlung von Sophora-Dokumentänderungen kann nun priorisiert werden ("normal" und "hoch"). Auf diese Weise lassen sich z.B. redaktionelle Dokumentänderungen vor automatischen Dokumentänderungen (bspw. durch den Sophora-Importer) an die ARD Mediathek/Audiothek senden. Abgrenzung: Mappings, die per REST-Schnittstelle oder "Used Sources"-Feature ausgelöst werden, können hiermit nicht priorisiert werden. Weitere Informationen sind dem "Sophora Metadata Supplier for ARD Mediathek/Audiothek Developing Guide" unter dem Stichwort "IPrioritySetter" zu entnehmen.

    Monitoring:
    Die bisherigen Metriken der SupplyJob-Queue wurden beibehalten und spiegeln den Gesamtzustand der Queue wieder. Zusätzlich sind folgende Metriken neu hinzugekommen, welche sich auf die jeweilige Priorität beziehen (<priority> steht für "normal" bzw. "high"):
    - metadatasupplier.supplyjob.<priority>.queue.size
    - metadatasupplier.supplyjob.<priority>.queued
    - metadatasupplier.supplyjob.<priority>.executed

    Die Entgegennahme von Dokumentänderungsevents und deren Abarbeitung wurde in diesem Zuge voneinander getrennt. Dafür wurde eine Event-Queue eingeführt und vor der SupplyJob-Queue angesiedelt. Folgende neue Metriken zeigen den Zustand dieser Event-Queue an:
    - metadatasupplier.event.queue.size
    - metadatasupplier.event.queued
    - metadatasupplier.event.executed
    - metadatasupplier.event.executionerrors
  • Added
    Zulieferung der Felder des ARD Metadatenpakets 3 per SMS ermöglichen – SOMSI-350 (medium)
    Notes Die folgenden neuen Felder können nun angeliefert werden:
    - "companyCredits" (für Seasons, Shows, EventLivestreams, Episoden, Sections und Extras)
    - "creationBrid" (für Seasons, Shows, EventLivestreams, Episoden, Sections, Extras und Permanent-Livestreams)
    - "creativeCommonsLicense" (für Episoden, Sections und Extras)
    - "isClosedNarration" (für Shows mit Show-Type "INFINITE_SERIES")
    - "isSensitiveContent" (für Shows, EventLivestreams, Episoden, Sections und Extras)
    - "loginOnlyUntil" (für Publications)
    - "permanentLivestreamType" (für PermanentLivestreams)
    - "producedForOnDemand" (für Shows (nur Audio))
    - "publicationBrid" (für Publications und Permanent-Livestreams)
    - "relatedShowIds" (für Shows)
    - "showNotes" (für Episoden)
    - "videoLanguage" (für VideoBinaries)

    Außerdem:
    - Die deprecated Felder "isMovie" und "premiereDate" wurden aus Episoden komplett entfernt
    - Das Feld "involvedInternalInstitutionsAndFinancialShares" von InternalOwnerships ist nun kein Pflichtfeld mehr und braucht somit nicht mehr explizit gesetzt werden

    Folgende Message-Keys wurde korrigiert:
    - error.deliveryapi.service.validation.image_binary.undetermineable_mediatype => error.deliveryapi.service.validation.image_binary.indeterminable_mediatype
    - error.deliveryapi.service.validation.asset.category_distribution_missmatch_publisher_type => error.deliveryapi.service.validation.asset.category_distribution_mismatch_publisher_type

    Folgende Message-Keys sind neu hinzugekommen:
    - error.deliveryapi.service.brid.brid_not_unique
    - error.deliveryapi.service.validation.must_be_equal_or_greater_than
    - error.deliveryapi.service.validation.audio_binary.audiotracks.invalid_audioversion
    - error.deliveryapi.service.validation.video_binary.no_embedded_subtitles_or_sign_language_available_for_videoLanguage
    - error.deliveryapi.service.validation.video_binary.incorrect_language_type_for_videoLanguage_with_sign_languages
    - error.deliveryapi.service.validation.video_binary.incorrect_language_type_for_videoLanguage_with_subtitles
    - error.deliveryapi.service.validation.asset.invalid_html_in_shownotes
    - error.deliveryapi.service.validation.asset.company_credit.exactly_one_identifier_must_be_set
    - error.deliveryapi.service.validation.asset.company_credit.role_description_mandatory_for_role_other
    - error.deliveryapi.service.validation.show.produced_for_on_demand_not_supported_for_video_shows
    - error.deliveryapi.service.validation.show.is_closed_narration_not_valid_for_show_type
    - error.deliveryapi.service.validation.publication.login_only_until_not_after_created
    - error.deliveryapi.service.validation.publication.login_only_until_not_after_start_date
    - error.deliveryapi.service.validation.publication.login_only_until_with_event_livestream
    - error.deliveryapi.service.validation.content_event.content_event_unique_type
    - error.deliveryapi.service.validation.content_event.content_events_overlap
    - error.deliveryapi.service.validation.content_event.content_events_type_ordering

    Die vollständige Liste aller Message-Keys und deren Texte befindet sich im ARD-Developer-Portal.
  • Added
    Zulieferung der personCredits-, audioTracks- und contentEvents-Felder des ARD Metadatenpakets 2 per SMS ermöglichen – SOMSI-318 (medium)
    Notes "personCredits" wird an allen Items und Groupings unterstützt; "audioTracks"-Feld wird an allen Binaries unterstützt; "subtitleTracks" wird an VideoBinaries unterstützt; "contentEvents"-Feld wird an allen OnDemand Inhalten (Episode, Extra, Section) unterstützt; "language" und "subtitleType" werden an Subtitle unterstützt
  • Added
    Zulieferung der ersten Felder des ARD Metadatenpakets 2 per SMS ermöglichen – SOMSI-296 (medium)
    Notes An Groupings (Season und Show), Items (EventLivestream, Episode, Section und Extra) sowie PermanentLivestreams können nun die Felder "contentRatings", "countriesOfOrigin", "embeddingType", "externalContentIds", "geoLocations", "internalOwnership", "normDbLocations", "originalRelease", "originalSpokenLanguages" und "seo" übergeben werden. Außerdem lassen sich an Images die Felder "artworkType" und "isBranded" setzen.
  • Added
    Feedback im SMS erweitern: Message-Codes, HTTP-Status und UsedSources – SOMSI-286 (medium)
    Notes Das Feedback wurde um Message-Codes mit Platzhalter-Argumenten, einer Auflistung der zusätzlich verwendeten Quellen (Used Sources) und den jew. HTTP-Status-Code von der ARD Mediathek/Audiothek erweitert. Die bisher hart codierten Feedbacktexte können somit nun per "messages.properties"-Dateien individualisiert werden. Manche der Texte wurden bereits umformuliert. Achtung: Die Textkonstanten aus FeedbackService, UnpublishOperation und RepublishOperation wurden entfernt.

    Damit die Meldungstexte im Feedback und die Haftnotiztexte in den Sophora-Dokumenten weiterhin in deutscher Sprache erscheinen, muss der Metadata Supplier mit deutschem Locale gestartet werden. Diese Haftnotiztexte lassen sich ebenfalls individualisieren.

    Die beim Mapping verwendeten Quellen (Used Sources) werden standardmäßig ebenfalls in die Haftnotiz geschrieben. Dies lässt sich per Konfigurationsparameter "metadata-supplier-sophora.attach-used-sources-to-sticky-notes" in der application.yml abschalten.

    Weitere Informationen befinden sich in der Dokumentation zum Sophora Metadata Supplier.
  • Added
    Der Metadata Supplier soll JMX per HTTP (Jolokia) anbieten und den HTTP-Port in der Konfiguration mitliefern – SOMSI-266 (medium)
    Notes JMX MBeans können nun per HTTP unter /actuator/jolokia/ verwendet werden. Ab Sophora 4 ist der Sophora Metadata Supplier damit auch im Sophora Admin Dashboard monitorbar.
  • Added
    Benutzerdefinierte Texte zu Fehlermeldungen der Core API ermöglichen – SOMSI-260 (medium)
    Notes Texte zu Fehlermeldungen aus der ARD Core API werden nun je nach Default Locale vom Sophora Metadata Supplier auf deutsch oder englisch (default) als Feedback ausgegeben. Darüber hinaus ist es möglich, eigene Übersetzungen zu verwenden. Dazu müssen entsprechende "messages properties"-Datei(en) im "i18n"-Verzeichnis der Sophora Metadata Supplier Installation abgelegt werden. Weitere Information hierzu sind der Dokumentation zu entnehmen.
  • Added
    IdUtils.createId() für mehrere Resources anbieten – SOMSI-241 (medium)
    Notes Neben "CoreId createId(IResource resource)" gibt es jetzt auch "List<CoreId> createIds(Collection<? extends IResource> resources)"
  • Added
    Hilfsmethoden bzgl. Genres, Categories und Tenants zu "metadata-supplier-spring-data-sophora-commons" hinzufügen – SOMSI-240 (medium)
    Notes Die Klassen com.subshell.sophora.metadatasupplier.sds.commons.SdsArdNormDbUtil und com.subshell.sophora.metadatasupplier.sds.commons.TenantUtil aus dem neuen "metadata-supplier-spring-data-sophora-commons"-Artefakt bieten Methoden an, um aus SDS-MultiSelectValue-Objekten entsprechende CoreIds für (Sub)GenreCategories oder ThematicCategories bzw. die Tenants zu erhalten.
  • Added
    Ermöglichen des Anlieferns der "alten" Term-IDs – SOMSI-238 (medium)
    Notes Bei AudioBinary und VideoBinary kann die TermId nun statt im CoreID-Format (z.B. "urn:ard:termid-video:9bb5a34d66e2ec19") auch im CcAvTermId-Format (z.B. "1.2.3.14.1") angegeben werden, z.B. IVideoBinary videoBinary = VideoBinary.builder().with...(...).withCcAvTermId(CcAvTermId.of("1.2.3.14.1")).build();
  • Added
    Methode anbieten, um aus einer ExternalId eine CoreId oder null zu erzeugen – SOMSI-237 (medium)
    Notes IdUtils.createIdOrNull(Type type, ExternalId externalId) liefert die CoreId zu dem angegebenen Type und ExternalId. Falls keine ExternalId angegeben wurde, liefert die Methode null (im Gegensatz zu IdUtils.createId(Type type, ExternalId externalId), was eine Zufalls-Id liefert).
  • Added
    Feedback-Meldungen sollten nicht mehrfach zum Feedback hinzugefügt werden können – SOMSI-230 (medium)
    Notes Beim Hinzufügen von Feedback-Einträgen zu Feedbacks werden bereits vorhandene Einträge nun ignoriert, so dass der gleiche Feedback-Eintrag nicht mehrfach im Feedback enthalten ist.
  • Added
    Metriken für UsedSources und MappedResources hinzufügen – SOMSI-229 (medium)
    Notes Die Metriken zu Anzahl und Größe der "Used Sources" und "Mapped Resources" sind nun unter http://<host>:<port>/actuator/metrics/ abrufbar.
  • Added
    Angabe zusätzlicher Mapping-Parameter ermöglichen – SOMSI-212 (medium)
    Notes Per IMetadataSupplier.supply(SourceDescriptor, Parameters) und über die REST-Schnittstelle können nun zusätzliche Parameter von außen ins Mapping reingereicht werden.
    ACHTUNG: Inkompatible API-Änderung! IResourceMapper.accept(SourceDescriptor) wurde geändert zu IResourceMapper.accept(SourceDescriptor, Parameters), d.h. alle Mapper-Klassen müssen die neue Methodensignatur implementieren bevor diese Metadata Supplier Version produktiv eingesetzt wird, ansonsten funktioniert das Mapping nicht! In Tests kann Parameters.of() für den neuen Methodenparameter übergeben werden.
    In IResourceMapper.mapToResources(SourceDescriptor, IMappingContext) kann über den IMappingContext auf die Parameter zugegriffen werden, falls benötigt.
  • Added
    Wiederverwendbaren Sophora-Mapping-Code im Sophora Metadata Supplier anbieten – SOMSI-202 (medium)
    Notes Das Projekt "metadata-supplier-sophora-commons" enthält nun nützliche Hilfsklassen und -methoden, um Sophora-Inhalte zu IResource-Objekten zu mappen. Z.B. ImageMapper, IImageVariantsProvider und IImageDataProvider, um Sophora-Bilddokumente zu mappen, wobei pro Seitenverhältnis aus einer Liste von Bildvarianten die erste Bildvariante des Bilddokumentes mit Binärdaten verwendet wird (Codebeispiel befindet sich im "metadata-supplier-plugin-example"). ArdNormDbUtil, um aus einem Auswahlwertdokument die ARD-Normdatenbank-Werte zu ermitteln. SophoraStringUtils, um z.B. aus dem "sophora:tags"-Property die einzelnen Tag-Einträge als Liste zu erhalten. Außerdem wurde Logging beim Hinzufügen von Feedback-Einträgen eingebaut und die IdUtils um eine Methode zum Erzeugen einer CoreId aus einer ExternalId erweitert.
  • Added
    Depublizieren von nicht mehr gemappten Resourcen unterstützen – SOMSI-196 (medium)
    Notes Per IMappingContext.setUnpublishPreviouslyMappedResources(true/false) können die Resourcen zum Mappingergebnis hinzugefügt werden, welche beim aktuellen Mappingdurchlauf depubliziert werden müssen, weil sie beim vorherigen Durchlauf in der ARD Mediathek/Audiothek erzeugt und publiziert wurden, nun aber z.B. nicht mehr in der Quelle enthalten sind und deswegen in der ARD Mediathek/Audiothek depubliziert sein sollen (sofern sie nicht auch zu einer anderen Source gemappt und veröffentlicht wurden).
    Außerdem existiert per IMappingContext.getResourceProvider() Zugriff auf die gespeicherten Informationen zu den zuletzt erfolgreich gemappten Resourcen der gerade zu mappenden Source.
  • Added
    Retry-Mechanik für Anfragen an Core API ermöglichen, wenn zuvor angelegte Ressourcen noch nicht gefunden werden konnten – SOMSI-191 (medium)
    Notes Per "ardmedialibrary.retry.maxAttempts" und "ardmedialibrary.retry.delayInMillis" kann konfiguriert werden, wie häufig und in welchen Abständen versucht werden soll, eine Resource in der ARD Mediathek/Audiothek anzulegen bzw. zu aktualisieren, wenn eine "Resource does not exist"-Fehlermeldung auftritt.
  • Added
    Zugriff auf die Verwendungen (UsedSources) in Mappings ermöglichen – SOMSI-180 (medium)
    Notes Neue Methode hinzugefügt: IMappingContext.getPreviousUsedSources()
  • Added
    Unpublish und Republish von Objekten nur anhand der External-ID ermöglichen – SOMSI-179 (medium)
    Notes Über die neue IResource-Implementation "Publishable" lassen sich Resourcen in der ARD Mediathek/Audiothek (de)publizieren, ohne dass die komplette konkrete Resource (z.B. Show) gemappt werden muss.
    Zusätzlich kann per IResource.createIfNotExisting() bestimmt werden, ob eine Resource in der ARD Mediathek/Audiothek erzeugt werden soll, wenn sie dort noch nicht existiert (Standard ist "true").
  • Added
    Unpublish- und Republish-Operationen per isPublished-Flag von IPublishable-Resourcen auslösen – SOMSI-152 (medium)
    Notes Der Metadata-Supplier verfügt nur noch über die Schnittstelle "supply(SourceDescriptor)". Die REST-Schnittstelle befindet sich bei /metadata-supplier/<source-type>/<source-id> ("put" und "get"). Die Mapper müssen bei Shows, Seasons, PermanentLivestreams und Publications nun per Builder.withPublished(true/false) angeben, ob die jeweilige Resource in der ARD Mediathek sichtbar sein soll oder nicht.
  • Added
    IPublishable-Interface für veröffentlichbare IResource einführen – SOMSI-151 (medium)
    Notes Die Mapper können bei Shows, Seasons, PermanentLivestreams und Publications nun per Builder.withPublished(true/false) angeben, ob die jeweilige Resource in der ARD Mediathek sichtbar sein soll oder nicht.
  • Added
    Clientskript für die manuelle (Neu-)Anlieferung von Inhalten bereitstellen – SOMSI-137 (medium)
    Notes Es gibt nun ein DeskClient-Skript "Zur ARD Mediathek/Audiothek senden", um das Senden von Inhalten an die ARD Mediathek/Audiothek zu triggern, ohne Sophora-Dokumente (erneut) veröffentlichen zu müssen. Weitere Informationen dazu sind dem Abschnitt "Client Script to manually trigger the Sophora Metadata Supplier" der Dokumentation "Sophora Metadata Supplier for ARD Mediathek/Audiothek Operation" zu entnehmen.
  • Added
    Initiale Aufsynchronisierung abschaltbar machen – SOMSI-125 (medium)
    Notes Per metadata-supplier-sophora:sync-at-startup:false in der application.yml kann die initiale Synchronisation der Inhalte aus dem Sophora-Server abgeschaltet werden
  • Added
    REST-Schnittstelle für die Anlieferung von Inhalten zur ARD-Mediathek schaffen – SOMSI-97 (medium)
  • Added
    Verwendungen persistieren – SOMSI-96 (medium)
  • Added
    Per Konfiguration bestimmen, welche Sophora-Dokumentevents behandelt werden sollen – SOMSI-80 (medium)
    Notes In der application.yml muss nun angegeben werden, welche Dokumentstatusänderungen bei welchen Dokumenttypen im Metadata Supplier behandelt werden sollen. Siehe Dokumentation für weitere Informationen.
  • Added
    Änderungen an verwendeten Dokumenten müssen Aktualisierung von Entitäten in der ARD-Core-API auslösen – SOMSI-55 (medium)
Version 4.26.0

– 4/18/24

Sophora Client API: 4.29.0.

  • Improved
    Vorhandene Feedback-Haftnotizen sollen nicht verschwinden, wenn kein Mapping durchgeführt wird – SOMSI-383 (medium)
    Notes Wenn bei einem (erneuten) Mappingdurchlauf für ein Sophora-Dokument keine gemappten Ressourcen entstehen, bleiben zuvor gesetzte SMS-Haftnotizen an dem Dokument erhalten, statt sie zu entfernen.
  • Improved
    Erfolgreiche Depublikationen von Inhalten in der Mediathek/Audiothek sollen in Feedback-Haftnotizen mit aufgeführt werden – SOMSI-377 (medium)
    Notes Es gibt einen neuen Message-Key "sms.stickynote.unpublish.success" mit dem Standardtext "Die zugehörigen Inhalte wurden am ${date} um ${time} Uhr erfolgreich in der ARD Mediathek/Audiothek depubliziert (${resourceDescriptors})". Der Text erscheint (zusätzlich) in der Haftnotiz am Sophora-Dokument, wenn mindestens eine gemappte Ressource erfolgreich in der ARD Mediathek/Audiothek depubliziert wurde.

    Die Formulierung der Feedbacktexte mit den Message-Keys "sms.unpublish.error", "sms.unpublish.success", "sms.unpublish.unable", "sms.unpublish.unnecessary" wurden entsprechend angepasst, so dass die Inhalte nicht "aus der Mediathek entfernt", sondern "in der Mediathek depubliziert" wurden.
  • Added
    MDP4-Feld "publisherId" auf Item-Ebene und "timestampInParent" in Sections unterstützen – SOMSI-394 (medium)
    Notes Episodes, EventLivestreams, Extras und Sections verfügen nun über das Feld publisherId.
    Sections verfügen zusätzlich über das neue Feld timestampInParent.
Version 4.25.0

– 3/28/24

Sophora Client API: 4.28.0.

  • Added
    MDP4-Feld "hasLiveContentEvents" unterstützen – SOMSI-388 (medium)
    Notes EventLivestreams verfügen nun über das neue Feld "hasLiveContentEvents".
Version 4.24.0

– 3/12/24

Sophora Client API: 4.28.0.

  • Changed
    NormDbLocation-Ids im CoreId-Format übertragen – SOMSI-385 (medium)
    Notes Der Builder für NormDbLocations nimmt die Id nun als CoreId-Objekt und als String entgegen. Wenn die Id als String übergeben wird, wird sie ins CoreId-Format umgewandelt, wenn nötig. Z.B. aus dem String "vokabel-1572" wird "urn:ard:location:e4f12d7dba8c438f" und aus dem String "1572" wird ebenfalls "urn:ard:location:e4f12d7dba8c438f". Die Angabe von "urn:ard:location:e4f12d7dba8c438f" bleibt unverändert. Mappings sollten dennoch direkt ein CoreId-Objekt statt einen String übergeben.
Version 4.23.0

– 2/8/24

Sophora Client API: 4.27.2.

  • Fixed
    Während des Aufsynchronisierens von Sophora-Events dürfen neue Events nicht verloren gehen – SOMSI-341 (high)
    Notes Während der Synchronisierung eingehende Sophora-Events werden nun nachträglich abgearbeitet
  • Added
    Priorisierungsmöglichkeit für Aufträge aus Sophora im SMS anbieten – SOMSI-364 (medium)
    Notes Die Behandlung von Sophora-Dokumentänderungen kann nun priorisiert werden ("normal" und "hoch"). Auf diese Weise lassen sich z.B. redaktionelle Dokumentänderungen vor automatischen Dokumentänderungen (bspw. durch den Sophora-Importer) an die ARD Mediathek/Audiothek senden. Abgrenzung: Mappings, die per REST-Schnittstelle oder "Used Sources"-Feature ausgelöst werden, können hiermit nicht priorisiert werden. Weitere Informationen sind dem "Sophora Metadata Supplier for ARD Mediathek/Audiothek Developing Guide" unter dem Stichwort "IPrioritySetter" zu entnehmen.

    Monitoring:
    Die bisherigen Metriken der SupplyJob-Queue wurden beibehalten und spiegeln den Gesamtzustand der Queue wieder. Zusätzlich sind folgende Metriken neu hinzugekommen, welche sich auf die jeweilige Priorität beziehen (<priority> steht für "normal" bzw. "high"):
    - metadatasupplier.supplyjob.<priority>.queue.size
    - metadatasupplier.supplyjob.<priority>.queued
    - metadatasupplier.supplyjob.<priority>.executed

    Die Entgegennahme von Dokumentänderungsevents und deren Abarbeitung wurde in diesem Zuge voneinander getrennt. Dafür wurde eine Event-Queue eingeführt und vor der SupplyJob-Queue angesiedelt. Folgende neue Metriken zeigen den Zustand dieser Event-Queue an:
    - metadatasupplier.event.queue.size
    - metadatasupplier.event.queued
    - metadatasupplier.event.executed
    - metadatasupplier.event.executionerrors
Version 4.22.1

– 12/19/23

Sophora Client API: 4.27.0, Spring Data Sophora: 4.8.0, Spring Boot Sophora Commons: 4.3.0

  • Fixed
    Zeilenumbrüche bei Aufzählungen in Haftnotizmeldungen korrigieren – SOMSI-368 (medium)
    Notes Behebt das Problem, dass URLs am Ende von einzelnen Aufzählungspunkten in den Feedback-Haftnotizen im DeskClient nicht (richtig) als Link erkannt werden
Version 4.22.0

– 12/10/23

Sophora Client API: 4.26.0.

  • Improved
    Deutschsprachige Validierungsmeldungen für Felder des ARD Metadatenpakets 2 verbessern – SOMSI-352 (medium)
    Notes Manche deutsche Übersetzungen der englischsprachigen Validierungsmeldungen von der ARD Mediathek/Audiothek wurden verbessert
  • Added
    Zulieferung der Felder des ARD Metadatenpakets 3 per SMS ermöglichen – SOMSI-350 (medium)
    Notes Die folgenden neuen Felder können nun angeliefert werden:
    - "companyCredits" (für Seasons, Shows, EventLivestreams, Episoden, Sections und Extras)
    - "creationBrid" (für Seasons, Shows, EventLivestreams, Episoden, Sections, Extras und Permanent-Livestreams)
    - "creativeCommonsLicense" (für Episoden, Sections und Extras)
    - "isClosedNarration" (für Shows mit Show-Type "INFINITE_SERIES")
    - "isSensitiveContent" (für Shows, EventLivestreams, Episoden, Sections und Extras)
    - "loginOnlyUntil" (für Publications)
    - "permanentLivestreamType" (für PermanentLivestreams)
    - "producedForOnDemand" (für Shows (nur Audio))
    - "publicationBrid" (für Publications und Permanent-Livestreams)
    - "relatedShowIds" (für Shows)
    - "showNotes" (für Episoden)
    - "videoLanguage" (für VideoBinaries)

    Außerdem:
    - Die deprecated Felder "isMovie" und "premiereDate" wurden aus Episoden komplett entfernt
    - Das Feld "involvedInternalInstitutionsAndFinancialShares" von InternalOwnerships ist nun kein Pflichtfeld mehr und braucht somit nicht mehr explizit gesetzt werden

    Folgende Message-Keys wurde korrigiert:
    - error.deliveryapi.service.validation.image_binary.undetermineable_mediatype => error.deliveryapi.service.validation.image_binary.indeterminable_mediatype
    - error.deliveryapi.service.validation.asset.category_distribution_missmatch_publisher_type => error.deliveryapi.service.validation.asset.category_distribution_mismatch_publisher_type

    Folgende Message-Keys sind neu hinzugekommen:
    - error.deliveryapi.service.brid.brid_not_unique
    - error.deliveryapi.service.validation.must_be_equal_or_greater_than
    - error.deliveryapi.service.validation.audio_binary.audiotracks.invalid_audioversion
    - error.deliveryapi.service.validation.video_binary.no_embedded_subtitles_or_sign_language_available_for_videoLanguage
    - error.deliveryapi.service.validation.video_binary.incorrect_language_type_for_videoLanguage_with_sign_languages
    - error.deliveryapi.service.validation.video_binary.incorrect_language_type_for_videoLanguage_with_subtitles
    - error.deliveryapi.service.validation.asset.invalid_html_in_shownotes
    - error.deliveryapi.service.validation.asset.company_credit.exactly_one_identifier_must_be_set
    - error.deliveryapi.service.validation.asset.company_credit.role_description_mandatory_for_role_other
    - error.deliveryapi.service.validation.show.produced_for_on_demand_not_supported_for_video_shows
    - error.deliveryapi.service.validation.show.is_closed_narration_not_valid_for_show_type
    - error.deliveryapi.service.validation.publication.login_only_until_not_after_created
    - error.deliveryapi.service.validation.publication.login_only_until_not_after_start_date
    - error.deliveryapi.service.validation.publication.login_only_until_with_event_livestream
    - error.deliveryapi.service.validation.content_event.content_event_unique_type
    - error.deliveryapi.service.validation.content_event.content_events_overlap
    - error.deliveryapi.service.validation.content_event.content_events_type_ordering

    Die vollständige Liste aller Message-Keys und deren Texte befindet sich im ARD-Developer-Portal.
Version 4.21.0

– 11/8/23

Sophora Client API: 4.23.5.

  • Improved
    Error-Logging in ImageUtils verbessern – SOMSI-356 (medium)
    Notes Falls Bildvarianten in einem Bilddokument nicht existieren, wird nun neben dem Bildvariantennamen auch die Sophora-ID des betroffenen Bilddokumentes geloggt.
  • Improved
    Tests für die automatische Erzeugung von ImageCollections hinzufügen – SOMSI-355 (medium)
    Notes Das bestehende Verhalten bei der Erzeugung von ImageCollections wurde durch weitere Unittests abgesichert
  • Added
    Clientskript für die manuelle (Neu-)Anlieferung von Inhalten bereitstellen – SOMSI-137 (medium)
    Notes Es gibt nun ein DeskClient-Skript "Zur ARD Mediathek/Audiothek senden", um das Senden von Inhalten an die ARD Mediathek/Audiothek zu triggern, ohne Sophora-Dokumente (erneut) veröffentlichen zu müssen. Weitere Informationen dazu sind dem Abschnitt "Client Script to manually trigger the Sophora Metadata Supplier" der Dokumentation "Sophora Metadata Supplier for ARD Mediathek/Audiothek Operation" zu entnehmen.
Version 4.20.0

– 10/26/23

Sophora Client API: 4.23.2.

  • Added
    Feedback im SMS erweitern: Message-Codes, HTTP-Status und UsedSources – SOMSI-286 (medium)
    Notes Das Feedback wurde um Message-Codes mit Platzhalter-Argumenten, einer Auflistung der zusätzlich verwendeten Quellen (Used Sources) und den jew. HTTP-Status-Code von der ARD Mediathek/Audiothek erweitert. Die bisher hart codierten Feedbacktexte können somit nun per "messages.properties"-Dateien individualisiert werden. Manche der Texte wurden bereits umformuliert. Achtung: Die Textkonstanten aus FeedbackService, UnpublishOperation und RepublishOperation wurden entfernt.

    Damit die Meldungstexte im Feedback und die Haftnotiztexte in den Sophora-Dokumenten weiterhin in deutscher Sprache erscheinen, muss der Metadata Supplier mit deutschem Locale gestartet werden. Diese Haftnotiztexte lassen sich ebenfalls individualisieren.

    Die beim Mapping verwendeten Quellen (Used Sources) werden standardmäßig ebenfalls in die Haftnotiz geschrieben. Dies lässt sich per Konfigurationsparameter "metadata-supplier-sophora.attach-used-sources-to-sticky-notes" in der application.yml abschalten.

    Weitere Informationen befinden sich in der Dokumentation zum Sophora Metadata Supplier.
Version 4.19.0

– 9/28/23

Sophora Client API: 4.22.0.

  • Improved
    Metriken für Job-Queue bereitstellen – SOMSI-336 (high)
    Notes Zum Auslesen der aktuellen Anzahl der aus Sophora getriggerten und noch abzuarbeitenden Mapping-Aufträge wurde die neue Metrik "metadatasupplier.supplyjob.queue.size" hinzugefügt. Die Anzahl der insgesamt aus Sophora getriggerten bzw. abgearbeiteten Mapping-Aufträge seit SMS-Start kann nun über die neuen Metriken "metadatasupplier.supplyjob.queued" bzw. "metadatasupplier.supplyjob.executed" abgefragt werden. Die Gesamtanzahl der Mapping-Aufträge, deren Abarbeitung aufgrund unvorhergesehener Fehler abgebrochen ist, kann über die neue Metrik "metadatasupplier.supplyjob.executionerrors" ausgelesen werden.
Version 4.18.0

– 8/4/23

Sophora Client API: 4.20.2.

  • Changed
    Hilfsmethode für Mapping von Genres und Subgenres an geänderte Auswahlwertstruktur anpassen – SOMSI-330 (medium)
    Notes Die Hilfsmethoden der ArdNormDbUtil- und SdsArdNormDbUtil-Klassen können jetzt auch die Vokabel-IDs aus Genre- und Subgenre-Auswahlwerten auslesen, die der neuen Struktur folgen, welche mit dem ARD Metadatenpaket 2 eingeführt wurde. Genres und Subgenres, die noch der alten Struktur folgen, funktionieren weiterhin mit den Hilfsmethoden.
Version 4.17.1

– 7/20/23

Sophora Client: 4.20.0.

  • Improved
    AspectRatio um 2:3 erweitern – SOMSI-337 (medium)
    Notes Bei Bildern sind nun folgende Seitenverhältnisse möglich: 2:3, 3:4, 16:7, 16:9, 32:9, 64:9
Version 4.17.0

– 7/17/23

Sophora API: 4.19.2. Sophora Client: 4.19.2.

  • Added
    Zulieferung der personCredits-, audioTracks- und contentEvents-Felder des ARD Metadatenpakets 2 per SMS ermöglichen – SOMSI-318 (medium)
    Notes "personCredits" wird an allen Items und Groupings unterstützt; "audioTracks"-Feld wird an allen Binaries unterstützt; "subtitleTracks" wird an VideoBinaries unterstützt; "contentEvents"-Feld wird an allen OnDemand Inhalten (Episode, Extra, Section) unterstützt; "language" und "subtitleType" werden an Subtitle unterstützt
Version 4.16.1

– 6/8/23

Sophora API: 4.19.1. Sophora Client: 4.19.1.

  • Fixed
    Benutzerdefinierte Texte zu Fehlermeldungen der Core API werden nicht gefunden – SOMSI-326 (medium)
    Notes Behebt das Problem, dass die mitgelieferten Übersetzungen zu Fehlermeldungen der Core API oder eigene Übersetzungen in Mapping-Plugins nicht gefunden werden.
  • Fixed
    SMS muss im Dashboard richtig angezeigt werden – SOMSI-299 (medium)
    Notes Mit diesem Bugfix wird der Onlinestatus in der Kachel im Dashboard repariert. Damit die Daten in den Details auf der rechten Seite im Dashboard angezeigt werden, muss das Admin Dashboard in Version >= 3.1.5, 4.2.4, 5.0.0 verwendet werden.
  • Changed
    Update auf Spring Boot 2.7.11 und Spring 5.3.27 – SOMSI-323 (medium)
    Notes Es wird nun Spring Boot 2.7.11 (statt 2.7.10) mit Spring 5.3.27 (statt 5.3.26) eingesetzt. In bestehenden Mapping-Projekten müssen ggf. die Abhängigkeiten angepasst werden.
Version 4.16.0

– 5/11/23

Sophora API: 4.17.2. Sophora Client: 4.17.2.

  • Added
    Zulieferung der ersten Felder des ARD Metadatenpakets 2 per SMS ermöglichen – SOMSI-296 (medium)
    Notes An Groupings (Season und Show), Items (EventLivestream, Episode, Section und Extra) sowie PermanentLivestreams können nun die Felder "contentRatings", "countriesOfOrigin", "embeddingType", "externalContentIds", "geoLocations", "internalOwnership", "normDbLocations", "originalRelease", "originalSpokenLanguages" und "seo" übergeben werden. Außerdem lassen sich an Images die Felder "artworkType" und "isBranded" setzen.
Version 4.15.0

– 4/12/23

Der Sophora Metadata Supplier nutzt nun Spring-Boot 2.7.10 mit Spring 5.3.26 und entsprechenden Abhängigkeiten

  • Changed
    Update auf SpringBoot 2.7: Umstellung der Swagger-UI von Springfox auf Springdoc – SOMSI-259 (high)
    Notes Die Standard-URL zur Swagger-UI lautet nun http://localhost:8080/swagger-ui.html (statt http://localhost:8080/swagger-ui/index.html). Siehe Dokumentation bzgl. REST-API, Monitoring und Konfiguration des Webservers.
  • Changed
    Dependency-Upgrade: Auf Spring 5.3.26, Spring-Boot 2.7.10 und Abhängigkeiten aktualisieren – SOMSI-307 (medium)
    Notes Mapping-Projekte müssen ggf. an die neuen verwendeten Versionen angepasst werden.
Version 4.14.0

– 3/21/23

  • Added
    Benutzerdefinierte Texte zu Fehlermeldungen der Core API ermöglichen – SOMSI-260 (medium)
    Notes Texte zu Fehlermeldungen aus der ARD Core API werden nun je nach Default Locale vom Sophora Metadata Supplier auf deutsch oder englisch (default) als Feedback ausgegeben. Darüber hinaus ist es möglich, eigene Übersetzungen zu verwenden. Dazu müssen entsprechende "messages properties"-Datei(en) im "i18n"-Verzeichnis der Sophora Metadata Supplier Installation abgelegt werden. Weitere Information hierzu sind der Dokumentation zu entnehmen.
Version 4.13.0

– 3/1/23

  • Changed
    SpringDataSophora 4.4.0 einbinden – SOMSI-304 (medium)
    Notes Es wird nun SpringDataSophora 4.4.0 verwendet, u.a. mit der Erweiterung für das IPTC-Add-on an Bilddokumenttypen und korrekter Beachtung im OfflineDateCalculator, wenn "sophora:offlineAfterDays" auf "-" gesetzt ist (= "nie offline stellen").
Version 4.12.1

– 2/2/23

  • Changed
    Version der Spring-Data-Sophora-Commons Dependency vorgeben – SOMSI-294 (medium)
    Notes Der Metadata Supplier gibt nun die Version von spring-data-sophora-commons vor, so dass Mapper-Projekte diese einfach verwenden können.
Version 4.12.0

– 1/30/23

  • Changed
    ARD Core API ohne JUnit Compile Dependency nutzen – SOMSI-293 (medium)
    Notes In Mapping-Projekten müssen JUnit-Abhängigkeiten nun ggf. explizit angegeben werden.
Version 4.11.0

– 12/8/22

  • Fixed
    Das SMS muss wieder mit Docker gestartet werden können – SOMSI-274 (critical)
  • Fixed
    RestTemplateBuilder soll die richtige RequestFactory verwenden – SOMSI-282 (medium)
    Notes In der RestTemplateFactory verwendet der RestTemplateBuilder nun die per RestTemplateFactory.createRequestFactory() erzeugte ClientHttpRequestFactory. Es reicht also, die Methode statt der ganzen Klasse zu überschreiben, wenn eine andere RequestFactory verwendet werden soll.
  • Improved
    Feedback bei Exceptions in der accept()-Methode von Mappern zurückgeben – SOMSI-284 (medium)
    Notes Exceptions in IResourceMapper.accept(...) werden nun abgefangen und so behandelt, als ob es keinen Mapper für die Source gäbe. Eine entsprechende Feedbackmeldung wird zurückgegeben.
Version 4.10.1

– 11/25/22

ACHTUNG: Diese Version lässt sich nicht in Docker starten

  • Changed
    Dependencies aktualisiert: Apache Commons Text und Commons Lang 3 – SOMSI-272 (medium)
    Notes Diverse Abhängigkeiten wurden aktualisiert
Version 4.10.0

– 11/9/22

ACHTUNG: Diese Version lässt sich nicht in Docker starten

  • Improved
    Feedback bzgl. "unpublish" und "republish" verbessern – SOMSI-257 (medium)
    Notes Es gibt nun keine "Erfolgreich an die ARD Mediathek/Audiothek gesendet"-Feedbackmeldung mehr für Objekte vom Typ Publishable, da über diese keine Resourcen in der Mediathek angelegt oder inhaltlich aktualisiert werden können. Die Feedbackmeldungen "Erfolgreich in der ARD Mediathek/Audiothek veröffentlicht" bzw. "Erfolgreich aus der ARD Mediathek/Audiothek entfernt" erscheinen weiterhin.

    Es gibt neue, zusätzliche Feedbackmeldungen, wenn Resourcen in der ARD Mediathek/Audiothek veröffentlicht/depubliziert werden sollten, die bereits veröffentlicht/depubliziert sind: "Ein (erneutes) Veröffentlichen in der ARD Mediathek/Audiothek war nicht notwendig" und "Ein (erneutes) Entfernen aus der ARD Mediathek/Audiothek war nicht notwendig".

    Es gibt neue, zusätzliche Feedbackmeldungen, wenn Resourcen in der ARD Mediathek/Audiothek veröffentlicht/depubliziert werden sollten, die dort gar nicht existieren: "Ein Veröffentlichen in der ARD Mediathek/Audiothek war nicht möglich" bzw. "Ein Entfernen aus der ARD Mediathek/Audiothek war nicht möglich".
  • Added
    Der Metadata Supplier soll JMX per HTTP (Jolokia) anbieten und den HTTP-Port in der Konfiguration mitliefern – SOMSI-266 (medium)
    Notes JMX MBeans können nun per HTTP unter /actuator/jolokia/ verwendet werden. Ab Sophora 4 ist der Sophora Metadata Supplier damit auch im Sophora Admin Dashboard monitorbar.
Version 4.9.2

– 10/12/22

  • Fixed
    Spring-Boot-Sophora-Commons 4.1.19 verwenden – SOMSI-265 (medium)
    Notes Behebt ein Maven-Enforcer-Plugin-Problem für SMS-Mapper-Plugin-Projekte bzgl. der verwendeten Sophora-Core-Version.
Version 4.9.1

– 10/12/22

  • Changed
    Standardmäßig die neue Test-Delivery-API-URL statt der einzelnen Core API-Service-URLs nutzen – SOMSI-253 (medium)
    Notes Die verschiedenen Services der ARD Mediathek/Audiothek (wie Image-Service, Asset-API und Player-API) werden mittlerweile unter einer Delivery-API-URL zusammengefasst und bereitgestellt. Daher lauten die Standard-URL-Konfigurationen im SMS für Image-Service, Asset-API und Player-API nun jeweils https://deliver-test.ard.de/delivery-api statt https://deliver-test.ard.de/image-service, https://deliver-test.ard.de/asset-api und https://deliver-test.ard.de/player-api.
    Bei bestehenden SMS-Installationen, die die ARD Mediathek/Audiothek Service-URLs in der application.yml eingetragen haben, müssen diese URLs für jeden der drei Services entsprechend angepasst werden: URL für das Testsystem der ARD Mediathek/Audiothek: https://deliver-test.ard.de/delivery-api bzw. URL für das Live-System der ARD Mediathek/Audiothek: https://deliver.ard.de/delivery-api
Version 4.9.0

– 9/14/22

  • Changed
    Versionen für Module vom SMS und SDS im DependencyManagement vorgeben – SOMSI-258 (medium)
    Notes Mapping-Plugin-Projekte können für einfacheres und konsistentes Dependency Management nun die "pom.xml" von "metadatasupplier-parent" importieren
Version 4.8.1

– 8/5/22

  • Improved
    Strukturiertes Logging: Image-Data soll nicht geloggt werden, damit Logfiles klein bleiben – SOMSI-255 (medium)
    Notes Alle Resourcen werden nur noch auf Trace-Level geloggt.
  • Added
    Metriken für UsedSources und MappedResources hinzufügen – SOMSI-229 (medium)
    Notes Die Metriken zu Anzahl und Größe der "Used Sources" und "Mapped Resources" sind nun unter http://<host>:<port>/actuator/metrics/ abrufbar.
Version 4.8.0

– 7/29/22

  • Improved
    Änderungen aus der Doku der ARD Core API nachziehen – SOMSI-239 (medium)
    Notes Der JavaDoc an den Interfaces für Resourcen (IShow, ISeason, IEpisode, usw.) wurde aktualisiert.
  • Improved
    Strukturiertes Logging einbauen – SOMSI-218 (medium)
    Notes Über den VM-Parameter -Dspring.profiles.active=json-logs (oder über die Angabe in der application.yml) kann strukturiertes (Json-)Logging aktiviert werden.
    Vorsicht: Fügt eine Abhängigkeit zu "net.logstash.logback" "logstash-logback-encoder" hinzu, die in Mapping-Projekten ggf. zu Abhängigkeitskonflikten mit Jackson führen kann.
Version 4.7.1

– 7/21/22

  • Fixed
    Log zeigt falsche Webserver-Ports an – SOMSI-222 (medium)
  • Improved
    Publications sollen auch ohne ImageCollection angelegt werden können – SOMSI-225 (high)
    Notes Publications können auch angelegt werden, ohne explizit Images hinzufügen zu müssen. In dem Fall werden in der ARD Mediathek/Audiothek die Bilder aus dem referenzierten Item verwendet.
  • Improved
    Versionsnummern der Mapping-Klassen loggen – SOMSI-244 (medium)
    Notes Wenn die <my-mapping>-jar-with-dependencies.jar eine META-INF/MANIFEST.MF mit Eintrag für "Implementation-Version" hat, wird die Versionsnummer der Mapper-Klassen geloggt.
  • Improved
    Metriken um Tag "application" ergänzen, um Filterung zu erleichtern – SOMSI-245 (low)
    Notes Die Metriken enthalten nun {application="Sophora Metadata Supplier for ARD Mediathek/Audiothek"}
Version 4.7.0

– 7/14/22

  • Added
    Ermöglichen des Anlieferns der "alten" Term-IDs – SOMSI-238 (medium)
    Notes Bei AudioBinary und VideoBinary kann die TermId nun statt im CoreID-Format (z.B. "urn:ard:termid-video:9bb5a34d66e2ec19") auch im CcAvTermId-Format (z.B. "1.2.3.14.1") angegeben werden, z.B. IVideoBinary videoBinary = VideoBinary.builder().with...(...).withCcAvTermId(CcAvTermId.of("1.2.3.14.1")).build();
Version 4.6.0

– 7/13/22

Setzt mindestens Server-Version 4.11.0 voraus. Bringt "spring-data-sophora" und das neue Artefakt "metadata-supplier-spring-data-sophora-commons" mit, welches Hilfsmethoden für die Verwendung von Spring-Data-Sophora in Mapping-Plugins bereit stellt.

  • Fixed
    Inkompatibilitätsprobleme mit Sophora-Servern beheben, die nicht Sophora-Core 4.10.0, 4.10.1 oder 4.11.0 verwenden – SOMSI-228 (high)
  • Added
    IdUtils.createId() für mehrere Resources anbieten – SOMSI-241 (medium)
    Notes Neben "CoreId createId(IResource resource)" gibt es jetzt auch "List<CoreId> createIds(Collection<? extends IResource> resources)"
  • Added
    Hilfsmethoden bzgl. Genres, Categories und Tenants zu "metadata-supplier-spring-data-sophora-commons" hinzufügen – SOMSI-240 (medium)
    Notes Die Klassen com.subshell.sophora.metadatasupplier.sds.commons.SdsArdNormDbUtil und com.subshell.sophora.metadatasupplier.sds.commons.TenantUtil aus dem neuen "metadata-supplier-spring-data-sophora-commons"-Artefakt bieten Methoden an, um aus SDS-MultiSelectValue-Objekten entsprechende CoreIds für (Sub)GenreCategories oder ThematicCategories bzw. die Tenants zu erhalten.
  • Added
    Methode anbieten, um aus einer ExternalId eine CoreId oder null zu erzeugen – SOMSI-237 (medium)
    Notes IdUtils.createIdOrNull(Type type, ExternalId externalId) liefert die CoreId zu dem angegebenen Type und ExternalId. Falls keine ExternalId angegeben wurde, liefert die Methode null (im Gegensatz zu IdUtils.createId(Type type, ExternalId externalId), was eine Zufalls-Id liefert).
  • Added
    SophoraSourceDescriptor direkt von Sophora-Dokumenten erzeugen – SOMSI-236 (medium)
    Notes Es gibt jetzt SophoraSourceDescriptor.create(ISophoraDocument), um den SourceDescriptor zu einem Sophora-Dokument zu erzeugen.
    Das neue Artefakt "metadata-supplier-spring-data-sophora-commons" enthält DocumentEntitySourceDescriptor.create(SophoraDocumentEntity), womit SourceDescriptor-Objekte zu SophoraDocumentEntity-Objekten erzeugt werden können.
    Zu beachten: Das neue Artefakt bringt die Abhängigkeit zu "metadata-supplier-sophora-commons" und zu "spring-data-sophora" mit.
Version 4.5.4

– 6/17/22

  • Fixed
    VideoBinary.hasEmbeddedSubtitles() darf nicht immer "false" an die Core API übergeben – SOMSI-232 (high)
    Notes VideoBinary.isHasEmbeddedSubtitles() wurde entfernt. Es muss IVideoBinary.hasEmbeddedSubtitles() genutzt werden.
    Der vollständige Fix ist erst ab Version 3.5.4 bzw. 4.5.4 enthalten.
Version 4.5.3

– 6/17/22

  • Fixed
    VideoBinary.hasEmbeddedSubtitles() darf nicht immer "false" an die Core API übergeben – SOMSI-232 (high)
    Notes VideoBinary.isHasEmbeddedSubtitles() wurde entfernt. Es muss IVideoBinary.hasEmbeddedSubtitles() genutzt werden.
    Der vollständige Fix ist erst ab Version 3.5.4 bzw. 4.5.4 enthalten.
Version 4.5.2

– 6/13/22

  • Added
    Feedback-Meldungen sollten nicht mehrfach zum Feedback hinzugefügt werden können – SOMSI-230 (medium)
    Notes Beim Hinzufügen von Feedback-Einträgen zu Feedbacks werden bereits vorhandene Einträge nun ignoriert, so dass der gleiche Feedback-Eintrag nicht mehrfach im Feedback enthalten ist.
Version 4.5.1

– 6/7/22

  • Improved
    Der ImageMapper soll auch die Seitenverhältnisse der gemappten Bilder liefern – SOMSI-227 (medium)
    Notes Der ImageMapper bietet nun zusätzlich die Methode mapImagesToAspectRatioMap(IImageDataProvider imageDataProvider) an, welche Map<IAspectRatio, IImage> zurück liefert.
Version 4.5.0

– 5/24/22

ACHTUNG: Enthält inkompatible API-Änderungen! Die Mapper-Projekte/-Klassen müssen angepasst und zusammen mit dieser Sophora Metadata Supplier Version installiert werden. Ein altes Mapping mit dieser (oder neueren) SMS-Version bzw. ein angepasstes Mapping mit einer älteren SMS-Version sind nicht kompatibel!

  • Improved
    Inkompatibilitäten zwischen SMS und Mapping sollen geloggt werden und zum Beenden des SMS führen – SOMSI-223 (medium)
    Notes Beim Auftreten eines LinkageError zwischen SMS und Mapping erscheint dieser nun in der Logdatei und das SMS wird mit Exitcode 192 beendet.
  • Improved
    Felder für Core-IDs sollen in Builder-Methoden CoreId-Objekte akzeptieren – SOMSI-172 (low)
    Notes ACHTUNG: Inkompatible Model-API-Änderung! Die Felder genreCategoryId, subgenreCategoryIds und thematicCategoryIds an Shows, Sections, Seasons usw. sind nun vom Typ CoreId statt String! Die Mapper-Projekte/-Klassen müssen dementsprechend angepasst werden, bevor diese Metadata Supplier Version produktiv eingesetzt wird, ansonsten funktioniert das Mapping nicht!
    Dazu `String genreCategoryCoreId = "urn:ard:category-genre:myExternalIdHash";` ändern zu `CoreId genreCategoryCoreId = CoreId.create("urn:ard:category-genre:myExternalIdHash");` oder `CoreId genreCategoryCoreId = CoreId.create(Type.GENRE_CATEGORY.getCoreIdPrefix(), "myExternalIdHash");` bzw. `String genreCategoryId = CoreId.create(Type.GENRE_CATEGORY, "myExternalId").getId();` ändern zu `CoreId genreCategoryCoreId = CoreId.create(Type.GENRE_CATEGORY, "myExternalId");`.
    Zum Lesen von List<CoreId> als List<String> (z.B. in Tests) kann CoreId.getStrings() verwendet werden, falls benötigt.
  • Added
    Angabe zusätzlicher Mapping-Parameter ermöglichen – SOMSI-212 (medium)
    Notes Per IMetadataSupplier.supply(SourceDescriptor, Parameters) und über die REST-Schnittstelle können nun zusätzliche Parameter von außen ins Mapping reingereicht werden.
    ACHTUNG: Inkompatible API-Änderung! IResourceMapper.accept(SourceDescriptor) wurde geändert zu IResourceMapper.accept(SourceDescriptor, Parameters), d.h. alle Mapper-Klassen müssen die neue Methodensignatur implementieren bevor diese Metadata Supplier Version produktiv eingesetzt wird, ansonsten funktioniert das Mapping nicht! In Tests kann Parameters.of() für den neuen Methodenparameter übergeben werden.
    In IResourceMapper.mapToResources(SourceDescriptor, IMappingContext) kann über den IMappingContext auf die Parameter zugegriffen werden, falls benötigt.
Version 4.4.4

– 5/6/22

  • Fixed
    Release-Build-Prozess korrigieren – SOMSI-220 (medium)
Version 4.4.3

– 5/6/22

  • Improved
    StickyNoteFeedbackHandler soll keinen langen Stack loggen, wenn das Sophora-Dokument nicht existiert – SOMSI-219 (medium)
  • Improved
    Converter für Strings im Format "HH:MM:SS.ss" nach "PTxHxMx.xxxS" anbieten (ISO 8601) – SOMSI-217 (medium)
    Notes In "metadata-supplier-sophora-commons" gibt es nun einen com.subshell.sophora.metadatasupplier.sophora.commons.Iso8601Converter
  • Improved
    Methoden zum Erzeugen der CoreId aus Auswahlwertdokumenten für GenreCategories, SubgenreCategories und ThematicCategories bereitstellen – SOMSI-215 (medium)
    Notes In com.subshell.sophora.metadatasupplier.sophora.commons.ArdNormDbUtil sind nun entsprechende Methoden enthalten
  • Improved
    Hilfsmethoden bereitstellen, um mehrere Enums aus mehreren Strings zu erhalten – SOMSI-214 (medium)
    Notes Die Enums aus com.subshell.ardcore.model.types haben nun alle eine valuesOf(Collection<String> names)-Methode
  • Improved
    Docker Image verbessern – SOMSI-205 (medium)
Version 4.4.2

– 4/6/22

  • Improved
    Auf Spring-Data-Sophora 3.2.8 bzw. 4.0.14 aktualisieren – SOMSI-211 (medium)
    Notes Der Metadata Supplier verwendet nun Sophora Core 3.9.4 bzw. 4.9.4. Mapper-Projekte mit Metadata Supplier 3.4.2 bzw. 4.4.2 und Spring-Data-Sophora 3.2.8 bzw. 4.0.14 müssen u.U. org.slf4j:slf4j-api:1.7.32 bzw. org.slf4j:jcl-over-slf4j:1.7.32 statt Version 1.7.30 einbinden.
Version 4.4.1

– 3/29/22

  • Improved
    Feld originalClipExternalId in IPublication unterstützen – SOMSI-206 (medium)
    Notes Bei Publications kann jetzt auch das Feld "originalClipExternalId" gesetzt werden.
Version 4.4.0

– 3/14/22

  • Changed
    Banner und weitere Ausgaben des Sophora Metadata Suppliers sollen in der Log-Datei (nicht in einer gesonderten .out-Datei) ausgegeben werden – SOMSI-150 (high)
  • Added
    Wiederverwendbaren Sophora-Mapping-Code im Sophora Metadata Supplier anbieten – SOMSI-202 (medium)
    Notes Das Projekt "metadata-supplier-sophora-commons" enthält nun nützliche Hilfsklassen und -methoden, um Sophora-Inhalte zu IResource-Objekten zu mappen. Z.B. ImageMapper, IImageVariantsProvider und IImageDataProvider, um Sophora-Bilddokumente zu mappen, wobei pro Seitenverhältnis aus einer Liste von Bildvarianten die erste Bildvariante des Bilddokumentes mit Binärdaten verwendet wird (Codebeispiel befindet sich im "metadata-supplier-plugin-example"). ArdNormDbUtil, um aus einem Auswahlwertdokument die ARD-Normdatenbank-Werte zu ermitteln. SophoraStringUtils, um z.B. aus dem "sophora:tags"-Property die einzelnen Tag-Einträge als Liste zu erhalten. Außerdem wurde Logging beim Hinzufügen von Feedback-Einträgen eingebaut und die IdUtils um eine Methode zum Erzeugen einer CoreId aus einer ExternalId erweitert.
  • Added
    Depublizieren von nicht mehr gemappten Resourcen unterstützen – SOMSI-196 (medium)
    Notes Per IMappingContext.setUnpublishPreviouslyMappedResources(true/false) können die Resourcen zum Mappingergebnis hinzugefügt werden, welche beim aktuellen Mappingdurchlauf depubliziert werden müssen, weil sie beim vorherigen Durchlauf in der ARD Mediathek/Audiothek erzeugt und publiziert wurden, nun aber z.B. nicht mehr in der Quelle enthalten sind und deswegen in der ARD Mediathek/Audiothek depubliziert sein sollen (sofern sie nicht auch zu einer anderen Source gemappt und veröffentlicht wurden).
    Außerdem existiert per IMappingContext.getResourceProvider() Zugriff auf die gespeicherten Informationen zu den zuletzt erfolgreich gemappten Resourcen der gerade zu mappenden Source.
Version 4.3.1

– 2/22/22

  • Fixed
    Publications ohne ImageCollection können nicht von der ARD Core API geladen werden – SOMSI-197 (medium)
  • Added
    Retry-Mechanik für Anfragen an Core API ermöglichen, wenn zuvor angelegte Ressourcen noch nicht gefunden werden konnten – SOMSI-191 (medium)
    Notes Per "ardmedialibrary.retry.maxAttempts" und "ardmedialibrary.retry.delayInMillis" kann konfiguriert werden, wie häufig und in welchen Abständen versucht werden soll, eine Resource in der ARD Mediathek/Audiothek anzulegen bzw. zu aktualisieren, wenn eine "Resource does not exist"-Fehlermeldung auftritt.
Version 4.3.0

– 2/2/22

  • Added
    Zugriff auf die Verwendungen (UsedSources) in Mappings ermöglichen – SOMSI-180 (medium)
    Notes Neue Methode hinzugefügt: IMappingContext.getPreviousUsedSources()
  • Added
    Unpublish und Republish von Objekten nur anhand der External-ID ermöglichen – SOMSI-179 (medium)
    Notes Über die neue IResource-Implementation "Publishable" lassen sich Resourcen in der ARD Mediathek/Audiothek (de)publizieren, ohne dass die komplette konkrete Resource (z.B. Show) gemappt werden muss.
    Zusätzlich kann per IResource.createIfNotExisting() bestimmt werden, ob eine Resource in der ARD Mediathek/Audiothek erzeugt werden soll, wenn sie dort noch nicht existiert (Standard ist "true").
Version 4.2.3

– 1/11/22

  • Fixed
    PermanentLivestreams müssen an die ARD Mediathek gesendet werden können – SOMSI-184 (medium)
Version 4.2.2

– 1/4/22

  • Fixed
    HTTP Patch muss auch bei Verwendung eines Proxy unterstützt werden – SOMSI-173 (medium)
    Notes Proxy-Einstellungen zur ARD Mediathek/Audiothek können nicht mehr in der application.yml über "ardmedialibrary.credentials.proxyUrl" und "ardmedialibrary.credentials.proxyPort" gesetzt werden. Stattdessen muss der Proxy über normale Systemproperties konfiguriert werden, z.B. in der Datei metadata-supplier-application-executable.conf.
  • Improved
    Im Feedback soll der Begriff "ARD Mediathek/Audiothek" verwendet werden – SOMSI-161 (medium)
Version 4.2.1

– 12/1/21

  • Improved
    Verhindern, dass XML statt JSON zum ARD-Core geschickt wird – SOMSI-163 (medium)
  • Improved
    FeedbackHandler für Haftnotizen soll nur greifen, wenn Sophora-Dokumente gemapped wurden – SOMSI-160 (low)
Version 4.2.0

– 11/25/21

  • Changed
    Das Reagieren auf die (inoffizielle) Statusänderung "PUBLISH_AT_CANCELED" ermöglichen – SOMSI-144 (medium)
  • Changed
    Health-Endpunkte und Metriken im Sophora Metadata Supplier anbieten – SOMSI-135 (medium)
  • Improved
    Beispiel-Mapper-Plugin um Spring-Data-Sophora erweitern – SOMSI-143 (medium)
    Notes Das "metadata-supplier-plugin-example" enthält jetzt zusätzlich einen Beispiel-Mapper, der Spring-Data-Sophora nutzt. Außerdem wir ein "jar-with-dependencies" erstellt. GroupId: "com.subshell.sophora.metadatasupplier", ArtifactId: "metadata-supplier-plugin-example" bzw. "metadata-supplier-plugin-example-launcher".
  • Improved
    Unpublish und Republish optimieren – SOMSI-81 (medium)
    Notes Die Operationen "unpublish" bzw. "republish" an der ARD Core API werden nur noch für veröffentlichbare Entitäten ausgeführt, bei denen der Sichtbarkeitszustand geändert werden muss.
  • Added
    Unpublish- und Republish-Operationen per isPublished-Flag von IPublishable-Resourcen auslösen – SOMSI-152 (medium)
    Notes Der Metadata-Supplier verfügt nur noch über die Schnittstelle "supply(SourceDescriptor)". Die REST-Schnittstelle befindet sich bei /metadata-supplier/<source-type>/<source-id> ("put" und "get"). Die Mapper müssen bei Shows, Seasons, PermanentLivestreams und Publications nun per Builder.withPublished(true/false) angeben, ob die jeweilige Resource in der ARD Mediathek sichtbar sein soll oder nicht.
  • Added
    IPublishable-Interface für veröffentlichbare IResource einführen – SOMSI-151 (medium)
    Notes Die Mapper können bei Shows, Seasons, PermanentLivestreams und Publications nun per Builder.withPublished(true/false) angeben, ob die jeweilige Resource in der ARD Mediathek sichtbar sein soll oder nicht.
  • Added
    Per Konfiguration bestimmen, welche Sophora-Dokumentevents behandelt werden sollen – SOMSI-80 (medium)
    Notes In der application.yml muss nun angegeben werden, welche Dokumentstatusänderungen bei welchen Dokumenttypen im Metadata Supplier behandelt werden sollen. Siehe Dokumentation für weitere Informationen.
Version 4.1.0

– 10/26/21

  • Changed
    Entwicklung von kundenspezifischen Mappings in IDEs besser unterstützen – SOMSI-134 (medium)
    Notes Die ausführbare metadata-supplier-application-<version>.jar wurde in metadata-supplier-application-<version>-executable.jar umbenannt. Start-/Stop-Skripte, die diese jar ausführen, müssen dementsprechend angepasst werden. Auch die metadata-supplier-application.conf muss in metadata-supplier-application-executable.conf umbenannt werden, sofern vorhanden. Bei der metadata-supplier-application-<version>.jar handelt es sich jetzt stattdessen nur um das einfache Artefakt der metadata-supplier-application, welche für die Plugin-Entwicklung in einem Launcher-Projekt genutzt werden kann.
  • Changed
    Pflichtfelder "alt" und "producerName" für Images nachziehen – SOMSI-132 (medium)
  • Added
    Methoden prepend() und append() zu ExternalId hinzufügen – SOMSI-126 (medium)
  • Added
    Initiale Aufsynchronisierung abschaltbar machen – SOMSI-125 (medium)
    Notes Per metadata-supplier-sophora:sync-at-startup:false in der application.yml kann die initiale Synchronisation der Inhalte aus dem Sophora-Server abgeschaltet werden
Version 4.0.0

– 10/1/21

  • Fixed
    Für alle Ressourcen mit Bildern sollen die Images und ImageCollections vom ArdCoreConnector angelegt werden – SOMSI-79 (high)
  • Changed
    Mapper sollen mehrere Entitäten in der ARD-Core-API erzeugen können – SOMSI-71 (high)
  • Changed
    Docker-Image des Sophora Metadata Suppliers erstellen – SOMSI-120 (medium)
  • Changed
    Sophora-Events aufsynchronisieren nachdem der Metadata Supplier gestoppt war – SOMSI-108 (medium)
  • Changed
    Anbindung an Player API schaffen – SOMSI-65 (medium)
  • Changed
    Anlegen von Inhalten in der ARD-Core-API auch bei publishAt-Events unterstützen – SOMSI-64 (medium)
  • Changed
    Metadata Supplier muss auch ohne Sophora-Anbindung ausgeführt werden können – SOMSI-44 (medium)
  • Changed
    Rahmenwerk für kundenspezifische Mappings im Sophora Metadata Supplier schaffen – SOMSI-17 (medium)
  • Changed
    Projekt für Sophora Metadata Supplier anlegen – SOMSI-16 (medium)
  • Improved
    Versionsnummer im Logfile ausgeben – SOMSI-116 (medium)
  • Improved
    Feedback bei Fehlern während des Mappings geben – SOMSI-63 (medium)
  • Improved
    Zulieferung von Binärdaten in Image-Entität unterstützen – SOMSI-49 (medium)
  • Improved
    Feedback bei Fehlern während des Mappings oder beim Anlegen im ARD-Core ermöglichen – SOMSI-41 (medium)
  • Improved
    CompletionStage/Futures im ArdCoreConnector richtig nutzen – SOMSI-40 (medium)
  • Improved
    ARD-Core-Anteil aus Sophora Metadata Supplier in eigenes Git-Repo umziehen – SOMSI-38 (medium)
  • Added
    REST-Schnittstelle für die Anlieferung von Inhalten zur ARD-Mediathek schaffen – SOMSI-97 (medium)
  • Added
    Verwendungen persistieren – SOMSI-96 (medium)
  • Added
    Änderungen an verwendeten Dokumenten müssen Aktualisierung von Entitäten in der ARD-Core-API auslösen – SOMSI-55 (medium)

Last modified on 12/15/23

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.

Icon