Diferencia entre revisiones de «EgImportExport»

De Egeasy
Saltar a: navegación, buscar
(Estructura de un objeto en fichero XML)
(Estructura de un objeto en fichero XML)
Línea 76: Línea 76:
 
<p>Como ya sabemos, la tecnología utilizada por egImportExport para representar objetos y poder realizar el intercambio de información es XML. Es por ello que saber interpretar la información que incluye un fichero .xml es fundamental para poder realizar las operaciones de exportación o importación de objetos.</p>
 
<p>Como ya sabemos, la tecnología utilizada por egImportExport para representar objetos y poder realizar el intercambio de información es XML. Es por ello que saber interpretar la información que incluye un fichero .xml es fundamental para poder realizar las operaciones de exportación o importación de objetos.</p>
 
<p>A continuación iremos explicando las marcas equivalentes a todas aquellas definiciones que afecten a un objeto en ODL.</p>
 
<p>A continuación iremos explicando las marcas equivalentes a todas aquellas definiciones que afecten a un objeto en ODL.</p>
 +
===Formato del contenedor===
 +
<p>La estructura base para representar un contenedor en XML es la siguiente:</p>
 +
 +
<Container id="RRC" name="texto" typeName="texto">
 +
    <Header>
 +
      <Domain domain_filename="archivo.xml" typeName="texto" componentName="texto"/>
 +
      <Created date="año:mes:día" user_id="texto"/>
 +
      <Modified date="año:mes:día" user_id="texto"/></Header>
 +
    <Components>
 +
      ...
 +
    <Components/>
 +
</Container>
 +
 +
<p>La marca "Container" contiene tres atributos cuya utilidad es identificar al objeto. El atributo <code>id</code> contendrá el RRC del objeto, el atributo <code>name</code> el nombre del objeto y el atributo <code>typeName</code> contendrá el nombre de la definición del contenedor. Si se utilizan prefijos en la definición del contenedor, tienen que ser incluidos en el <code>typeName</code>.</p>
 +
<p>En la marca "Header" se muestra información relativa a propiedades del objeto como su dominio, su fecha de creación o su fecha de modificación. A su vez, existe una marca para cada una de estas propiedades.</p>
 +
<p>En la etiqueta "Domain" se especificará el dominio del objeto utilizando tres atributos. En el atributo <code>domain_filename</code> especificaremos el dominio del objeto en caso de estar realizando una importación. Sólamente en el caso de estar importando un objeto del sistema el atributo tendrá valor vacío (""). Si realizamos una exportación, el atributo también estará vacío. En el atributo <code>typeName</code> se especificará el objeto del sistema en el que está alojada la com

Revisión del 13:31 2 nov 2009

EgImportExport es una aplicación perteneciente al paquete de aplicaciones de egeasy. Su finalidad es permitir al administrador importar o exportar objetos a un centro concreto. Para ello, se utiliza la tecnología XML como estándar de intercambio de información, estructurando la información y permitiendo que dicho intercambio se pueda realizar entre diferentes plataformas.

Por tanto, la información de cada objeto que se importe o exporte estará estructurada en un fichero .xml cuyo nombre será el RRC del objeto, el DRC y nombre de su definición separados por arrobas (RRC@DRC@NAME).

Antes de entrar en más detalles, veamos primero cómo configurar los parámetros que va a necesitar la aplicación para ser ejecutada.

Configuración de parámetros

Para poder ejecutar egImportExport, es necesario que en la misma carpeta donde se encuentre su ejecutable exista un fichero llamado egImportExport.ini. En este fichero especificaremos los parámetros de entrada de la aplicación, que son los siguientes:

  • USER_NAME: usuario con el que se conectará la aplicación para acceder al centro sobre el que se va a realizar la importación o exportación. El usuario debe estar dado de alta en el centro y estar activo.
  • PASSWORD: palabra de paso asociada al usuario, si la tuviera.
  • CENTER: nombre del centro al que se va a conectar la aplicación.
  • DIR_CONFIGURATIONS: ruta donde se encuentran los ficheros de importación o exportación. En estos fichero se incluyen los parámetros de configuración de la importación o exportación.

Ejemplo:

EgIE001.jpg

Una vez tenemos configurado el fichero .ini, veamos cómo crear el fichero de configuración en función de la operación a ejecutar.

Ficheros de configuración

Para la importación (.imp)

Como ya hemos dicho, para realizar una de los dos operaciones, es necesario configurar el fichero asociado a la operación a ejecutar. En este caso, se trata de una importación.

El fichero de configuración de una importación tendrá como nombre el que se le quiera dar, seguido de la extensión .imp (nombre.imp). En su contenido se incluirán aquellos parámetros que configurarán las características de la importación. Dichos parámetros son:

  • OBJECT_DIR: ruta donde se encuentran los objetos a importar, representados como ficheros .xml.
  • IMPORTED_DIR: ruta donde se irán moviendo los ficheros .xml cuyos objetos se hayan importado con éxito.
  • DOCUMENT_DIR: ruta donde se incluyen los documentos que se quieran importar, si los hubiere.
  • MODE: modo de importación.

Veamos un ejemplo a continuación:

EgIE002.jpg

Como se puede ver en la imagen anterior, el parámetro MODE tiene asignado el modo ALL. Justo debajo de esa línea, aparecen los modos que pueden ser asignados a este parámetro y que tienen que ser incluidos en el fichero de configuración. A continuación, se explicará las particularidades de cada uno de los modos:

  • FOUND: en este modo de importación, sólo se importarán aquellos objetos que ya se encuentren creados en el centro, limitándose a actualizar la información de éstos.
  • NOT_FOUND: en esta modalidad, se importarán sólo aquellos objetos que no sean encontrados en el centro, de forma que tendrán que ser creados.
  • ALL: esta modalidad es en realidad la unión de las dos anteriores. De manera que si el objeto que queremos importar ya está creado actualiza su información, y si no se encuentra, se crea.

Una vez configurado este fichero, ya podemos ejecutar la aplicación y realizar la importación.

Para la exportación (.exp)

Para realizar una exportación de objetos, al igual que para la importación, es necesario incluir un fichero de configuración de la exportación, de extensión .exp, en el directorio especificado en el fichero .ini. Este fichero, incluirá los parámetros de configuración que determinarán el comportamiento de la exportación. Dichos parámetros son:

  • OBJECT_CLASS: nombre de la definición de aquellos objetos que se quieren exportar.
  • OUTPUT_DIR: directorio de destino de los objetos exportados.
  • DOCUMENT_DIR: directorio de destino de aquellos documentos que hayan sido exportados.
  • EXPORT_CASCADE: parámetro booleano que especifica si se activa la exportación en cascada; es decir, que todos aquellos objetos que estén incluidos o vinculados al objeto inicial serán también exportados. Para activarlo le asignaremos la letra "S" y para desactivarlo le asignaremos la letra "N".
  • MODE: al igual que para las importaciones, puede haber varios modos de exportar objetos que explicaremos más adelante.

Ejemplo:

EgIE002.jpg

Al realizar una exportación, es posible que nos interese realizar una exportación que afecte sólamente a los objetos que cumplan ciertas características. Para ello, seleccionaremos uno de los tres modos de exportación que explicamos a continuación:

  • NOT_EXPORTED: se exportan aquellos objetos que nunca han sido exportados.
  • MODIFIED: se exportan aquellos objetos que han sido modificados respecto a su última exportación
  • ALL: es la unión de los dos modos anteriores. En este modo, los objetos que no se exportarán serán aquellos que hayan sido exportados anteriormente y que desde entonces, no han sido modificados.

Pero, ¿cómo sabe la aplicación qué objetos han sido o no exportados alguna vez?

Para ello existe una tabla en la base de datos del centro, que se crea automáticamente al instalar el centro, donde se registran los objetos que han sido exportados y cuándo han sido exportados por última vez. Por tanto, cuando elegimos un modo de exportación concreto, utilizará esta tabla para saber si ha sido exportado el objeto (para el modo NOT_EXPORTED) o

Estructura de un objeto en fichero XML

Como ya sabemos, la tecnología utilizada por egImportExport para representar objetos y poder realizar el intercambio de información es XML. Es por ello que saber interpretar la información que incluye un fichero .xml es fundamental para poder realizar las operaciones de exportación o importación de objetos.

A continuación iremos explicando las marcas equivalentes a todas aquellas definiciones que afecten a un objeto en ODL.

Formato del contenedor

La estructura base para representar un contenedor en XML es la siguiente:

<Container id="RRC" name="texto" typeName="texto">
   <Header>
      <Domain domain_filename="archivo.xml" typeName="texto" componentName="texto"/>
      <Created date="año:mes:día" user_id="texto"/>
      <Modified date="año:mes:día" user_id="texto"/></Header>
   <Components>
      ...
   <Components/>
</Container>

La marca "Container" contiene tres atributos cuya utilidad es identificar al objeto. El atributo id contendrá el RRC del objeto, el atributo name el nombre del objeto y el atributo typeName contendrá el nombre de la definición del contenedor. Si se utilizan prefijos en la definición del contenedor, tienen que ser incluidos en el typeName.

En la marca "Header" se muestra información relativa a propiedades del objeto como su dominio, su fecha de creación o su fecha de modificación. A su vez, existe una marca para cada una de estas propiedades.

En la etiqueta "Domain" se especificará el dominio del objeto utilizando tres atributos. En el atributo domain_filename especificaremos el dominio del objeto en caso de estar realizando una importación. Sólamente en el caso de estar importando un objeto del sistema el atributo tendrá valor vacío (""). Si realizamos una exportación, el atributo también estará vacío. En el atributo typeName se especificará el objeto del sistema en el que está alojada la com