{
  "title": "Wiki Editor: {{SELECT IF('{{id:R0}}' = 0, 'New wiki page', '{{name:RE}}') }}",
  "noteInternal": "wikiPage Editor",
  "tableName": "WikiPage",
  "primaryKey": "",
  "permitNew": "sip",
  "permitEdit": "sip",
  "restMethod": "",
  "escapeTypeDefault": "c",
  "render": "bootstrap",
  "requiredParameterNew": "",
  "requiredParameterEdit": "",
  "dirtyMode": "exclusive",
  "showButton": "delete,close,save",
  "multiMode": "none",
  "multiSql": "",
  "multiDetailForm": "",
  "multiDetailFormParameter": "",
  "forwardMode": "url",
  "forwardPage": "url|{{pageSlug:T}}?wpId={{id:R0}}",
  "labelAlign": "default",
  "bsLabelColumns": "",
  "bsInputColumns": "",
  "bsNoteColumns": "",
  "parameter": "dbIndex = {{indexWiki:Y}}\r\nfillStoreVar = {{!SELECT id AS wpIdRoot FROM WikiPage WHERE ISNULL(wpIdParent) AND ISNULL(wpIdCurrent) AND pageSlug = '{{pageSlug:T}}'}}",
  "parameterLanguageA": "",
  "parameterLanguageB": "",
  "parameterLanguageC": "",
  "parameterLanguageD": "",
  "recordLockTimeoutSeconds": 900,
  "deleted": "no",
  "modified": "2024-10-30 14:32:09",
  "created": "2023-05-31 13:18:26",
  "FormElement_ff": [
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myGeneralPill",
      "label": "General",
      "mode": "show",
      "modeSql": "",
      "class": "container",
      "type": "pill",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 10,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:40:16"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "name",
      "label": "Name",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "text",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 20,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:19:04",
      "containerName_ff": "myGeneralPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "pageSlug",
      "label": "Page slug",
      "mode": "readonly",
      "modeSql": "",
      "class": "native",
      "type": "text",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 30,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "{{pageSlug:T}}",
      "sql1": "",
      "parameter": "",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:23:21",
      "containerName_ff": "myGeneralPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "wpIdParent",
      "label": "Parent page",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "select",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 40,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "{{wpIdParent:SE}}",
      "sql1": "{{!SELECT id AS id, name AS label FROM WikiPage WHERE pageSlug = '{{pageSlug:T}}' AND ISNULL(wpIdCurrent) AND id != '{{id:R0}}' AND IF('{{id:R0}}' = '{{wpIdRoot:V0}}', 0, 1)\r\nGROUP BY id}}",
      "parameter": "",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:19:31",
      "containerName_ff": "myGeneralPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myChildPages",
      "label": "Child pages",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "subrecord",
      "subrecordOption": "edit,delete,new",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 50,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "{{!SELECT id AS _id, name AS Name, QIFEMPTY(author, 'anonymous') AS Author, CONCAT('p:{{pageSlug:T}}&wpId=', id, '|b|G:glyphicon glyphicon-new-window|t:Show|g:_blank') AS 'link|Link' FROM WikiPage WHERE wpIdParent = '{{id:R0}}' AND ISNULL(wpIdCurrent) AND (author = '{{feUser:TE}}' OR '{{beUser:TE}}' != '' OR (author = '' AND '{{feUser:TE}}' != ''))}}",
      "parameter": "form=wikiPage\r\ndetail=id:wpIdParent",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 16:20:37",
      "created": "2023-07-18 16:17:01",
      "containerName_ff": "myGeneralPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myAccessPill",
      "label": "Access",
      "mode": "show",
      "modeSql": "{{SELECT IF('{{beUser:TE}}' != '' OR ('{{feUser:TE}}' = '{{author:RE}}' AND '{{feUser:TE}}' != '') OR ('{{id:R0'}}' = 0 AND '{{feUser:TE}}' != '' AND '{{beUser:TE}}' != '') , 'show', 'hidden')}}",
      "class": "container",
      "type": "pill",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 60,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:40:30"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "roUser",
      "label": "Read-only user",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "text",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 70,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "{{roUser:SE}}",
      "sql1": "",
      "parameter": "extraButtonInfo=Comma separated list of usernames (no whitespaces).",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:32:47",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "roGroup",
      "label": "Read-only group",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "checkbox",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 80,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "3",
      "bsInputColumns": "9",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "{{!SELECT uid AS id, title AS label FROM {{dbNameT3:Y}}.fe_groups}}",
      "parameter": "checkBoxMode=multi",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:31:51",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "rwUser",
      "label": "Read-write user",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "text",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 90,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "{{rwUser:SE}}",
      "sql1": "",
      "parameter": "extraButtonInfo=Comma separated list of usernames (no whitespaces).",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:34:05",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "rwGroup",
      "label": "Read-write group",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "checkbox",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 100,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "3",
      "bsInputColumns": "9",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "{{!SELECT uid AS id, title AS label FROM {{dbNameT3:Y}}.fe_groups}}",
      "parameter": "checkBoxMode=multi",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:34:22",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "yes",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myPublicAccess",
      "label": "Public",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "radio",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 110,
      "tabindex": 0,
      "size": "",
      "maxLength": "3",
      "labelAlign": "default",
      "bsLabelColumns": "3",
      "bsInputColumns": "9",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "{{SELECT IF('{{roPublic:RSE}}' = 'off' AND '{{rwPublic:RSE}}' = 'off', 'off', IF('{{rwPublic:RSE}}' = 'on', 'rw', 'ro'))}}",
      "sql1": "",
      "parameter": "itemList = ro:Read-only,rw:Read-write,off:Off",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:33:05",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "yes",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "pageLock",
      "label": "Page Lock",
      "mode": "show",
      "modeSql": "",
      "class": "native",
      "type": "checkbox",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 120,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "checked = '{{feUser:TE}}'\r\nunchecked = '0'",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:35:56",
      "containerName_ff": "myAccessPill"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myActionUpdateAfterFirstInsert",
      "label": "",
      "mode": "show",
      "modeSql": "",
      "class": "action",
      "type": "afterInsert",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 130,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "sqlAfter = {{UPDATE WikiPage SET pageSlug = '{{pageSlug:T}}', author = '{{feUser:TE}}' WHERE id = '{{id:R0}}'}}",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-05-31 13:59:11"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myActionUpdatePublicAccess",
      "label": "",
      "mode": "show",
      "modeSql": "",
      "class": "action",
      "type": "afterSave",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 140,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "sqlAfter = {{UPDATE WikiPage SET roPublic = (SELECT IF('{{myPublicAccess:FE:alnumx}}' = 'off' OR '{{myPublicAccess:FE:alnumx}}' = 'rw', 'off', 'on')), rwPublic = (SELECT IF('{{myPublicAccess:FE:alnumx}}' = 'off' OR '{{myPublicAccess:FE:alnumx}}' = 'ro', 'off', 'on')) WHERE id = '{{id:R0}}'}}",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-06-01 10:33:29"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myActionBeforeDelete",
      "label": "",
      "mode": "show",
      "modeSql": "",
      "class": "action",
      "type": "beforeDelete",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 150,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "sqlAfter = {{DELETE FROM WikiPage WHERE wpIdCurrent = '{{id:R0}}' AND 0 = (SELECT COUNT(wp.id) FROM WikiPage AS wp WHERE wp.wpIdParent = '{{id:R0}}')}}",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-06-06 13:23:22"
    },
    {
      "dynamicUpdate": "no",
      "encryption": "no",
      "encryptionMethod": "Default",
      "enabled": "yes",
      "name": "myActionValidate",
      "label": "",
      "mode": "show",
      "modeSql": "",
      "class": "action",
      "type": "beforeDelete",
      "subrecordOption": "",
      "encode": "specialchar",
      "checkType": "auto",
      "checkPattern": "",
      "onChange": "",
      "ord": 160,
      "tabindex": 0,
      "size": "",
      "maxLength": "",
      "labelAlign": "default",
      "bsLabelColumns": "",
      "bsInputColumns": "",
      "bsNoteColumns": "",
      "rowLabelInputNote": "row,label,\/label,input,\/input,note,\/note,\/row",
      "note": "",
      "adminNote": "",
      "tooltip": "",
      "placeholder": "",
      "value": "",
      "sql1": "",
      "parameter": "sqlValidate = {{!SELECT id FROM WikiPage WHERE wpIdParent = '{{id:R0}}'}}\r\nexpectRecords = 0\r\nmessageFail = Record cannot be deleted because it has child pages.",
      "parameterLanguageA": "",
      "parameterLanguageB": "",
      "parameterLanguageC": "",
      "parameterLanguageD": "",
      "clientJs": "",
      "feGroup": "",
      "deleted": "no",
      "modified": "2024-10-30 14:32:09",
      "created": "2023-06-06 13:38:58"
    }
  ]
}