# Kalender Integration - Umgebungsvariablen Setup

## Problem
Fehler: `Environment variable not found: "MICROSOFT_CLIENT_ID"`

## Schnelle Lösung

Die Kalender-Integration funktioniert auch **OHNE** konfigurierte Umgebungsvariablen! 
Die Variablen sind jetzt optional.

### Option 1: Umgebungsvariablen in .env hinzufügen (empfohlen)

Fügen Sie diese Zeilen zu Ihrer `.env` oder `.env.local` Datei hinzu:

```bash
###> calendar-integration ###
# Microsoft Outlook (optional - leer lassen wenn nicht benötigt)
MICROSOFT_CLIENT_ID=
MICROSOFT_CLIENT_SECRET=
MICROSOFT_TENANT_ID=
MICROSOFT_REDIRECT_URI=http://localhost:8000/admin/outlook/callback
OUTLOOK_SYNC_ENABLED=false

# Google Calendar (optional - leer lassen wenn nicht benötigt)
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_REDIRECT_URI=http://localhost:8000/admin/calendar/google/callback
GOOGLE_CREDENTIALS_PATH=
###< calendar-integration ###
```

### Option 2: Nur bestimmte Provider konfigurieren

#### Nur Outlook nutzen:
```bash
MICROSOFT_CLIENT_ID=your_client_id
MICROSOFT_CLIENT_SECRET=your_client_secret
MICROSOFT_TENANT_ID=your_tenant_id
MICROSOFT_REDIRECT_URI=http://localhost:8000/admin/outlook/callback
OUTLOOK_SYNC_ENABLED=true
```

#### Nur Google Calendar nutzen:
```bash
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REDIRECT_URI=http://localhost:8000/admin/calendar/google/callback
```

#### Nur iCal Export nutzen:
**Keine Konfiguration erforderlich!** iCal-Export funktioniert ohne Umgebungsvariablen.

## Nach dem Setup

1. **Cache leeren:**
```bash
php bin/console cache:clear
```

2. **Anwendung neu laden**

3. **Kalender-Integration testen:**
   - Outlook: `http://localhost:8000/admin/outlook/`
   - Universal: `http://localhost:8000/admin/calendar/`

## Provider-spezifische Setup-Anleitungen

### Microsoft Outlook
Siehe: `OUTLOOK_SETUP.md`

### Alle Provider (Google, CalDAV, iCal)
Siehe: `UNIVERSAL_CALENDAR_SETUP.md`

## Wichtig

- **Die Kalender-Integration funktioniert OHNE Konfiguration!**
- Sie können Provider jederzeit später hinzufügen
- Leere Werte werden als "nicht konfiguriert" behandelt
- Die Anwendung zeigt dann entsprechende Setup-Anleitungen an
