obsidian/wiki/payloadcms/_index.md
2026-05-15 16:35:48 +01:00

31 KiB

Payload CMS — Topic Index

Articles about Payload CMS: configuration, admin panel, collections, fields, auth, and deployment patterns.

Article Summary Source Updated
wiki/payloadcms/admin-panel-overview Auto-generated Next.js admin UI — structure, config options, auth, routes, i18n, timezones, toasts raw/admin__overview.md 2026-05-15
wiki/payloadcms/admin-preferences Per-user persistent preferences via usePreferences hook — built-ins, DB schema, REST/GraphQL, usage pattern raw/admin__preferences.md 2026-05-15
wiki/payloadcms/admin-preview Preview button config, draft preview flow with Next.js (3 steps), conditional preview, PREVIEW_SECRET guard raw/admin__preview.md 2026-05-15
wiki/payloadcms/jobs-queue Core concepts (Task/Workflow/Job/Queue), use cases, running/scheduling options (bin script / autoRun / API endpoint), common pitfalls (duplicate scheduling, autoRun on serverless), admin UI visibility raw/jobs-queue__overview.md 2026-05-15
wiki/payloadcms/jobs-queue-jobs Queuing from hooks/endpoints/server actions, job options (waitUntil/queue/log), full status schema, access control (jobs.access + overrideAccess), cancellation (cancelByID/cancel/JobCancelledError) raw/jobs-queue__jobs.md 2026-05-15
wiki/payloadcms/jobs-queue-queues 4 execution methods (bin script/autoRun/endpoint/Local API), processing order, queue strategies, Vercel Cron + CRON_SECRET, troubleshooting raw/jobs-queue__queues.md 2026-05-15
wiki/payloadcms/jobs-queue-quick-start Step-by-step: welcome email (manual queue + afterChange hook), daily scheduled report (schedule + autoRun), one-time waitUntil job, serverless warning raw/jobs-queue__quick-start-example.md 2026-05-15
wiki/payloadcms/jobs-queue-schedules Cron scheduling: schedule vs waitUntil, two-config requirement (schedule + runner), bin scripts vs autoRun vs API endpoint, lifecycle, concurrency hooks, serverless pattern, troubleshooting raw/jobs-queue__schedules.md 2026-05-15
wiki/payloadcms/jobs-queue-tasks Task config reference (slug/handler/inputSchema/outputSchema/retries/schedule), failure handling, idempotency, shouldRestore, nested tasks, handler file paths raw/jobs-queue__tasks.md 2026-05-15
wiki/payloadcms/jobs-queue-workflows Multi-task pipelines with per-task retry recovery: workflow config, stable task IDs, inline tasks, task output access, concurrency controls (exclusive/supersedes), best practices raw/jobs-queue__workflows.md 2026-05-15
wiki/payloadcms/admin Complete admin config reference: preview, draft-preview, preferences API, all React hooks raw/admin__*.md 2026-05-15
wiki/payloadcms/custom-components Root slots, dashboard widgets, edit/list view slots, document views, custom views, providers raw/custom-components__*.md 2026-05-15

