Manual/Referencia

Perfiles de UI y filtrado de fuentes de datos

Meratyn puede ocultar fuentes de datos, servicios web y plugins para simplificar la interfaz a los principiantes o para estandarizar un despliegue en un equipo. La ocultación es no destructiva: no se elimina nada y cualquier elemento se puede volver a activar en cualquier momento. Las preferencias de perfil se guardan localmente en el navegador/app y nunca viajan dentro de un proyecto .meratyn.json guardado.

Los ejemplos públicos son la excepción a la regla de presentación, no a la propiedad de las preferencias: un proyecto con metadata.publicShowcase: true puede llevar una lista de permitidos showcase.workspace. La app la aplica como estado de sesión desechable y la interseca con el perfil local. Nunca escribe esa lista en los ajustes locales. El alcance del showcase también filtra el descubrimiento por paleta de comandos y atajos, de modo que las herramientas de autoría ocultas no sigan alcanzables por una segunda ruta de menú. Consulte Project Format.

Para usuarios

Onboarding

Por defecto Meratyn arranca en la interfaz Advanced —todo visible— y no muestra un diálogo de bienvenida en el primer lanzamiento. Elija un nivel de experiencia más simple en cualquier momento desde Settings → Interface (véase más abajo):

  • Beginner — solo las fuentes de datos y herramientas esenciales.
  • Intermediate — fuentes de datos, servicios y plugins comunes.
  • Advanced — todo lo que ofrece Meratyn (el valor por defecto).

Un perfil de administrador puede preconfigurar la interfaz para todo un despliegue y bloquear estos controles.

Settings → Interface

La interfaz se controla con un único selector de cuatro estados:

  • Beginner / Intermediate / Advanced son presets curados por los desarrolladores. Al seleccionar uno, su disposición se aplica de inmediato. Advanced revela todo, así que es la interfaz completa y sin restricciones.
  • Custom se activa automáticamente en cuanto usted edita a mano cualquier elemento posterior; es un estado, no un botón que se pulse.

Abra Settings → Interface para:

  • Elegir un nivel de experiencia, que rellena las listas de verificación a partir de la complejidad de cada elemento y surte efecto al instante.
  • Marcar o desmarcar individualmente fuentes de datos, plugins, menús enteros (Project, Edit, View, Add Data, Processing, Controls, Plugins, Help) y los elementos dentro de los menús Project, Edit, View, Processing, Controls, Settings y Help. Editar cualquier elemento cambia el selector a Custom.

El propio menú Settings, y sus entradas Language / Layout / Interface, se muestran siempre para que la interfaz de perfiles nunca pueda quedar oculta.

Consumidores y autores

Los perfiles dan cabida tanto a quienes crean mapas como a quienes principalmente los consumen. Un consumidor puede inspeccionar el mapa, buscar, medir, usar los controles habilitados y abrir el mismo proyecto sin ser empujado a un flujo de onboarding centrado en la creación. Los autores conservan los flujos normales de Add Data, Layers, Style, procesamiento y plugins siempre que su perfil haga visibles esas superficies.

Para administradores

Un despliegue se puede preconfigurar (y opcionalmente bloquear) con un archivo admin-profile.json. Cuando está presente, se aplica al arrancar, el asistente de onboarding se omite y —si lock está definido— los ajustes de Interface quedan en solo lectura.

Ubicación del archivo

  • Web / embed: sirva admin-profile.json desde la raíz de la aplicación (en la build Docker/nginx, la raíz de documentos servida). Si falta el archivo, se ignora.
  • Escritorio: coloque admin-profile.json en el directorio de configuración de la app (read_admin_profile lee <app_config_dir>/admin-profile.json). El archivo de escritorio tiene precedencia sobre un archivo web incluido en el bundle.

Formato del archivo

{
  "enabled": true,
  "level": "intermediate",
  "lock": true,
  "hiddenDataSources": ["postgres", "video"],
  "hiddenPlugins": ["maplibre-gl-geoagent"]
}
CampoTipoSignificado
enabledbooleanIndica si el filtrado está activo. Por defecto es true para un archivo de administrador.
level"beginner" | "intermediate" | "advanced"Rellena las listas de ocultos a partir del nivel de cada elemento. Opcional.
lockbooleanCuando es true, los usuarios no pueden cambiar el perfil desde Settings. Quitar el archivo (o servir uno sin lock) libera el bloqueo en el siguiente arranque.
hiddenDataSourcesstring[]Ids de fuentes de datos que ocultar explícitamente. Sustituye al preset cuando está presente.
hiddenPluginsstring[]Ids de plugins que ocultar explícitamente. Sustituye al preset cuando está presente.
hiddenMenusstring[]Ids de menús de primer nivel que ocultar (project, edit, view, addData, processing, controls, plugins, help).
hiddenMenuItemsstring[]Ids de elementos de menú que ocultar (p. ej. processing.raster, help.diagnostics, controls.minimap).

Los ids de fuentes de datos son los ids de catálogo en apps/mappview/src/features/settings/preferences/profile/data-sources.ts (DATA_SOURCE_CATALOG; p. ej. vector, xyz, mbtiles, postgres). Los ids de plugins son los ids estables definidos en packages/plugins/src/plugins/* (p. ej. maplibre-gl-geoagent). Los ids de menús y elementos de menú son los ids de catálogo en apps/mappview/src/features/settings/preferences/profile/menus.ts (TOP_LEVEL_MENUS, MENU_ITEM_CATALOG, MENU_ITEM_GROUPS).

hiddenMenus oculta solo el contenedor del menú de la barra de herramientas. No revoca un comando que esté disponible intencionadamente por otra superficie. Use hiddenMenuItems y hiddenPlugins para las compuertas de descubrimiento a nivel de acción: por ejemplo, controls.measure oculta Measure de Controls, de su acción directa en la barra de herramientas y de la paleta de comandos; maplibre-gl-geo-editor oculta GeoEditor/Draw de los lanzadores de plugin, capa, barra de herramientas y paleta de comandos. Estos ajustes no alteran los datos del proyecto ni el esquema .meratyn.json.

Cuando un preset de level está activo, los plugins externos o incluidos como drop-in (que se cargan de forma asíncrona tras el arranque) se incorporan al conjunto de ocultos según van apareciendo, de modo que un perfil beginner sigue ocultando los plugins avanzados incluso cuando cargan tarde.