Files
AdsPreview/documentation/AREA_STRUCTURE.md
Johannes 713a1156c4 refactor: Rename project order file and clean up file structure
- Rename project_order.json to order_project.json for consistency with order_ads.json naming convention
- Update all references in ProjectService and ProjectsController
2025-09-14 11:26:09 +02:00

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.jpg Suffix 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 .gitignore ausgeschlossen
  • Keine sensiblen Daten in Dateinamen verwenden
  • Regelmäßige Backups des area/ Ordners erstellen
  • Zugriffskontrolle über logins.json verwalten

📋 Setup-Checkliste

  1. area/ Ordner im Projekt-Root erstellen
  2. logins.json mit Client-Daten anlegen
  3. Client-Ordner erstellen
  4. order_project.json für jeden Client
  5. Projekt-Ordner mit setup/ Verzeichnis
  6. ads/ Struktur nach Kampagnen organisieren
  7. Media-Dateien hochladen und testen

💡 Tipp: Verwende die Admin-Oberfläche der AdsPreview-Anwendung zur einfachen Verwaltung von Clients und Projekten.