# Registro de una aplicación

Este capítulo describe cómo crear un paquete de registro para una aplicación y cómo registrar la aplicación en el escritorio.

sag.regap.mkr.3
sag.regap.mkr.5
sag.regap.mkr.14
sag.regap.mkr.15
sag.regap.mkr.16
sag.regap.mkr.19
sag.regap.mkr.21
SAG.regap.div.19a
sag.regap.mkr.22
sag.regap.mkr.23
sag.regap.mkr.28
sag.regap.mkr.30

Cuando una aplicación está registrada por completo en el escritorio, tiene:

- Un grupo de aplicaciones propio en el nivel superior del Gestor de aplicaciones

- Una acción que inicia la aplicación. La acción se representa mediante un icono en el grupo de aplicaciones

- Opcionalmente, tipos de datos para los archivos de datos

El registro de aplicaciones es una operación que no invade a la aplicación:

- No supone la modificación del ejecutable de la aplicación propiamente dicho. Por consiguiente, en un sistema se pueden registrar aplicaciones existentes.

- No requiere que ninguno de los archivos que se entregan con la aplicación (como por ejemplo el ejecutable y el `app-defaults`) se muevan a otras ubicaciones de archivo.

- Puede deshacerse con facilidad. La herramienta `dtappintegrate`, que se utiliza para registrar aplicaciones, proporciona una opción de línea de mandatos para invertir el proceso.

Será conveniente que cree un paquete de registro si el usuario es:

- Administrador del sistema y desea registrar en el escritorio una aplicación existente

- Programador de software y desea crear un paquete de instalación para una aplicación preparada para el escritorio

## Visión general del registro de aplicaciones

Esta sección explica:

- La finalidad del registro de aplicaciones

- Las características que proporciona el registro de aplicaciones a la aplicación

Para ver un ejemplo detallado que muestra cómo registrar una aplicación existente, consulte la sección sag.regap.mkr.30.

### Características proporcionadas por
el registro de aplicaciones

El registro de aplicaciones proporciona un procedimiento gráfico para que los usuarios:

- Localicen la aplicación.

  En la instalación, la aplicación se “registra” en el Gestor de aplicaciones y tiene un grupo de aplicaciones propio.

#### Grupos de aplicaciones en el nivel superior del Gestor de aplicaciones

- Inicien la aplicación.

  El grupo de aplicaciones para la aplicación contiene un icono sobre el que el usuario puede efectuar una doble pulsación para iniciar la aplicación.

#### Grupo de aplicaciones que contiene un icono para iniciar la aplicación

- Identifiquen y manipulen los archivos de datos. Los archivos de datos de la aplicación tendrán un icono exclusivo en el Gestor de archivos.

  El usuario puede utilizar los iconos del archivo de datos para:

  - Iniciar (Abrir) la aplicación

  - Imprimir los archivos de datos

#### Menú emergente de un archivo de datos que contiene ''Abrir'' e ''Imprimir''

- Realice otras operaciones, como por ejemplo operaciones de correo, compresión, vista o reproducción (audio) de datos

### Finalidad del registro de aplicaciones

Una aplicación de escritorio registrada tiene determinados archivos de configuración utilizados por el escritorio para proporcionar la interfaz de usuario de la aplicación:

- Archivos de definiciones de tipos de datos y de acciones

- Archivos (mapa de pixels o mapa de bis) de imágenes de iconos

- Un directorio y archivos que crean el grupo de aplicaciones

- Opcionalmente, archivos de ayuda de escritorio y archivos de definiciones del Panel Frontal

Para que el escritorio reconozca y utilice estos archivos, éstos deben estar en determinados directorios especificados por las rutas de búsqueda del escritorio.

Puede ser difícil administrar una aplicación cuando los archivos de configuración de la misma están dispersos en muchos directorios. Por consiguiente, el escritorio permite a una aplicación conservar todos los archivos de configuración de escritorio juntos bajo un solo directorio. Esta agrupación de archivos se denomina
paquete de registro.

Si la aplicación está preparada para el escritorio, proporciona un paquete de registro como parte de su paquete de instalación. Si es usted administrador del sistema y está creando los archivos de configuración, puede crear el paquete de registro.

Los archivos de configuración del paquete de registro no están disponibles en el escritorio porque no están ubicados en los directorios de rutas de búsqueda adecuados. El proceso de poner estos archivos en las ubicaciones correctas se denomina
registrar o integrar la aplicación.

El escritorio proporciona una herramienta, `dtappintegrate`, que realiza el registro creando, en los directorios de rutas de búsqueda adecuados, representaciones de archivos enlazadas simbólicamente.

Muchas aplicaciones preparadas para el escritorio ejecutarán automáticamente `dtappintegrate` durante el proceso de instalación. Si es usted administrador del sistema y está integrando una aplicación existente, puede ejecutarla usted mismo después de haber creado el paquete de registro.

Una vez registrada la aplicación en el escritorio de un sistema, la aplicación está disponible para todos los usuarios del sistema. Si el sistema está configurado como un servidor
de aplicaciones de escritorio, la aplicación también estará disponible en otros sistemas de toda la red.

La herramienta `dtappintegrate` tiene una opción de línea de mandatos que invierte el proceso rompiendo los enlaces. Esto facilita la eliminación de la aplicación del Gestor de aplicaciones para poderla mover a una servidor de aplicaciones diferente o poderla actualizar.

## Pasos generales para registrar una aplicación

Consulte un ejemplo detallado que utiliza estos pasos para crear un paquete de aplicaciones en la sección sag.regap.mkr.30.

1. Modifique los recursos de aplicaciones que establecen los fonts y los colores. De lo contrario los fonts y los colores dinámicos del escritorio no funcionarán correctamente.

   Consulte la sección sag.regap.mkr.14.

2. Cree una ubicación de la raíz de la aplicación.

   Consulte la sección sag.regap.mkr.15.

3. Cree la estructura de directorios debajo de la raíz de la aplicación.

   Consulte la sección sag.regap.mkr.16

4. Cree las acciones y los tipos de datos para la aplicación.

   Consulte la sección sag.regap.mkr.19.

