How is structured the dash.gallery/Portal/?

Hello there,

I’ld like to build portal as the one on Dash Enterprise, such that after a user logged in, he can access to different dashboards/reports depending on the group he belongs to.

Regarding the user access rights, I’ll use one of the solution described on Dash App Pages with Flask Login Flow using Flask, GitHub - RafaelMiquelino/dash-flask-login: Implementation of Flask-login on top of Dash., or Show and Tell: full authentication flow example, dash-auth-flow - #26 by russellthehippo

The question I have is about the structure of the dash.gallery/Portal. Is it one single app, whose layout changes depending on the link/dash app we click on, is it a multipage app, or does each app has its own folder and app.py?

Assuming I have several Multi-Page Apps on a server, each one in its folder, what would be the best strategy to structure and display these apps, to get the expected behaviour, that is, enable different groups of users to access predefined set of Multi-Page Apps ?

You may find the following post helpful: python - Integrating Dash apps into Flask: minimal example - Stack Overflow, and another example here: authentication - Authenticating a dash app within a flask app using firebase - Stack Overflow. Both of these use Flask DispatcherMiddleware to use the same underlying Flask instance, the one that manages user authentication, to serve multiple Dash apps. This can get complex however.

To answer your question, the Dash gallery apps are actually all hosted totally separately - the apps are not using the same Flask app instance. The links are just links to each hosted URL. Note that I haven’t used Dash Enterprise, so I’m not sure how that portal works.