- Rename project_order.json to order_project.json for consistency with order_ads.json naming convention - Update all references in ProjectService and ProjectsController
5.4 KiB
5.4 KiB
Area Directory Structure
Der area/ Ordner enthält alle Projektdaten und Media-Dateien für die AdsPreview-Anwendung. Dieser Ordner ist aus Sicherheitsgründen und zur Größenreduzierung nicht im Git-Repository enthalten.
📁 Verzeichnisstruktur
area/
├── logins.json # Login-Konfiguration für Clients
├── [Client-Name]/ # Pro Client ein Ordner
│ ├── order_project.json # Reihenfolge der Projekte für den Client
│ └── [Projekt-Name]/ # Pro Projekt ein Ordner
│ ├── index.php # Optional: Custom PHP für das Projekt
│ ├── ads/ # Werbemittel-Ordner
│ │ ├── [Kampagne]/ # Kampagnen-Ordner
│ │ │ ├── [Format]/ # Format-spezifische Dateien
│ │ │ │ ├── [Größe]/ # Größen-spezifische Dateien
│ │ │ │ │ ├── *.jpg # Bilder
│ │ │ │ │ ├── *.png # Bilder
│ │ │ │ │ ├── *.mp4 # Videos
│ │ │ │ │ └── *.gif # Animierte Bilder
│ │ │ │ └── config.yaml # Optional: HTML5-Konfiguration
│ │ │ └── html/ # Optional: HTML5-Werbemittel
│ │ │ ├── index.html # HTML5-Anzeige
│ │ │ └── assets/ # Zusätzliche Assets
│ │ └── core/ # Optional: Legacy PHP Core-Dateien
│ └── setup/ # Projekt-Konfiguration
│ ├── setup.yaml # Projekt-Setup-Konfiguration
│ ├── logo.png # Client-Logo
│ ├── poster.jpg # Projekt-Poster
│ ├── showreel_close.svg # Showreel-Icons
│ └── showreel_dkt.png # Showreel-Assets
└── AllScreens/ # Spezielle AllScreens-Projekte
└── [Projekt-Name]/ # Struktur wie bei Client-Projekten
🔧 Konfigurationsdateien
area/logins.json
Definiert die verfügbaren Clients und deren Zugriffsdaten:
{
"clients": [
{
"name": "ClientName",
"folder": "ClientFolder",
"password": "client_password"
}
]
}
area/[Client]/order_project.json
Definiert die Reihenfolge der Projekte für einen Client:
{
"order_project": [
"Projekt1",
"Projekt2",
"Projekt3"
]
}
area/[Client]/[Projekt]/setup/setup.yaml
Projekt-spezifische Konfiguration:
project_name: "Projektname"
client: "Client Name"
description: "Projektbeschreibung"
showreel_enabled: true
poster_image: "poster.jpg"
logo_image: "logo.png"
📂 Beispiel-Struktur
area/
├── logins.json
├── Paramount/
│ ├── order_project.json
│ ├── Mission_Impossible_7/
│ │ ├── ads/
│ │ │ ├── Kinobanner/
│ │ │ │ ├── Cineplex/
│ │ │ │ │ └── Powerbanner_1420x420/
│ │ │ │ │ ├── PARA_MI7_Cineplex_PB_1420x420_Datum.jpg
│ │ │ │ │ └── PARA_MI7_Cineplex_PB_1420x420_Jetzt.jpg
│ │ │ │ └── Cinestar/
│ │ │ └── Programmatic/
│ │ │ ├── Billboard/
│ │ │ │ └── 800x250/
│ │ │ │ ├── config.yaml
│ │ │ │ └── html/
│ │ │ │ ├── index.html
│ │ │ │ ├── bg.jpg
│ │ │ │ └── assets/
│ │ │ └── HPA/
│ │ └── setup/
│ │ ├── setup.yaml
│ │ ├── logo.png
│ │ └── poster.jpg
│ └── HE_Lioness_S2/
└── Studiocanal/
└── HE_We_Live_in_Time/
🎯 Wichtige Hinweise
Datei-Namenskonventionen:
- Ordnernamen: Keine Leerzeichen, verwende
_oder- - Dateinamen: Beschreibende Namen mit Client-Präfix
- Bildformate: JPG, PNG, GIF unterstützt
- Videoformate: MP4 empfohlen
Dateigröße-Optimierung:
- Bilder: Komprimierte Versionen mit
_sz.jpgSuffix für kleinere Dateien - Videos: Web-optimierte MP4-Dateien
- Thumbnails: Kleine Preview-Versionen für Listen-Ansichten
HTML5-Werbemittel:
- config.yaml: Definiert Einstellungen für interaktive Anzeigen
- index.html: Haupt-HTML-Datei
- Assets: Alle zusätzlichen Dateien (CSS, JS, Bilder)
🔒 Sicherheit
- Der
area/Ordner ist in.gitignoreausgeschlossen - Keine sensiblen Daten in Dateinamen verwenden
- Regelmäßige Backups des
area/Ordners erstellen - Zugriffskontrolle über
logins.jsonverwalten
📋 Setup-Checkliste
- ✅
area/Ordner im Projekt-Root erstellen - ✅
logins.jsonmit Client-Daten anlegen - ✅ Client-Ordner erstellen
- ✅
order_project.jsonfür jeden Client - ✅ Projekt-Ordner mit
setup/Verzeichnis - ✅
ads/Struktur nach Kampagnen organisieren - ✅ Media-Dateien hochladen und testen
💡 Tipp: Verwende die Admin-Oberfläche der AdsPreview-Anwendung zur einfachen Verwaltung von Clients und Projekten.