5. Ponga los archivos de ayuda en un directorio apropiado.

   Consulte la sección sag.regap.mkr.21.

6. Coloque los archivos de la documentación en línea (biblioteca de información) en el directorio correspondiente.

   Consulte la sección SAG.regap.div.19a.

7. Cree los iconos para la aplicación

   Consulte la sección sag.regap.mkr.22.

8. Cree el grupo de aplicaciones para la aplicación.

   Consulte la sección sag.regap.mkr.23.

9. Registre la aplicación utilizando `dtappintegrate`.

   Consulte la sección sag.regap.mkr.28.

## Paso 1: Modificar los recursos de font y de color

Consulte un ejemplo de modificación de recursos para una aplicación en el sag.regap.mkr.6 de la sección sag.regap.mkr.30 de la sag.regap.mkr.31.

El escritorio proporciona mecanismos para establecer y manipular los fonts de interfaz y los colores de ventana. Para que una aplicación utilice estos mecanismos correctamente, es posible que se tenga que modificar el archivo `app-defaults` de la aplicación.

### Modificación de los recursos de font

Esta sección es aplicable a las aplicaciones creadas utilizando Motif 1.2 (o versiones posteriores). El Gestor de estilos no puede establecer los fonts de interfaz para aplicaciones escritas utilizando versiones de Motif anteriores.

El Gestor de estilos del escritorio establecerá los fonts de interfaz para las aplicaciones creadas utilizando Motif 1.2 (o versiones posteriores) si la aplicación no especifica fonts de interfaz específicos de la aplicación.

El Gestor de estilos proporciona dos fonts:

font del sistema | Utilizado por áreas del sistema, tales como etiquetas, menús y botones
font de usuario | Utilizado para áreas editables, tales como campos de texto

Cada font se proporciona en siete tamaños, etiquetados de 1 a 7 en el cuadro de diálogo Fonts. Los fonts del Gestor de estilos están conectados a fonts reales del sistema por medio de recursos del Gestor de estilos establecidos en `/usr/dt/app-defaults/`idioma`/Dtstyle`.

Si desea que la aplicación utilice los fonts del Gestor de estilos, deberá eliminar los recursos de la aplicación que traspasan información de fonts específicos. El escritorio establecerá automáticamente los recursos de la aplicación de forma apropiada:

`FontList` | Establecer en el font del sistema
`XmText*FontList` | Establecer en el font del usuario
`XmTextField*FontList` | Establecer en el font del usuario

### Modificación de los recursos de color

El Gestor de estilos proporciona la posibilidad de cambiar dinámicamente los colores de la aplicación. La aplicación debe ser un cliente de Motif 1.1 ó 1.2. Los clientes escritos con otros kits de utilidades no pueden cambiar el color dinámicamente; los cambios de color entran en vigor cuando se reinicia el cliente.

El modo más fácil de utilizar los colores dinámicos proporcionados por el escritorio consiste en eliminar los recursos de colores de la aplicación para el color de fondo y el de primer plano.

## Paso 2: Crear la raíz de la aplicación de escritorio

Consulte un ejemplo de cómo crear el directorio raíz de aplicación de escritorio para una aplicación en el sag.regap.mkr.7 de la sección sag.regap.mkr.30 de la sag.regap.mkr.32.

Los archivos del paquete de registro para la aplicación están agrupados en un directorio llamado raíz de la aplicación o
apl_raíz. El directorio apl_raíz utilizado para los archivos de configuración del escritorio puede ser el mismo directorio que el apl_raíz de instalación de la aplicación o bien puede ser otra ubicación.

Por ejemplo, supongamos que una aplicación se instala bajo un directorio `/usr/BTE`. Este mismo directorio se podría utilizar como directorio apl_raíz para los archivos de configuración del escritorio. Sin embargo, si se está integrando una aplicación existente no preparada para el escritorio, se recomienda crear un directorio apl_raíz de escritorio diferente. Esto evitará que, al actualizar la aplicación, se sobreescriban los archivos de configuración creados.

Por ejemplo, puede que un administrador de sistema desee crear un directorio `/etc/desktop_approots/BTE` como directorio apl_raíz del escritorio.

## Paso 3: Crear los directorios de paquetes de registro

Consulte un ejemplo de cómo crear los directorios de paquetes de registro para una aplicación en el sag.regap.mkr.8 de la sección sag.regap.mkr.30 de la sag.regap.mkr.33.

El paquete de registro es el grupo de archivos de configuración de escritorio utilizado por el escritorio para proporcionar una interfaz gráfica para la aplicación.

### Contenido del paquete de registro

Los archivos de configuración del escritorio incluyen:

- Archivos de definiciones de tipos de datos y de acciones

- Archivos de imágenes de iconos

- Un directorio de grupos de aplicaciones y su contenido

- Opcionalmente: archivos de datos de ayuda y un archivo de configuración del Panel Frontal

El paquete de registro se reúne bajo un directorio de nivel superior denominado raíz de la aplicación o apl_raíz.

#### Paquete de registro bajo un directorio raíz de la aplicación

Las categorías principales de los campos de configuración que se encuentran bajo el directorio apl_raíz son:

Subdirectorio | Contenido
`types` | Archivos de definiciones de tipos de datos y de acciones
`help` | Archivos de ayuda del escritorio
`icons` | Archivos de imágenes de mapas de bits y de mapas de pixels utilizados por las acciones y los tipos de datos de la aplicación
`appmanager` | El directorio y el contenido que crean el grupo de aplicaciones
`infolib` | Archivos de documentación en línea organizados como bibliotecas de información, estantes para libros y libros

Cada una de las categorías principales tiene subdirectorios para los archivos dependientes del idioma. Los archivos de idiomas predeterminados se encuentran en el directorio `C`.

#### Crear el paquete de registro

- Cree estos directorios. Si está proporcionando archivos de configuración dependientes del idioma, cree un directorio separado para cada idioma. Si sólo está proporcionando un idioma, ponga los archivos en el directorio `C`.

  - apl_raíz`/dt/appconfig/types/`idioma

  - apl_raíz`/dt/appconfig/help/`idioma

  - apl_raíz`/dt/appconfig/icons/`idioma

  - apl_raíz`/dt/appconfig/appmanager/`idioma/nombre_grupoapl, donde nombre_grupoapl es el nombre del grupo de aplicaciones.

    Por ejemplo, la sag.regap.mkr.18 muestra un Gestor de aplicaciones que contiene un grupo cuyo nombre_grupoapl es ”Herramientas_Soporte.”

##### Grupo de aplicaciones en el nivel superior del Gestor de aplicaciones

La herramienta `dtappintegrate` opera sólo en los archivos de configuración de escritorio en los directorios `types`,`help`,`icons` y `appmanager`. El ejecutable binario de la aplicación, `app-defaults`, y los archivos de catálogos de mensajes se administran por separado.

## Paso 4: Crear las acciones y los tipos de datos para la aplicación

Consulte un ejemplo de cómo crear las acciones y los tipos de datos para una aplicación en el sag.regap.mkr.9 de la sección sag.regap.mkr.30 de la sag.regap.mkr.34.

Las acciones y los tipos de datos proporcionan una interfaz de usuario para la aplicación.

- Las acciones proporcionan una interfaz de usuario para que el mandato ejecute la aplicación.

- Los tipos de datos proporcionan el aspecto y el comportamiento personalizados para los archivos de datos de la aplicación.

### Acciones y tipos de datos necesarios para una aplicación

Las aplicaciones características requieren las siguientes definiciones de acción y de tipo de datos:

- Una acción que abra la aplicación.

- Un tipo de datos para los archivos de datos de la aplicación. Si crea un tipo de datos, también deberá crear:

  - Una acción Abrir para los archivos de datos de la aplicación

  - Una acción Imprimir para los archivos de datos de la aplicación

- Un tipo de datos para el grupo de aplicaciones (consulte la sección sag.regap.mkr.25).

En la sección sag.intac.mkr.1, puede consultar una introducción a la utilización de las acciones y los tipos de datos en el escritorio.

### Ubicación de los archivos de configuración de definiciones de acciones y de tipos de datos

Las acciones y los tipos de datos se definen en archivos de configuración. El único requisito de denominación para los archivos que contienen definiciones de acciones y de tipos de datos es que deben tener un sufijo `.dt`. Por convenio, es aconsejable denominar el archivo nombre_acción`.dt` o nombre_aplicación`.dt`.

Ponga los archivos que contienen acciones y tipos de datos bajo la raíz de la aplicación en el directorio apl_raíz`/dt/appconfig/types/`idioma. El idioma predeterminado es `C`.

#### Archivos de definiciones de tipos de datos y de acciones

### Procedimientos para crear acciones y tipos de datos

Se pueden crear definiciones de acciones y de tipos de datos para una aplicación de una de estas dos formas:

- Utilice la herramienta Crear Acción.

  Crear Acción proporciona una interfaz fácil de usar con campos de texto que deberá rellenar. Sin embargo, la herramienta tiene algunas limitaciones.

- Cree las definiciones manualmente.

  Ello requiere que el usuario aprenda la sintaxis de creación de las definiciones, pero proporciona acceso a todas las funciones.

### Crear acciones y tipos de datos utilizando Crear Acción

Este procedimiento utiliza la utilidad Crear Acción para crear una acción y tipos de datos para la aplicación.

Para obtener más información sobre Crear Acción, utilice la ayuda en línea o consulte el sag.dtcra.mkr.1.

1. Abra el grupo de aplicaciones Apls_Escritorio y efectúe una doble pulsación sobre Crear Acción.

2. Utilice Crear Acción para crear las definiciones de acciones y de tipos de datos para la aplicación y sus tipos de datos.

   El archivo de configuración creado por Crear Acción se grabará en DirectorioInicio`/.dt/type/`nombre_acción`.dt.` El archivo de acción (el archivo ejecutable con el mismo nombre que la acción) se coloca en el directorio de inicio del usuario.

3. Pruebe la acción utilizando el archivo de acción creado en el directorio de inicio del usuario.

4. Copie el archivo de definiciones de acción DirectorioInicio`/.dt/type/`nombre_acción`.dt` en el directorio apl_raíz`/dt/appconfig/types/`idioma.

5. Después de haber creado el directorio del grupo de aplicaciones (Consulte la sag.regap.mkr.23), copie el archivo de acción DirectorioInicio`/`nombre_acción en el directorio `apl_raíz/dt/appconfig/appmanager/idioma/nombre_grupoapl`.

### Crear acciones y tipos de datos manualmente

- Cree un archivo de configuración que contenga las definiciones de acciones y de tipos de datos para la aplicación.

Los archivos de definiciones de acciones y de tipos de datos deben seguir el convenio de denominación nombre`.dt`.

Puede poner todas las definiciones de acciones y de tipos de datos en un archivo o distribuirlas entre varios archivos. Para cada archivo utilice un nombre de archivo que los administradores de sistema puedan relacionar fácilmente con la aplicación.

Los nombres de acciones y de tipos de datos deben constar de una sola palabra (sin espacios intercalados). Se puede utilizar un carácter de subrayado. Por convenio, la primera letra del nombre de acción o de tipo de datos debe ser una mayúscula. No utilice un nombre de acción o un nombre de archivo existente. Utilice un nombre que los usuarios avanzados y los administradores del sistema puedan relacionar fácilmente con la aplicación.

Si desea que el icono de la aplicación se etiquete con un nombre diferente del nombre de acción, incluya un campo `LABEL` en la definición de acción.

Para obtener más información sobre cómo crear acciones y tipos de datos, consulte el:

- sag.intac.mkr.1

- sag.dtcra.mkr.1

- sag.cract.mkr.1

- sag.crdt.mkr.1

## Paso 5: Poner los archivos de ayuda en el paquete de registro

Consulte un ejemplo de cómo añadir archivos de ayuda al paquete de registro en el sag.regap.mkr.10 de sag.regap.mkr.30de la sag.regap.mkr.35.

