8.5 KiB
Telvero Talpa Planning System
Een geavanceerd TV-planning systeem voor het beheren en plannen van homeshopping uitzendingen op Talpa zenders (SBS9, Net5, SBS6).
π― Functionaliteiten
β Kalender Planning
- Drag-and-drop interface voor eenvoudige planning
- Timeline view met meerdere zenders tegelijk
- Automatische tijdberekening voor opeenvolgende uitzendingen
- Kleurgecodeerde uitzendingen voor overzichtelijkheid
- Conflict detectie bij overlappende uitzendingen
πΊ Infomercial Management
- Registratie van infomercials via Talpa API
- Automatische media asset aanmaak
- Kleurcode toewijzing per infomercial
- Series code voor groepering
- Upload status tracking
π Blok Templates
- Definieer terugkerende tijdblokken per zender
- Dagelijkse aanpassing van starttijden mogelijk
- Automatische generatie van dagelijkse blokken
- Ondersteuning voor dag-specifieke templates
π Talpa API Integratie
- Episode registratie
- Media asset management
- Transmission scheduling
- Sync status monitoring
π Vereisten
- PHP 7.4 of hoger
- MySQL 5.7 of hoger
- Composer
- Webserver (Apache/Nginx)
π Installatie
1. Clone het project
cd /path/to/your/project
2. Installeer dependencies
composer install
3. Configureer environment
Kopieer .env.example naar .env en vul de gegevens in:
# Database
DB_HOST=localhost
DB_NAME=talpa_planning
DB_USER=your_username
DB_PASS=your_password
# Talpa API
TALPA_API_BASE=https://api.talpa.tv
TALPA_TOKEN=your_api_token
TALPA_MOCK_MODE=false
# TV Settings
TV_SEASON_ID=your_season_id
4. Database Setup
Voer de migratie uit:
mysql -u your_username -p talpa_planning < migrations/001_add_blocks_and_colors.sql
Of via phpMyAdmin:
- Open phpMyAdmin
- Selecteer de database
- Ga naar "Import"
- Upload
migrations/001_add_blocks_and_colors.sql
5. Bestandspermissies
Zorg dat de webserver schrijfrechten heeft:
chmod 755 api/
chmod 755 assets/
chmod 644 api/*.php
π Projectstructuur
/
βββ index.php # Dashboard
βββ calendar.php # Kalender planning view
βββ blocks.php # Blok template management
βββ infomercials.php # Infomercial management
βββ helpers.php # Helper functies
βββ TalpaAPI.php # API wrapper
βββ /api # API endpoints
β βββ get_transmissions.php
β βββ create_transmission.php
β βββ update_transmission.php
β βββ delete_transmission.php
β βββ update_block_time.php
β βββ get_block_time.php
β βββ assign_color.php
βββ /assets
β βββ /css
β β βββ custom.css # Custom styling
β βββ /js
β βββ calendar-init.js # Calendar JavaScript
βββ /migrations
β βββ 001_add_blocks_and_colors.sql
βββ README.md
π¨ Gebruik
1. Blok Templates Instellen
- Ga naar Blokken in het menu
- Klik op "Nieuw Template"
- Vul de gegevens in:
- Zender (SBS9, NET5, SBS6)
- Template naam (bijv. "SBS9 Dagblok")
- Dag van de week
- Standaard starttijd
- Optioneel: eindtijd
Voorbeelden:
- SBS9 Dagblok: Ma-Zo, 07:00-15:00
- SBS9 Nachtblok: Ma-Zo, 23:30-02:00
- Net5 Ochtend: Ma-Vr, 07:30-11:30
- Net5 Middag: Ma-Vr, 13:20-13:50
2. Infomercials Registreren
- Ga naar Infomercials in het menu
- Vul het formulier in:
- Product naam
- Duur (HH:MM:SS formaat)
- Optioneel: Series code (bijv. 006a)
- Klik op "Registreren bij Talpa"
- Het systeem:
- Maakt een episode aan via API
- Genereert een media asset
- Wijst automatisch een unieke kleur toe
- Update de upload status naar "Uploaded" wanneer de video is geΓΌpload
3. Planning Maken
- Ga naar Kalender in het menu
- Selecteer de gewenste week/dag view
- Optioneel: Pas blok starttijd aan:
- Klik op een tijdslot
- Wijzig de starttijd
- Kies of je alle uitzendingen wilt herberekenen
- Plan uitzendingen:
- Sleep een infomercial uit de sidebar
- Drop deze op het gewenste tijdslot
- Het systeem berekent automatisch de volgende starttijd
- Bewerk uitzendingen:
- Klik op een uitzending voor details
- Sleep om te verplaatsen
- Verwijder indien nodig
4. Synchroniseren met Talpa
- Klik op een uitzending in de kalender
- Klik op "Sync naar Talpa"
- Monitor de status:
- π‘ Pending: Nog niet gesynchroniseerd
- π’ Synced: Succesvol gesynchroniseerd
- π΄ Error: Fout opgetreden
π¨ Kleurcode Systeem
Het systeem wijst automatisch unieke kleuren toe aan infomercials voor visuele identificatie:
- Kleuren worden automatisch gegenereerd met voldoende contrast
- Elke infomercial krijgt een unieke kleur
- Series codes kunnen dezelfde kleur delen
- Kleuren zijn handmatig aanpasbaar in Infomercial Management
π§ Geavanceerde Functies
Automatische Tijdberekening
Het systeem berekent automatisch de starttijd van de volgende uitzending:
Volgende starttijd = Huidige starttijd + Duur huidige uitzending
Conflict Detectie
Bij het plannen controleert het systeem op:
- Overlappende uitzendingen op dezelfde zender
- Uitzendingen buiten blok tijden
- Dubbele bookings
Blok Herberekening
Wanneer je een blok starttijd aanpast:
- Optie 1: Alleen de starttijd wijzigen
- Optie 2: Alle uitzendingen in het blok herberekenen vanaf de nieuwe starttijd
π Troubleshooting
Kalender laadt niet
Probleem: Kalender toont geen events
Oplossing:
- Check browser console voor JavaScript errors
- Controleer of API endpoints bereikbaar zijn:
curl http://your-domain/api/get_transmissions.php?start=2026-01-01&end=2026-01-31 - Controleer database connectie in
.env
Drag-and-drop werkt niet
Probleem: Infomercials zijn niet sleepbaar
Oplossing:
- Controleer of FullCalendar correct is geladen
- Check browser console voor errors
- Zorg dat infomercials status "uploaded" hebben
API Sync Errors
Probleem: Synchronisatie met Talpa faalt
Oplossing:
- Controleer API credentials in
.env - Check
api_log.txtvoor details - Verifieer dat content_id en media_asset_id correct zijn
- Test met
TALPA_MOCK_MODE=truevoor debugging
Database Errors
Probleem: SQL errors bij gebruik
Oplossing:
- Controleer of migratie correct is uitgevoerd:
SHOW TABLES; DESCRIBE block_templates; DESCRIBE daily_blocks; - Controleer of alle kolommen bestaan:
SHOW COLUMNS FROM infomercials LIKE 'color_code';
π Database Schema
Nieuwe Tabellen
block_templates
- Definieert terugkerende tijdblokken
- Per zender en dag van de week
- Standaard start- en eindtijden
daily_blocks
- Dagelijkse instanties van templates
- Mogelijkheid tot aanpassing per dag
- Gekoppeld aan template_id
Uitgebreide Kolommen
infomercials
color_code(VARCHAR(7)): Hex kleurcodeseries_code(VARCHAR(20)): Series identifier
π Beveiliging
- Gebruik prepared statements voor alle database queries
- Valideer alle input (datum, tijd, kleuren)
- Sanitize output met
htmlspecialchars() - Gebruik HTTPS in productie
- Bewaar
.envbuiten webroot - Voeg
.envtoe aan.gitignore
π Performance Tips
- Database Indexen: Reeds toegevoegd in migratie
- Caching: Overweeg Redis voor API responses
- Lazy Loading: Kalender laadt alleen zichtbare periode
- Batch Operations: Sync meerdere uitzendingen tegelijk
π Updates & Migraties
Bij toekomstige updates:
- Maak nieuwe migratie file:
002_description.sql - Voer uit in volgorde
- Update deze README met wijzigingen
π Support
Voor vragen of problemen:
- Check de troubleshooting sectie
- Bekijk
api_log.txtvoor API details - Controleer browser console voor JavaScript errors
π Changelog
Versie 1.0.0 (2026-01-13)
- β Kalender planning met drag-and-drop
- β Blok template management
- β Infomercial management met kleurcodes
- β Automatische tijdberekening
- β Talpa API integratie
- β Conflict detectie
- β Responsive design
π― Roadmap
Toekomstige features:
- Bulk import van infomercials
- Excel export van planning
- Email notificaties bij sync errors
- Gebruikersbeheer en rechten
- Planning templates (kopieer week)
- Statistieken en rapportages
- Mobile app
π Licentie
Proprietary - Telvero Β© 2026
Gemaakt met β€οΈ voor Telvero Talpa Planning