Ayuda OnLine de GULiC

Anon1684

Ayuda
  • Temática: Puedes preguntarnos sobre Software Libre, Linux o GULiC. Otros temas pueden ser respondidos (o no!)
  • Acceso: Para mantener tu anonimato, se te ha asignado un nick al azar (Anon1684). Si deseas identificarte, puedes solicitar tu inscripción como socio ó iniciando sesión, si ya lo eres. En cualquier caso, si usas jabber, puedes informarte de cómo entrar a esta sala con tu cliente habitual, o bien entrando vía jwchat.
  • Uso: Para ver el chat más grande, usa ésta página. Si vas a pegar textos grandes, mejor usa nuestro pastebin. Para avisar de errores o problemas, usa nuestro trac.
  • Horarios: Nuestro huso horario es WET. No te extrañe si a las 5 de la mañana no te responde nadie.
  • Foros: Si nadie te responde al momento, deja tu mensaje en nuestro foro de libre acceso después de oir la señal... Beep!

Instalaciones corporativas de OpenOffice.org

Bueno, me he visto en la tesitura de tener que hacer una “instalación corporativa” de OpenOffice.org en linux y me he encontrado con algunos problemas.

La distribución que lleva la máquina en la que se trabajo con openoffice es una Debian Sarge. Por defecto la instalación de OpenOffice.org en Debian es maravillosa, hace una instalación en /usr/… para todo el mundo y cuando un usuario inicia por primera vez su sesión ejecuta de manera silenciosa el setup y carga determinadas configuraciones por arte de magia en su .openoffice.

El problema se presenta cuando en determiado entorno se quiere poner una configuración por defecto diferente a la que está instalada. Por ejemplo, se me ocurre poner en los documentos el idioma castellano, seleccionar el diccionario adecuado, activar el soporte de correción ortográfica a medida que se teclea, cambiar la ruta por en la que se almacenan los documentos, etc, etc …

No hay gui que te permita configurar esto de manera sencilla, al menos no lo he encontrado en unos días que llevo investigando. Pero hackeando un poco los ficheros de configuración se puede llegar a hacer.

El mayor problema es que no he encontrado la manera de que openoffice ignore las configuraciones del usuario para determinados parámetros, por ejemplo. Si el administrador decide que los documentos temporales se almacenen en ~/documentostemporales y lo pone en la configuración del sistema, el usuario siempre puede ir a su configuración personal y cambiar ese valor, eso puede afectar al rendimiento geneal del sistema y el administrador no puede hacer nada, tiene las manos atadas contra usuarios mal intencionados que cambian valores de sus configuraciones. Bueno, ya está bien de penas, ahora a lo que vamos.

Los valores de configuración por defecto en OpenOffice.org se encuentran en varios ficheros XML en la siguiente localización (dependerá de la distribución y de la versión de OpenOffice.org, pero al menos en las versiones 1.x no creo que varíe demasiado):

/usr/lib/openoffice/share/registry/data/org/openoffice/

La extensión de los ficheros de configuración es .xcu, un ejemplo de lo que podemos encontrar en ellos es el siguiente pedazo de xml extraido de Setup.xcf:

<node oor:name="Office">
<prop oor:name="ooSetupInstCompleted">
<value>false</value>
</prop>
<prop oor:name="ooSetupShowIntro">
<value>true</value>
</prop>
<prop oor:name="ooSetupLocales">
<value>en-US</value>
</prop>

Vemos la estructura que tiene, en el fragmento mostrado se puede ver el parámetro ooSetupLocles, que entiendo que es el idioma de la configuración. El fichero Setup.xcu es bastante largo y en el podemos encontrar numerosas opciones. Las configuraciones relativas al idioma por defecto del documento no aparecen en el Setup.xcu del sistema, sin embargo, una vez se configuran en la cuenta del usuario si que aparecen en su versión. Podemos sin problema copiar el bloque de xml resultante de la configuración del usuario al fichero del sistema para obtener por defecto el comportamiento que deseemos. En mi caso, el fichero del usuario queda tal que así:

<?xml version="1.0" encoding="UTF-8"?>
<oor:component-data xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema" oor:name="Setup" oor:package="org.openoffice">
<node oor:name="Office">
<prop oor:name="ooSetupInstallPath" oor:type="xs:string">
<value>/home/heaven/.openoffice/1.1.4/user</value>
</prop>
</node>
<node oor:name="L10N">
<prop oor:name="ooLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>
<prop oor:name="ooSetupCurrency" oor:type="xs:string">
<value>EUR-es-ES</value>
</prop>
<prop oor:name="ooSetupSystemLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>
</node>
<node oor:name="Configuration">
<prop oor:name="TransferUserSettingsOnce" oor:type="xs:boolean">
<value>false</value>
</prop>
</node>
</oor:component-data>

Copiamos la parte que nos interesa:

<prop oor:name="ooLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>
<prop oor:name="ooSetupCurrency" oor:type="xs:string">
<value>EUR-es-ES</value>
</prop>
<prop oor:name="ooSetupSystemLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>

Y la pegamos en el Setup.xcu en un lugar correcto. Para ponerlas en buen sitio hay que fijarse en el tag tipo nodo. El pedazo que queremos copiar está dentro del nodo con nombre L10N. Debemos buscar dicho nodo en el fichero y sustituir las entradas duplicadas e introducir las nuevas.

Nodo original
<node oor:name="L10N">
<prop oor:name="ooLocale" oor:type="xs:string">
<value>en-US</value>
</prop>
</node>

Nodo modificado
<node oor:name="L10N">
<prop oor:name="ooLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>
<prop oor:name="ooSetupCurrency" oor:type="xs:string">
<value>EUR-es-ES</value>
</prop>
<prop oor:name="ooSetupSystemLocale" oor:type="xs:string">
<value>es-ES</value>
</prop>
</node>

Listo, ya tenemos nuestra configuración por defecto.

Estos pasos se repiten con todos los parámetros que se deseen configurar por defecto solo tenemos que buscar el fichero en el que está e introducir el cambio de manera correcta.

Espero comentarios y maneras más simples de hacer todo este pifostio que me he montado.