cx-composer
❯ cx-composer batch # right-click batch/ folder → Add Batch File
CX Composer batch workflow: right-click the batch/ folder → Add Batch File wizard → pick from 309 registered Liferay entity types → skeleton JSON opens with schema-aware IntelliSense on className and items[] fields → missing-required-field diagnostic surfaces in the Problems panel.
{ "configuration": { "className": "com.liferay.headless.admin.user.dto.v1_0.UserAccount" ✨ 309 classNames auto-complete inside batch/*.batch-engine-data.json ✨ items[] field completions from Liferay's OpenAPI DTOs alternateName string · required · The user's login name emailAddress string · required givenName string honorificPrefix string ✗ Missing required field "countryId" on Region — parent-FK to Country. ✓ Right-click a batch CX folder → Add Batch File → pick from 309 entities.
05 · Batch data

Batch imports that don't fail.

309 Liferay batch-engine entity types, every one with schema-aware IntelliSense in batch/*.batch-engine-data.json. Schemas extracted from Liferay's own OpenAPI YAMLs, enriched with 169 hand-verified runtime patches for parent-FK relationships (e.g., Region.countryId, TaxonomyCategory.parentVocabulary) that OpenAPI omits but the batch importer requires. Auto-completes on className show every registered entity. Field completions inside items[] are driven by the file's own className. Hover surfaces each field's type + Liferay's own description. The validator catches missing required fields before you deploy — no more "No Country exists with primary key 0" errors.

at a glance
# ────── step by step ──────

How Batch data works, in 7 steps.

    01

    Right-click a batch CX folder

    Explorer context menu on any folder with a type: batch manifest → CX Composer: Add Batch File… appears.

    02

    Pick from 309 entities

    QuickPick grouped by category (Objects, Users, Sites, Roles, Content, Taxonomies, Workflow, Commerce, and 300 more). Filterable.

    03

    Skeleton generated

    A batch/<entity>.batch-engine-data.json with the correct configuration.className, {configuration, items} envelope, and required fields prepopulated.

    04

    className autocomplete

    Inside any .batch-engine-data.json, configuration.className completes across all 309 entities with descriptions.

    05

    Field completions inside items[]

    Driven by the file's own className — hover shows type + Liferay's description from the OpenAPI schema.

    06

    Runtime FK patches applied

    169 hand-verified patches for parent-FK requirements OpenAPI omits (e.g., Region.countryId, TaxonomyCategory.parentVocabulary).

    07

    Diagnostics before deploy

    Missing required fields → red squiggle. No more "No Country exists with primary key 0" after blade gw buildClientExtensionZip.