Create a page
Do it in this order, or the SQL never lands on the allowlist:
- Create a
page_sqlin/sql_editorand take thesql_id. One record holdspre_sql,main_sql, andpost_sql, executed in that order inside one transaction. - Create a
page_defin/page_editor. Put thesql_idonComponent.LoadSql,UpdateRowSql, and the other SQL fields. - Point a menu at
/page/run?param={page_def.id}. - When columns, fields, or buttons need limits, sync them on the matching permission page.
A tab that is already open keeps the old allowlist after you edit page JSON or SQL. Close the tab and open it again so sql_id values are collected again.
After changing an engine script under plus/, also change the matching ?v= in custom_component_source at the top of assets/eqp/util.js. Otherwise the running page keeps the old script from the browser cache.
Extension-page steps are in Two kinds of pages. The menu field is external_url, and page_id stays empty.