| wiki/payloadcms/upload | Upload config, imageSizes, focal point, storage adapters (S3/R2/GCS/Azure/Vercel Blob), access control, gotchas | raw/upload__.md | 2026-05-15 | | wiki/payloadcms/features | Email adapters (Nodemailer/Resend), folder grouping (beta), soft-delete trash workflow, saved query presets | raw/email/folders/trash/query-presets | 2026-05-15 | | wiki/payloadcms/folders | Folder grouping for collections (beta): global config, per-collection opt-in, nesting, browse-by-folder view | raw/folders__overview.md | 2026-05-15 | | wiki/payloadcms/email | Full email reference: Nodemailer (SMTP/SendGrid/dev), Resend (serverless), sendEmail API, attachments (Buffer/path/Base64/URL), media collection attachments | raw/email__overview.md | 2026-05-15 | | wiki/payloadcms/local-api | Direct DB access via payload.* — CRUD, auth ops, globals, server functions, access control, outside Next.js | raw/local-api__.md | 2026-05-15 | | wiki/payloadcms/local-api-outside-nextjs | Standalone scripts with getPayload, payload run CLI, ESM requirement, tsx/swc/bun transpilation options | raw/local-api__outside-nextjs.md | 2026-05-15 | | wiki/payloadcms/rest-api | Auto-generated HTTP endpoints, all query params, auth routes, SDK, custom endpoints, method override | raw/rest-api__overview.md | 2026-05-15 | | wiki/payloadcms/queries | Where operators (15 total), and/or nesting, dot notation, depth, pagination, sort, select/populate — full reference with perf checklist | raw/queries__overview.md, raw/queries__.md | 2026-05-15 | | wiki/payloadcms/ecommerce | Plugin setup, Stripe payments, cart API, frontend hooks, multi-currency, piecemeal collections | raw/ecommerce__.md | 2026-05-15 | | wiki/payloadcms/ecommerce-advanced | All 8 create*Collection factory functions with full prop/access tables + TS types (CurrenciesConfig, Currency, CountryType, InventoryConfig) | raw/ecommerce__advanced.md | 2026-05-15 | | wiki/payloadcms/ecommerce-frontend | EcommerceProvider, useCart, usePayments (2-step checkout), useAddresses, useCurrency, useEcommerceConfig, useEcommerce; session management (onLogin, onLogout, mergeCart) | raw/ecommerce__frontend.md | 2026-05-15 | | wiki/payloadcms/ecommerce-payment-adapters | Payment adapter pattern, Stripe setup + webhooks (local CLI), custom adapter interface (initiatePayment/confirmOrder/group field), client-side adapter, security gotchas | raw/ecommerce__payments.md | 2026-05-15 | | wiki/payloadcms/production-deployment | Deploy anywhere Next.js runs: security checklist, DB options (Cosmos DB compat preset), ephemeral vs persistent file storage, cloud adapters, multi-stage Dockerfile, Docker Compose dev setup | raw/production__deployment.md | 2026-05-15 | | wiki/payloadcms/performance-overview | DB proximity, indexes, block references, cached instance, direct DB calls, hooks/validation perf, Turbopack, devBundleServerPackages | raw/performance__overview.md | 2026-05-15 | | wiki/payloadcms/typescript | Native TS support, generate:types CLI, interfaceName for reusable interfaces, TS language service plugin | raw/typescript__.md | 2026-05-15 | | wiki/payloadcms/migration-troubleshooting | v2→v3 and v3→v4 migration guides, codemod, dependency dedup fix, hierarchy feature, Vercel Content Link, examples | raw/migration-guide__.md, troubleshooting, hierarchy, integrations | 2026-05-15 | | wiki/payloadcms/react-hooks | All @payloadcms/ui hooks: useField, useForm, useAllFormFields, useDocumentInfo, useAuth, useConfig, usePayloadAPI, and more | raw/admin__react-hooks.md | 2026-05-15 | | wiki/payloadcms/authentication-api-keys | Non-expiring per-user API keys for third-party integrations — enable, HTTP header format, encryption, API-key-only mode | raw/authentication__api-keys.md | 2026-05-15 | | wiki/payloadcms/authentication-cookies | HTTP-only cookie auth, credentials: 'include', CSRF whitelist, cross-domain SameSite/Secure config, localhost gotcha | raw/authentication__cookies.md | 2026-05-15 | | wiki/payloadcms/authentication-custom-strategies | Replace/augment built-in auth: strategy shape, authenticate args, disableLocalStrategy, header-based token example | raw/authentication__custom-strategies.md | 2026-05-15 | | wiki/payloadcms/authentication-email | Email verification (auth.verify), forgot-password flow, generateEmailHTML/generateEmailSubject overrides, token usage | raw/authentication__email.md | 2026-05-15 | | wiki/payloadcms/plugins | Plugin concept (config-in/config-out, execution order, use cases, addLastModified example), community plugins, all 10 official plugins with install + config | raw/plugins__overview.md, raw/plugins__*.md | 2026-05-15 | | wiki/payloadcms/plugins-api | Build custom plugins: function signature, definePlugin, order, RegisteredPlugins augmentation, cross-plugin communication | raw/plugins__plugin-api.md, plugins__build-your-own.md | 2026-05-15 | | wiki/payloadcms/authentication-jwt | JWT via Authorization header, removeTokenFromResponses, external validation secret derivation (SHA-256 + slice 32) | raw/authentication__jwt.md | 2026-05-15 | | wiki/payloadcms/authentication-operations | All auth operations: access, me, login, logout, refresh, verify, unlock, forgot/reset password — REST, GraphQL, Local API | raw/authentication__operations.md | 2026-05-15 | | wiki/payloadcms/authentication-overview | Enable auth on Collections, all config options, built-in strategies (cookies/JWT/API keys), username login, auto-login, field access override | raw/authentication__overview.md | 2026-05-15 | | wiki/payloadcms/authentication-token-data | Embed field values into JWT/cookie via saveToJWT; access via req.user in hooks and access control without DB lookups | raw/authentication__token-data.md | 2026-05-15 | | wiki/payloadcms/collection-config | Full Collection config reference — schema options, admin options, orderable/fractional indexing, custom components, List View Select API, formatDocURL | raw/configuration__collections.md | 2026-05-15 | | wiki/payloadcms/environment-vars | .env setup for Next.js and standalone, NEXT_PUBLIC_ for client-side, dotenv outside Next.js | raw/configuration__environment-vars.md | 2026-05-15 | | wiki/payloadcms/globals-config | Singleton documents (header nav, banners, app strings) — config options, admin components, GraphQL, TypeScript | raw/configuration__globals.md | 2026-05-15 | | wiki/payloadcms/i18n | Admin UI translations for 30+ languages, custom/override strings, project-level label translations, backend req.t() | raw/configuration__i18n.md | 2026-05-15 | | wiki/payloadcms/localization | Field-level content localization: locales config, RTL, fallback, status localization (experimental), querying by locale across REST/GraphQL/Local API | raw/configuration__localization.md | 2026-05-15 | | wiki/payloadcms/configuration | Full buildConfig options reference, config location detection, logger (Pino), TypeScript config, CORS, bin scripts + cron scheduling | raw/configuration__overview.md | 2026-05-15 | | wiki/payloadcms/custom-views | Replace or add Admin Panel pages at root/collection/global scope — config, props, templates, security | raw/custom-components__custom-views.md | 2026-05-15 | | wiki/payloadcms/dashboard-widgets | Modular dashboard widgets (experimental): define, configure, RSC components, defaultLayout, user customization, plugin widgets | raw/custom-components__dashboard.md | 2026-05-15 | | wiki/payloadcms/document-views | All Document View keys (root/default/versions/api/livePreview/custom), tab config, custom tab components, Document Root gotcha | raw/custom-components__document-views.md | 2026-05-15 | | wiki/payloadcms/custom-components-edit-view | Edit View slots: SaveButton, PublishButton, SaveDraftButton, UnpublishButton, PreviewButton, Status, Upload, beforeDocumentControls, editMenuItems | raw/custom-components__edit-view.md | 2026-05-15 | | wiki/payloadcms/custom-components-list-view | List View slots (beforeList, afterList, beforeListTable, afterListTable, listMenuItems, Description), full Custom List View with ListViewServerProps/ClientProps, DefaultListView, useListQuery | raw/custom-components__list-view.md | 2026-05-15 | | wiki/payloadcms/custom-components-authoring | Component path syntax, Import Map internals (when regenerated, override), RSC vs Client, default props, i18n/locale hooks, styles, performance (useFormFields, import paths), troubleshooting useConfig errors | raw/custom-components__overview.md | 2026-05-15 | | wiki/payloadcms/custom-components-root | All admin.components root slots: actions, header, before/afterDashboard, before/afterLogin, before/afterNavLinks, settingsMenu, Nav, graphics.Icon/Logo, logout.Button, providers | raw/custom-components__root-components.md | 2026-05-15 | | wiki/payloadcms/database-indexes | Single-field index: true, compound indexes: [], unique fields gotchas (nested arrays, MongoDB sparse), localized field index limits | raw/database__indexes.md | 2026-05-15 | | wiki/payloadcms/database-migrations | Full migration CLI reference, Postgres push-vs-migrate workflow, transaction usage, CI/build wiring, runtime prodMigrations, env-specific gotchas | raw/database__migrations.md | 2026-05-15 | | wiki/payloadcms/database-mongodb | Mongoose adapter setup, all options, direct model access, DocumentDB/Cosmos DB/Firestore compatibility, collation | raw/database__mongodb.md | 2026-05-15 | | wiki/payloadcms/database-overview | DB adapter pattern, MongoDB vs Postgres/SQLite selection guide, storage model differences, all official adapters | raw/database__overview.md | 2026-05-15 | | wiki/payloadcms/database-postgres | postgresAdapter setup, all options, push vs migrate, Drizzle direct access, beforeSchemaInit/afterSchemaInit hooks, rawTables mutation | raw/database__postgres.md | 2026-05-15 | | wiki/payloadcms/database-sqlite | sqliteAdapter + Drizzle/libSQL, WAL mode, Cloudflare D1, schema hooks, dev push vs migrations, direct Drizzle access | raw/database__sqlite.md | 2026-05-15 | | wiki/payloadcms/database-transactions | All-or-nothing DB commits: default behavior, req-passing pattern, async hook gotcha, direct beginTransaction/commit/rollback API, disabling | raw/database__transactions.md | 2026-05-15 | | wiki/payloadcms/access-control | - Access Control determines what users can do with Documents and what they see in the Admin Panel | https://payloadcms.com/docs/access-control/overview | 2026-05-15 | | wiki/payloadcms/fields-basic | Scalar (basic) fields store a single value per document. They map directly to database columns and d | https://payloadcms.com/docs/fields/overview | 2026-05-15 | | wiki/payloadcms/fields-complex | Complex fields define structure, layout, or relations between documents. Some are data-bearing (Arra | https://payloadcms.com/docs/fields/array | 2026-05-15 | | wiki/payloadcms/getting-started | Payload is a code-first, open-source Next.js fullstack framework that acts as a CMS, enterprise tool | getting-started__what-is-payload.md | 2026-05-15 | | wiki/payloadcms/hooks | All hook types (Root/Collection/Global/Field), awaited vs fire-and-forget, APIError, performance (avoid read hooks), context caching, jobs offload | raw/hooks__overview.md | 2026-05-15 | | wiki/payloadcms/live-preview | iframe-based real-time preview via postMessage: url config (static/dynamic/conditional), breakpoints, server-side vs client-side modes, depth mismatch gotcha | raw/live-preview__overview.md | 2026-05-15 | | wiki/payloadcms/rich-text | - Rich text is powered by Lexical (Meta's framework), exposed via @payloadcms/richtext-lexical | https://payloadcms.com/docs/rich-text/overview | 2026-05-15 | | wiki/payloadcms/examples-overview | 9 official starter examples (auth, draft-preview, multi-tenant, tailwind-shadcn, whitelabel…) — npx create-payload-app --example <name> | raw/examples__overview.md | 2026-05-15 | | wiki/payloadcms/fields-array | Repeating row field — config options, minRows/maxRows, localized, unique gotcha, custom RowLabel, nested arrays | raw/fields__array.md | 2026-05-15 | | wiki/payloadcms/fields-blocks | Heterogeneous array layout builder — block config, blockReferences, filterOptions, copy/paste, Lexical rendering, image guidelines | raw/fields__blocks.md | 2026-05-15 | | wiki/payloadcms/fields-checkbox | Boolean field — config options, defaultValue, index, saveToJWT, hidden, virtual, custom components | raw/fields__checkbox.md | 2026-05-15 | | wiki/payloadcms/fields-code | Monaco editor UI (VS Code engine) storing a plain string — language syntax highlighting, editorOptions, custom components | raw/fields__code.md | 2026-05-15 | | wiki/payloadcms/fields-collapsible | Presentational-only layout field — groups nested fields under a collapsible header; no DB column; supports dynamic label via ({ data, path }) | raw/fields__collapsible.md | 2026-05-15 | | wiki/payloadcms/fields-date | Date picker field — ISO 8601 storage, pickerAppearance modes, timezone support with separate _tz column, custom UTC offsets, GraphQL enum names | raw/fields__date.md | 2026-05-15 | | wiki/payloadcms/fields-email | Email field with built-in format validation — unique index, saveToJWT, index, placeholder, autoComplete, custom components | raw/fields__email.md | 2026-05-15 | | wiki/payloadcms/fields-group | Nest fields under a shared property (named) or visually group without nesting (presentational); localized covers all nested fields at once | raw/fields__group.md | 2026-05-15 | | wiki/payloadcms/fields-join | Virtual bi-directional relationship field — zero-overhead reverse lookup, custom junction tables, polymorphic, query options across all APIs | raw/fields__join.md | 2026-05-15 | | wiki/payloadcms/fields-json | Stores native JSON in DB (not string) — jsonSchema validation + Monaco typeahead, local/remote schemas, vs Code Field | raw/fields__json.md | 2026-05-15 | | wiki/payloadcms/fields-number | Numeric field — min/max validation, hasMany array mode, step admin control, unique/index, virtual, custom components | raw/fields__number.md | 2026-05-15 | | wiki/payloadcms/fields-overview | Cross-cutting field config: virtual fields (boolean + path), validation (context, perf, reuse), defaultValue, admin options (condition, disabled, components), custom components (Field/Cell/Filter/Label/Error/Diff), reserved names | raw/fields__overview.md | 2026-05-15 | | wiki/payloadcms/fields-point | Geospatial coordinate field — [lng, lat] storage, 2dsphere index, near/within/intersects query operators; MongoDB + PostgreSQL only (no SQLite) | raw/fields__point.md | 2026-05-15 | | wiki/payloadcms/fields-radio | Single-choice radio group — options constraint (no hyphens, GraphQL enum), horizontal/vertical layout, enumName for Postgres, custom components | raw/fields__radio.md | 2026-05-15 | | wiki/payloadcms/fields-relationship | Link documents across collections — has-one/has-many, polymorphic ({ relationTo, value }), filterOptions, bi-directional via Join, depth auto-populate | raw/fields__relationship.md | 2026-05-15 | | wiki/payloadcms/fields-rich-text | WYSIWYG field stored as JSON, Lexical-powered, editor option for full customization, virtual/hidden/localized support | raw/fields__rich-text.md | 2026-05-15 | | wiki/payloadcms/fields-row | Presentational-only layout field — arranges nested fields horizontally; no DB column; width via admin.width on children | raw/fields__row.md | 2026-05-15 | | wiki/payloadcms/fields-select | Dropdown / multi-select enum field — options, hasMany, filterOptions (role-based/dependent), Postgres enumName/dbName, isSortable | raw/fields__select.md | 2026-05-15 | | wiki/payloadcms/fields-tabs | Tabbed layout field — unnamed tabs (presentational), named tabs (nested DB object), conditional tabs with auto-switch, interfaceName for TS types | raw/fields__tabs.md | 2026-05-15 | | wiki/payloadcms/fields-text | Plain string field — hasMany array mode, built-in Slug Field (slugField()), unique index, saveToJWT, virtual, localized, RTL admin | raw/fields__text.md | 2026-05-15 | | wiki/payloadcms/fields-textarea | Multiline string field — identical to Text but with larger input; rows (default 2), RTL, no hasMany, same validation/virtual/JWT options | raw/fields__textarea.md | 2026-05-15 | | wiki/payloadcms/fields-ui | Presentational-only field — inject arbitrary React components into Admin Panel Edit/List views; no data stored; use for action buttons, context text, custom controls | raw/fields__ui.md | 2026-05-15 | | wiki/payloadcms/fields-upload | Reference upload-enabled Collection docs as thumbnail — hasMany, polymorphic multi-collection, filterOptions, bi-directional via Join | raw/fields__upload.md | 2026-05-15 | | wiki/payloadcms/graphql-overview | Auto-generated GraphQL endpoint: queries/mutations for Collections, Globals, Preferences; playground, complexity limits, custom validation rules | raw/graphql__overview.md | 2026-05-15 | | wiki/payloadcms/hooks-collections | All 18 collection hook types (write/read/delete/auth lifecycle), data vs originalDoc gotcha, auth hooks, TypeScript generics | raw/hooks__collections.md | 2026-05-15 | | wiki/payloadcms/concepts-overview | Config, Collections, Globals, Fields, Hooks, Auth, Access Control, Admin Panel; Local/REST/GraphQL APIs; package structure | raw/getting-started__concepts.md | 2026-05-15 | | wiki/payloadcms/hooks-context | Share data across hooks without duplicate fetches; prevent infinite loop in afterChange with flag pattern; TypeScript module augmentation for RequestContext | raw/hooks__context.md | 2026-05-15 | | wiki/payloadcms/hooks-fields | Per-field lifecycle hooks: beforeValidate, beforeChange, afterChange, afterRead, beforeDuplicate — args reference, patterns, TypeScript generics | raw/hooks__fields.md | 2026-05-15 | | wiki/payloadcms/hooks-globals | All 6 Global hook types: beforeOperation/Validate/Change/Read, afterChange/Read — args tables, data vs originalDoc gotcha, TS generics | raw/hooks__globals.md | 2026-05-15 | | wiki/payloadcms/installation | Requirements (Node 24+, Next.js 16.2.6+), create-payload-app quickstart, manual install steps, withPayload ESM config, tsconfig path alias | raw/getting-started__installation.md | 2026-05-15 | | wiki/payloadcms/vercel-content-link | Enterprise visual editing: stega Content Source Maps, @payloadcms/plugin-csm setup, encodeSourceMaps flag, blocks/_encodedSourceMap, date field split | raw/integrations__vercel-content-link.md | 2026-05-15 | | wiki/payloadcms/graphql-extending | Add custom GraphQL ops via graphQL.queries/graphQL.mutations in buildConfig; resolver signature, depth: 0 gotcha, buildPaginatedListType, collection graphQL types | raw/graphql__extending.md | 2026-05-15 | | wiki/payloadcms/graphql-schema | payload-graphql generate:schema CLI, PAYLOAD_CONFIG_PATH for non-root configs, interfaceName for reusable top-level GraphQL types | raw/graphql__graphql-schema.md | 2026-05-15 | | wiki/payloadcms/hierarchy | Auto-generated parent-child trees: virtual slug/title paths, opt-in path computation, polymorphic hierarchies, no cascade updates | raw/hierarchy__overview.md | 2026-05-15 | | wiki/payloadcms/live-preview-client | useLivePreview hook for React/Vue, base package API (subscribe/unsubscribe/ready/isLivePreviewEvent), full hook implementation, depth mismatch gotcha, CORS/CSRF/CSP troubleshooting | raw/live-preview__client.md | 2026-05-15 | | wiki/payloadcms/live-preview-frontend | Decision guide: server-side vs client-side, package summary, when to use each approach | raw/live-preview__frontend.md | 2026-05-15 | | wiki/payloadcms/live-preview-server | RefreshRouteOnSave for Next.js App Router (RSC): postMessage→router.refresh() flow, base package API, Autosave tip, CSP gotcha | raw/live-preview__server.md | 2026-05-15 | | wiki/payloadcms/migration-guide-overview | Semantic versioning policy, upgrade path table (2→3, 3→4), links to full migration guides | raw/migration-guide__overview.md | 2026-05-15 | | wiki/payloadcms/local-api-access-control | Local API skips access control by default; enforce with overrideAccess: false + user — when/why, mode table, security gotchas | raw/local-api__access-control.md | 2026-05-15 | | wiki/payloadcms/local-api-server-functions | 'use server' bridge between client components and Local API: create/update/upload/auth patterns, built-in login/logout/refresh helpers from @payloadcms/next/auth, error handling, access control | raw/local-api__server-functions.md | 2026-05-15 | | wiki/payloadcms/migration-guide-v2-to-v3 | Full breaking-change reference: admin replatform to Next.js App Router, bundler removal, secret move, custom component paths, endpoint handlers (Web Request + manual data parsing), cloud storage standalone packages, plugin named exports, reserved field names | raw/migration-guide__v3.md | 2026-05-15 | | wiki/payloadcms/migration-guide-v3-to-v4 | All v4 breaking changes: List View Select API default, Globals components.edit rename, forceSelect→select function, hideAPIURL removal, aliased re-export cleanup, useDocumentTitle split, Import/Export hooks | raw/migration-guide__v4.md | 2026-05-15 | | wiki/payloadcms/plugin-form-builder | Dynamic admin-built forms, all field types, upload/payment/email, access gotchas, frontend multipart submission, presigned URL pattern | raw/plugins__form-builder.md | 2026-05-15 | | wiki/payloadcms/plugin-import-export | CSV/JSON import-export via admin UI or API: jobs queue setup, import modes (create/update/upsert), batch hooks, column mapping, access control warning | raw/plugins__import-export.md | 2026-05-15 | | wiki/payloadcms/plugin-mcp | Expose Payload as an MCP server — API key access control (two-step), custom tools/prompts/resources, token efficiency (select + overrideResponse), Claude Code / Cursor / VS Code client config | raw/plugins__mcp.md | 2026-05-15 | | wiki/payloadcms/plugin-multi-tenant | Scaffold multi-tenancy: tenant field on collections, Admin selector, filtered list views + relationship pickers, isGlobal (1 doc/tenant), cascade delete, super-admin bypass, useTenantSelection hook | raw/plugins__multi-tenant.md | 2026-05-15 | | wiki/payloadcms/plugin-nested-docs | Parent/child hierarchy for collections: auto parent + breadcrumbs fields, recursive cascade updates, generateURL/generateLabel options, custom field overrides, localization support | raw/plugins__nested-docs.md | 2026-05-15 | | wiki/payloadcms/plugin-redirects | Managed redirects collection (from/to + doc reference), redirect types (301/302), overrides pattern, frontend integration (Next.js middleware/redirects()) | raw/plugins__redirects.md | 2026-05-15 | | wiki/payloadcms/plugin-search | First-party search index: static search collection, hook-free queries, priority sorting, beforeSync/skipSync, on-demand reindex | raw/plugins__search.md | 2026-05-15 | | wiki/payloadcms/plugin-sentry | Sentry error tracking + performance monitoring: Next.js setup prerequisite, Postgres pg driver injection for DB traces, captureErrors, context callback | raw/plugins__sentry.md | 2026-05-15 | | wiki/payloadcms/plugin-seo | meta field group (title/description/image) on collections/globals, auto-generate functions, real-time search preview, custom fields (og:title, json-ld), tabbedUI gotcha, direct field imports | raw/plugins__seo.md | 2026-05-15 | | wiki/payloadcms/plugin-stripe | Two-way Stripe↔Payload sync, webhook handlers, REST proxy (dev-only), sync auto-hooks, serverless waitUntil fix, skipSync loop prevention | raw/plugins__stripe.md | 2026-05-15 | | wiki/payloadcms/building-without-db-connection | Docker build fails when Next.js SSG calls Local API — two-phase compile/generate build modes, force-dynamic escape hatch, NEXT_PUBLIC_ gotcha | raw/production__building-without-a-db-connection.md | 2026-05-15 | | wiki/payloadcms/production-preventing-abuse | Login rate limiting (maxLoginAttempts/lockTime), maxDepth, CSRF, CORS, GraphQL complexity limits, malicious file upload mitigation | raw/production__preventing-abuse.md | 2026-05-15 | | wiki/payloadcms/queries-depth | depth=0 (IDs only) vs depth=N (full objects), defaultDepth config, field-level maxDepth cap, performance notes, GraphQL exception | raw/queries__depth.md | 2026-05-15 | | wiki/payloadcms/queries-pagination | Default pagination (limit/page/pagination options), response shape (docs + metadata), limit:1 perf tip, disabling pagination for bulk ops | raw/queries__pagination.md | 2026-05-15 | | wiki/payloadcms/queries-select | Include/exclude field selection at DB level, entity-level select function for hooks/access, defaultPopulate for relationship optimization, populate override | raw/queries__select.md | 2026-05-15 | | wiki/payloadcms/queries-sort | Sort by any stored top-level field: -field descending, array (Local API) or comma-separated string (REST/GraphQL), index tip | raw/queries__sort.md | 2026-05-15 | | wiki/payloadcms/query-presets | Save & share List View filters/columns/sort as DB records; collection-level + document-level access control; custom RBAC constraints; filterConstraints | raw/query-presets__overview.md | 2026-05-15 |