{
  "code_lang": {
    "type": "code",
    "caption": "Language",
    "init_data": [
      { "code_val": "en", "code_txt": "English", "code_seq": 1 }
    ]
  },

  "code_item_review_sts": {
    "type": "code",
    "caption": "Item Review Status",
    "init_data": [
      { "code_val": "APPROVED", "code_txt": "Approved", "code_seq": 1 },
      { "code_val": "DRAFT", "code_txt": "Draft", "code_seq": 2 },
      { "code_val": "REJECTED", "code_txt": "Rejected", "code_seq": 3 },
      { "code_val": "REVIEW", "code_txt": "Pending Review", "code_seq": 4 }
    ]
  },

  "jsharmony.param": {
    "data_keys": ["param_process","param_attrib"],
    "init_data": [
      { "param_process": "CMS", "param_attrib": "PUBLISH_TGT", "param_desc": "Publish Target Folder", "param_type": "C", "is_param_app": true, "is_param_sys": false, "is_param_user": true }
    ]
  },

  "jsharmony.param_app": {
    "data_keys": ["param_app_process","param_app_attrib"],
    "init_data": [
      { "param_app_process": "CMS", "param_app_attrib": "PUBLISH_TGT", "param_app_val": "publish" }
    ]
  },

  //:if:{create_sys_roles}:
  "jsharmony.sys_role": {
    "init_data": [
      { "sys_role_name": "VIEWER", "sys_role_desc": "All Sites - Viewer", "sys_role_seq": 1 },
      { "sys_role_name": "AUTHOR", "sys_role_desc": "All Sites - Author", "sys_role_seq": 2 },
      { "sys_role_name": "PUBLISHER", "sys_role_desc": "All Sites - Publisher", "sys_role_seq": 3 },
      { "sys_role_name": "WEBMASTER", "sys_role_desc": "Webmaster", "sys_role_seq": 4 },
      { "sys_role_name": "CMSHOST", "sys_role_desc": "CMS Deployment Host", "sys_role_seq": 5 },
      { "sys_role_name": "SFTP", "sys_role_desc": "SFTP", "sys_role_seq": 6 },
      { "sql": "delete from jsharmony.sys_user_role where sys_role_name in ('DADMIN','X_B','X_X')" },
      { "sql": "delete from jsharmony.sys_role where sys_role_name in ('DADMIN','X_B','X_X')" }
    ],
  },
  //:endif:

  "jsharmony.sys_user_role": {
    "type":"table",
    "sql_create": "",
    "sql_drop": "",
    "columns": [
      { "name": "sys_user_id", "type": "bigint", "key": true, "null": false },
      { "name": "sys_user_role_id", "type": "bigint", "null": false },
      { "name": "sys_role_name", "type": "varchar", "length": 16, "null": false },
      { "name": "sys_user_role_snotes", "type": "varchar", "length": 255 },
    ],
    "init_data": [
      //:if:{create_sys_roles}:
      { "sys_user_id": 1, "sys_role_name": "VIEWER" },
      { "sys_user_id": 1, "sys_role_name": "AUTHOR" },
      { "sys_user_id": 1, "sys_role_name": "PUBLISHER" },
      { "sys_user_id": 1, "sys_role_name": "WEBMASTER" },
      { "sys_user_id": 1, "sys_role_name": "CMSHOST" },
      //:endif:
    ],
    "triggers": [
      { "prefix": "{schema}_", "on": ["update"], "exec": [
          "update {schema}.sys_user_session set site_id=null where sys_user_id=deleted(sys_user_id) and site_id not in (select site_id from {schema}.v_sys_user_site_access where sys_user_id=deleted(sys_user_id) and sys_user_site_access is not null);",
          "update {schema}.sys_user_site set branch_id=null where sys_user_id=deleted(sys_user_id) and site_id not in (select site_id from {schema}.v_sys_user_site_access where sys_user_id=deleted(sys_user_id) and sys_user_site_access is not null);",
        ]
      },
      { "prefix": "{schema}_", "on": ["delete"], "exec": [
          "update {schema}.sys_user_session set site_id=null where sys_user_id=deleted(sys_user_id) and site_id not in (select site_id from {schema}.v_sys_user_site_access where sys_user_id=deleted(sys_user_id) and sys_user_site_access is not null and ((sys_user_role_id is null) or (sys_user_role_id<>deleted(sys_user_role_id))));",
          "update {schema}.sys_user_site set branch_id=null where sys_user_id=deleted(sys_user_id) and site_id not in (select site_id from {schema}.v_sys_user_site_access where sys_user_id=deleted(sys_user_id) and sys_user_site_access is not null and ((sys_user_role_id is null) or (sys_user_role_id<>deleted(sys_user_role_id))));",
        ]
      }
    ],
  },

  "jsharmony.sys_user": {
    "type":"table",
    "sql_create": "",
    "sql_drop": "",
    "columns": [
      { "name": "sys_user_id", "type": "bigint", "key": true, "null": false },
      { "name": "sys_user_hash", "type": "binary", "length": 200, "null": false },
    ],
    "triggers": [
      { "prefix": "{schema}_", "on": ["update"], "exec": [
          "delete from {schema}.sys_user_token where sys_user_id = deleted(sys_user_id) and (update(sys_user_hash));",
        ]
      },
      { "prefix": "{schema}_", "on": ["delete"], "exec": [
          "delete from {schema}.sys_user_token where sys_user_id = deleted(sys_user_id);",
        ]
      }
    ],
  },
  
  //:if:{is_submodule}::else:

  "jsharmony.txt": {
    "init_data": [
      { "sql": "update jsharmony.txt set txt_body = 'Welcome to the jsHarmony CMS' where txt_process='CMS' and txt_attrib='Dashboard';" }
    ],
  },

  "jsharmony.menu": {
    "init_data": [
      { "sql": "update jsharmony.menu set menu_cmd='jsHarmonyCMS/Dashboard' where menu_name='Dashboard' and menu_id=3;" },
      { "sql": "delete from jsharmony.sys_menu_role where menu_id in (700);" },

      { "sql": "delete from jsharmony.sys_menu_role where menu_id in (300,30001,30002,30003,30004,350,35001,35002,35003,400,40001,450,45001,500,50001,50002,600,60001,60002);" },
      { "sql": "delete from jsharmony.menu where menu_id in (300,30001,30002,30003,30004,350,35001,35002,35003,400,40001,450,45001,500,50001,50002,600,60001,60002);" },

      { "menu_group": "S", "menu_id": 300, "menu_id_parent": 1, "menu_name": "Revisions", "menu_seq": 30000, "menu_desc": "Revisions", "menu_cmd": "jsHarmonyCMS/Branch_Active_Listing" },
      { "menu_group": "S", "menu_id": 30001, "menu_id_parent": 300, "menu_name": "jsHarmonyCMS/Branch_Active_Listing", "menu_seq": 30001, "menu_desc": "Active Revisions", "menu_cmd": "jsHarmonyCMS/Branch_Active_Listing" },
      { "menu_group": "S", "menu_id": 30002, "menu_id_parent": 300, "menu_name": "jsHarmonyCMS/Branch_History_User_Listing", "menu_seq": 30002, "menu_desc": "My Revision History", "menu_cmd": "jsHarmonyCMS/Branch_History_User_Listing" },
      { "menu_group": "S", "menu_id": 30003, "menu_id_parent": 300, "menu_name": "jsHarmonyCMS/Branch_User_Listing", "menu_seq": 30003, "menu_desc": "All User Revisions", "menu_cmd": "jsHarmonyCMS/Branch_User_Listing" },
      { "menu_group": "S", "menu_id": 30004, "menu_id_parent": 300, "menu_name": "jsHarmonyCMS/Branch_History_Public_Listing", "menu_seq": 30004, "menu_desc": "Release Maintenance", "menu_cmd": "jsHarmonyCMS/Branch_History_Public_Listing" },

      { "menu_group": "S", "menu_id": 350, "menu_id_parent": 1, "menu_name": "Pages", "menu_seq": 35000, "menu_desc": "Pages", "menu_cmd": "jsHarmonyCMS/Sitemap_Listing_Redirect" },
      { "menu_group": "S", "menu_id": 35001, "menu_id_parent": 350, "menu_name": "jsHarmonyCMS/Sitemap_Listing", "menu_seq": 35001, "menu_desc": "Sitemap View", "menu_cmd": "jsHarmonyCMS/Sitemap_Listing_Redirect" },
      { "menu_group": "S", "menu_id": 35002, "menu_id_parent": 350, "menu_name": "jsHarmonyCMS/Page_Listing", "menu_seq": 35002, "menu_desc": "Folder View", "menu_cmd": "jsHarmonyCMS/Page_Tree" },
      { "menu_group": "S", "menu_id": 35003, "menu_id_parent": 350, "menu_name": "jsHarmonyCMS/Redirect_Listing", "menu_seq": 35003, "menu_desc": "Redirects", "menu_cmd": "jsHarmonyCMS/Redirect_Listing" },

      { "menu_group": "S", "menu_id": 400, "menu_id_parent": 1, "menu_name": "Media", "menu_seq": 40000, "menu_desc": "Media", "menu_cmd": "jsHarmonyCMS/Media_Tree" },
      { "menu_group": "S", "menu_id": 40001, "menu_id_parent": 400, "menu_name": "jsHarmonyCMS/Media_Listing", "menu_seq": 40001, "menu_desc": "Media", "menu_cmd": "jsHarmonyCMS/Media_Tree" },

      { "menu_group": "S", "menu_id": 450, "menu_id_parent": 1, "menu_name": "Menus", "menu_seq": 45000, "menu_desc": "Menus", "menu_cmd": "jsHarmonyCMS/Menu_Listing" },
      { "menu_group": "S", "menu_id": 45001, "menu_id_parent": 450, "menu_name": "jsHarmonyCMS/Menu_Listing", "menu_seq": 45001, "menu_desc": "Menus", "menu_cmd": "jsHarmonyCMS/Menu_Listing" },

      { "menu_group": "S", "menu_id": 500, "menu_id_parent": 1, "menu_name": "Publish", "menu_seq": 50000, "menu_desc": "Publish", "menu_cmd": "jsHarmonyCMS/Publish_Listing" },
      { "menu_group": "S", "menu_id": 50001, "menu_id_parent": 500, "menu_name": "jsHarmonyCMS/Publish_Listing", "menu_seq": 50001, "menu_desc": "Publish", "menu_cmd": "jsHarmonyCMS/Publish_Listing" },
      { "menu_group": "S", "menu_id": 50002, "menu_id_parent": 500, "menu_name": "jsHarmonyCMS/Publish_History_Listing", "menu_seq": 50002, "menu_desc": "Publish History", "menu_cmd": "jsHarmonyCMS/Publish_History_Listing" },

      { "menu_group": "S", "menu_id": 600, "menu_id_parent": 1, "menu_name": "Sites", "menu_seq": 60000, "menu_desc": "Sites", "menu_cmd": "jsHarmonyCMS/Site_Listing" },
      { "menu_group": "S", "menu_id": 60001, "menu_id_parent": 600, "menu_name": "jsHarmonyCMS/Site_Listing", "menu_seq": 60001, "menu_desc": "Sites", "menu_cmd": "jsHarmonyCMS/Site_Listing" }

    ]
  },

  "jsharmony.sys_menu_role": {
    "init_data": [
      { "menu_id": 300, "sys_role_name": "*" },
      { "menu_id": 30001, "sys_role_name": "*" },
      { "menu_id": 30002, "sys_role_name": "PUBLISHER" },
      { "menu_id": 30002, "sys_role_name": "AUTHOR" },
      { "menu_id": 30003, "sys_role_name": "PUBLISHER" },
      { "menu_id": 30004, "sys_role_name": "PUBLISHER" },

      { "menu_id": 350, "sys_role_name": "*" },
      { "menu_id": 35001, "sys_role_name": "*" },
      { "menu_id": 35002, "sys_role_name": "*" },
      { "menu_id": 35003, "sys_role_name": "*" },

      { "menu_id": 400, "sys_role_name": "*" },
      { "menu_id": 40001, "sys_role_name": "*" },

      { "menu_id": 450, "sys_role_name": "*" },
      { "menu_id": 45001, "sys_role_name": "*" },

      { "menu_id": 500, "sys_role_name": "PUBLISHER" },
      { "menu_id": 50001, "sys_role_name": "PUBLISHER" },
      { "menu_id": 50002, "sys_role_name": "PUBLISHER" },

      { "menu_id": 600, "sys_role_name": "*" },
      { "menu_id": 60001, "sys_role_name": "*" }
    ]
  },

  "jsharmony.help_target": {
    "init_data": [
      { "help_target_code": "*", "help_target_desc": "jsHarmony CMS" }
    ]
  },

  "jsharmony.help": {
    "data_keys": ["help_target_code"],
    "init_data": [
      { "help_target_code": "*", "help_title": "jsHarmony CMS", "help_text": "<p><span style=\"font-size:16px\">Explore the full jsHarmony CMS Reference at <a href=\"https://www.jsharmonycms.com/resources/\" target=\"_blank\">jsHarmonyCMS.com</a>, including:</span></p><table border=\"0\" cellpadding=\"7\" cellspacing=\"1\"><tbody><tr><td><span style=\"font-size:16px\">:: Getting Started Video Tutorials</span></td></tr><tr><td><span style=\"font-size:16px\">:: Starter Templates</span></td></tr><tr><td><span style=\"font-size:16px\">:: Documentation</span></td></tr><tr><td><span style=\"font-size:16px\">:: Source Code</span></td></tr></tbody></table>" }
    ]
  }
  
  //:endif:
}