mirror of
https://github.com/complexcaresolutions/cms.c2sgmbh.git
synced 2026-03-17 17:24:12 +00:00
docs: consolidate and update documentation for Payload 3.76.1 / Next.js 16
Update all version references from Payload 3.69.0 → 3.76.1 and Next.js 15.5.9 → 16.2.0-canary.41. Replace .env.example (MongoDB → PostgreSQL) and README.md (generic template → project-specific). Remove obsolete BUG_REPORT_CUSTOM_VIEWS.md. Add YouTube Analytics Dashboard to URLs and February 2026 changelog entry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
197d45f9e4
commit
a849359c20
8 changed files with 127 additions and 214 deletions
38
.env.example
38
.env.example
|
|
@ -1,5 +1,39 @@
|
||||||
DATABASE_URI=mongodb://127.0.0.1/your-database-name
|
# Datenbank (PostgreSQL via PgBouncer)
|
||||||
|
DATABASE_URI=postgresql://payload:YOUR_PASSWORD@127.0.0.1:6432/payload_db
|
||||||
PAYLOAD_SECRET=YOUR_SECRET_HERE
|
PAYLOAD_SECRET=YOUR_SECRET_HERE
|
||||||
|
PAYLOAD_PUBLIC_SERVER_URL=http://localhost:3000
|
||||||
|
NEXT_PUBLIC_SERVER_URL=http://localhost:3000
|
||||||
|
NODE_ENV=development
|
||||||
|
PORT=3000
|
||||||
|
|
||||||
# Prevent actual SMTP calls during tests or CI
|
# E-Mail (Global Fallback)
|
||||||
|
SMTP_HOST=smtp.example.com
|
||||||
|
SMTP_PORT=587
|
||||||
|
SMTP_SECURE=false
|
||||||
|
SMTP_USER=user@example.com
|
||||||
|
SMTP_PASS=your-password
|
||||||
|
SMTP_FROM_ADDRESS=noreply@example.com
|
||||||
|
SMTP_FROM_NAME=Payload CMS
|
||||||
|
|
||||||
|
# Redis Cache (optional, In-Memory-Fallback)
|
||||||
|
REDIS_URL=redis://localhost:6379
|
||||||
|
|
||||||
|
# Security
|
||||||
|
CSRF_SECRET=your-csrf-secret
|
||||||
|
TRUST_PROXY=true
|
||||||
|
|
||||||
|
# YouTube OAuth (optional)
|
||||||
|
GOOGLE_CLIENT_ID=your-client-id
|
||||||
|
GOOGLE_CLIENT_SECRET=your-client-secret
|
||||||
|
YOUTUBE_REDIRECT_URI=http://localhost:3000/api/youtube/callback
|
||||||
|
|
||||||
|
# Meta OAuth (optional)
|
||||||
|
META_APP_ID=your-app-id
|
||||||
|
META_APP_SECRET=your-app-secret
|
||||||
|
META_REDIRECT_URI=http://localhost:3000/api/auth/meta/callback
|
||||||
|
|
||||||
|
# Cron Jobs (optional)
|
||||||
|
CRON_SECRET=your-64-char-hex
|
||||||
|
|
||||||
|
# Tests
|
||||||
EMAIL_DELIVERY_DISABLED=false
|
EMAIL_DELIVERY_DISABLED=false
|
||||||
|
|
|
||||||
|
|
@ -1,134 +0,0 @@
|
||||||
# Bug Report: Custom Admin Components cause TypeError with path-to-regexp
|
|
||||||
|
|
||||||
## Summary
|
|
||||||
**ALL** custom admin components registered via `admin.components` cause a `TypeError: Missing parameter name at 5` error from path-to-regexp when used together with `@payloadcms/plugin-multi-tenant`. This includes `views`, `afterNavLinks`, and `beforeNavLinks`.
|
|
||||||
|
|
||||||
## Environment
|
|
||||||
- **Payload Version:** 3.69.0 (originally reported on 3.68.4)
|
|
||||||
- **Next.js Version:** 15.5.9
|
|
||||||
- **React Version:** 19.2.3
|
|
||||||
- **Node.js Version:** 22.x
|
|
||||||
- **Database:** PostgreSQL 17.6
|
|
||||||
- **Plugin:** @payloadcms/plugin-multi-tenant 3.69.0
|
|
||||||
|
|
||||||
> **Note:** Bug persists after update to 3.69.0. Custom components remain disabled.
|
|
||||||
|
|
||||||
## Steps to Reproduce
|
|
||||||
|
|
||||||
1. Create a Payload 3.x project with the multi-tenant plugin
|
|
||||||
2. Add a custom view to the admin config:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// payload.config.ts
|
|
||||||
export default buildConfig({
|
|
||||||
admin: {
|
|
||||||
user: Users.slug,
|
|
||||||
components: {
|
|
||||||
views: {
|
|
||||||
MyCustomView: {
|
|
||||||
Component: '@/components/admin/MyCustomView#MyCustomView',
|
|
||||||
path: '/my-custom-view',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
plugins: [
|
|
||||||
multiTenantPlugin({
|
|
||||||
tenantsSlug: 'tenants',
|
|
||||||
collections: { /* ... */ },
|
|
||||||
}),
|
|
||||||
// other plugins...
|
|
||||||
],
|
|
||||||
})
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Create a simple client component:
|
|
||||||
|
|
||||||
```tsx
|
|
||||||
// src/components/admin/MyCustomView.tsx
|
|
||||||
'use client'
|
|
||||||
|
|
||||||
import React from 'react'
|
|
||||||
|
|
||||||
export const MyCustomView: React.FC = () => {
|
|
||||||
return (
|
|
||||||
<div style={{ padding: '2rem' }}>
|
|
||||||
<h1>Custom View</h1>
|
|
||||||
</div>
|
|
||||||
)
|
|
||||||
}
|
|
||||||
|
|
||||||
export default MyCustomView
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Build and run the project
|
|
||||||
5. Navigate to `/admin/my-custom-view`
|
|
||||||
|
|
||||||
## Expected Behavior
|
|
||||||
The custom view should render correctly.
|
|
||||||
|
|
||||||
## Actual Behavior
|
|
||||||
A server-side error occurs with the following message in production:
|
|
||||||
|
|
||||||
```
|
|
||||||
Uncaught Error: An error occurred in the Server Components render.
|
|
||||||
The specific message is omitted in production builds to avoid leaking sensitive details.
|
|
||||||
```
|
|
||||||
|
|
||||||
When running in development or checking server logs, the actual error is:
|
|
||||||
|
|
||||||
```
|
|
||||||
⨯ TypeError: Missing parameter name at 5
|
|
||||||
at <unknown> (.next/server/chunks/XXXX.js:5:9989)
|
|
||||||
at <unknown> (.next/server/chunks/XXXX.js:5:10666)
|
|
||||||
at g (.next/server/chunks/XXXX.js:5:11896)
|
|
||||||
at e (.next/server/chunks/824.js:96:517138)
|
|
||||||
at <unknown> (.next/server/app/(payload)/admin/[[...segments]]/page.js:1:31665)
|
|
||||||
at Array.find (<anonymous>)
|
|
||||||
at <unknown> (.next/server/app/(payload)/admin/[[...segments]]/page.js:1:31644)
|
|
||||||
at ax (.next/server/app/(payload)/admin/[[...segments]]/page.js:1:34637) {
|
|
||||||
digest: '3964718924'
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
## Additional Context
|
|
||||||
|
|
||||||
### What works:
|
|
||||||
- Admin panel WITHOUT any custom components (completely empty `admin.components` or omitted entirely)
|
|
||||||
|
|
||||||
### What fails:
|
|
||||||
- ANY custom component registered via `admin.components`, including:
|
|
||||||
- `views` - custom admin views
|
|
||||||
- `afterNavLinks` - components after nav links (e.g., TenantBreadcrumb)
|
|
||||||
- `beforeNavLinks` - components before nav links
|
|
||||||
- Even the simplest component without any dependencies triggers the error
|
|
||||||
|
|
||||||
### Investigation findings:
|
|
||||||
- The error originates from `path-to-regexp` (version 6.3.0)
|
|
||||||
- The error occurs during route matching in `handleEndpoints.js`
|
|
||||||
- The error message "Missing parameter name at 5" suggests an invalid route pattern like `/:` is being generated somewhere
|
|
||||||
- This happens regardless of the view path used (tested with `/dashboard`, `/tenant-dashboard`, `/test-dashboard`)
|
|
||||||
- The issue appears to be triggered by the combination of ANY custom component and the multi-tenant plugin
|
|
||||||
- Initially appeared to work in development but fails consistently in production builds
|
|
||||||
|
|
||||||
### Workaround
|
|
||||||
Completely disable ALL custom components:
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
admin: {
|
|
||||||
user: Users.slug,
|
|
||||||
// ALL custom components disabled - triggers path-to-regexp error with multi-tenant plugin
|
|
||||||
// components: {
|
|
||||||
// afterNavLinks: ['...'],
|
|
||||||
// beforeNavLinks: ['...'],
|
|
||||||
// views: { ... },
|
|
||||||
// },
|
|
||||||
},
|
|
||||||
```
|
|
||||||
|
|
||||||
## Related Plugins
|
|
||||||
- `@payloadcms/plugin-multi-tenant` (may be related to the conflict)
|
|
||||||
- `@payloadcms/plugin-redirects`
|
|
||||||
- `@payloadcms/plugin-seo`
|
|
||||||
- `@payloadcms/plugin-form-builder`
|
|
||||||
- `@payloadcms/plugin-nested-docs`
|
|
||||||
|
|
@ -10,8 +10,8 @@ Multi-Tenant CMS für 3 aktive Websites unter einer Payload CMS 3.x Instanz:
|
||||||
|
|
||||||
## Tech Stack
|
## Tech Stack
|
||||||
|
|
||||||
- **CMS:** Payload CMS 3.69.0 (⚠️ 3.72.0 hat Login-Bug, siehe GitHub #15243)
|
- **CMS:** Payload CMS 3.76.1
|
||||||
- **Framework:** Next.js 15.5.9
|
- **Framework:** Next.js 16.2.0-canary.41
|
||||||
- **React:** 19.2.3
|
- **React:** 19.2.3
|
||||||
- **Sprache:** TypeScript
|
- **Sprache:** TypeScript
|
||||||
- **Runtime:** Node.js 22.x
|
- **Runtime:** Node.js 22.x
|
||||||
|
|
@ -397,6 +397,7 @@ CREATE TABLE IF NOT EXISTS "{collection}_{array_field}" (
|
||||||
- **Plugin ImportMap:** Nach Plugin-Änderungen `pnpm payload generate:importmap` ausführen
|
- **Plugin ImportMap:** Nach Plugin-Änderungen `pnpm payload generate:importmap` ausführen
|
||||||
- **User-Tenant-Zuweisung:** Neue User müssen manuell Tenants zugewiesen bekommen
|
- **User-Tenant-Zuweisung:** Neue User müssen manuell Tenants zugewiesen bekommen
|
||||||
- **Admin Login:** Custom Route mit Audit-Logging, unterstützt JSON und `_payload` FormData
|
- **Admin Login:** Custom Route mit Audit-Logging, unterstützt JSON und `_payload` FormData
|
||||||
|
- **Queue Worker:** Benötigt `tsx` als explizite devDependency (für TypeScript-Ausführung via PM2)
|
||||||
|
|
||||||
## Build-Konfiguration
|
## Build-Konfiguration
|
||||||
|
|
||||||
|
|
@ -441,6 +442,7 @@ Das System unterstützt Deutsch (default) und Englisch:
|
||||||
- **Timeline API:** https://pl.porwoll.tech/api/timelines (GET, öffentlich, tenant required)
|
- **Timeline API:** https://pl.porwoll.tech/api/timelines (GET, öffentlich, tenant required)
|
||||||
- **Workflows API:** https://pl.porwoll.tech/api/workflows (GET, öffentlich, tenant required)
|
- **Workflows API:** https://pl.porwoll.tech/api/workflows (GET, öffentlich, tenant required)
|
||||||
- **Data Retention API:** https://pl.porwoll.tech/api/retention (GET/POST, Super-Admin erforderlich)
|
- **Data Retention API:** https://pl.porwoll.tech/api/retention (GET/POST, Super-Admin erforderlich)
|
||||||
|
- **YouTube Analytics:** https://pl.porwoll.tech/admin/youtube-analytics (Admin View, Auth erforderlich)
|
||||||
|
|
||||||
## Security-Features
|
## Security-Features
|
||||||
|
|
||||||
|
|
@ -1330,4 +1332,4 @@ ssh payload@162.55.85.18
|
||||||
### Scripts & Backup
|
### Scripts & Backup
|
||||||
- `scripts/backup/README.md` - Backup-System Dokumentation
|
- `scripts/backup/README.md` - Backup-System Dokumentation
|
||||||
|
|
||||||
*Letzte Aktualisierung: 26.01.2026 (Redundanzen bereinigt, Collections aktualisiert)*
|
*Letzte Aktualisierung: 13.02.2026 (Versionen aktualisiert: Payload 3.76.1, Next.js 16.2.0-canary.41)*
|
||||||
|
|
|
||||||
99
README.md
99
README.md
|
|
@ -1,71 +1,66 @@
|
||||||
# Payload Blank Template
|
# Payload CMS Multi-Tenant
|
||||||
|
|
||||||
This template comes configured with the bare minimum to get started on anything you need.
|
Multi-Tenant Headless CMS for 3 active websites under a single Payload CMS instance.
|
||||||
|
|
||||||
## Quick start
|
## Tech Stack
|
||||||
|
|
||||||
This template can be deployed directly from our Cloud hosting and it will setup MongoDB and cloud S3 object storage for media.
|
- **CMS:** Payload CMS 3.76.1
|
||||||
|
- **Framework:** Next.js 16.2.0-canary.41
|
||||||
|
- **Runtime:** Node.js 22.x
|
||||||
|
- **Database:** PostgreSQL 17.6 (via PgBouncer)
|
||||||
|
- **Cache:** Redis 7.x (optional, with in-memory fallback)
|
||||||
|
- **Package Manager:** pnpm
|
||||||
|
|
||||||
## Quick Start - local setup
|
## Tenants
|
||||||
|
|
||||||
To spin up this template locally, follow these steps:
|
| Tenant | Slug | Domain |
|
||||||
|
|--------|------|--------|
|
||||||
|
| porwoll.de | porwoll | porwoll.de |
|
||||||
|
| Complex Care Solutions GmbH | c2s | complexcaresolutions.de |
|
||||||
|
| Gunshin | gunshin | gunshin.de |
|
||||||
|
|
||||||
### Clone
|
## Quick Start
|
||||||
|
|
||||||
After you click the `Deploy` button above, you'll want to have standalone copy of this repo on your machine. If you've already cloned this repo, skip to [Development](#development).
|
### Prerequisites
|
||||||
|
|
||||||
### Development
|
- Node.js 22.x
|
||||||
|
- pnpm
|
||||||
|
- PostgreSQL 17 (or PgBouncer connection)
|
||||||
|
- Redis (optional)
|
||||||
|
|
||||||
1. First [clone the repo](#clone) if you have not done so already
|
### Setup
|
||||||
2. `cd my-project && cp .env.example .env` to copy the example environment variables. You'll need to add the `MONGODB_URI` from your Cloud project to your `.env` if you want to use S3 storage and the MongoDB database that was created for you.
|
|
||||||
|
|
||||||
3. `pnpm install && pnpm dev` to install dependencies and start the dev server
|
```bash
|
||||||
4. open `http://localhost:3000` to open the app in your browser
|
# Install dependencies
|
||||||
|
pnpm install
|
||||||
|
|
||||||
That's it! Changes made in `./src` will be reflected in your app. Follow the on-screen instructions to login and create your first admin user. Then check out [Production](#production) once you're ready to build and serve your app, and [Deployment](#deployment) when you're ready to go live.
|
# Copy environment variables
|
||||||
|
cp .env.example .env
|
||||||
|
# Edit .env with your database credentials
|
||||||
|
|
||||||
#### Docker (Optional)
|
# Run development server
|
||||||
|
pnpm dev
|
||||||
|
```
|
||||||
|
|
||||||
If you prefer to use Docker for local development instead of a local MongoDB instance, the provided docker-compose.yml file can be used.
|
Open [http://localhost:3000/admin](http://localhost:3000/admin) to access the admin panel.
|
||||||
|
|
||||||
To do so, follow these steps:
|
## Commands
|
||||||
|
|
||||||
- Modify the `MONGODB_URI` in your `.env` file to `mongodb://127.0.0.1/<dbname>`
|
```bash
|
||||||
- Modify the `docker-compose.yml` file's `MONGODB_URI` to match the above `<dbname>`
|
pnpm dev # Development server
|
||||||
- Run `docker-compose up` to start the database, optionally pass `-d` to run in the background.
|
pnpm build # Production build
|
||||||
|
pnpm payload migrate # Run migrations
|
||||||
|
pnpm payload migrate:create # Create migration
|
||||||
|
pnpm test # Run tests
|
||||||
|
pnpm lint # ESLint
|
||||||
|
pnpm typecheck # TypeScript check
|
||||||
|
```
|
||||||
|
|
||||||
## How it works
|
## Documentation
|
||||||
|
|
||||||
The Payload config is tailored specifically to the needs of most websites. It is pre-configured in the following ways:
|
- **[CLAUDE.md](./CLAUDE.md)** - Full project documentation (collections, blocks, APIs, architecture)
|
||||||
|
- **[docs/](./docs/)** - Additional documentation (infrastructure, deployment, security)
|
||||||
|
|
||||||
### Collections
|
## Email Testing
|
||||||
|
|
||||||
See the [Collections](https://payloadcms.com/docs/configuration/collections) docs for details on how to extend this functionality.
|
Set `EMAIL_DELIVERY_DISABLED=true` to bypass SMTP calls during testing. This flag is automatically honored in `NODE_ENV=test`.
|
||||||
|
|
||||||
- #### Users (Authentication)
|
|
||||||
|
|
||||||
Users are auth-enabled collections that have access to the admin panel.
|
|
||||||
|
|
||||||
For additional help, see the official [Auth Example](https://github.com/payloadcms/payload/tree/main/examples/auth) or the [Authentication](https://payloadcms.com/docs/authentication/overview#authentication-overview) docs.
|
|
||||||
|
|
||||||
- #### Media
|
|
||||||
|
|
||||||
This is the uploads enabled collection. It features pre-configured sizes, focal point and manual resizing to help you manage your pictures.
|
|
||||||
|
|
||||||
### Docker
|
|
||||||
|
|
||||||
Alternatively, you can use [Docker](https://www.docker.com) to spin up this template locally. To do so, follow these steps:
|
|
||||||
|
|
||||||
1. Follow [steps 1 and 2 from above](#development), the docker-compose file will automatically use the `.env` file in your project root
|
|
||||||
1. Next run `docker-compose up`
|
|
||||||
1. Follow [steps 4 and 5 from above](#development) to login and create your first admin user
|
|
||||||
|
|
||||||
That's it! The Docker instance will help you get up and running quickly while also standardizing the development environment across your teams.
|
|
||||||
|
|
||||||
## Email testing
|
|
||||||
|
|
||||||
Security integration tests exercise the SMTP endpoints and will hang if no mail server is reachable. Set `EMAIL_DELIVERY_DISABLED=true` (default is `false`) to bypass the actual SMTP call while still logging the request. This flag is automatically honored in `NODE_ENV=test`, so CI pipelines can safely run the security test suite without external dependencies.
|
|
||||||
|
|
||||||
## Questions
|
|
||||||
|
|
||||||
If you have any issues or questions, reach out to us on [Discord](https://discord.com/invite/payload) or start a [GitHub discussion](https://github.com/payloadcms/payload/discussions).
|
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
# Infrastruktur Dokumentation
|
# Infrastruktur Dokumentation
|
||||||
|
|
||||||
*Letzte Aktualisierung: 29. Dezember 2025*
|
*Letzte Aktualisierung: 13. Februar 2026*
|
||||||
|
|
||||||
## Gesamtübersicht
|
## Gesamtübersicht
|
||||||
|
|
||||||
|
|
@ -84,7 +84,7 @@
|
||||||
### Software Stack
|
### Software Stack
|
||||||
- Node.js 22.x
|
- Node.js 22.x
|
||||||
- pnpm
|
- pnpm
|
||||||
- Next.js 15.5.9
|
- Next.js 16.2.0-canary.41
|
||||||
- Claude Code (aktuell)
|
- Claude Code (aktuell)
|
||||||
- Codex CLI (aktuell)
|
- Codex CLI (aktuell)
|
||||||
- Gemini CLI (aktuell)
|
- Gemini CLI (aktuell)
|
||||||
|
|
@ -161,8 +161,8 @@ systemctl status frontend-*
|
||||||
- **SSH:** `ssh payload@162.55.85.18`
|
- **SSH:** `ssh payload@162.55.85.18`
|
||||||
|
|
||||||
### Software
|
### Software
|
||||||
- Payload CMS 3.69.0
|
- Payload CMS 3.76.1
|
||||||
- Next.js 15.5.9
|
- Next.js 16.2.0-canary.41
|
||||||
- React 19.2.3
|
- React 19.2.3
|
||||||
- PostgreSQL 17
|
- PostgreSQL 17
|
||||||
- Redis
|
- Redis
|
||||||
|
|
@ -239,4 +239,4 @@ systemctl start frontend-porwoll
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Dokumentation: Martin Porwoll | Complex Care Solutions GmbH | 29.12.2025*
|
*Dokumentation: Martin Porwoll | Complex Care Solutions GmbH | 13.02.2026*
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ Diese Anleitung erklärt, wie du als Konzept-KI einen strukturierten Prompt für
|
||||||
|
|
||||||
Das Payload CMS ist ein Multi-Tenant-fähiges Headless CMS mit folgenden Eigenschaften:
|
Das Payload CMS ist ein Multi-Tenant-fähiges Headless CMS mit folgenden Eigenschaften:
|
||||||
|
|
||||||
- **Framework:** Payload 3.69.0 + Next.js 15.5.9
|
- **Framework:** Payload 3.76.1 + Next.js 16.2.0-canary.41
|
||||||
- **Datenbank:** PostgreSQL 17
|
- **Datenbank:** PostgreSQL 17
|
||||||
- **Sprachen:** Deutsch (de, Standard) und Englisch (en)
|
- **Sprachen:** Deutsch (de, Standard) und Englisch (en)
|
||||||
- **Tenant-Isolation:** Jede Collection ist automatisch tenant-spezifisch
|
- **Tenant-Isolation:** Jede Collection ist automatisch tenant-spezifisch
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
# Projekt Status - Januar 2026
|
# Projekt Status - Februar 2026
|
||||||
|
|
||||||
**Stand:** 17. Januar 2026
|
**Stand:** 13. Februar 2026
|
||||||
|
|
||||||
## Zusammenfassung
|
## Zusammenfassung
|
||||||
|
|
||||||
Die komplette Entwicklungsinfrastruktur ist eingerichtet und funktionsfähig:
|
Die komplette Entwicklungsinfrastruktur ist eingerichtet und funktionsfähig:
|
||||||
- Payload CMS Multi-Tenant (Dev + Prod) - **v3.69.0 stabil**
|
- Payload CMS Multi-Tenant (Dev + Prod) - **v3.76.1 stabil**
|
||||||
- Multi-Frontend Development Environment
|
- Multi-Frontend Development Environment
|
||||||
- AI-gestützte Entwicklungstools
|
- AI-gestützte Entwicklungstools
|
||||||
- Reverse Proxy Stack (Caddy + Nginx)
|
- Reverse Proxy Stack (Caddy + Nginx)
|
||||||
|
|
@ -54,10 +54,12 @@ Die komplette Entwicklungsinfrastruktur ist eingerichtet und funktionsfähig:
|
||||||
- [x] Multi-Tenant Plugin
|
- [x] Multi-Tenant Plugin
|
||||||
- [x] Redis Caching
|
- [x] Redis Caching
|
||||||
- [x] Package-Versionen synchronisiert:
|
- [x] Package-Versionen synchronisiert:
|
||||||
- Next.js 15.5.9
|
- Next.js 16.2.0-canary.41
|
||||||
- React 19.2.3
|
- React 19.2.3
|
||||||
- Payload 3.69.0 (⚠️ 3.72.0 hat Login-Bug bei hasMany Relationships)
|
- Payload 3.76.1
|
||||||
- [x] GitHub Repository (complexcaresolutions/cms.c2sgmbh)
|
- [x] GitHub Repository (complexcaresolutions/cms.c2sgmbh)
|
||||||
|
- [x] YouTube Analytics Dashboard (4-Tab-Dashboard mit Kanal-Auswahl)
|
||||||
|
- [x] Admin-Nav Sidebar Refactoring (nativer Payload-Stil)
|
||||||
|
|
||||||
### Community Management System
|
### Community Management System
|
||||||
|
|
||||||
|
|
@ -110,7 +112,6 @@ Organisation: **complexcaresolutions** (Internal)
|
||||||
|
|
||||||
| Priorität | Aufgabe | Status |
|
| Priorität | Aufgabe | Status |
|
||||||
|-----------|---------|--------|
|
|-----------|---------|--------|
|
||||||
| 🔴 | Payload 3.72.0+ Login-Bug - hasMany Relationships | Bug-Report: #15243 |
|
|
||||||
| 🟡 | Meta (Facebook/Instagram) Kommentar-Sync | In Entwicklung |
|
| 🟡 | Meta (Facebook/Instagram) Kommentar-Sync | In Entwicklung |
|
||||||
| 🟡 | YouTube Thumbnail-Download für Offline-Anzeige | Geplant |
|
| 🟡 | YouTube Thumbnail-Download für Offline-Anzeige | Geplant |
|
||||||
|
|
||||||
|
|
@ -121,10 +122,8 @@ Organisation: **complexcaresolutions** (Internal)
|
||||||
### Kurzfristig (diese Woche)
|
### Kurzfristig (diese Woche)
|
||||||
|
|
||||||
1. [ ] Meta (Facebook/Instagram) Kommentar-Synchronisation fertigstellen
|
1. [ ] Meta (Facebook/Instagram) Kommentar-Synchronisation fertigstellen
|
||||||
2. [ ] YouTube Analytics-Dashboard implementieren
|
|
||||||
3. [ ] Payload 3.72+ Update testen (nach Bug-Fix)
|
|
||||||
|
|
||||||
### Mittelfristig (Januar/Februar 2026)
|
### Mittelfristig (Februar/März 2026)
|
||||||
|
|
||||||
4. [ ] porwoll.de Frontend-Entwicklung
|
4. [ ] porwoll.de Frontend-Entwicklung
|
||||||
5. [ ] blogwoman.de Frontend mit YouTube-Integration
|
5. [ ] blogwoman.de Frontend mit YouTube-Integration
|
||||||
|
|
@ -197,6 +196,25 @@ pm2 logs payload
|
||||||
|
|
||||||
## 📝 Änderungsprotokoll
|
## 📝 Änderungsprotokoll
|
||||||
|
|
||||||
|
### 13.02.2026
|
||||||
|
- **Payload CMS 3.69.0 → 3.76.1 Upgrade:**
|
||||||
|
- Login-Bug (#15243) mit hasMany Relationships ist in 3.76.1 behoben
|
||||||
|
- Custom Admin Views funktionieren wieder (path-to-regexp Bug gefixt)
|
||||||
|
- **Next.js 15.5.9 → 16.2.0-canary.41 Upgrade**
|
||||||
|
- **YouTube Analytics Dashboard implementiert:**
|
||||||
|
- 4-Tab-Dashboard (Übersicht, Videos, Audience, Engagement)
|
||||||
|
- Kanal-Auswahl für Multi-Channel-Support
|
||||||
|
- Tab-Switch-Crash und Channel-Selector Bugs gefixt
|
||||||
|
- **Admin-Nav Sidebar Refactoring:**
|
||||||
|
- Sidebar-Navigation auf nativen Payload-Stil umgestellt
|
||||||
|
- Einheitliche Nav-Groups für alle Custom Views
|
||||||
|
- **tsx als explizite devDependency hinzugefügt** (Queue-Worker Abhängigkeit)
|
||||||
|
- **Dokumentation konsolidiert:**
|
||||||
|
- Alle Versionsnummern aktualisiert
|
||||||
|
- BUG_REPORT_CUSTOM_VIEWS.md entfernt (obsolet)
|
||||||
|
- .env.example auf PostgreSQL korrigiert
|
||||||
|
- README.md projektspezifisch ersetzt
|
||||||
|
|
||||||
### 17.01.2026
|
### 17.01.2026
|
||||||
- **Dokumentation bereinigt:**
|
- **Dokumentation bereinigt:**
|
||||||
- `docs/anleitungen/TODO.md` gelöscht (redundant mit PROJECT_STATUS.md)
|
- `docs/anleitungen/TODO.md` gelöscht (redundant mit PROJECT_STATUS.md)
|
||||||
|
|
|
||||||
|
|
@ -2,13 +2,11 @@
|
||||||
|
|
||||||
Dieser Leitfaden beschreibt, wie wir Payload-Updates evaluieren und wann wir Upgrades durchführen können.
|
Dieser Leitfaden beschreibt, wie wir Payload-Updates evaluieren und wann wir Upgrades durchführen können.
|
||||||
|
|
||||||
**Aktueller Stand (Januar 2026):**
|
**Aktueller Stand (Februar 2026):**
|
||||||
- Payload: **3.69.0** (stabil)
|
- Payload: **3.76.1** (stabil)
|
||||||
- Next.js: **15.5.9**
|
- Next.js: **16.2.0-canary.41**
|
||||||
- React: **19.2.3**
|
- React: **19.2.3**
|
||||||
|
|
||||||
> ⚠️ **Payload 3.72.0 Bug:** Login schlägt fehl bei Usern mit hasMany Relationships (tenants, youtubeChannels). GitHub Issue: #15243. Bei 3.69.0 bleiben bis Fix verfügbar.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## 1. Versions-Check
|
## 1. Versions-Check
|
||||||
|
|
@ -43,7 +41,7 @@ Der Befehl führt `pnpm outdated` für Payload-Core, Plugins und Next.js aus.
|
||||||
```bash
|
```bash
|
||||||
pnpm lint && pnpm typecheck && pnpm test && pnpm build
|
pnpm lint && pnpm typecheck && pnpm test && pnpm build
|
||||||
```
|
```
|
||||||
5. **Login-Test mit User mit Relationships** (kritisch nach 3.72.0 Bug)
|
5. **Login-Test mit User mit Relationships**
|
||||||
6. Bei Erfolg: PR in `develop`
|
6. Bei Erfolg: PR in `develop`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -52,6 +50,6 @@ Der Befehl führt `pnpm outdated` für Payload-Core, Plugins und Next.js aus.
|
||||||
|
|
||||||
| Version | Problem | Status |
|
| Version | Problem | Status |
|
||||||
|---------|---------|--------|
|
|---------|---------|--------|
|
||||||
| 3.72.0 | Login-Bug bei hasMany Relationships | Offen (GitHub #15243) |
|
| 3.72.0 | Login-Bug bei hasMany Relationships | Behoben in 3.76.1 |
|
||||||
|
|
||||||
*Letzte Aktualisierung: 17.01.2026*
|
*Letzte Aktualisierung: 13.02.2026*
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue