Ruta con variables de entorno en orígenes de confianza

¡Hola!

Quisiera solventar la siguiente problemática:
Tenemos instalado el paquete LibreOffice 7.6 en Windows Server 2019 y actualmente necesitamos incluir una ruta específica como una ubicación de archivo de confianza.
Los usuarios trabajan con ficheros en el módulo writer que incluyen macros, y por defecto tenemos la configuración de seguridad en “Alto”:

Los ficheros se almacenan y se trabaja con ellos temporalmente desde la ruta del perfil de usuario:
image

Nuestra idea inicial para resolver el problema era añadir una ruta con la variable de entorno de Windows, de tal forma que quede así:
%HOMEPATH%\programa

Ya que %HOMEPATH% es la ruta al perfil de cada usuario.

Sin embargo, libreoffice interpreta directamente la ruta, y la traduce a la absoluta, por ejemplo:
“C:\Users\pepe\mi_programa”

La opción de decirle a los usuarios que habiliten manualmente las macros no es viable, muchos son avisados y aún así siguen clicando en “no permitir macros”.

¿Hay alguna forma de editar este cuadro de diálogo desde algún fichero de configuración? quizás exista otra alternativa que no estemos teniendo en cuenta.

Muchas gracias.

No se si habéis probado bien, pero en realidad, algunas rutas se guardan de manera diferente a como lo ves (se almacenan como variables, similar a las variable de entorno), así, esta ruta:

Se ha guardado como:

Así que quizá se pueda usar para vuestro objetivo metiendo la carpeta program en “Mis documentos” o creo que en Linux sería en la carpeta “home”

NOTA: La configuración de la ruta la he hecho en Seguridad de macros y se ha guardado así, con la variable $(work), automáticamente en la configuración,

Otra cosa que se puede hacer (he de confesar que yo no lo he hecho nunca, pero lo dejo para que los estudiéis) es crear una extensión de configuración. Las extensiones se instalan con un doble clic sobre el archivo de extensión.

LibreOffice_config_extension_writing.pdf (documentfoundation.org)

Seguramente parece mucho trabajo solo para este caso, pero si se está gestionando un grupo de usuarios, es probable que en breve surjan nuevos casos con nuevas configuraciones y si se aprende a hacer la extensión, en poco rato se puede crear y distribuir para mantener a todos los usuarios “configurados” simplemente con un doble clic.

Estoy intentando probar esta solución, pero algo no estoy haciendo bien o los cambios no se están aplicando correctamente.

La instalación que tenemos es varias VM con Windows Server 2019 y los usuarios conectan mediante RDP. El broker redirige a cada usuario a una VM específica, montando su perfil de usuario, y acceden a su sesión y pueden usar todo el software que tenemos instalado en cada máquina (son réplicas todas).

En mi máquina local sí lo he conseguido, pero en los servidores no. Voy a seguir investigando, porque lo necesito en los servidores, en máquinas locales no tenemos usuarios trabajando.

PD: amplío info. Lo que sucede es que si aplico los cambios que comenta @jucasaca , solamente se me aplica al usuario en el que realizo esta configuración, no a todos los que se conecten al servidor (sería como un equipo con varios usuarios simultáneos con su sesión activa).

La idea es si hubiera algún fichero de configuración global que aplique al LibreOffice completamente, independientemente del perfil de usuario que haga uso del programa.

Claro, cada usuario tiene su propia configuración…
Hay una configuración global a la que solo puede acceder un administrador, pero no se si eso puede funcionar.
Por otro lado, lo que seguramente funciones es la extensión de configuración, porque si la extensión la instala un administrador, pregunta si esa extensión es para un usuario o para todos los usuarios.
He de confesar que estuve un rato probando y pude crear la extensión, pero no cambió nada de la configuración, seguro que me equivoqué en un punto o una coma…

