Liferay DXP · Object importer · 3 min
Custom-element UI that imports Object exports (picklists, definitions, relationships, layouts) via Headless Admin APIs.
Liferay DXP · React · TypeScript · Headless APIs
Architecture
From the real repo — how the pieces fit.
Object Headless Importer
Custom element → Headless Object Admin REST
Package
exports/*.json
ListType · Folder · Definition · …
UI
React custom element
Check & add · Import all · Remove · Log
Target
Object Admin API
Signed-in token · DXP 7.4+
- 1–2
Picklists · Folders
Lists and homes first
- 3–4
User fields · Definitions
Shape the Objects
- 5–6
Relationships · Aggregations
Links before UI
- 7–8
Actions · Validations
Rules on the model
- 9–10
Layouts · Publish
Tabs need relationships
Layouts after relationships — relationship tabs need the links first. Check & add imports only what is missing.
A Liferay custom-element client extension that imports Objects, picklists, folders, relationships, layouts, and related metadata using the Headless Object Admin REST API.
What it is
A React UI you deploy as a client extension. Put Liferay Object export JSON under exports/, rebuild, then run import phases from the widget. Source: codepapu/liferay-object-headless-importer.
UI tabs
- Check & add — compare export JSON to the server; import only missing items.
- Import everything — run all phases in order.
- Remove — delete object folders and definitions (cleanup).
- Activity log — step-by-step results.
Import order
- Picklists
- Folders
- User custom fields
- Object definitions (without relationship fields)
- Relationships
- Aggregation fields
- Object actions
- Validation rules
- Layouts and views
- Publish