diff --git a/UPDATING.md b/UPDATING.md index ac696cd021d0d..34ac36704fa33 100644 --- a/UPDATING.md +++ b/UPDATING.md @@ -23,6 +23,8 @@ assists people when migrating to a new version. ## Next +* [11155](https://github.com/apache/incubator-superset/pull/11155): The `FAB_UPDATE_PERMS` config parameter is no longer required as the Superset application correctly informs FAB under which context permissions should be updated. + * [10887](https://github.com/apache/incubator-superset/pull/10887): Breaking change: The custom cache backend changed in order to support the Flask-Caching factory method approach and thus must be registered as a custom type. See [here](https://flask-caching.readthedocs.io/en/latest/#custom-cache-backends) for specifics. * [10674](https://github.com/apache/incubator-superset/pull/10674): Breaking change: PUBLIC_ROLE_LIKE_GAMMA was removed is favour of the new PUBLIC_ROLE_LIKE so it can be set it whatever role you want. diff --git a/docs/installation.rst b/docs/installation.rst index 3fdfa4cf3e13f..d21e8163f8040 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -276,23 +276,6 @@ server (`superset run` or `flask run`) is not intended for production use. If not using gunicorn, you may want to disable the use of flask-compress by setting `COMPRESS_REGISTER = False` in your `superset_config.py` -Flask-AppBuilder Permissions ----------------------------- - -By default, every time the Flask-AppBuilder (FAB) app is initialized the -permissions and views are added automatically to the backend and associated with -the ‘Admin’ role. The issue, however, is when you are running multiple concurrent -workers this creates a lot of contention and race conditions when defining -permissions and views. - -To alleviate this issue, the automatic updating of permissions can be disabled -by setting `FAB_UPDATE_PERMS = False` (defaults to True). - -In a production environment initialization could take on the following form: - - superset init - gunicorn -w 10 ... superset:app - Configuration behind a load balancer ------------------------------------ diff --git a/docs/src/pages/docs/installation/configuring.mdx b/docs/src/pages/docs/installation/configuring.mdx index 9e58a4dc09f8f..94c45215e0078 100644 --- a/docs/src/pages/docs/installation/configuring.mdx +++ b/docs/src/pages/docs/installation/configuring.mdx @@ -65,22 +65,6 @@ you can add the endpoints to `WTF_CSRF_EXEMPT_LIST`: WTF_CSRF_EXEMPT_LIST = [‘’] ``` -### Flask AppBuilder Permissions - -By default, every time the Flask-AppBuilder (FAB) app is initialized the permissions and views are -added automatically to the backend and associated with the ‘Admin’ role. The issue, however, is when -you are running multiple concurrent workers this creates a lot of contention and race conditions -when defining permissions and views. - -To alleviate this issue, the automatic updating of permissions can be disabled by setting -`FAB_UPDATE_PERMS = False` (defaults to True). - -In a production environment initialization could take on the following form: - -``` -superset init gunicorn -w 10 … superset:app -``` - ### Running on a WSGI HTTP Server While you can run Superset on NGINX or Apache, we recommend using Gunicorn in async mode. This diff --git a/superset/app.py b/superset/app.py index e5aa287020450..f74da1b8a50d2 100644 --- a/superset/app.py +++ b/superset/app.py @@ -552,7 +552,6 @@ def configure_fab(self) -> None: appbuilder.indexview = SupersetIndexView appbuilder.base_template = "superset/base.html" appbuilder.security_manager_class = custom_sm - appbuilder.update_perms = False appbuilder.init_app(self.flask_app, db.session) def configure_url_map_converters(self) -> None: