mirror of
https://github.com/complexcaresolutions/cms.c2sgmbh.git
synced 2026-03-17 19:44:12 +00:00
docs: update anleitungen with BlogWoman features and fixes
API_ANLEITUNG.md: - Fix rate limiting section (was incorrectly stated as not implemented) - Add comprehensive rate limit documentation with limits table - Expand collections overview from 13 to 42+ collections - Add BlogWoman APIs (Favorites, Series) FRONTEND.md: - Fix Globals section (SiteSettings/Navigations are now Collections) - Add Favorites and Series APIs - Update date UNIVERSAL_FEATURES.md: - Add Favorites Collection (affiliate products) - Add Series Collection (YouTube series) - Add 5 new BlogWoman blocks documentation - Update files overview and multi-tenant config - Add version 1.3 changelog entry Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
3ccb8bd585
commit
49d317fc84
3 changed files with 408 additions and 14 deletions
|
|
@ -863,32 +863,209 @@ export function NewsletterForm() {
|
|||
|
||||
## Rate Limiting
|
||||
|
||||
Aktuell gibt es kein Rate Limiting. Für Production-Umgebungen sollte ein Reverse Proxy (z.B. Caddy, nginx) mit Rate Limiting konfiguriert werden.
|
||||
Das System verwendet einen zentralen Rate-Limiter mit Redis-Backend (Fallback auf In-Memory).
|
||||
|
||||
### Vordefinierte Limits
|
||||
|
||||
| Limiter | Limit | Fenster | Verwendung |
|
||||
|---------|-------|---------|------------|
|
||||
| `publicApiLimiter` | 60 Requests | 1 Minute | Öffentliche API-Endpunkte |
|
||||
| `authLimiter` | 5 Requests | 15 Minuten | Login-Versuche |
|
||||
| `emailLimiter` | 10 Requests | 1 Minute | E-Mail-Versand |
|
||||
| `searchLimiter` | 30 Requests | 1 Minute | Suche & Posts-API |
|
||||
| `formLimiter` | 5 Requests | 10 Minuten | Formular-Submissions, Newsletter |
|
||||
|
||||
### Response bei Rate-Limit
|
||||
|
||||
```json
|
||||
{
|
||||
"error": "Too many requests",
|
||||
"retryAfter": 60
|
||||
}
|
||||
```
|
||||
|
||||
**HTTP Status:** 429 Too Many Requests
|
||||
|
||||
**Headers:**
|
||||
- `X-RateLimit-Limit`: Maximale Requests
|
||||
- `X-RateLimit-Remaining`: Verbleibende Requests
|
||||
- `X-RateLimit-Reset`: Reset-Zeitpunkt (Unix Timestamp)
|
||||
- `Retry-After`: Sekunden bis zum Reset
|
||||
|
||||
---
|
||||
|
||||
## Alle Collections Übersicht
|
||||
|
||||
### Core Collections
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Users | `users` | Nein | Benutzer-Verwaltung |
|
||||
| Tenants | `tenants` | Nein | Mandanten |
|
||||
| Media | `media` | Ja | Bilder und Dateien |
|
||||
| Media | `media` | Ja | Bilder und Dateien (11 responsive Sizes) |
|
||||
| Pages | `pages` | Ja | Seiten mit Blocks |
|
||||
| Posts | `posts` | Ja | Blog-Artikel und News |
|
||||
|
||||
### Content Collections
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Posts | `posts` | Ja | Blog, News, Presse, Ankündigungen |
|
||||
| Categories | `categories` | Ja | Kategorien für Posts |
|
||||
| Social Links | `social-links` | Ja | Social Media Links |
|
||||
| Tags | `tags` | Ja | Tags für Posts |
|
||||
| Authors | `authors` | Ja | Autoren für Posts |
|
||||
| Testimonials | `testimonials` | Ja | Kundenbewertungen |
|
||||
| Newsletter Subscribers | `newsletter-subscribers` | Create: Ja | Newsletter-Anmeldungen |
|
||||
| FAQs | `faqs` | Ja | Häufig gestellte Fragen |
|
||||
| Social Links | `social-links` | Ja | Social Media Links |
|
||||
|
||||
### Team & Services
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Team | `team` | Ja | Team-Mitglieder |
|
||||
| Service Categories | `service-categories` | Ja | Kategorien für Leistungen |
|
||||
| Services | `services` | Ja | Leistungen/Dienstleistungen |
|
||||
| Jobs | `jobs` | Ja | Stellenangebote |
|
||||
|
||||
### Portfolio & Media
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Portfolios | `portfolios` | Ja | Portfolio-Galerien |
|
||||
| Portfolio Categories | `portfolio-categories` | Ja | Kategorien für Portfolios |
|
||||
| Videos | `videos` | Ja | Video-Bibliothek (YouTube/Vimeo/Upload) |
|
||||
| Video Categories | `video-categories` | Ja | Kategorien für Videos |
|
||||
|
||||
### Products (E-Commerce)
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Products | `products` | Ja | Produkte |
|
||||
| Product Categories | `product-categories` | Ja | Produkt-Kategorien |
|
||||
|
||||
### Feature Collections
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Locations | `locations` | Ja | Standorte/Filialen |
|
||||
| Partners | `partners` | Ja | Partner/Kunden (Logos) |
|
||||
| Downloads | `downloads` | Ja | Download-Dateien |
|
||||
| Events | `events` | Ja | Veranstaltungen |
|
||||
| Timelines | `timelines` | Ja | Chronologische Events |
|
||||
| Workflows | `workflows` | Ja | Prozess-Darstellungen |
|
||||
|
||||
### BlogWoman Collections (NEU)
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Favorites | `favorites` | Ja | Affiliate-Produkte mit Kategorien/Badges |
|
||||
| Series | `series` | Ja | YouTube-Serien mit Branding |
|
||||
|
||||
### Formulare & Newsletter
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Forms | `forms` | Nein | Formular-Builder (Plugin) |
|
||||
| Form Submissions | `form-submissions` | Nein | Formular-Einsendungen mit CRM-Workflow |
|
||||
| Newsletter Subscribers | `newsletter-subscribers` | Create: Ja | Newsletter mit Double Opt-In |
|
||||
|
||||
### Consent & Privacy (DSGVO)
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Cookie Configurations | `cookie-configurations` | Ja (Tenant-isoliert) | Cookie-Banner Konfiguration |
|
||||
| Cookie Inventory | `cookie-inventory` | Ja (Tenant-isoliert) | Cookie-Dokumentation |
|
||||
| Consent Logs | `consent-logs` | Nein (API-Key) | WORM Audit-Trail |
|
||||
| Privacy Policy Settings | `privacy-policy-settings` | Ja (Tenant-isoliert) | Datenschutzerklärungs-Konfiguration |
|
||||
| Privacy Policy Settings | `privacy-policy-settings` | Ja (Tenant-isoliert) | Datenschutz-Konfiguration |
|
||||
|
||||
### Tenant-spezifische Collections
|
||||
|
||||
| Collection | Slug | Tenant | Beschreibung |
|
||||
|------------|------|--------|--------------|
|
||||
| Bookings | `bookings` | porwoll.de | Fotografie-Buchungen |
|
||||
| Certifications | `certifications` | C2S | Zertifizierungen |
|
||||
| Projects | `projects` | gunshin.de | Game-Development-Projekte |
|
||||
|
||||
### System Collections
|
||||
|
||||
| Collection | Slug | Öffentlich | Beschreibung |
|
||||
|------------|------|------------|--------------|
|
||||
| Site Settings | `site-settings` | Ja (Tenant-isoliert) | Website-Einstellungen |
|
||||
| Navigations | `navigations` | Ja (Tenant-isoliert) | Navigationsmenüs |
|
||||
| Email Logs | `email-logs` | Nein | E-Mail-Protokollierung |
|
||||
| Audit Logs | `audit-logs` | Nein | Security Audit Trail |
|
||||
| Redirects | `redirects` | Nein | URL-Weiterleitungen (Plugin) |
|
||||
|
||||
---
|
||||
|
||||
## BlogWoman APIs (NEU)
|
||||
|
||||
### Favorites API (Affiliate-Produkte)
|
||||
|
||||
```bash
|
||||
# Alle Favorites eines Tenants
|
||||
curl "https://pl.porwoll.tech/api/favorites?where[tenant][equals]=1"
|
||||
|
||||
# Nach Kategorie filtern
|
||||
curl "https://pl.porwoll.tech/api/favorites?where[tenant][equals]=1&where[category][equals]=fashion"
|
||||
|
||||
# Nach Badge filtern
|
||||
curl "https://pl.porwoll.tech/api/favorites?where[tenant][equals]=1&where[badge][equals]=bestseller"
|
||||
|
||||
# Nach Preisbereich filtern
|
||||
curl "https://pl.porwoll.tech/api/favorites?where[tenant][equals]=1&where[priceRange][equals]=mid"
|
||||
```
|
||||
|
||||
**Felder:**
|
||||
|
||||
| Feld | Typ | Beschreibung |
|
||||
|------|-----|--------------|
|
||||
| `title` | string | Produktname |
|
||||
| `slug` | string | URL-Pfad |
|
||||
| `description` | richtext | Beschreibung |
|
||||
| `image` | relation | Produktbild |
|
||||
| `affiliateUrl` | string | Affiliate-Link |
|
||||
| `price` | string | Preis (Freitext) |
|
||||
| `category` | select | fashion, beauty, travel, tech, home |
|
||||
| `badge` | select | investment-piece, daily-driver, grfi-approved, new, bestseller |
|
||||
| `priceRange` | select | budget, mid, premium, luxury |
|
||||
| `isActive` | boolean | Sichtbarkeit |
|
||||
|
||||
### Series API (YouTube-Serien)
|
||||
|
||||
```bash
|
||||
# Alle Serien eines Tenants
|
||||
curl "https://pl.porwoll.tech/api/series?where[tenant][equals]=1"
|
||||
|
||||
# Nur aktive Serien
|
||||
curl "https://pl.porwoll.tech/api/series?where[tenant][equals]=1&where[isActive][equals]=true"
|
||||
|
||||
# Einzelne Serie nach Slug
|
||||
curl "https://pl.porwoll.tech/api/series?where[tenant][equals]=1&where[slug][equals]=grfi"
|
||||
```
|
||||
|
||||
**Felder:**
|
||||
|
||||
| Feld | Typ | Beschreibung |
|
||||
|------|-----|--------------|
|
||||
| `title` | string | Serienname (lokalisiert) |
|
||||
| `slug` | string | URL-Pfad |
|
||||
| `description` | richtext | Beschreibung (lokalisiert) |
|
||||
| `logo` | relation | Serien-Logo |
|
||||
| `coverImage` | relation | Cover-Bild |
|
||||
| `brandColor` | string | Hex-Farbcode |
|
||||
| `youtubePlaylistId` | string | YouTube Playlist ID |
|
||||
| `isActive` | boolean | Sichtbarkeit |
|
||||
|
||||
---
|
||||
|
||||
## Weitere Ressourcen
|
||||
|
||||
- **Admin Panel:** https://pl.porwoll.tech/admin
|
||||
- **API-Dokumentation (Swagger):** https://pl.porwoll.tech/api/docs
|
||||
- **OpenAPI JSON:** https://pl.porwoll.tech/api/openapi.json
|
||||
- **Payload CMS Docs:** https://payloadcms.com/docs
|
||||
- **GraphQL Playground:** https://pl.porwoll.tech/api/graphql (wenn aktiviert)
|
||||
|
||||
---
|
||||
|
||||
*Letzte Aktualisierung: 08.01.2026*
|
||||
|
|
|
|||
|
|
@ -146,15 +146,24 @@ NEXT_PUBLIC_TENANT_SLUG=c2s
|
|||
| Videos | `GET /api/videos` | Video-Bibliothek |
|
||||
| Timelines | `GET /api/timelines` | Chronologische Events |
|
||||
| Workflows | `GET /api/workflows` | Prozess-Darstellungen |
|
||||
| Favorites | `GET /api/favorites` | Affiliate-Produkte (BlogWoman) |
|
||||
| Series | `GET /api/series` | YouTube-Serien (BlogWoman) |
|
||||
|
||||
### Globals (SEO & Settings aus Production)
|
||||
### Site Settings & Navigation (Tenant-isolierte Collections)
|
||||
|
||||
> **Hinweis:** SiteSettings und Navigations wurden zu tenant-spezifischen Collections umgewandelt.
|
||||
|
||||
| Collection | Endpoint | Beschreibung |
|
||||
|------------|----------|--------------|
|
||||
| Site Settings | `GET /api/site-settings?where[tenant][equals]=4` | Logo, Name, Kontakt, Adresse |
|
||||
| Navigation | `GET /api/navigations?where[tenant][equals]=4` | Menü-Struktur |
|
||||
| Privacy Policy | `GET /api/privacy-policy-settings?where[tenant][equals]=4` | Datenschutz |
|
||||
|
||||
### Globals (Systemweit)
|
||||
|
||||
| Global | Endpoint | Beschreibung |
|
||||
|--------|----------|--------------|
|
||||
| Site Settings | `GET /api/globals/site-settings` | Logo, Name, Kontakt |
|
||||
| Navigation | `GET /api/globals/navigation` | Menü-Struktur |
|
||||
| SEO Settings | `GET /api/globals/seo-settings` | Default SEO (Production) |
|
||||
| Privacy Policy | `GET /api/globals/privacy-policy-settings` | Datenschutz |
|
||||
|
||||
### Spezielle Endpoints
|
||||
|
||||
|
|
@ -463,4 +472,4 @@ journalctl -u frontend-porwoll -f
|
|||
|
||||
---
|
||||
|
||||
*Letzte Aktualisierung: 18.12.2025*
|
||||
*Letzte Aktualisierung: 08.01.2026*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# Universal Features - Dokumentation
|
||||
|
||||
*Letzte Aktualisierung: 18. Dezember 2025*
|
||||
*Letzte Aktualisierung: 08. Januar 2026*
|
||||
|
||||
## Übersicht
|
||||
|
||||
|
|
@ -280,12 +280,83 @@ fetch('https://cms.c2sgmbh.de/api/workflows?tenant=4&type=project&locale=de')
|
|||
|
||||
---
|
||||
|
||||
### 9. Favorites Collection (BlogWoman)
|
||||
|
||||
**Pfad:** `src/collections/Favorites.ts`
|
||||
**Slug:** `favorites`
|
||||
**Admin-Gruppe:** Content
|
||||
|
||||
Affiliate-Produkte für Blogger/Influencer mit Kategorien und Badges.
|
||||
|
||||
#### API
|
||||
|
||||
```typescript
|
||||
// Alle Favorites eines Tenants
|
||||
fetch('https://cms.c2sgmbh.de/api/favorites?where[tenant][equals]=4&locale=de')
|
||||
|
||||
// Nach Kategorie filtern
|
||||
fetch('https://cms.c2sgmbh.de/api/favorites?where[tenant][equals]=4&where[category][equals]=fashion')
|
||||
```
|
||||
|
||||
#### Felder
|
||||
|
||||
| Feld | Typ | Beschreibung | Pflicht |
|
||||
|------|-----|--------------|---------|
|
||||
| `title` | Text | Produktname | Ja |
|
||||
| `slug` | Text | URL-Pfad (auto) | Ja |
|
||||
| `description` | RichText | Beschreibung (lokalisiert) | Nein |
|
||||
| `image` | Upload | Produktbild | Nein |
|
||||
| `affiliateUrl` | Text | Affiliate-Link | Ja |
|
||||
| `price` | Text | Preis (Freitext) | Nein |
|
||||
| `category` | Select | fashion, beauty, travel, tech, home | Nein |
|
||||
| `badge` | Select | investment-piece, daily-driver, grfi-approved, new, bestseller | Nein |
|
||||
| `priceRange` | Select | budget, mid, premium, luxury | Nein |
|
||||
| `isActive` | Checkbox | Sichtbarkeit | Nein |
|
||||
| `order` | Number | Sortierung | Nein |
|
||||
|
||||
---
|
||||
|
||||
### 10. Series Collection (BlogWoman)
|
||||
|
||||
**Pfad:** `src/collections/Series.ts`
|
||||
**Slug:** `series`
|
||||
**Admin-Gruppe:** Content
|
||||
|
||||
YouTube-Serien mit eigenem Branding für Content-Reihen.
|
||||
|
||||
#### API
|
||||
|
||||
```typescript
|
||||
// Alle Serien eines Tenants
|
||||
fetch('https://cms.c2sgmbh.de/api/series?where[tenant][equals]=4&locale=de')
|
||||
|
||||
// Einzelne Serie nach Slug
|
||||
fetch('https://cms.c2sgmbh.de/api/series?where[tenant][equals]=4&where[slug][equals]=grfi')
|
||||
```
|
||||
|
||||
#### Felder
|
||||
|
||||
| Feld | Typ | Beschreibung | Pflicht |
|
||||
|------|-----|--------------|---------|
|
||||
| `title` | Text | Serienname (lokalisiert) | Ja |
|
||||
| `slug` | Text | URL-Pfad (auto) | Ja |
|
||||
| `description` | RichText | Beschreibung (lokalisiert) | Nein |
|
||||
| `logo` | Upload | Serien-Logo | Nein |
|
||||
| `coverImage` | Upload | Cover-Bild für Hero | Nein |
|
||||
| `brandColor` | Text | Hex-Farbcode (#RRGGBB) | Nein |
|
||||
| `youtubePlaylistId` | Text | YouTube Playlist ID | Nein |
|
||||
| `isActive` | Checkbox | Sichtbarkeit | Nein |
|
||||
|
||||
---
|
||||
|
||||
## Blocks
|
||||
|
||||
Alle Blocks können in der Pages Collection verwendet werden.
|
||||
|
||||
### Block-Übersicht
|
||||
|
||||
#### Content Blocks
|
||||
|
||||
| Block | Slug | Beschreibung |
|
||||
|-------|------|--------------|
|
||||
| Posts List | `posts-list-block` | Blog/News-Liste |
|
||||
|
|
@ -297,6 +368,16 @@ Alle Blocks können in der Pages Collection verwendet werden.
|
|||
| Team | `team-block` | Team-Mitglieder |
|
||||
| Services | `services-block` | Leistungen |
|
||||
|
||||
#### BlogWoman Blocks (NEU)
|
||||
|
||||
| Block | Slug | Beschreibung |
|
||||
|-------|------|--------------|
|
||||
| Favorites | `favorites-block` | Affiliate-Produkte Grid/Liste/Karussell |
|
||||
| Series | `series-block` | YouTube-Serien Übersicht |
|
||||
| Series Detail | `series-detail-block` | Serien-Einzelseite mit Hero |
|
||||
| Video Embed | `video-embed-block` | YouTube/Vimeo Embed mit Privacy Mode |
|
||||
| Featured Content | `featured-content-block` | Kuratierte Mixed-Content Sammlung |
|
||||
|
||||
### 1. Posts List Block
|
||||
|
||||
**Slug:** `posts-list-block`
|
||||
|
|
@ -416,6 +497,110 @@ Leistungen aus der Services Collection.
|
|||
|
||||
---
|
||||
|
||||
### 7. Favorites Block (BlogWoman)
|
||||
|
||||
**Slug:** `favorites-block`
|
||||
|
||||
Zeigt Affiliate-Produkte aus der Favorites Collection.
|
||||
|
||||
#### Konfigurationsoptionen
|
||||
|
||||
| Option | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `title` | Text | Überschrift |
|
||||
| `subtitle` | Text | Untertitel |
|
||||
| `displayMode` | Select | all / selected / byCategory |
|
||||
| `selectedFavorites` | Relationship | Handverlesene Favorites |
|
||||
| `filterCategory` | Select | Kategorie-Filter |
|
||||
| `layout` | Select | grid / list / carousel |
|
||||
| `columns` | Select | 2 / 3 / 4 Spalten |
|
||||
| `limit` | Number | Anzahl Produkte |
|
||||
| `showPrice` | Checkbox | Preis anzeigen |
|
||||
| `showBadge` | Checkbox | Badge anzeigen |
|
||||
|
||||
---
|
||||
|
||||
### 8. Series Block (BlogWoman)
|
||||
|
||||
**Slug:** `series-block`
|
||||
|
||||
Übersicht aller YouTube-Serien mit Filteroptionen.
|
||||
|
||||
#### Konfigurationsoptionen
|
||||
|
||||
| Option | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `title` | Text | Überschrift |
|
||||
| `subtitle` | Text | Untertitel |
|
||||
| `displayMode` | Select | all / selected |
|
||||
| `selectedSeries` | Relationship | Handverlesene Serien |
|
||||
| `layout` | Select | grid / list / featured |
|
||||
| `showDescription` | Checkbox | Beschreibung anzeigen |
|
||||
|
||||
---
|
||||
|
||||
### 9. Series Detail Block (BlogWoman)
|
||||
|
||||
**Slug:** `series-detail-block`
|
||||
|
||||
Hero-Bereich für eine einzelne Serie mit Branding.
|
||||
|
||||
#### Konfigurationsoptionen
|
||||
|
||||
| Option | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `series` | Relationship | Serien-Referenz |
|
||||
| `layout` | Select | hero / compact / sidebar |
|
||||
| `showLogo` | Checkbox | Logo anzeigen |
|
||||
| `showPlaylistLink` | Checkbox | YouTube-Link anzeigen |
|
||||
| `useBrandColor` | Checkbox | Markenfarbe verwenden |
|
||||
|
||||
---
|
||||
|
||||
### 10. Video Embed Block (BlogWoman)
|
||||
|
||||
**Slug:** `video-embed-block`
|
||||
|
||||
Datenschutzfreundliches Video-Embedding für YouTube/Vimeo.
|
||||
|
||||
#### Konfigurationsoptionen
|
||||
|
||||
| Option | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `videoUrl` | Text | YouTube/Vimeo URL |
|
||||
| `title` | Text | Video-Titel |
|
||||
| `aspectRatio` | Select | 16:9 / 4:3 / 1:1 / 9:16 |
|
||||
| `privacyMode` | Checkbox | youtube-nocookie.com verwenden |
|
||||
| `autoplay` | Checkbox | Automatisch abspielen |
|
||||
| `showControls` | Checkbox | Player-Controls anzeigen |
|
||||
| `thumbnailImage` | Upload | Custom Thumbnail |
|
||||
|
||||
---
|
||||
|
||||
### 11. Featured Content Block (BlogWoman)
|
||||
|
||||
**Slug:** `featured-content-block`
|
||||
|
||||
Kuratierte Sammlung aus verschiedenen Content-Typen.
|
||||
|
||||
#### Konfigurationsoptionen
|
||||
|
||||
| Option | Typ | Beschreibung |
|
||||
|--------|-----|--------------|
|
||||
| `title` | Text | Überschrift |
|
||||
| `subtitle` | Text | Untertitel |
|
||||
| `items` | Array | Gemischte Content-Items |
|
||||
| `layout` | Select | grid / masonry / featured |
|
||||
|
||||
**Item-Typen:**
|
||||
- `post` - Blog-Artikel
|
||||
- `video` - Video
|
||||
- `favorite` - Affiliate-Produkt
|
||||
- `series` - YouTube-Serie
|
||||
- `external` - Externer Link
|
||||
|
||||
---
|
||||
|
||||
## Multi-Tenant Konfiguration
|
||||
|
||||
Alle Collections sind für Multi-Tenant konfiguriert:
|
||||
|
|
@ -433,6 +618,8 @@ multiTenantPlugin({
|
|||
services: {},
|
||||
timelines: {},
|
||||
workflows: {},
|
||||
favorites: {}, // BlogWoman
|
||||
series: {}, // BlogWoman
|
||||
// ... weitere Collections
|
||||
},
|
||||
})
|
||||
|
|
@ -469,7 +656,9 @@ src/
|
|||
│ ├── Services.ts
|
||||
│ ├── ServiceCategories.ts
|
||||
│ ├── Timelines.ts
|
||||
│ └── Workflows.ts
|
||||
│ ├── Workflows.ts
|
||||
│ ├── Favorites.ts # BlogWoman
|
||||
│ └── Series.ts # BlogWoman
|
||||
├── blocks/
|
||||
│ ├── PostsListBlock.ts
|
||||
│ ├── TestimonialsBlock.ts
|
||||
|
|
@ -479,6 +668,11 @@ src/
|
|||
│ ├── FAQBlock.ts
|
||||
│ ├── TeamBlock.ts
|
||||
│ ├── ServicesBlock.ts
|
||||
│ ├── FavoritesBlock.ts # BlogWoman
|
||||
│ ├── SeriesBlock.ts # BlogWoman
|
||||
│ ├── SeriesDetailBlock.ts # BlogWoman
|
||||
│ ├── VideoEmbedBlock.ts # BlogWoman
|
||||
│ ├── FeaturedContentBlock.ts # BlogWoman
|
||||
│ └── index.ts
|
||||
├── lib/
|
||||
│ ├── tenantAccess.ts
|
||||
|
|
@ -521,6 +715,20 @@ src/
|
|||
|
||||
## Changelog
|
||||
|
||||
### Version 1.3 (08.01.2026)
|
||||
|
||||
- **BlogWoman Collections hinzugefügt:**
|
||||
- Favorites Collection (Affiliate-Produkte)
|
||||
- Series Collection (YouTube-Serien)
|
||||
- **BlogWoman Blocks hinzugefügt:**
|
||||
- FavoritesBlock (Grid/Liste/Karussell)
|
||||
- SeriesBlock (Serien-Übersicht)
|
||||
- SeriesDetailBlock (Serien-Hero)
|
||||
- VideoEmbedBlock (Privacy-Mode)
|
||||
- FeaturedContentBlock (Mixed-Content)
|
||||
- Dateien-Übersicht aktualisiert
|
||||
- Multi-Tenant Konfiguration erweitert
|
||||
|
||||
### Version 1.2 (18.12.2025)
|
||||
|
||||
- Dokumentation auf Production-URLs aktualisiert
|
||||
|
|
@ -547,4 +755,4 @@ src/
|
|||
|
||||
---
|
||||
|
||||
*Letzte Aktualisierung: 18. Dezember 2025*
|
||||
*Letzte Aktualisierung: 08. Januar 2026*
|
||||
|
|
|
|||
Loading…
Reference in a new issue