|
|
|
|
|
|
|
| Datum | Beschreibung | Author | Status |
|
|
|
|
|--------|-------------------------|--------|--------|
|
|
|
|
| 2022-02-25 | Erstversion | David | Draft |
|
|
|
|
|
|
|
|
## EPIC
|
|
|
|
|
|
|
|
* **Manual & Automatic CBA Upload:** [**https://gitlab.servus.at/aura/meta/-/issues/11**](https://gitlab.servus.at/aura/meta/-/issues/11)
|
|
|
|
|
|
|
|
## Use Cases:
|
|
|
|
|
|
|
|
* **Upload von Sendungen zur CBA (manuell und automatisch)**
|
|
|
|
|
|
|
|
## Anforderungen und Aufgaben:
|
|
|
|
|
|
|
|
* **Dashboard:** <span dir="">Triggern von manuellen Uploads, Settings für CBA Account und Lizenzinformationen.</span>
|
|
|
|
* **Tank**<span dir="">: Bereitstellung der Aufnahmen und dazugehörige Metadaten. </span>
|
|
|
|
* **Tank Uploader:** Upload von Episoden zur CBA.
|
|
|
|
|
|
|
|
## Offene Punkte zur Diskussion und Nachbearbeitung:
|
|
|
|
|
|
|
|
* Von wo werden Events für automatischen Upload getriggered (Tank vs Tank Uploader)? Es wäre gut möglichst wenig _web-facing_ Services zu haben und auch mutual-dependencies von Services gering zu halten
|
|
|
|
* Sollen manuelle Uploads via Dashboard den Tank oder Tank Uploader triggern (vgl. vorheriger Punkt)?
|
|
|
|
* Welche Lizenzen sollen angeboten werden?
|
|
|
|
* Zuweisung von Lizenzen auf Show oder auch auf Episoden Level?
|
|
|
|
* Zuweisung von Lizenz Infos gar auf Cue-Point Ebene? CBA erlaubt nämlich keinen Download von Episoden die Musik enthalten. Es gab daher den Wunsch Sendungen automatisch zuschneiden zu lassen um Lizenzpflichtiges Audiomaterial zu entfernen (Vgl. AEP01 und siehe <https://gitlab.servus.at/aura/meta/-/issues/11>)
|
|
|
|
* Rechte und Rollen: Wer darf was (nicht)? (Siehe <https://gitlab.servus.at/aura/meta/-/issues/77>)
|
|
|
|
* Statusabfrage ob Sendungen bereits zur CBA Hochgeladen wurden?
|
|
|
|
* Wann dürfen Sendungen/Files nicht hochgeladen werden? Es gab den Wunsch Sendungen auch bereits vor der Ausspielung Hochladen zu können (siehe <https://gitlab.servus.at/aura/meta/-/issues/11>)
|
|
|
|
|
|
|
|
## Details pro Komponente
|
|
|
|
|
|
|
|
### Tank
|
|
|
|
|
|
|
|
Die Aufgabe des Tank ist hier die Bereitstellung der Aufnahmen und dazugehörige Metadaten.
|
|
|
|
|
|
|
|
Event an Uploader wenn Aufnahmen bereitstehen (Automatischer und manueller Upload).
|
|
|
|
|
|
|
|
### Dashboard
|
|
|
|
|
|
|
|
Das Dashboard bietet ein UI um Lizezen und CBA Credentials zu konfigurieren.
|
|
|
|
|
|
|
|
<span dir="">Das Dashboard sendet ein Event an Tank/Uploader, wenn eine Episode manuell hochgeladen werden soll (Manueller Upload).</span>
|
|
|
|
|
|
|
|
### Steering
|
|
|
|
|
|
|
|
Speichert CBA Credentials und Lizenzinformationen.
|
|
|
|
|
|
|
|
### Tank Uploader
|
|
|
|
|
|
|
|
Der Tank Uploader soll ein generischer Dienst sein, welches als User Agent ausgeführt wird. Die Kernaufgabe ist der Upload von Aufnahmen zu externen Diensten. In erster Version soll nur der Upload zur CBA ermöglicht werden. Die Implementierung soll in Zukunft, wenn gewünscht, den Upload zu anderen Plattformen erlauben.
|
|
|
|
|
|
|
|
## Anhang
|
|
|
|
|
|
|
|
### CBA API
|
|
|
|
|
|
|
|
Das ist ein Backup der CBA API wie sie in der AURA Doku hinterlegt war. Die API Referenzen werden hier mal zur Sicherung abgelegt. Es ist möglich, dass die API nicht mehr gültig ist.
|
|
|
|
|
|
|
|
|
|
|
|
| Purpose | Endpoint | Variables | Return value | GET | PUT | POST |
|
|
|
|
|--------------------|--------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------|-----|-----|------|
|
|
|
|
| Authentication | cba.fro.at/wp-json/wp/ | cba_username (str), cba_token (str) | bearer token | | | X |
|
|
|
|
| Upload | cba.fro.at/wp-json/wp/v2/media/ | filename | post_id (attachment) | | X | |
|
|
|
|
| Post publication | cba.fro.at/wp-json/wp/v2/posts/ | post_parent (= cba_series_id), post_title, post_content, post_category, language_id, production_date, broadcast_date, is_copyright (boolean), attachment_id | | | X | |
|
|
|
|
| Get all categories | cba.fro.at/wp-json/wp/v2/categories?per_page=100 | | Array of objects | X | | |
|
|
|
|
| Get all languages | cba.fro.at/wp-json/wp/v2/language?per_page=100 | | Array of objects | X | | | |