# Platform CSV Import Template and Instructions
For information about CSV file preparation and import, please refer to Data Import.
# LCDP.ai Muyan Low-Code Platform Data Import Template Version: 0.29
TIP
- Lines starting with
;
will be treated as comments - Use
$ROOT_ORG$
to reference the root organization
# Organization.csv
Field Name | Description |
---|---|
name(*) | Organization name (used for lookup) |
parent.name | Parent organization name (references Organization.name ) |
customiseEnable | Whether customization is allowed |
Download Organization.csv template
# Role.csv
Field Name | Description |
---|---|
authority(*) | Authority name (used for lookup) |
Note: All records should start with ROLE_
.
# Group.csv
Field Name | Description |
---|---|
name(*) | Group name (used for lookup) |
# GroupRole.csv
Field Name | Description |
---|---|
group.name(*) | Group name (used for lookup, references Group.name ) |
role.authority(*) | Role authority (used for lookup, references Role.authority ) |
Download GroupRole.csv template
# User.csv
Field Name | Description |
---|---|
username(*) | Username (used for lookup) |
password | Password |
organization.name | Organization name (references Organization.name ) |
canAccessSubsidiaryData | Whether can access subsidiary data |
name | Name |
Note: Username should be a valid email address.
# UserGroup.csv
Field Name | Description |
---|---|
user.username(*) | Username (used for lookup, references User.username ) |
group.name(*) | Group name (used for lookup, references Group.name ) |
Download UserGroup.csv template
# RequestMap.csv
Field Name | Description |
---|---|
httpMethod(*) | HTTP method (used for lookup) |
configAttribute | Configuration attributes (role list, comma-separated) |
url(*) | URL (used for lookup) |
Download RequestMap.csv template
Note: This is the API access control configuration. configAttribute
is a comma-separated list of roles.
# DomainClass.csv
Field Name | Description |
---|---|
shortName(*) | Domain model short name (used for lookup) |
extInfo | Extended information |
Download DomainClass.csv template
# DomainClassField.csv
Field Name | Description |
---|---|
domainClass.shortName(*) | Model name (used for lookup, references DomainClass.shortName ) |
name(*) | Field name (used for lookup) |
dataType | Data type |
referenceDomain.shortName | Referenced domain model short name (references DomainClass.shortName ) |
nullable | Whether it can be null |
editable | Whether it can be edited |
defaultValue | Default value |
options | Options |
extInfo | Extended information |
Download DomainClassField.csv template
# DynamicLogicEngine.csv
Field Name | Description |
---|---|
name(*) | Dynamic logic engine name (used for lookup) |
description | Description |
handlerClassName | Handler class name |
Download DynamicLogicEngine.csv template
Note: Unless you know exactly what you're doing, please do not modify this file.
# DynamicLogicType.csv
Field Name | Description |
---|---|
name(*) | Dynamic logic type name (used for lookup) |
label | Label |
description | Description |
codeTemplate | Code template |
Download DynamicLogicType.csv template
Note: Unless you know exactly what you're doing, please do not modify this file.
# DynamicPrompt.csv
Field Name | Description |
---|---|
name(*) | Dynamic prompt name (used for lookup) |
description | Description |
content | Content |
Download DynamicPrompt.csv template
# DynamicLogic.csv
Field Name | Description |
---|---|
dynamicLogicEngine.name | Dynamic logic engine name (references DynamicLogicEngine.name ) |
name(*) | Dynamic logic name (used for lookup) |
logicType.name | Logic type name (references DynamicLogicType.name ) |
code(F) | Code (file) |
description | Description |
isSystem | Whether it's a system logic |
prompt.name | Prompt name (references DynamicPrompt.name ) |
Download DynamicLogic.csv template
Note: The file path in the code(F) field starts from the data folder and usually should begin with groovy.
# DynamicMenu.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
parent.name | Parent menu name (references DynamicMenu.name ) |
label | Label |
icon | Icon |
link | Link |
type | Type (see Appendix C) |
displaySequence | Display sequence |
enableRoles | Enable roles |
name(*) | Dynamic menu name (used for lookup) |
Download DynamicMenu.csv template
# DynamicForm.csv
Field Name | Description |
---|---|
organization.name(*) | Organization name (used for lookup, references Organization.name ) |
name(*) | Dynamic form name (used for lookup) |
label | Label |
description | Description |
objectType.shortName(*) | Object type short name (used for lookup, references DomainClass.shortName ) |
type(*) | Type (used for lookup, see Appendix D) |
menu.name | Menu name (references DynamicMenu.name ) |
enableRoles | Enable roles |
extInfo | Extended information |
Download DynamicForm.csv template
# DynamicFormGroup.csv
Field Name | Description |
---|---|
displaySequence | Display sequence |
name(*) | Dynamic form group name (used for lookup) |
label | Label |
icon | Icon |
enableRoles | Enable roles |
enableLogic.name | Enable logic name (references DynamicLogic.name ) |
form.name(*) | Form name (used for lookup, references DynamicForm.name ) |
helpText | Help text |
Download DynamicFormGroup.csv template
# DynamicFormField.csv
Field Name | Description |
---|---|
form.name(*) | Form name (used for lookup, references DynamicForm.name ) |
fieldName(*) | Field name (used for lookup) |
displaySequence | Display sequence |
label | Label |
helpText | Help text |
fieldType | Field type (see Appendix E) |
nullable | Whether it can be null |
group.name | Group name (references DynamicFormGroup.name ) |
extInfo | Extended information |
displayType | Display type (see Appendix F) |
Download DynamicFormField.csv template
# DynamicFormWizardStep.csv
Field Name | Description |
---|---|
name(*) | Wizard step name (used for lookup) |
label | Label |
displaySequence | Display sequence |
description | Description |
icon | Icon |
form.name(*) | Form name (used for lookup, references DynamicForm.name , type is Wizard ) |
coreLogic.name(*) | Core logic name (used for lookup, references DynamicLogic.name ) |
Download DynamicFormWizardStep.csv template
# DynamicDashboardWidget.csv
Field Name | Description |
---|---|
name(*) | Dashboard widget name (used for lookup) |
label | Label |
displaySequence | Display sequence |
description | Description |
form.name | Form name (references DynamicForm.name , type is Dashboard ) |
enableLogic.name | Enable logic name (references DynamicLogic.name ) |
coreLogic.name | Core logic name (references DynamicLogic.name ) |
type | Type (see Appendix G) |
options | Options |
Download DynamicDashboardWidget.csv template
# DynamicAction.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
name(*) | Dynamic action name (used for lookup) |
mode | Mode (see Appendix A) |
confirmType | Confirm type (see Appendix B) |
confirmMessage | Confirm message |
enableRoles | Enable roles |
coreLogic.name | Core logic name (references DynamicLogic.name ) |
enableLogic.name | Enable logic name (references DynamicLogic.name ) |
label | Label |
icon | Icon |
helpText | Help text |
enableAsync | Whether to enable asynchronous |
isSystem | Whether it's a system action |
extInfo | Extended information |
Download DynamicAction.csv template
# DynamicActionGroup.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
name(*) | Dynamic action group name (used for lookup) |
label | Label |
icon | Icon |
helpText | Help text |
displaySequence | Display sequence |
Download DynamicActionGroup.csv template
# DynamicActionDomainClass.csv
Field Name | Description |
---|---|
dynamicAction.name(*) | Dynamic action name (used for lookup, references DynamicAction.name ) |
domainClass.shortName(*) | Domain model short name (used for lookup, references DomainClass.shortName ) |
displaySequence | Display sequence |
group.name | Group name |
Download DynamicActionDomainClass.csv template
# DynamicFilter.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
name(*) | Dynamic filter name (used for lookup) |
label | Label |
displaySequence | Display sequence |
conditions | Conditions |
objectType.shortName | Object type short name (references DomainClass.shortName ) |
isDefault | Whether it's default |
enableRoles | Enable roles |
description | Description |
icon | Icon |
isSystem | Whether it's a system filter |
Download DynamicFilter.csv template
# DynamicFieldDefinition.csv
Field Name | Description |
---|---|
name(*) | Dynamic field definition name (used for lookup) |
fieldType | Field type (see Appendix H) |
optionsJson | Options (JSON format) |
label | Label |
referenceClazz.fullName | Full name of the referenced class |
Download DynamicFieldDefinition.csv template
# DynamicFieldInstance.csv
Field Name | Description |
---|---|
type | Type (see Appendix I) |
label | Label |
displayComponentType | Display component type (see Appendix F) |
dynamicField.name(*) | Dynamic field name (used for lookup, references DynamicFieldDefinition.name ) |
objectType.shortName(*) | Object type short name (used for lookup, references DomainClass.shortName ) |
action.name(*) | Action name (used for lookup, references DynamicAction.name ) |
wizardStep.name(*) | Wizard step name (used for lookup, references DynamicFormWizardStep.name ) |
editable | Whether it can be edited |
display | Whether it's displayed |
required | Whether it's required |
displaySequence | Display sequence |
helpText | Help text |
extInfo | Extended information |
Download DynamicFieldInstance.csv template
Note: objectType.shortName(), action.name(), and wizardStep.name(*) are mutually exclusive, depending on whether the field instance is for a dynamic domain field, action, or wizard step.
# DynamicConfig.csv / DynamicConfig_withFile.csv
Field Name | Description |
---|---|
name | Name |
key(*) | Key (used for lookup) |
value / value(F) | Value / Value (file) |
parent.key | Parent key (references DynamicConfig.key ) |
description | Description |
attachment | Attachment |
modifyRemark | Modification remark |
displaySequence | Display sequence |
allowPublicAccess | Whether public access is allowed |
icon | Icon |
isSystem | Whether it's a system configuration |
Download DynamicConfig.csv template Download DynamicConfig_withFile.csv template
Note:
- These two files represent the same data structure. The only difference is that the value(F) field in DynamicConfig_withFile.csv points to a file path from which the system will read the value.
- For DynamicConfig_withFile.csv, the file path in the value(F) column should be a subfolder of /data.
# DynamicPlugin.csv
Field Name | Description |
---|---|
name(*) | Plugin name (used for lookup) |
pluginVersion(*) | Plugin version (used for lookup) |
description | Description |
storageFile | Storage file |
enabled | Whether it's enabled |
dependsOnPlugins | Plugins it depends on |
isSystem | Whether it's a system plugin |
OVERWRITE_FLAG | Overwrite flag |
Download DynamicPlugin.csv template
# DynamicTheme.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
name(*) | Theme name (used for lookup) |
description | Description |
css(F) | CSS file |
active | Whether it's active |
title | Title |
squareLogo | Square logo |
favicon | Favicon |
backgroundImage | Background image |
logo | Logo |
Download DynamicTheme.csv template
Note: File paths in the css(F), squareLogo, favicon, backgroundImage, and logo columns start from the data folder.
# DynamicFieldHook.csv
Field Name | Description |
---|---|
organization.name | Organization name (references Organization.name ) |
objectType.shortName | Object type short name (references DomainClass.shortName ) |
coreLogic.name | Core logic name (references DynamicLogic.name ) |
hookType | Hook type (see Appendix J) |
triggerField | Trigger field |
targetField | Target field |
triggerDynamicField.label | Trigger dynamic field label |
targetDynamicField.label | Target dynamic field label |
logicSource | Logic source (see Appendix K) |
name(*) | Dynamic field hook name (used for lookup) |
active | Whether it's active |
isSystem | Whether it's a system hook |
description | Description |
Download DynamicFieldHook.csv template
Note: The table referenced by triggerDynamicField.label and targetDynamicField.label fields depends on the logicSource, which could be STATIC_FIELD or DYNAMIC_FIELD.
# DynamicIntegration.csv
Field Name | Description |
---|---|
organization.name(*) | Organization name (used for lookup, references Organization.name ) |
name(*) | Dynamic integration name (used for lookup) |
type | Type (see Appendix L) |
httpMethod | HTTP method (see Appendix M) |
url | URL |
active | Whether it's active |
description | Description |
enableLogic.name | Enable logic name (references DynamicLogic.name ) |
coreLogic.name | Core logic name (references DynamicLogic.name ) |
effectiveDate | Effective date |
expiryDate | Expiry date |
Download DynamicIntegration.csv template
# DynamicIntegrationDomainClass.csv
Field Name | Description |
---|---|
integration.name(*) | Integration name (used for lookup, references DynamicIntegration.name ) |
domainClass.shortName(*) | Domain model short name (used for lookup, references DomainClass.shortName ) |
listenEvent(*) | Listen event (used for lookup, see Appendix N) |
Download DynamicIntegrationDomainClass.csv template
# DynamicObjectHook.csv
Field Name | Description |
---|---|
name(*) | Dynamic object hook name (used for lookup) |
organization.name | Organization name (references Organization.name ) |
objectType.shortName | Object type short name (references DomainClass.shortName ) |
hookType | Hook type (see Appendix O) |
coreLogic.name | Core logic name (references DynamicLogic.name ) |
active | Whether it's active |
isSystem | Whether it's a system hook |
description | Description |
Download DynamicObjectHook.csv template
# Appendix: Enumeration Value Definitions
# Appendix A: DynamicAction.mode
OBJECT_SINGLE
: Acts on a single objectOBJECT_SINGLE_MULTIPLE
: Acts on single and multiple objectsOBJECT_MULTIPLE
: Acts on multiple objectsCLASS_LEVEL
: Does not act on specific objects, appears on the object list page
# Appendix B: DynamicAction.confirmType
NO_POPUP_NO_CONFIRM
: No execution popup and no confirmationNO_CONFIRM
: No message or confirmationDISPLAY_CONFIRM
: Display confirmation
# Appendix C: DynamicMenu.type
MENU_GROUP
: Menu groupEXTERNAL_LINK
: External linkINTERNAL_LINK
: Internal linkFORM
: Form
# Appendix D: DynamicForm.type
LIST
: Table list (GET
)CREATE
: Create (POST
)UPDATE
: Update (GET
,PUT
)FINDER
: Finder (GET
)WIZARD
: Wizard (GET
)DASHBOARD
: DashboardMASTER_DETAIL_LIST
: Master-detail list (GET
)INLINE_FULL_TEXT_SEARCH_LIST
: Inline full-text search list (GET
)FULL_TEXT_SEARCH_LIST
: Full-text search list (GET
)INLINE_DISPLAY
: Inline display (GET
)RELATED_DETAIL_LIST
: Related detail list (GET
)INLINE_EDITABLE_DISPLAY
: Inline editable display (GET
,PUT
)CARD_LIST
: Card list (GET
)GANTT
: Gantt chart (GET
)GANTT_TOOLTIP
: Gantt chart tooltip (GET
)SUB_TABLE
: Sub-table list (GET
,POST
,PUT
)
# Appendix E: DynamicFormField.fieldType
STATIC_FIELD
: Static fieldDYNAMIC_FIELD
: Dynamic fieldTRANSIENT_FIELD
: Transient field
# Appendix F: DisplayComponentType
ABSTRACT_DATE
: Abstract date (date
)ABSTRACT_DATE_TIME
: Abstract date time (datetime
)RELATIVE_DATE
: Relative date (date
) Not implementedRELATIVE_DATE_TIME
: Relative date time (datetime
) Not implementedSTRING_INPUT
: Text input (string
)STRING_SINGLE_SELECTION
: Text single selection (valueSelect
)STRING_MULTIPLE_SELECTION
: Text multiple selection (valueSelect
)STRING_SINGLE_SELECTION_OR_INPUT
: Text single selection or input (valueSelect
) Not implementedSTRING_MULTIPLE_SELECTION_OR_INPUT
: Text multiple selection or input (valueSelect
) Not implementedTEXT_AREA
: Long text (text
)INTEGER_INPUT
: Integer input (int
)INTEGER_SINGLE_SELECTION
: Integer single selection (valueSelect
)INTEGER_MULTIPLE_SELECTION
: Integer multiple selection (valueSelect
)INTEGER_SINGLE_SELECTION_OR_INPUT
: Integer single selection or input (valueSelect
) Not implementedINTEGER_MULTIPLE_SELECTION_OR_INPUT
: Integer multiple selection or input (valueSelect
) Not implementedFLOAT_INPUT
: Decimal input (decimal
)FLOAT_SINGLE_SELECTION
: Decimal single selection (valueSelect
)FLOAT_MULTIPLE_SELECTION
: Decimal multiple selection (valueSelect
)FLOAT_SINGLE_SELECTION_OR_INPUT
: Decimal single selection or input (valueSelect
) Not implementedFLOAT_MULTIPLE_SELECTION_OR_INPUT
: Decimal multiple selection or input (valueSelect
) Not implementedPERCENTAGE
: Percentage (decimal
)CURRENCY
: Currency (decimal
)PASSWORD
: Password (currency
)BOOLEAN
: Boolean switch (boolean
)SINGLE_FILE_UPLOAD
: Single file upload (file
)MULTIPLE_FILE_UPLOAD
: Multiple file upload (file
)SINGLE_IMAGE_UPLOAD
: Single image upload (image
)MULTIPLE_IMAGE_UPLOAD
: Multiple image upload (image
) Not implementedOBJECT_SINGLE_SELECTION
: Object single selection (object
)OBJECT_MULTIPLE_SELECTION
: Object multiple selection (array
)SUB_TABLE
: Sub-table (subTable
)FLOAT_RADIO
: Float radio button (decimal
)STRING_RADIO
: String radio button (string
)INTEGER_RADIO
: Integer radio button (int
)FLOAT_CHECKBOX
: Float checkbox (decimal
)STRING_CHECKBOX
: String checkbox (string
)INTEGER_CHECKBOX
: Integer checkbox (int
)TREE_SELECT
: Tree select (treeSelect
)CODE
: Code (code
)ICON
: Icon (string
)ZONED_DATETIME
: Zoned date time (zonedDatetime
)
# Appendix G: DynamicDashboardWidget.type
MARKDOWN
:Markdown
contentHTML
:HTML
contentPIE_CHART
: Pie chartLINE_CHART
: Line chartCOLUMN_CHART
: Column chartGAUGE_CHART
: Gauge chartLIQUID_CHART
: Liquid chartDATA_TABLE
: Data tableAREA_CHART
: Area chartBAR_CHART
: Bar chartBULLET_CHART
: Bullet chartPROGRESS_CHART
: Progress chartRING_PROGRESS_CHART
: Ring progress chartTINY_AREA_CHART
: Tiny area chartTINY_LINE_CHART
: Tiny line chartTINY_COLUMN_CHART
: Tiny column chartBI_DIRECTION_BAR
: Bi-directional bar chartSTATISTIC
: StatisticsCOUNTDOWN
: CountdownHISTOGRAM
: Histogram
# Appendix H: DynamicFieldDefinition.fieldType
STRING
: Text (abc123
)DATETIME
: Date with time (2014-06-24 11:00
)DATE
: Date without time (2014-06-24
)INTEGER
: Integer (42
)DECIMAL
: Floating-point number (3.14159
)BOOLEAN
: Boolean value (true
/false
)OBJECT
: Object (link to object data)FILE
: File (attachment)IMAGE
: Image (displayable image attachment)
# Appendix I: DynamicFieldInstance.type
WIZARD_FIELD
: Wizard fieldDOMAIN_OBJECT_FIELD
: Domain class fieldDOMAIN_OBJECT_INSTANCE_FIELD
: Domain instance fieldTEMPLATE_ATTRIBUTE_FIELD
: Template attribute fieldACTION_PARAMETER_FIELD
: Action parameter field
# Appendix J: DynamicFieldHook.hookType
DECIDES
: Field dependency hookSEARCH
: Field search additional hookVALIDATION
: Field validationDEFAULT_VALUE
: Field default value
# Appendix K: DynamicFieldHook.logicSource
STATIC_FIELD
: Static fieldDYNAMIC_FIELD
: Dynamic fieldTRANSIENT_FIELD
: Transient field
# Appendix L: DynamicIntegration.type
INCOMING
: IncomingOUTGOING
: Outgoing
# Appendix M: DynamicIntegration.httpMethod
GET
:GET
POST
:POST
OPTIONS
:OPTIONS
PUT
:PUT
DELETE
:DELETE
HEAD
:HEAD
PATCH
:PATCH
TRACE
:TRACE
# Appendix N: DynamicIntegrationDomainClass.listenEvent
CREATE
: CreateUPDATE
: UpdateDELETE
: Delete
# Appendix O: DynamicObjectHook.hookType
CREATE
: Can createUPDATE_DELETE
: Can update/deleteBEFORE_CREATE
: Before createBEFORE_DELETE
: Before deleteBEFORE_UPDATE
: Before updateAFTER_CREATE
: After createAFTER_DELETE
: After deleteAFTER_UPDATE
: After updateRENDER
: Object renderACCESS
: Object accessSEARCH_CONTEXT_PRE_PROCESS
: Search condition pre-processing
â đĨ Data Import