# 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)

Download Role.csv template

Note: All records should start with ROLE_.

# Group.csv

Field Name Description
name(*) Group name (used for lookup)

Download Group.csv template

# 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

Download User.csv template

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 object
  • OBJECT_SINGLE_MULTIPLE: Acts on single and multiple objects
  • OBJECT_MULTIPLE: Acts on multiple objects
  • CLASS_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 confirmation
  • NO_CONFIRM: No message or confirmation
  • DISPLAY_CONFIRM: Display confirmation

# Appendix C: DynamicMenu.type

  • MENU_GROUP: Menu group
  • EXTERNAL_LINK: External link
  • INTERNAL_LINK: Internal link
  • FORM: Form

# Appendix D: DynamicForm.type

  • LIST: Table list (GET)
  • CREATE: Create (POST)
  • UPDATE: Update (GET, PUT)
  • FINDER: Finder (GET)
  • WIZARD: Wizard (GET)
  • DASHBOARD: Dashboard
  • MASTER_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 field
  • DYNAMIC_FIELD: Dynamic field
  • TRANSIENT_FIELD: Transient field

# Appendix F: DisplayComponentType

  • ABSTRACT_DATE: Abstract date (date)
  • ABSTRACT_DATE_TIME: Abstract date time (datetime)
  • RELATIVE_DATE: Relative date (date) Not implemented
  • RELATIVE_DATE_TIME: Relative date time (datetime) Not implemented
  • STRING_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 implemented
  • STRING_MULTIPLE_SELECTION_OR_INPUT: Text multiple selection or input (valueSelect) Not implemented
  • TEXT_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 implemented
  • INTEGER_MULTIPLE_SELECTION_OR_INPUT: Integer multiple selection or input (valueSelect) Not implemented
  • FLOAT_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 implemented
  • FLOAT_MULTIPLE_SELECTION_OR_INPUT: Decimal multiple selection or input (valueSelect) Not implemented
  • PERCENTAGE: 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 implemented
  • OBJECT_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 content
  • HTML: HTML content
  • PIE_CHART: Pie chart
  • LINE_CHART: Line chart
  • COLUMN_CHART: Column chart
  • GAUGE_CHART: Gauge chart
  • LIQUID_CHART: Liquid chart
  • DATA_TABLE: Data table
  • AREA_CHART: Area chart
  • BAR_CHART: Bar chart
  • BULLET_CHART: Bullet chart
  • PROGRESS_CHART: Progress chart
  • RING_PROGRESS_CHART: Ring progress chart
  • TINY_AREA_CHART: Tiny area chart
  • TINY_LINE_CHART: Tiny line chart
  • TINY_COLUMN_CHART: Tiny column chart
  • BI_DIRECTION_BAR: Bi-directional bar chart
  • STATISTIC: Statistics
  • COUNTDOWN: Countdown
  • HISTOGRAM: 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 field
  • DOMAIN_OBJECT_FIELD: Domain class field
  • DOMAIN_OBJECT_INSTANCE_FIELD: Domain instance field
  • TEMPLATE_ATTRIBUTE_FIELD: Template attribute field
  • ACTION_PARAMETER_FIELD: Action parameter field

# Appendix J: DynamicFieldHook.hookType

  • DECIDES: Field dependency hook
  • SEARCH: Field search additional hook
  • VALIDATION: Field validation
  • DEFAULT_VALUE: Field default value

# Appendix K: DynamicFieldHook.logicSource

  • STATIC_FIELD: Static field
  • DYNAMIC_FIELD: Dynamic field
  • TRANSIENT_FIELD: Transient field

# Appendix L: DynamicIntegration.type

  • INCOMING: Incoming
  • OUTGOING: 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: Create
  • UPDATE: Update
  • DELETE: Delete

# Appendix O: DynamicObjectHook.hookType

  • CREATE: Can create
  • UPDATE_DELETE: Can update/delete
  • BEFORE_CREATE: Before create
  • BEFORE_DELETE: Before delete
  • BEFORE_UPDATE: Before update
  • AFTER_CREATE: After create
  • AFTER_DELETE: After delete
  • AFTER_UPDATE: After update
  • RENDER: Object render
  • ACCESS: Object access
  • SEARCH_CONTEXT_PRE_PROCESS: Search condition pre-processing
Last Updated: 9/4/2024, 12:06:19 PM