codepapu

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

View on GitHub

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. 1–2

    Picklists · Folders

    Lists and homes first

  2. 3–4

    User fields · Definitions

    Shape the Objects

  3. 5–6

    Relationships · Aggregations

    Links before UI

  4. 7–8

    Actions · Validations

    Rules on the model

  5. 9–10

    Layouts · Publish

    Tabs need relationships

Layouts after relationships — relationship tabs need the links first. Check & add imports only what is missing.

Export JSON is baked into the CE. The signed-in Object Admin runs ten phases in a fixed order.

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

  1. Picklists
  2. Folders
  3. User custom fields
  4. Object definitions (without relationship fields)
  5. Relationships
  6. Aggregation fields
  7. Object actions
  8. Validation rules
  9. Layouts and views
  10. Publish