mirror of
https://github.com/complexcaresolutions/cms.c2sgmbh.git
synced 2026-03-17 19:44:12 +00:00
- Add .claude/ configuration (agents, commands, hooks, get-shit-done workflows) - Add prompts/ directory with development planning documents - Add scripts/setup-tenants/ with tenant configuration - Add docs/screenshots/ - Remove obsolete phase2.2-corrections-report.md - Update pnpm-lock.yaml - Update detect-secrets.sh to ignore setup.sh (env var usage, not secrets) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1167 lines
37 KiB
Markdown
1167 lines
37 KiB
Markdown
# Automatisches Setup: porwoll.de Tenant in Payload CMS
|
||
|
||
**Ziel:** Vollständige automatische Anlage aller Inhalte für porwoll.de im Payload CMS
|
||
**API-Basis:** `https://cms.c2sgmbh.de/api`
|
||
**Staging-API:** `https://pl.porwoll.tech/api`
|
||
**Tenant:** porwoll (ID: 1)
|
||
**Sprache:** Deutsch (de)
|
||
|
||
---
|
||
|
||
## Technische Hinweise
|
||
|
||
### Authentifizierung
|
||
|
||
```bash
|
||
# 1. Login durchführen
|
||
curl -X POST "https://cms.c2sgmbh.de/api/users/login" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{"email": "ADMIN_EMAIL", "password": "ADMIN_PASSWORD"}'
|
||
|
||
# Token aus Response speichern und für alle weiteren Requests nutzen:
|
||
# -H "Authorization: JWT <TOKEN>"
|
||
```
|
||
|
||
### API-Pattern für Erstellung
|
||
|
||
```bash
|
||
# POST für neue Dokumente
|
||
curl -X POST "https://cms.c2sgmbh.de/api/{collection}" \
|
||
-H "Authorization: JWT <TOKEN>" \
|
||
-H "Content-Type: application/json" \
|
||
-d '{...}'
|
||
```
|
||
|
||
### Wichtige Hinweise
|
||
|
||
- **Reihenfolge einhalten:** Media → Site Settings → Social Links → Pages → Navigations
|
||
- **Tenant-Zuordnung:** Jedes Dokument benötigt `"tenant": 1`
|
||
- **Media-IDs merken:** Nach Upload die IDs für Referenzen in anderen Collections speichern
|
||
- **Status:** Alle Seiten mit `"status": "published"` erstellen
|
||
- **Lexical-Format:** Rich-Text-Felder verwenden das Lexical-Format
|
||
|
||
### Block-Slugs (wichtig!)
|
||
|
||
Die Blocks verwenden das Pattern `{name}-block`:
|
||
- `hero-block`, `text-block`, `card-grid-block`, `image-text-block`, `cta-block`, `contact-form-block`
|
||
|
||
---
|
||
|
||
## Phase 1: Media-Assets hochladen
|
||
|
||
### Erforderliche Bilder
|
||
|
||
| Dateiname | Alt-Text | Verwendung |
|
||
|-----------|----------|------------|
|
||
| `martin-porwoll-frontal.webp` | Martin Porwoll – Portrait | Hero-Bild Startseite |
|
||
| `logo-porwoll.svg` | porwoll.de Logo | Site Logo |
|
||
| `favicon.png` | Favicon porwoll.de | Favicon |
|
||
| `zytoskandal-infusion.webp` | Infusionsbeutel – Zytoskandal Bottrop | Hero Zytoskandal |
|
||
| `ccs-logo.webp` | complex care solutions Logo | CCS Seite |
|
||
| `ccs-vision.webp` | Vision der complex care solutions GmbH | CCS Vision |
|
||
| `ccs-zweitmeinung.webp` | Ärztliche Zweitmeinung | CCS Referenzen |
|
||
| `gunshin-logo.webp` | gunshin Holding Logo | gunshin Seite |
|
||
| `gunshin-vision.webp` | Vision der gunshin Holding | gunshin Vision |
|
||
| `gunshin-erfolge.webp` | Erfolge und Referenzen | gunshin Erfolge |
|
||
| `og-image-porwoll.jpg` | Martin Porwoll – Whistleblower und Unternehmer | OG Image |
|
||
|
||
### API-Call für Media-Upload
|
||
|
||
```bash
|
||
# Multipart Form-Data für Bild-Upload
|
||
curl -X POST "https://cms.c2sgmbh.de/api/media" \
|
||
-H "Authorization: JWT <TOKEN>" \
|
||
-F "file=@/pfad/zum/bild.webp" \
|
||
-F "alt=Martin Porwoll – Portrait" \
|
||
-F "tenant=1"
|
||
```
|
||
|
||
**Wichtig:** Nach jedem Upload die zurückgegebene `id` speichern!
|
||
|
||
```javascript
|
||
// Beispiel Mapping nach Upload
|
||
const mediaIds = {
|
||
martinPorwollFrontal: <ID_1>,
|
||
logoPorwoll: <ID_2>,
|
||
favicon: <ID_3>,
|
||
zytoskandalInfusion: <ID_4>,
|
||
ccsLogo: <ID_5>,
|
||
ccsVision: <ID_6>,
|
||
ccsZweitmeinung: <ID_7>,
|
||
gunshinLogo: <ID_8>,
|
||
gunshinVision: <ID_9>,
|
||
gunshinErfolge: <ID_10>,
|
||
ogImage: <ID_11>
|
||
};
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 2: Site Settings konfigurieren
|
||
|
||
**Hinweis:** SiteSettings ist eine Collection mit Tenant-Zuordnung. SEO-Einstellungen werden hier pro Tenant konfiguriert.
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"siteName": "porwoll.de",
|
||
"siteTagline": "Die Webseite von Martin Porwoll",
|
||
"logo": "<MEDIA_ID_LOGO>",
|
||
"favicon": "<MEDIA_ID_FAVICON>",
|
||
"contact": {
|
||
"email": "info@porwoll.de",
|
||
"phone": "0800 80 44 100",
|
||
"fax": "0800 80 44 190"
|
||
},
|
||
"address": {
|
||
"street": "Hans-Böckler-Str. 19",
|
||
"zip": "46236",
|
||
"city": "Bottrop",
|
||
"state": "Nordrhein-Westfalen",
|
||
"country": "Deutschland"
|
||
},
|
||
"footer": {
|
||
"copyrightText": "© {year} Martin Porwoll. Alle Rechte vorbehalten.",
|
||
"showSocialLinks": true
|
||
},
|
||
"seo": {
|
||
"defaultMetaTitle": "porwoll.de – Die Webseite von Martin Porwoll",
|
||
"defaultMetaDescription": "Martin Porwoll – Whistleblower im Zytoskandal Bottrop, Unternehmer und Verfechter für Patientenwohl im Gesundheitswesen.",
|
||
"defaultOgImage": "<MEDIA_ID_OG_IMAGE>"
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 3: Social Links erstellen
|
||
|
||
**Hinweis:** Die SocialLinks Collection hat nur `platform`, `url` und `isActive` Felder.
|
||
|
||
Für jeden Link einen separaten POST-Request:
|
||
|
||
```json
|
||
// Social Link 1: Facebook
|
||
{
|
||
"tenant": 1,
|
||
"platform": "facebook",
|
||
"url": "https://facebook.com/martinporwoll",
|
||
"isActive": true
|
||
}
|
||
|
||
// Social Link 2: X (ehemals Twitter)
|
||
{
|
||
"tenant": 1,
|
||
"platform": "x",
|
||
"url": "https://twitter.com/martinporwoll",
|
||
"isActive": true
|
||
}
|
||
|
||
// Social Link 3: Instagram
|
||
{
|
||
"tenant": 1,
|
||
"platform": "instagram",
|
||
"url": "https://instagram.com/martinporwoll",
|
||
"isActive": true
|
||
}
|
||
|
||
// Social Link 4: LinkedIn
|
||
{
|
||
"tenant": 1,
|
||
"platform": "linkedin",
|
||
"url": "https://linkedin.com/in/martinporwoll",
|
||
"isActive": true
|
||
}
|
||
|
||
// Social Link 5: YouTube
|
||
{
|
||
"tenant": 1,
|
||
"platform": "youtube",
|
||
"url": "https://youtube.com/@martinporwoll",
|
||
"isActive": true
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 4: Seiten erstellen
|
||
|
||
### 4.1 Startseite
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Startseite",
|
||
"slug": "startseite",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "hero-block",
|
||
"headline": "„Angst ist eine Reaktion, Mut eine Entscheidung"",
|
||
"subline": "Whistleblower | Unternehmer | Mensch",
|
||
"backgroundImage": "<MEDIA_ID_MARTIN_FRONTAL>",
|
||
"alignment": "left",
|
||
"overlay": true
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Lebensaufgabe und Vision" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Das Patientenwohl wieder in den Mittelpunkt aller Bemühungen im Gesundheitswesen zu rücken, ist die zentrale Lebensaufgabe von Martin Porwoll." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Er kämpft leidenschaftlich gegen Übertherapie und Fehlversorgung sowie Missbrauch im Gesundheitswesen und setzt sich für Transparenz, Gerechtigkeit und Integrität ein." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Sein Motto „Angst ist eine Reaktion, Mut eine Entscheidung" spiegelt seine Entschlossenheit wider, mutig für das Wohl der Patienten einzutreten." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Unternehmer" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Als Gründer der gunshin Holding UG und darauf aufbauend der complex care solutions GmbH hat Martin Porwoll seine unternehmerischen Fähigkeiten genutzt, um innovative Lösungen im Gesundheitswesen voranzutreiben und anderen Start-ups den Weg zu ebnen." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Sein unermüdlicher Einsatz für das Wohl der Patienten und der Kampf gegen Übertherapie, Fehlversorgung und Missbrauch haben ihn zu einem wichtigen Akteur und Impulsgeber in der Branche gemacht." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "card-grid-block",
|
||
"columns": "2",
|
||
"cards": [
|
||
{
|
||
"title": "gunshin Holding UG",
|
||
"description": "Lernen Sie die gunshin Holding kennen, die Start-ups im Gesundheitssektor unterstützt und dazu beiträgt, innovative Unternehmen auf das Wohl der Patienten auszurichten.",
|
||
"link": "/gunshin-holding-ug",
|
||
"linkText": "mehr erfahren"
|
||
},
|
||
{
|
||
"title": "complex care solutions GmbH",
|
||
"description": "Entdecken Sie das Unternehmen, das Martin Porwoll gegründet hat, um das Wohl der Patienten in den Mittelpunkt zu stellen und Übertherapie und Fehlversorgung zu bekämpfen.",
|
||
"link": "/complexcaresolutions",
|
||
"linkText": "mehr erfahren"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "porwoll.de – Die Webseite von Martin Porwoll",
|
||
"metaDescription": "Martin Porwoll – Whistleblower im Zytoskandal Bottrop, Unternehmer und Verfechter für Patientenwohl im Gesundheitswesen."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.2 Mensch
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Mensch",
|
||
"slug": "mensch",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "hero-block",
|
||
"headline": "Der Mensch Martin Porwoll",
|
||
"subline": "Werte, Überzeugungen und Antrieb",
|
||
"alignment": "center",
|
||
"overlay": true
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Martin Porwoll ist mehr als nur ein Whistleblower und Unternehmer – er ist ein Mensch mit tiefen Überzeugungen und einem klaren moralischen Kompass." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Seine Entscheidung, den Zytoskandal aufzudecken, war nicht leichtfertig getroffen, sondern entsprang seinem tiefsten Bedürfnis nach Gerechtigkeit und dem Schutz von Menschenleben." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "card-grid-block",
|
||
"headline": "Meine Werte",
|
||
"columns": "3",
|
||
"cards": [
|
||
{
|
||
"title": "Integrität",
|
||
"description": "Wahrhaftigkeit und Aufrichtigkeit als Fundament allen Handelns."
|
||
},
|
||
{
|
||
"title": "Mut",
|
||
"description": "Bereitschaft, für das Richtige einzustehen – auch gegen Widerstände."
|
||
},
|
||
{
|
||
"title": "Empathie",
|
||
"description": "Mitgefühl für Patienten und alle Betroffenen von Missständen."
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Mensch – Martin Porwoll",
|
||
"metaDescription": "Der Mensch hinter dem Whistleblower: Werte, Überzeugungen und Antrieb von Martin Porwoll."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.3 Zytoskandal Bottrop
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Zytoskandal Bottrop",
|
||
"slug": "zytoskandal",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "hero-block",
|
||
"headline": "Zytoskandal Bottrop",
|
||
"subline": "Die Aufdeckung des größten Apothekerskandals Deutschlands",
|
||
"backgroundImage": "<MEDIA_ID_ZYTOSKANDAL>",
|
||
"alignment": "left",
|
||
"overlay": true
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Hintergrund" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "In einer Apotheke in Bottrop, Nordrhein-Westfalen, wurden Krebsmedikamente im großen Stil gepanscht. Der Apotheker, der für die Herstellung der individualisierten Infusionen zuständig war, hatte über Jahre systematisch zu geringe Wirkstoffkonzentrationen in den Medikamenten verwendet und die Differenz für sich behalten." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Dadurch wurden Tausende von Krebspatienten unterdosiert behandelt, während der Apotheker immense Gewinne erzielte." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Martin Porwolls Rolle als Whistleblower" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Martin Porwoll, damals kaufmännischer Leiter der betroffenen Apotheke, entdeckte Unregelmäßigkeiten und begann zu recherchieren. Er sammelte Beweise und ging an die Öffentlichkeit." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Seinem Mut und seiner Entschlossenheit ist es zu verdanken, dass der Betrug aufgedeckt und der verantwortliche Apotheker zur Rechenschaft gezogen werden konnte." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Folgen des Skandals" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Der Bottroper Zytoskandal hat zu einer breiten Diskussion über die Sicherheit und Kontrolle von Arzneimitteln im Gesundheitswesen geführt." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Als direkte Folge wurden die gesetzlichen Regelungen verschärft und die Überwachung von Apotheken, die patientenindividuelle Krebsmedikamente herstellen, intensiviert." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Darüber hinaus wurden Maßnahmen ergriffen, um die Transparenz im Gesundheitswesen zu erhöhen und Patienten besser vor Fehlbehandlungen und Betrug zu schützen." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Martin Porwolls fortwährender Einsatz" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Nach der Aufdeckung des Zytoskandals setzte Martin Porwoll sein Engagement für das Patientenwohl fort." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Er gründete die Complex Care Solutions GmbH, um sich gegen Übertherapie und Fehlversorgung einzusetzen und das Patientenwohl in den Mittelpunkt zu stellen." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Durch seine Erfahrungen im Zytoskandal und seine Rolle als Whistleblower ist Martin Porwoll heute ein wichtiger Verfechter für Transparenz, Gerechtigkeit und Integrität im Gesundheitswesen." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "cta-block",
|
||
"headline": "Mehr Informationen zum Zytoskandal Bottrop",
|
||
"backgroundColor": "dark",
|
||
"buttons": [
|
||
{
|
||
"text": "zytoskandal.de besuchen",
|
||
"link": "https://zytoskandal.de/",
|
||
"style": "primary"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Zytoskandal Bottrop – Martin Porwoll",
|
||
"metaDescription": "Der Zytoskandal Bottrop: Wie Martin Porwoll den größten Apothekerskandal Deutschlands aufdeckte. Hintergründe, Folgen und sein fortgesetzter Einsatz für Patientenwohl."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.4 Whistleblowing
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Whistleblowing",
|
||
"slug": "whistleblowing",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "hero-block",
|
||
"headline": "Whistleblowing",
|
||
"subline": "Mut zur Wahrheit im Gesundheitswesen",
|
||
"alignment": "center",
|
||
"overlay": true
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Was ist Whistleblowing?" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Whistleblowing bezeichnet das Aufdecken von Missständen, illegalen Praktiken oder Gefahren für die Öffentlichkeit durch Insider." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Whistleblower sind Menschen, die den Mut aufbringen, gegen Unrecht vorzugehen – oft unter erheblichen persönlichen Risiken." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Bedeutung im Gesundheitswesen" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Im Gesundheitswesen kann Whistleblowing Leben retten. Wenn Medikamente gepanscht, Abrechnungen manipuliert oder Patienten gefährdet werden, sind es oft mutige Mitarbeiter, die diese Missstände aufdecken." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Martin Porwoll hat durch seinen Einsatz im Zytoskandal gezeigt, welche Bedeutung Whistleblower für den Schutz von Patienten haben können." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "cta-block",
|
||
"headline": "Mehr zum Zytoskandal Bottrop erfahren",
|
||
"backgroundColor": "light",
|
||
"buttons": [
|
||
{
|
||
"text": "Zur Zytoskandal-Seite",
|
||
"link": "/zytoskandal",
|
||
"style": "secondary"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Whistleblowing – Martin Porwoll",
|
||
"metaDescription": "Whistleblowing im Gesundheitswesen: Definition, Bedeutung und Martin Porwolls Rolle als Whistleblower im Zytoskandal Bottrop."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.5 complex care solutions
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "complex care solutions GmbH",
|
||
"slug": "complexcaresolutions",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "complex care solutions GmbH",
|
||
"image": "<MEDIA_ID_CCS_LOGO>",
|
||
"imagePosition": "left",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Complex Care Solutions GmbH wurde von Martin Porwoll gegründet, um Patientenwohl in den Vordergrund zu stellen und Übertherapie sowie Fehltherapie im Gesundheitswesen zu bekämpfen." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Das Unternehmen arbeitet eng mit medizinischen Einrichtungen, Krankenkassen und anderen Akteuren im Gesundheitswesen zusammen, um bessere und sicherere Versorgungslösungen für Patienten zu entwickeln." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "Vision und Mission",
|
||
"image": "<MEDIA_ID_CCS_VISION>",
|
||
"imagePosition": "right",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Vision der Complex Care Solutions GmbH ist es, eine Welt zu schaffen, in der das Wohl der Patienten im Mittelpunkt aller Bemühungen im Gesundheitswesen steht und in der Übertherapie, Fehltherapie und Missbrauch keine Chance haben." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Mission des Unternehmens besteht darin, innovative Lösungen und Dienstleistungen zu entwickeln, die das Patientenwohl fördern und die Qualität der Versorgung verbessern." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "card-grid-block",
|
||
"headline": "Leistungen und Lösungen",
|
||
"columns": "3",
|
||
"cards": [
|
||
{
|
||
"title": "Beratung und Schulung",
|
||
"description": "Fachwissen und Schulungen zu Patientenwohl, Übertherapie, Fehltherapie und Qualitätsmanagement."
|
||
},
|
||
{
|
||
"title": "Prozessoptimierung",
|
||
"description": "Optimierung der Patientenversorgung bei gleichzeitiger Kostenreduktion."
|
||
},
|
||
{
|
||
"title": "Analyse und Bewertung",
|
||
"description": "Identifikation von Risiken und Verbesserungspotenzialen im Gesundheitswesen."
|
||
},
|
||
{
|
||
"title": "Versorgungskonzepte",
|
||
"description": "Innovative Konzepte, zugeschnitten auf individuelle Bedürfnisse von Patienten und Einrichtungen."
|
||
},
|
||
{
|
||
"title": "Vernetzung und Kooperation",
|
||
"description": "Zusammenarbeit zwischen Akteuren im Gesundheitswesen zur Verbesserung der Patientenversorgung."
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "Erfolge und Referenzen",
|
||
"image": "<MEDIA_ID_CCS_ZWEITMEINUNG>",
|
||
"imagePosition": "left",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Complex Care Solutions GmbH hat bereits zahlreiche Projekte erfolgreich umgesetzt und kann auf eine Vielzahl von Referenzen im Gesundheitswesen verweisen." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Das Unternehmen hat dazu beigetragen, die Qualität der Patientenversorgung zu verbessern und das Bewusstsein für das Patientenwohl zu stärken." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "cta-block",
|
||
"headline": "Besuchen Sie die Unternehmenswebsite",
|
||
"backgroundColor": "dark",
|
||
"buttons": [
|
||
{
|
||
"text": "complexcaresolutions.de",
|
||
"link": "https://complexcaresolutions.de/",
|
||
"style": "primary"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "complex care solutions GmbH – Martin Porwoll",
|
||
"metaDescription": "Die complex care solutions GmbH: Patientenwohl im Mittelpunkt. Beratung, Prozessoptimierung und innovative Versorgungskonzepte im Gesundheitswesen."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.6 gunshin Holding
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "gunshin Holding UG",
|
||
"slug": "gunshin-holding-ug",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "gunshin Holding UG",
|
||
"image": "<MEDIA_ID_GUNSHIN_LOGO>",
|
||
"imagePosition": "left",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die gunshin Holding UG, gegründet von Martin Porwoll, ist eine Beteiligungsgesellschaft, die sich auf die Unterstützung und Förderung von Start-ups und jungen Unternehmen im Gesundheitswesen konzentriert." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Holding hat es sich zur Aufgabe gemacht, innovative Ideen und Lösungen zu fördern, die das Wohl des Patienten in den Mittelpunkt stellen und einen positiven Einfluss auf die Branche haben." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "Vision und Mission",
|
||
"image": "<MEDIA_ID_GUNSHIN_VISION>",
|
||
"imagePosition": "right",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Vision der gunshin Holding UG ist es, durch die Förderung von Start-ups und innovativen Lösungen den Gesundheitssektor nachhaltig zu verändern und damit das Patientenwohl zu stärken." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die Werte des Unternehmens basieren auf Transparenz, Integrität und Kooperation, um gemeinsam mit den geförderten Start-ups erfolgreich zu wachsen." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "card-grid-block",
|
||
"headline": "Explore Your Potential",
|
||
"columns": "3",
|
||
"cards": [
|
||
{
|
||
"title": "Strategische Beratung",
|
||
"description": "Wertvolle strategische Beratung bei der Entwicklung von Geschäftsmodellen, Markteintrittsstrategien und Wachstumsplänen."
|
||
},
|
||
{
|
||
"title": "Netzwerk und Partnerschaften",
|
||
"description": "Zugang zu einem breiten Netzwerk von Experten, Partnern und potenziellen Kunden."
|
||
},
|
||
{
|
||
"title": "Ressourcen und Infrastruktur",
|
||
"description": "Büroräume, technische Infrastruktur und administrative Unterstützung für Start-ups."
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"blockType": "image-text-block",
|
||
"headline": "Erfolge und Referenzen",
|
||
"image": "<MEDIA_ID_GUNSHIN_ERFOLGE>",
|
||
"imagePosition": "left",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die gunshin Holding UG hat bereits mehrere Start-ups erfolgreich unterstützt und kann auf eine Reihe von Erfolgsgeschichten im Gesundheitswesen verweisen." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Diese Erfolge zeigen, dass die Vision von Martin Porwoll, durch die Förderung innovativer Start-ups das Wohl der Patienten in den Mittelpunkt zu stellen, Früchte trägt." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "cta-block",
|
||
"headline": "Besuchen Sie die Holding-Website",
|
||
"backgroundColor": "dark",
|
||
"buttons": [
|
||
{
|
||
"text": "gunshin.de",
|
||
"link": "https://gunshin.de/",
|
||
"style": "primary"
|
||
}
|
||
]
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "gunshin Holding UG – Martin Porwoll",
|
||
"metaDescription": "Die gunshin Holding UG: Beteiligungsgesellschaft für Start-ups im Gesundheitswesen. Strategische Beratung, Netzwerk und Ressourcen für innovative Unternehmen."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.7 Kontakt
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Kontakt",
|
||
"slug": "kontakt",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "hero-block",
|
||
"headline": "Lassen Sie uns reden!",
|
||
"subline": "Haben Sie Fragen, Anregungen oder möchten Sie mehr über die Arbeit von Martin Porwoll erfahren?",
|
||
"alignment": "center",
|
||
"overlay": true
|
||
},
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Wir freuen uns von Ihnen zu hören! Auf dieser Kontaktseite finden Sie alle notwendigen Informationen, um mit uns in Verbindung zu treten." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Zögern Sie nicht, uns zu kontaktieren – unser Team steht Ihnen gerne zur Verfügung und beantwortet Ihre Fragen." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
},
|
||
{
|
||
"blockType": "card-grid-block",
|
||
"columns": "3",
|
||
"cards": [
|
||
{
|
||
"title": "Telefon",
|
||
"description": "0800 80 44 100"
|
||
},
|
||
{
|
||
"title": "Email",
|
||
"description": "info@porwoll.de"
|
||
},
|
||
{
|
||
"title": "Adresse",
|
||
"description": "Hans-Böckler-Str. 19, 46236 Bottrop"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"blockType": "contact-form-block",
|
||
"headline": "Nachricht senden",
|
||
"description": "Füllen Sie das Formular aus und wir melden uns zeitnah bei Ihnen.",
|
||
"recipientEmail": "info@porwoll.de",
|
||
"showPhone": true,
|
||
"showAddress": true,
|
||
"showSocials": true
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Kontakt – Martin Porwoll",
|
||
"metaDescription": "Nehmen Sie Kontakt mit Martin Porwoll auf. Telefon: 0800 80 44 100, E-Mail: info@porwoll.de, Adresse: Bottrop."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.8 Impressum
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Impressum",
|
||
"slug": "impressum",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h1",
|
||
"children": [{ "type": "text", "text": "Impressum" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Angaben gemäß § 5 TMG" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [
|
||
{ "type": "text", "text": "Martin Porwoll" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "Hans-Böckler-Str. 19" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "46236 Bottrop" }
|
||
]
|
||
},
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Kontakt" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [
|
||
{ "type": "text", "text": "Telefon: 0800 8044100" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "Telefax: 0800 8044190" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "E-Mail: info@porwoll.de" }
|
||
]
|
||
},
|
||
{
|
||
"type": "heading",
|
||
"tag": "h2",
|
||
"children": [{ "type": "text", "text": "Redaktionell verantwortlich" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [
|
||
{ "type": "text", "text": "Martin Porwoll" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "Hans-Böckler-Str. 19" },
|
||
{ "type": "linebreak" },
|
||
{ "type": "text", "text": "46236 Bottrop" }
|
||
]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Impressum – porwoll.de",
|
||
"metaDescription": "Impressum von porwoll.de – Martin Porwoll, Hans-Böckler-Str. 19, 46236 Bottrop."
|
||
}
|
||
}
|
||
```
|
||
|
||
### 4.9 Datenschutzerklärung
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "Datenschutzerklärung",
|
||
"slug": "datenschutz",
|
||
"status": "published",
|
||
"layout": [
|
||
{
|
||
"blockType": "text-block",
|
||
"width": "medium",
|
||
"content": {
|
||
"root": {
|
||
"type": "root",
|
||
"children": [
|
||
{
|
||
"type": "heading",
|
||
"tag": "h1",
|
||
"children": [{ "type": "text", "text": "Datenschutzerklärung" }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Diese Datenschutzerklärung wird über unseren Datenschutzpartner bereitgestellt." }]
|
||
},
|
||
{
|
||
"type": "paragraph",
|
||
"children": [{ "type": "text", "text": "Die vollständige Datenschutzerklärung wird dynamisch geladen." }]
|
||
}
|
||
]
|
||
}
|
||
}
|
||
}
|
||
],
|
||
"seo": {
|
||
"metaTitle": "Datenschutzerklärung – porwoll.de",
|
||
"metaDescription": "Datenschutzerklärung von porwoll.de – Informationen zum Umgang mit Ihren personenbezogenen Daten."
|
||
}
|
||
}
|
||
```
|
||
|
||
---
|
||
|
||
## Phase 5: Navigation erstellen
|
||
|
||
**Hinweis:** Die Navigations Collection verwendet `mainMenu` und `footerMenu` Arrays in einem Dokument. Es wird nur **eine** Navigation pro Tenant erstellt.
|
||
|
||
```json
|
||
{
|
||
"tenant": 1,
|
||
"title": "porwoll.de Navigation",
|
||
"mainMenu": [
|
||
{
|
||
"label": "Startseite",
|
||
"type": "page",
|
||
"page": "<PAGE_ID_STARTSEITE>",
|
||
"openInNewTab": false
|
||
},
|
||
{
|
||
"label": "Mensch",
|
||
"type": "page",
|
||
"page": "<PAGE_ID_MENSCH>",
|
||
"openInNewTab": false
|
||
},
|
||
{
|
||
"label": "Whistleblowing",
|
||
"type": "submenu",
|
||
"submenu": [
|
||
{
|
||
"label": "Zytoskandal",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_ZYTOSKANDAL>"
|
||
},
|
||
{
|
||
"label": "Whistleblowing",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_WHISTLEBLOWING>"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"label": "Unternehmer",
|
||
"type": "submenu",
|
||
"submenu": [
|
||
{
|
||
"label": "complex care solutions",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_CCS>"
|
||
},
|
||
{
|
||
"label": "gunshin Holding",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_GUNSHIN>"
|
||
}
|
||
]
|
||
},
|
||
{
|
||
"label": "Kontakt",
|
||
"type": "page",
|
||
"page": "<PAGE_ID_KONTAKT>",
|
||
"openInNewTab": false
|
||
}
|
||
],
|
||
"footerMenu": [
|
||
{
|
||
"label": "Impressum",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_IMPRESSUM>"
|
||
},
|
||
{
|
||
"label": "Datenschutz",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_DATENSCHUTZ>"
|
||
},
|
||
{
|
||
"label": "Kontakt",
|
||
"linkType": "page",
|
||
"page": "<PAGE_ID_KONTAKT>"
|
||
}
|
||
]
|
||
}
|
||
```
|
||
|
||
**Hinweis zu Social Links im Footer:** Die Social Links werden über die `SocialLinks` Collection verwaltet und nicht in der Navigation. Das Frontend liest diese separat aus.
|
||
|
||
---
|
||
|
||
## Phase 6: Verifikation
|
||
|
||
### Checkliste
|
||
|
||
- [ ] **Media:** 11 Bilder hochgeladen, IDs dokumentiert
|
||
- [ ] **Site Settings:** Konfiguriert mit Logo, Kontakt, Adresse, SEO
|
||
- [ ] **Social Links:** 5 Einträge (Facebook, X, Instagram, LinkedIn, YouTube)
|
||
- [ ] **Pages:** 9 Seiten erstellt und veröffentlicht
|
||
- [ ] **Navigation:** Ein Dokument mit mainMenu + footerMenu
|
||
|
||
### API-Test
|
||
|
||
```bash
|
||
# Seiten abrufen
|
||
curl "https://cms.c2sgmbh.de/api/pages?where[tenant][equals]=1&locale=de"
|
||
|
||
# Site Settings abrufen
|
||
curl "https://cms.c2sgmbh.de/api/site-settings?where[tenant][equals]=1"
|
||
|
||
# Navigation abrufen
|
||
curl "https://cms.c2sgmbh.de/api/navigations?where[tenant][equals]=1"
|
||
|
||
# Social Links abrufen
|
||
curl "https://cms.c2sgmbh.de/api/social-links?where[tenant][equals]=1"
|
||
```
|
||
|
||
---
|
||
|
||
## Erfolgskriterium
|
||
|
||
Wenn alle Phasen erfolgreich abgeschlossen sind und die Verifikation bestätigt, dass alle Inhalte korrekt angelegt wurden:
|
||
|
||
<promise>PORWOLL_SETUP_COMPLETE</promise>
|
||
|
||
---
|
||
|
||
## Troubleshooting
|
||
|
||
### Häufige Fehler
|
||
|
||
| Problem | Lösung |
|
||
|---------|--------|
|
||
| 401 Unauthorized | Token abgelaufen → Neu einloggen |
|
||
| 403 Forbidden | Tenant-Berechtigung prüfen |
|
||
| 400 Bad Request | JSON-Syntax prüfen, Pflichtfelder validieren |
|
||
| Media-Upload fehlgeschlagen | Dateigröße/Format prüfen |
|
||
| Page nicht sichtbar | Status auf "published" setzen |
|
||
| Block nicht erkannt | Block-Slug prüfen (z.B. `hero-block` statt `hero`) |
|
||
|
||
### Reihenfolge beachten
|
||
|
||
1. **Erst Media** → IDs werden für Settings und Pages benötigt
|
||
2. **Dann Site Settings** → Grundkonfiguration inkl. SEO
|
||
3. **Dann Social Links** → Werden im Footer angezeigt
|
||
4. **Dann Pages** → IDs werden für Navigation benötigt
|
||
5. **Zuletzt Navigation** → Referenziert Page-IDs
|
||
|
||
### Block-Slug Referenz
|
||
|
||
| Block | Slug |
|
||
|-------|------|
|
||
| Hero | `hero-block` |
|
||
| Text | `text-block` |
|
||
| Bild & Text | `image-text-block` |
|
||
| Karten-Raster | `card-grid-block` |
|
||
| Call-to-Action | `cta-block` |
|
||
| Kontaktformular | `contact-form-block` |
|
||
| Divider | `divider-block` |
|
||
| Video | `video-block` |
|
||
| Timeline | `timeline-block` |
|
||
| FAQ | `faq-block` |
|
||
|
||
---
|
||
|
||
## Änderungsprotokoll
|
||
|
||
| Datum | Änderung |
|
||
|-------|----------|
|
||
| 17.01.2026 | Korrektur aller Block-Slugs (`hero` → `hero-block`, etc.) |
|
||
| 17.01.2026 | Pages: `_status` → `status`, `meta` → `seo` |
|
||
| 17.01.2026 | SiteSettings: `postalCode` → `zip`, `copyright` → `copyrightText` |
|
||
| 17.01.2026 | SocialLinks: `twitter` → `x`, Felder `icon`/`order` entfernt |
|
||
| 17.01.2026 | Navigation: Komplett überarbeitet auf `mainMenu`/`footerMenu` Struktur |
|
||
| 17.01.2026 | Blocks: Feld-Namen korrigiert (`title` → `headline`, etc.) |
|
||
| 17.01.2026 | CTABlock: Einzelbutton → `buttons` Array |
|
||
| 17.01.2026 | SEO Settings Phase entfernt (ist Global, nicht tenant-spezifisch) |
|
||
|
||
---
|
||
|
||
*Erstellt: Januar 2026*
|
||
*Korrigiert: 17. Januar 2026*
|
||
*Basierend auf: Payload CMS 3.69.0+ Implementierung*
|
||
*Validiert gegen: `/home/payload/payload-cms/src/collections/` und `/home/payload/payload-cms/src/blocks/`*
|