ppds-metadata · git:20261031.4d56055 · 2026-10-31 · sha256 5e700e8f812d977c
ppds-metadata git:20261031.4d56055A
Immutable. This exact content never changes and is served at /api/v1/blob/5e700e8f812d977c.
--- name: ppds-metadata description: Browse and author Dataverse schema with PPDS — list entities/tables, inspect attributes/columns and relationships, create or update tables, columns, relationships, alternate keys, and global choices/option sets, compare schemas across environments, and adjust views and forms. Use when the user wants to know what columns or relationships an entity has, create or modify a table or column, manage option sets or keys, diff schema between environments, or edit a view or form definition. Read ppds-core first for auth and safety rules. license: MIT metadata: ppds_cli_version_tested: "1.4.2" ppds_mcp_version_tested: "1.2.2" --- # PPDS Metadata — schema as a first-class surface Exact flags: [references/cli-metadata.md](references/cli-metadata.md), [references/cli-schema.md](references/cli-schema.md), [references/cli-views.md](references/cli-views.md), [references/cli-forms.md](references/cli-forms.md). **Surface routing**: browsing is CLI or MCP; **schema authoring is one of the few places MCP is unusually strong** — the released server ships typed authoring tools (`ppds_metadata_create_table`, `ppds_metadata_add_column`, `ppds_metadata_update_column`, `ppds_metadata_create_relationship`, `ppds_metadata_create_choice`, `ppds_metadata_create_key`, `ppds_metadata_add_option_value`, and update variants). In a terminal the CLI equivalents live under the `ppds metadata` subgroups: entity, attribute, relationship, key, optionset. ## Browsing schema ```bash ppds metadata entities -f json # all tables ppds metadata entity account # full metadata for one table ppds metadata attributes account # columns, types ppds metadata relationships account # 1:N, N:1, N:N ppds metadata keys account # alternate keys ppds metadata optionsets # global choices ppds metadata optionset <name> ``` MCP equivalents: `ppds_metadata_entities`, `ppds_metadata_entity`, `ppds_data_schema` (per-entity field list with option values). ## Authoring schema (mutations — safety model applies) The authoring verbs hang off the noun subgroups; see [references/cli-metadata.md](references/cli-metadata.md) for each subcommand's exact flags before generating a command — column/table creation has many typed options. ```bash ppds metadata entity create --help # check real flags first ppds metadata attribute create --help ppds metadata relationship create --help ppds metadata key create --help ``` After metadata changes, publish: `ppds metadata publish <names>` (alias for `ppds publish --type entity`). Note: the `table`, `column`, and `choice` subgroups are **deprecated aliases** of entity, attribute, and optionset — prefer the canonical names. ## Cross-environment schema comparison ```bash ppds schema compare --help # compare environments / data packages ``` Use this before solution import to spot drift between source and target. ## Views and forms (maker-portal gap fillers) Saved queries (views) and system forms are editable from the CLI — column layout, sort, filter, raw FetchXML on views; tabs/sections/fields on forms. These write **savedquery/systemform** records. Confirm the profile and environment first. A managed view can accept an unmanaged-layer edit when its managed properties allow it; `View.ManagedComponentNotEditable` reports a rejected write, not a universal ban on managed components. For the CLI 1.4.2 maintenance candidate's view projections, qualified related columns, draft verification, app selections, and Timeline fix, read [references/metadata-editing.md](references/metadata-editing.md). Inspect the draft before retrying a verification or partial-write error; a failed command does not prove that no write occurred. Publish only the intended table/app. ```bash ppds views list --entity account ppds views set-filter --entity account --view "Active Accounts" --filter-file ./filter.xml ppds forms list --entity account ``` ## Common mistakes (do not invent these) | Wrong | Correct | |-------|---------| | `ppds metadata list-entities` | `ppds metadata entities` | | `ppds metadata entity account --attributes` | `ppds metadata attributes account` | | `ppds metadata create-table` | `ppds metadata entity create ...` (check `--help` for flags) | | Assuming every managed view rejects edits | check managed properties; inspect any draft change before publishing | | Forgetting publish | metadata edits need `ppds metadata publish <names>` (or `ppds publish`) to take effect in apps | ## Skill boundaries | Need | Use instead | |------|-------------| | The data inside the tables | ppds-query (reads/DML), ppds-data (bulk) | | Ship schema changes to another environment | ppds-solutions-alm | | Web resource files referenced by forms | ppds-webresources | | Auth, environment selection, error codes | ppds-core |