Estoy estudiando lo de la extensión de configuración. A ver si los usuarios nos dejan algo más tranquilos, y puedo hacer las pruebas con tranquilidad.
Os aviso cuando sepa algo.
Muchas gracias.

Primera prueba infructuosa:
image

Hay que revisar código y depurar.

Añado:
Intentando seguir los pasos del PDF que me pasaste, debería quedar una estructura de ficheros similar a esta:
image

Y he intentado instalar el fichero .oxt en LibreOffice, que es un comprimido del árbol completo de lo_config_extension

Yo estoy con ello también (y he preguntado en ask en inglés y en la lista de desarrolladores) y tampoco lo consigo…
Me han dado el siguiente enlace:
OpenOffice.org Registry Format - Apache OpenOffice Wiki
Mi último intento era así:

<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data oor:name="Common" oor:package="org.openoffice.Office"
	xmlns:oor="http://openoffice.org/2001/registry" 
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<node oor:name="Security">
		<node oor:name="Scripting">
			<prop oor:name="SecureURL" oor:type="oor:string-list">
				<value>C:/KK/BD</value>
			</prop>
		</node>
	</node>
</oor:component-data>

El resto de la extensión lo copié de la extensión de ejemplo del primer documento.

No me da ningún error, pero tampoco cambia la configuración

Me parece que description.xml y su carpeta son obligatorios.
He creado un repositorio en GitHub con mi extensión completa, es decir los archivos y carpetas (aunque como dije, aún no he conseguido que funcione), pero también puedes descargar solo el archivo OXT y descomprimirlo (ya sabes, cambias la extensión a ZIP para facilitar las cosas)

Pues muchas gracias, no tenía clara la estructura tampoco.
Voy a probar con mi xml y tu estructura, a ver si tenemos suerte.

Este es mi XML

<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data
	oor:name="Common"
	oor:package="org.openoffice.Office"
	oor:path="/org.openoffice.Office.Common/Security/Scripting"
	xmlns:oor="http://openoffice.org/2001/registry"
	xmlns:xs="http://www.w3.org/2001/XMLSchema">
	
	<node oor:name="SecureURL" oor:op="fuse" oor:finalized="false">
		<value> file:///C:/Users/$(username)/OpenCERTIAC </value>
	</node>
</oor:component-data>

El resto de estructura la he dejado tal y como indicas en el repositorio de GitHub.
Instalo la extensión, y al comprobar si ha tenido efecto, no ha habido suerte:

Pense que el ID de la extensión sería la razón, pero no, no funciona aún con eso. En la documentación mencionan que no todos los nodos de configuración son susceptibles de editarse de esta manera, tal vez este sea el caso, pero sigo investigando.

El ID de la extensión sirve para que dos extensiones con el mismo nombre se puedan instalar y funcionen independientemente.
No es necesario en extensiones de prueba pero es una buena práctica utilizarlo.
Yo también probé la extensión, modificando diversos valores pero a mí tampoco me ha funcionado.
Puede ser que por motivos de seguridad (precisamente) esté restringida la edición de estos valores en extensiones de configuración.

Sirve para más que eso, pero si, es la mejor practica usarlo.

Desconozco la configuración de LibreOffice en entornos de red y concretamente cómo lo tenéis configurado
No sé si el programa está en el servidor y desde allí trabajan los usuarios, Ni tampoco si las macros están también en el servidor ni cómo están distribuidas.

Pero en mi instalación (individual), las macros instaladas como extensiones por el usuario se ejecutan sin problemas en todos los niveles de seguridad, sin ninguna advertencia ni restricción.

Es decir, LibreOffice las considera como un origen de confianza y no se necesita agregar ningúna ruta a los orígenes de confianza.
Quizás os funcione si las macros las empaquetais en una extensión y las instalais en cada equipo

Esta es una buena solución, meter las macros dentro de una extensión, estas se ejecutaran no importando el nivel de seguridad establecido para el usuario.