Si la aplicación incluye un volumen de ayudas de escritorio
(un volumen de ayudas creado con el Help Developer's Kit), el archivo maestro de volúmenes de ayuda ( `*.sdl`) deberá ponerse en el directorio apl_raíz`/dt/appconfig/help/`idioma.

Los gráficos utilizados por los archivos de ayuda se ponen generalmente en un subdirectorio `graphics`. Los gráficos deben estar ubicados en el mismo directorio en relación al archivo del volumen de ayudas maestro ( `*.sdl`) que cuando se creó el volumen de ayudas.

Si la aplicación no proporciona ningún volumen de ayudas, puede crear uno si tiene el
Help Developer's Kit.

Existen dos niveles de integración de un
volumen de ayudas:

- Integración completa.

  Cuando la ayuda de escritorio está integrada por completo, se puede acceder al volumen de ayudas desde la aplicación (por ejemplo, mediante la ayuda sobre el elemento y el menú Ayuda). La integración completa incluye la modificación de los ejecutables de la aplicación.

- Integración parcial.

  Cuando la ayuda de escritorio está integrada parcialmente, ésta está disponible desde el nivel superior del Gestor de ayudas. Sin embargo, no puede acceder al volumen de ayudas desde las ventanas de la aplicación. También puede proporcionar una acción para acceder a la ayuda desde el grupo de aplicaciones. El siguiente ejemplo de acción muestra el volumen de ayudas ubicado en el
  archivo maestro de ayuda `MiApl
  .sdl`:

      ACTION OpenMyAppHelp
      {
         LABEL        AyudaMiApl
         ARG_COUNT    0
         TYPE         COMMAND
         WINDOW_TYPE  NO_STDIO
         EXEC_STRING  /usr/dt/bin/dthelpview -helpVolume MyApp
         DESCRIPTION  Muestra ayuda para la aplicación MiApl.
      }

## Paso 6: Cómo colocar bibliotecas de información en el paquete de registro

Si la aplicación contiene documentación en línea (creada mediante el Juego para el programador del sistema de información de escritorio), se deberá colocar la biblioteca de información (`*.dti`) que contiene la documentación en el directorio:

    raíz_aplicación/dt/infolib/idioma

Los gráficos utilizados por archivos DocBook (`*.sgm`) generalmente se colocan en un subdirectorio de `graphics`. Los gráficos se deben encontrar en el mismo directorio relativo al archivo de la biblioteca de información (`*.dti`) que cuando se creó dicha biblioteca.

Si la aplicación no cuenta con documentación en línea, podrá crearla si cuenta con el Juego para el programador del sistema de información.

Existen dos niveles de integración para bibliotecas de información:

- Integración.

  Si la biblioteca de información está totalmente integrada, se puede obtener acceso a la misma desde la aplicación mediante `DtActionInvoke` para poner en pantalla un tema específico bajo el Gestor de Información. Es necesario modificar los archivos ejecutables de la aplicación para efectuar la integración total.

- Integración parcial.

  Cuando una biblioteca de información está integrada de forma parcial, está disponible desde el nivel más alto del Gestor de Información. Sin embargo, no se podrá obtener acceso a la biblioteca de información desde las ventanas de la aplicación. También podrá suministrar una función para obtener acceso a la biblioteca de información desde el grupo de la aplicación. El ejemplo de función que se encuentra a continuación pone en pantalla la biblioteca de información que se encuentra en `MyApp.dti`:

      ACTION OpenMyAppInfolib
      {
        LABEL           MyAppInfolib
        ARG_TYPE        InfoLib
        TYPE            MAP
        MAP_ACTION      DtLoadInfoLib /usr/dt/infolib/C/MyAppInfolib.dti
        DESCRIPTION     Invoca el Gestor de Información
                        para mostrar la documentación en
                        línea de la aplicación MyApp.
      }

## Paso 7: Crear iconos para la aplicación

Consulte un ejemplo de cómo crear los archivos de iconos para una aplicación en el sag.regap.mkr.11 de la sección sag.regap.mkr.30 de la sag.regap.mkr.36.

El escritorio proporciona iconos predeterminados para las acciones, tipos de datos y grupos de aplicaciones. Sin embargo, probablemente le interese crear iconos exclusivos para la aplicación.

Los iconos se colocan en el directorio apl_raíz`/dt/appconfig/icons/`idioma.

### Iconos necesarios para el escritorio

La aplicación utiliza estas imágenes de icono en el escritorio:

- Icono de acción. Éste es el icono sobre el que el usuario efectúa una doble pulsación para iniciar la aplicación (acciones). Se hace referencia a él en el campo `ICON` de la acción que ejecuta la aplicación.

  Puede proporcionar tres tamaños: diminuto, mediano y grande.

- Icono de tipo de datos. Este icono se utiliza para representar los archivos de datos de la aplicación en el Gestor de archivos. Se hace referencia a él en el campo`ICON` de la definición de tipo de datos.

  Si la aplicación soporta varios tipos de datos, deberá proporcionar un icono diferente para cada tipo de datos.

  Puede proporcionar dos tamaños: diminuto y mediano.

- Icono de grupo de aplicaciones. Éste es el icono que representa el directorio en el nivel superior del Gestor de aplicaciones. Se hace referencia a él en el campo `ICON` de la definición de tipo de datos para el grupo de aplicaciones. (Consulte la sección sag.regap.mkr.23.)

  Puede proporcionar dos tamaños: diminuto y mediano.

Es posible que tenga que proporcionar las versiones de mapa de pixels y de mapa de bits de cada icono para soportar pantallas de color (ocho bits y mayores) y monocromas (menos de ocho bits).

### Convenios de denominación para los archivos de iconos

`Tamaño` | `Dimensiones de pixel` | `Nombre de mapa de bits` | `Nombre de mapa de pixels`
diminuto | 16 por 16 | nombrebase`.t.bm` | nombrebase`.t.pm`
mediano | 32 por 32 | nombrebase`.m.bm` | nombrebase`.m.pm`
grande | 48 por 48 | nombrebase`.l.bm` | nombrebase`.l.pm`

Si no proporciona archivos de mapas de bits, el escritorio establece una correspondencia en blanco y negro de las especificaciones de color de los archivos de mapas de pixels. Sin embargo, esta correspondencia puede no producir el aspecto deseado.

Para obtener más información sobre iconos, consulte la sección sag.cricn.mkr.3.

## Paso 8: Crear el grupo de aplicaciones

Consulte un ejemplo de cómo crear el grupo de aplicaciones en el sag.regap.mkr.12 de la sección sag.regap.mkr.30 de la sag.regap.mkr.37.

Una vez creadas las definiciones de acciones y de tipos de datos para la aplicación, deberá crear los archivos de configuración responsables de crear lo que realmente ve el usuario: el grupo de aplicaciones y su contenido.

El grupo de aplicaciones es un directorio en el nivel superior del Gestor de aplicaciones (vea la sag.regap.mkr.4).

La creación del grupo de aplicaciones consta de tres pasos:

- Crear el directorio del grupo de aplicaciones en el paquete de registro.

- Opcional: configurar el grupo de aplicaciones para utilizar un icono exclusivo. Esto incluye la creación de la definición de tipos de datos para el directorio del grupo de aplicaciones.

- Crear el contenido del grupo de aplicaciones.

### Creación del directorio del grupo de aplicaciones

Para crear un grupo de aplicaciones, cree los directorios en el paquete de registro bajo `appmanager`, tal como se muestra en la sag.regap.mkr.24.

#### El directorio `appmanager`

### Nombre del grupo de aplicaciones

El <nombre_grupoapl> de la sag.regap.mkr.24 es el nombre del grupo de aplicaciones.

#### El nombre del grupo de aplicaciones (<nombre_grupoapl>)

El nombre puede ser cualquier nombre de archivo (directorio) permitido. Utilice un nombre que describa la aplicación.

### Configuración del grupo de aplicaciones para utilizar un icono exclusivo

El escritorio proporciona un icono predeterminado de grupo de aplicaciones. Sin embargo, tal vez le convenga proporcionar un icono personalizado.

Si desea proporcionar un icono exclusivo para el grupo de aplicaciones, deberá crear:

- Un tipo de datos para el directorio que aparece en el nivel superior del Gestor de aplicaciones.

- Las acciones Abrir e Imprimir para el tipo de datos.

Por ejemplo, supongamos que desea crear un grupo de aplicaciones denominado Herramientas_Soporte. La siguiente definición de tipo de datos, colocada en un archivo apl_raíz`/dt/appconfig/types/`idioma`/`nombre`.dt`, asigna un icono exclusivo al icono del grupo de aplicaciones.

    DATA_ATTRIBUTES GrupoaplHerramientas_Soporte
    {
       ACTIONS      OpenInPlace,OpenNewView
       ICON         MediaTools
       DESCRIPTION  Efectuar una doble pulsación para abrir el grupo \
                    de aplicaciones Herramientas_Soporte
    }
    DATA_CRITERIA Herramientas_SoporteGrupoAplCriterio1
    {
       DATA_ATTRIBUTES_NAME  Media_ToolsAppgroup
       MODE                  d
       PATH_PATTERN          */appmanager/*/Herramientas_Soporte
    }

La sección de atributos de la definición especifica el icono que se debe utilizar. La sección de criterios de la definición especifica que el tipo de datos se debe definir en cualquier directorio llamado `Herramientas_Soporte` que sea un subdirectorio de un directorio llamado `appmanager`.

La sag.regap.mkr.26 muestra la relación entre el nombre del grupo de aplicaciones y la definición del tipo de datos. El campo `PATH_PATTERN` de la definición de tipo de datos asocia un icono exclusivo con el grupo de aplicaciones.

#### Cómo obtiene un icono exclusivo un grupo de aplicaciones

También deberá crear una acción Abrir e Imprimir para el
tipo de datos del grupo de aplicaciones:

    ACTION Open
    {
       ARG_TYPE   Media_ToolsAppGroup
       TYPE       MAP
       MAP_ACTION OpenAppGroup
    }

    ACTION Print
    {
       ARG_TYPE   Media_ToolsAppGroup
       TYPE       MAP
       MAP_ACTION PrintAppGroup
    }

Las acciones AbrirGrupoApl e ImprimirGrupoApl son acciones incorporadas definidas en `/usr/dt/appconfig/types/`idioma`/dtappman.dt`.

### Creación del contenido del grupo de aplicaciones

El elemento más importante del grupo de aplicaciones es un icono para iniciar la aplicación (un icono de acción). Si el grupo de aplicaciones contiene una serie de aplicaciones, existe normalmente un icono para cada aplicación.

Además de uno o más iconos de acción, el grupo de aplicaciones puede contener:

- Uno o más archivos README

- Uno o más archivos de datos de ejemplo

- Plantillas

- Un icono sobre el que el usuario puede efectuar una doble pulsación para ver información de ayuda

- Una página de manual

- Un control de Panel Frontal especializado

El grupo de aplicaciones puede contener subdirectorios.

#### Creación del archivo de acción (Icono de aplicación)

El grupo de aplicaciones debe contener un icono que ejecuta la aplicación. Si el grupo proporciona una serie de aplicaciones, debe existir un icono para cada una. Estos iconos se denominan iconos de aplicación, o iconos de acción, puesto que representan una acción subyacente.

Un icono de acción se forma creando un archivo ejecutable con el mismo nombre que la acción que ejecutará:

    apl_raíz/dt/appconfig/appmanager/nombre_grupoapl/nombre_acción

El archivo se denomina
archivo de acción, porque su finalidad es crear una representación visual de la acción subyacente.

Por ejemplo, si ha creado una acción llamada MejorEditorTextos que ejecuta la aplicación MejorEditorTextos, deberá crear un archivo ejecutable llamado MejorEditorTextos. En el Gestor de archivos y el Gestor de aplicaciones, el archivo de acción utilizará la imagen de icono especificada en la definición de acción.

La sag.regap.mkr.27 ilustra la relación entre la definición de acción, el archivo de acción y la entrada real en la ventana del Gestor de aplicaciones.

##### El icono de aplicación es un archivo del grupo de aplicaciones

#### Archivos Read Me

El escritorio proporciona un tipo de datos README que se puede utilizar para los archivos README de la aplicación. Utilice uno de estos convenios de denominación:

- `README`

- `readme`

- `README.*`

- `Read.*.Me`

- `read.*.me`

- `READ.*.ME`

#### Creación de un control de Panel Frontal especializado

En la mayoría de los casos no es necesario proporcionar una definición de control de Panel Frontal; el usuario puede añadir la aplicación al Panel Frontal soltando el icono de acción en el control Instalar icono de un subpanel.

Es aconsejable que cree un archivo de configuración del Panel Frontal que contenga una definición de control para la aplicación si quiere que los usuarios puedan instalar un control que se comporte de forma diferente del icono de acción (por ejemplo, si el control supervisa un archivo y cambia de aspecto cuando cambia el archivo supervisado).

Los archivos de configuración del Panel Frontal se colocan en el directorio apl_raíz`/dt/appconfig/types/`idioma. El convenio de denominación es nombre`.fp`.

Si se proporciona un archivo de configuración que contiene un control, el usuario puede añadir el control a un subpanel soltando el archivo `*.fp` en el control Instalar icono del subpanel.

Por ejemplo, la siguiente definición puede ponerse en un archivo de configuración del Panel Frontal del grupo de aplicaciones. Si el usuario suelta este archivo en un control Instalar Icono de un subpanel, se crea un control en el subpanel que ejecuta un caso de la aplicación MejorEditorTextos. Si MejorEditorTextos ya se está ejecutando, la ventana se mueve hasta la parte superior de la pila de ventanas del espacio de trabajo actual.

    CONTROL ControlMejorEditorTextos
    {
       TYPE        icon
       ICON        BTEFPanel
       PUSH_RECALL True
       CLIENT_NAME BTEd
       PUSH_ACTION BTEditor
       DROP_ACTION BTEditor
       HELP_STRING Inicia la aplicación MejorEditorTextos.
    }

Para obtener información adicional sobre cómo crear archivos de configuración del Panel Frontal, consulte:

- El sag.frpc.mkr.1

- La página de manual `dtfpfile(4)`

## Paso 9: Registrar la aplicación utilizando d
tappintegrate

Consulte un ejemplo de registro de aplicación en el sag.regap.mkr.13 de la sección sag.regap.mkr.30 de la sag.regap.mkr.38.

Una vez que haya creado un paquete de registro bajo una aplicación raíz, estará listo para realizar el registro real de la aplicación.

El registro de aplicaciones crea enlaces entre el paquete de registro y los directorios ubicados en las rutas de búsqueda del escritorio (consulte la sección sag.regap.mkr.29).

### Registrar una aplicación con dtappintegrate

Si la aplicación está preparada para el escritorio, normalmente `dtappintegrate` se ejecuta automáticamente como paso final del proceso de instalación. Si no se ejecuta automáticamente, o si los archivos de configuración se han creado para integrar una aplicación no preparada para el escritorio, se puede ejecutar `dtappintegrate` manualmente.

1. Inicie la sesión como root.

2. Ejecute el mandato:

   `/usr/dt/bin/dtappintegrate -s apl_raíz`

   donde apl_raíz es el directorio raíz de la aplicación de escritorio. Para obtener más información, consulte la página de manual `dtappintegrate(1)`.

3. Abra el grupo de aplicaciones Herramientas_Escritorio y efectúe una doble pulsación sobre Recargar aplicaciones.

4. Verifique si la aplicación se ha registrado correctamente:

   1. Muestre el nivel superior del Gestor de aplicaciones. El nuevo grupo de aplicaciones deberá aparecer en el Gestor de aplicaciones.

   2. Abra el grupo de aplicaciones y efectúe una doble pulsación sobre el icono de acción.

#### Sintaxis y opciones para
dtappintegrate

`dtappintegrate -s apl_raíz[-t ruta_destino ] [-l idioma ] [-u]`

`-s` apl_raíz | Parámetro necesario. Especifica la raíz de aplicación bajo la que se ha instalado la aplicación.
`-t` ruta_destino | Parámetro opcional, toma como valor predeterminado la ubicación del sistema `/etc/dt/appconfig`. Especifica la ubicación a la que se enlazan los archivos de configuración de escritorio. Se deberá utilizar una ubicación de la ruta de búsqueda de la aplicación.
`-l` idioma | Parámetro opcional, toma como valor predeterminado todos los idiomas. Especifica qué archivos de configuración de escritorio dependientes del idioma se deben integrar.
`-u` | Parámetro opcional. Deshace la integración de la aplicación, eliminando todos los enlaces definidos durante la integración.

### Cómo integrar aplicaciones dtappintegrate

La función de `dtappintegrate` es definir enlaces entre los archivos instalados y las ubicaciones en las que el escritorio busca archivos de configuración.

#### Acciones y tipos de datos

`dtappintegrate` crea enlaces simbólicos desde los archivos de definiciones de acciones y de tipos de datos del paquete de registro al directorio accesible en el sistema a lo largo de la ruta de búsqueda de ayuda de la base de datos de acciones. Esto se realiza creando enlaces desde

`apl_raíz/dt/appconfig/types/idioma/*.dt`

a

`/etc/dt/appconfig/types/idioma`/*`.dt`

#### Bibliotecas de información

`dtappintegrate` crea enlaces simbólicos mediante bibliotecas de información del paquete de registro hacia el directorio de todo el sistema a lo largo de la ruta de búsqueda. Esta operación se realiza creando enlaces de

    raíz_aplicación/dt/infolib/idioma/*.dti

a

    /etc/dt/infolib/idioma/*.dti

#### Archivos de información de ayuda

`dtappintegrate` crea enlaces simbólicos desde los archivos de ayuda del paquete de registro al directorio accesible en el sistema a lo largo de la ruta de búsqueda de ayuda. Esto se realiza creando enlaces desde

`apl_raíz/dt/appconfig/help/idioma/archivo_ayuda.sdl`

a

`/etc/dt/appconfig/help/idioma/archivo_ayuda.sdl`

#### Archivos de iconos

`dtappintegrate` crea enlaces simbólicos desde los archivos de iconos del paquete de registro al directorio accesible en el sistema a lo largo de la ruta de búsqueda de iconos. Esto se realiza creando enlaces desde

`apl_raíz/dt/appconfig/icons/idioma/archivos_iconos`

a

`/etc/dt/appconfig/icons/idioma/archivos_iconos`

#### Grupo de aplicaciones

Para poner el grupo de aplicaciones para la aplicación en el nivel superior del Gestor de aplicaciones, `dtappintegrate` crea un enlace entre el directorio del grupo de aplicaciones del paquete de registro y la ubicación accesible en el sistema a lo largo de la ruta de búsqueda de aplicaciones. Esto se realiza creando enlaces desde el directorio

`apl_raíz/dt/appconfig/appmanager/idioma/nombre_grupoapl`

a

`/etc/dt/appconfig/appmanager/idioma/nombre_grupoapl`

## Ejemplo de creación de un paquete de registro

Los siguientes pasos crean un paquete de registro para una aplicación existente no preparada para el escritorio denominada MejorEditorTextos.

### Información sobre ''MejorEditorTextos'' que necesita conocer

En el ejemplo se dan por supuestos los siguientes hechos sobre la aplicación MejorEditorTextos:

- Se ha instalado en el directorio `/usr/BTE`.

- El idioma de sesión del usuario es el valor predeterminado, C.

- La línea de mandatos para iniciar MejorEditorTextos es:

  `BTEd [nombre de archivo]`

  donde nombre de archivo es el nombre del archivo de datos que se debe abrir en la nueva ventana. MejorEditorTextos crea su propia ventana (es decir, no se ejecuta en una ventana de emulador de terminal).

- MejorEditorTextos crea y utiliza dos tipos de archivos de datos:

  - Archivos de documentación. Éstos utilizan el convenio de denominación `*.bte`. MejorEditorTextos proporciona una línea de mandatos para imprimir los archivos de datos `.bte`. La sintaxis de este mandato es:

    `BTEPrint [-d destino] [-s] nombre de archivo`

    donde:

  - `-d` destino | Especifica la impresora de destino.
    `-s` | Especifica impresión silenciosa. No se muestra el cuadro de diálogo de impresión de la aplicación.
    nombre de archivo | Especifica el archivo que se debe imprimir.

  - Archivos de plantillas. Éstos utilizan el convenio de denominación `*.tpl`. Los archivos de plantillas no se pueden imprimir.

- Los archivos de app-defaults que no son de escritorio para MejorEditorTextos contienen recursos para fonts de interfaz y colores de fondo y primer plano.

- Se ha creado un volumen de ayudas en línea para MejorEditorTextos utilizando el Help Developer's Kit del escritorio. Al crear el volumen de ayudas en línea, se han utilizado los siguientes archivos fuente:

      …/BTEHelp.htg
       …/graphics/BTE1.xwd
       …/graphics/BTE2.xwd

  y se ha generado el archivo `…/BTEHelp.sdl`.

#### Pasos para registrar ''MejorEditorTextos''

El siguiente procedimiento escalonado registra MejorEditorTextos.

1. Modificar los recursos de font y de colores.

   En el archivo app-defaults de MejorEditorTextos, elimine los recursos que establecen:

   - Fonts para texto.

   - Colores para primer plano y fondo.

2. Crear la raíz de la aplicación.

   Cree el directorio:

   `/desktop_approots/BTE`

   Si está integrando una aplicación existente, deberá crear el directorio raíz de la aplicación en algún otro lugar que no sea la ubicación de instalación de la aplicación; de lo contrario es posible que al actualizar la aplicación se eliminen los archivos de configuración creados.

3. Cree los directorios del paquete de registro.

   Cree estos directorios:

       /desktop_approots/BTE/dt/appconfig/types/C
       /desktop_approots/BTE/dt/appconfig/help/C
       /desktop_approots/BTE/dt/appconfig/icons/C
       /desktop_approots/BTE/dt/appconfig/appmanager/C/MejorEditorTextos

4. Cree las acciones y los tipos de datos para la aplicación.

   1. Cree el archivo de configuración para las definiciones de acciones y de tipos de datos:

      `/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt`

   2. Cree la definición de acción para ejecutar MejorEditorTextos:

          ACTION BTEditor
          {
             WINDOW_TYPE NO_STDIO
             ICON        BTERun
             DESCRIPTION Efectúe una doble pulsación sobre este icono \
                         o suelte un archivo de datos BTE \sobre él para \
                         ejecutar MejorEditorTextos.
             EXEC_STRING /usr/BTE/BTEd %Arg_1%
          }

   3. Cree el tipo de datos para los archivos `*.bte`:

          DATA_ATTRIBUTES ArchivoDatosBTE
          {
             DESCRIPTION Archivo de datos de MejorEditorTextos.
             ICON        BTEDatos
             ACTIONS     Open,Print
          }

          DATA_CRITERIA BTEDataFileCriteria1
          {
             DATA_ATTRIBUTES_NAME  BTEDataFile
             NAME_PATTERN          *.bte
             MODE                  f
          }

   4. Cree el tipo de datos para los archivos `*.tpl`:

          DATA_ATTRIBUTES ArchivoPlantillasBTE
          {
             DESCRIPTION Archivo de plantillas de MejorEditorTextos.
             ICON        BTETempl
             ACTIONS     Open
          }
          DATA_CRITERIAL BTETemplateFileCriteria1
          {
             DATA_ATTRIBUTES_NAME BTETemplateFile
             NAME_PATTERN         *.tpl
             MODE                 f
          }

   5. Cree la acción Abrir para los archivos `*.bte`.

          ACTION Open
          {
             RG_TYPE    BTEDataFile
             TYPE       MAP
             MAP_ACTION BTEditor
          }

   6. Cree la acción Imprimir para los archivos `*.bte`.

      He aquí unas acciones Imprimir sencillas que imprimirán los archivos de datos. Estas acciones necesitan un valor para la variable de entorno `LPDEST` e ignoran la opción de impresión `-s`. (Si no se establece `LPDEST`, es posible que la acción falle).

          ACTION Print
          {
             ARG_TYPE   BTEDataFile
             TYPE       MAP
             MAP_ACTION BTEPrintData
          }
          ACTION BTEPrintData
          {
             WINDOW_TYPE  NO_STDIO
             EXEC_STRING  BTEPrint -d $LPDEST %Arg_1%
          }

      He aquí otra versión de la acción BTEPrintData y un script que la acompaña. Juntos manejan situaciones en las que no se ha establecido`LPDEST` o si se ha solicitado impresión silenciosa.

          ACTION BTEPrintData
          {
             WINDOW_TYPE  NO_STDIO
             EXEC_STRING  /usr/BTE/bin/BTEenvprint %(File)Arg_1%
          }

      El contenido del script `/usr/BTE/bin/BTEenvprint` es:

          # BTEenvprint
          #!/bin/sh
          DEST=""
          SILENT=""
          if [ $LPDEST ]; then
            DEST="-d $LPDEST"
          fi
          BTEPrint $DEST $SILENT $1

   7. Cree la acción Abrir para los archivos `*.tpl`:

          ACTION Open
          {
             ARG_TYPE   BTETemplateFile
             TYPE       MAP
             MAP_ACTION BTEditor
          }

   8. Cree la acción Imprimir para los archivos `*.tpl`:

          ACTION Print
          {
             ARG_TYPES  BTETemplateFile
             TYPE       MAP
             MAP_ACTION NoPrint
          }

      NoPrint es una acción incorporada que muestra un cuadro de diálogo que indica al usuario que no se puede imprimir el archivo.

5. Poner los archivos de ayuda en el paquete de registro.

   1. Ponga los archivos de ayuda en las siguientes ubicaciones:

          /desktop_approots/BTE/dt/appconfig/help/C/BTEHelp.sdl
          /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE1.xwd
          /desktop_approots/BTE/dt/appconfig/help/C/graphics/BTE2.xwd

   2. Cree el archivo:

      `/desktop_approots/BTE/dt/appconfig/types/C/BTEhelp.dt`.

      Ponga la siguiente definición de acción en el archivo:

          ACTION BTEHelp
          {
             WINDOW_TYPE  NO_STDIO
             EXEC_STRING  /usr/dt/bin/dthelpview -helpVolume\BTEHelp.sdl
             DESCRIPTION  Abre el volumen de ayudas de MejorEditorTextos.
          }

6. Crear iconos para la aplicación.

   Para crear los iconos utilice el Editor de iconos. Utilice estas directrices de tamaño:

   Nombre | Tamaño
   nombrebase`.t.pm` | 16 por 16
   nombrebase`.m.pm` | 32 por 32
   nombrebase`.l.pm` | 64 por 64

   Cree estos archivos de iconos en el directorio `/desktop_approots/BTE/dt/appconfig/icons/C`:

   - Iconos que deben representar la acción que ejecuta la aplicación: `BTERun.t.pm`, `BTERun.m.pm`, `BTERun.l.pm`

   - Iconos que deben representar los archivos `*.bte`: `BTEData.t.pm`, `BTEData.m.pm`,

   - Iconos que deben representar los archivos `*.tpl`: `BTETempl.t.pm`, `BTETempl.m.pm`

   - Iconos que deben representar el grupo de aplicaciones (utilizado en el paso 7): `BTEApp.t.pm`, `BTEApp.m.pm`

7. Crear el grupo de aplicaciones.

   1. Cree el directorio, si todavía no lo ha hecho.

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/MejorEditorTextos`

   2. Este paso es opcional. Proporciona un icono exclusivo para el icono del grupo de aplicaciones creando un tipo de datos y acciones asociadas para el grupo de aplicaciones. Si omite este paso, el grupo de aplicaciones utilizará el icono predeterminado.

      Añada las siguientes definiciones de tipo de datos y de acciones al archivo `/desktop_approots/BTE/dt/appconfig/types/C/BTE.dt`. El tipo de datos especifica el icono que el grupo de aplicaciones MejorEditorTextos debe utilizar. Las acciones proporcionan el mismo comportamiento Abrir e Imprimir que los grupos de aplicaciones incorporados.

          DATA_ATTRIBUTES GrupoAplMejorEditorTextos
          {
             ACTIONS  OpenInPlace,OpenNewView
             ICON     BTEApp
          }
          DATA_CRITERIA BestTextEditorAppGroupCriterial
          {
             DATA_ATTRIBUTES_NAME  BestTextEditorAppGroup
             MODE                  d
             PATH_PATTERN          */appmanager/*/MejorEditorTextos
          }
          ACTION Open
          {
             ARG_TYPE    BestTextEditorAppGroup
             TYPE        MAP
             MAP_ACTION  OpenAppGroup
          }
          ACTION Print
          {
             ARG_TYPE    BestTextEditorAppGroup
             TYPE        MAP
             MAP_ACTION  PrintAppGroup
          }

   3. Cree un icono en el grupo de aplicaciones que iniciará la aplicación. Para ello, cree el archivo:

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/MejorEditorTextos/BTEditor`

      y haga que el archivo sea ejecutable.

   4. Cree el archivo de acción en el grupo de aplicaciones que abrirá el volumen de ayudas. Para ello, cree el archivo:

      `/desktop_approots/BTE/dt/appconfig/appmanager/C/MejorEditorTextos/BTEHelp`

      y haga que el archivo sea ejecutable.

   5. Ponga otros archivos en el grupo de aplicaciones; por ejemplo archivos ”read me”, archivos de plantillas y de datos de ejemplo.

8. Registrar la aplicación.

   En una ventana de emulador de terminal:

   1. Inicie la sesión como root.

   2. Ejecute el mandato:

      `/usr/dt/bin/dtappintegrate -s /desktop_approots/BTE`

   3. Abra el grupo de aplicaciones Herramientas_Escritorio y efectúe una doble pulsación sobre Recargar aplicaciones.