]> git.llucax.com Git - z.facultad/75.06/emufs.git/blobdiff - doc/gui.lyx
* bugfixes
[z.facultad/75.06/emufs.git] / doc / gui.lyx
index adcb98f6d797fa1633a303a2b1c5b461fd5bc781..0885764a2d1bb7e4c6977d88578681f1148d33c4 100644 (file)
@@ -46,6 +46,60 @@ La interfaz de visualizaci
  articulos, o notas de facturas).
 \layout Section
 
  articulos, o notas de facturas).
 \layout Section
 
+Instalación
+\layout Standard
+
+Para poder correr la interfaz gráfica necesitará previamente compilarla
+ (así como compilar los programas auxiliares), para ello necesitará cumplir
+ con los siguiente requisitos:
+\layout Enumerate
+
+Compilador gcc versión 3.3.x preferentemente.
+ No podemos garantizar la compatibilidad con otras versiones debido a cambios
+ drásticos que sufrieron las versiones anteriores
+\layout Enumerate
+
+Parser XML libxml2 versión 2.6.x .
+ Versiones 2.5 y anteriores con incompatibles en la API y no funcionarán.
+\layout Enumerate
+
+libncurses version 5 o superior
+\layout Enumerate
+
+GNU Make
+\layout Subsection
+
+Compilar GUI
+\layout Standard
+
+Para compilar la GUI solo debe ejecutar el comando make dentro del directorio
+ raíz del proyecto.
+ Esto compilará primero una biblioteca estática con los manejadores de los
+ 3 tipos de archivo y luego compilará la GUI.
+\layout LyX-Code
+
+#~/emufs/> make
+\layout Subsection
+
+Preparar el banco de pruebas
+\layout Standard
+
+Antes de comenzar a utilizar la GUI deberá generar los archivo XML desde
+ donde serán leídos los datos para generar los archivos que luego se utilizará.
+ Para ello el proceso de compilación creará 2 ejecutable : generar_fact
+ y generar_art, que se ubicarán en la carpeta generar dentro de emufs_gui.
+\layout Standard
+
+Estos programas generan facturas y artículos respectivamente en forma aleatorio,
+ utilizando diccionarios de datos para llenar los campos.
+ Primero deberá ejecutar generar_art, ya que éste último crea un diccionario
+ de artículos que luego utilizará generar_fact para los items de las facturas.
+\layout Standard
+
+Ambos programas reciben 2 parámetros : el nombre de archivo de salida y
+ la cantidad de entradas a generar.
+\layout Section
+
 Línea de comandos
 \layout Standard
 
 Línea de comandos
 \layout Standard
 
@@ -132,7 +186,8 @@ collapsed true
 \layout Standard
 
 En la modificación de una factura no se podrán cambiar ni la cantidad de
 \layout Standard
 
 En la modificación de una factura no se podrán cambiar ni la cantidad de
- items y los datos de los mismo!
+ items y los datos de los mismo!.
+ La nota si podrá ser modificada.
 \end_inset 
 
  de Facturas.
 \end_inset 
 
  de Facturas.
@@ -171,7 +226,7 @@ nes.
 La cantidad de items por factura es igual a 10 para archivos de registro
  de longitud fija y bloque parametrizado (TIPO 3).
  Esta decición fue tomada por poner un valor típico de items que puede haber
 La cantidad de items por factura es igual a 10 para archivos de registro
  de longitud fija y bloque parametrizado (TIPO 3).
  Esta decición fue tomada por poner un valor típico de items que puede haber
- en una factura.
+ en una factura, evaluando un caso de un comercio chico.
  Como el tipo de archivo permite cortar un registro y guardarlo en varios
  bloques consecutivos, la restricción de cantidad solo es un hecho de elección,
  y así pusieramos 100, 1000, 10000 no habría diferencia, ya que el tipo
  Como el tipo de archivo permite cortar un registro y guardarlo en varios
  bloques consecutivos, la restricción de cantidad solo es un hecho de elección,
  y así pusieramos 100, 1000, 10000 no habría diferencia, ya que el tipo
@@ -189,15 +244,6 @@ Los campos son delimitados por el caracter nulo (en caso de los strings)
  y por la longitud del tipo de dato en caso de los campos numéricos.
  De esta forma se aprovechan las características de manejo de string en
  C.
  y por la longitud del tipo de dato en caso de los campos numéricos.
  De esta forma se aprovechan las características de manejo de string en
  C.
-\layout Enumerate
-
-Cuando se leen registros que ocupan más de un bloque, solo se jutan todos
- los bloques que ocupa dicho registro y eso es mostrado al usuario.
- Fue diseñado de esta manera debido a que parsear la data binaria que contiene
- el archivo requiere saber donde esta, cuanto ocupa y como tratarla.
- De permitir mostrar registros incompletos, complicaría mucho más le parser
- actual, ya que por ejemplo podríamos tener que un campo entero (un int
- de 4 bytes) empiece en el registro actual y termine en el siguiente.
 \layout Section
 
 Vista de Registros
 \layout Section
 
 Vista de Registros
@@ -227,10 +273,6 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la
  representación elegida :
 \layout Itemize
 
  representación elegida :
 \layout Itemize
 
-[XXX] : Son valores numéricos perteneciente a los datos (numero de factura,
- numero de artículo, etc)
-\layout Itemize
-
 (XXX) : Representa un ID.
  En el caso de las facturas también aparece en los datos el número de índice
  de la nota asociada con esta representación.
 (XXX) : Representa un ID.
  En el caso de las facturas también aparece en los datos el número de índice
  de la nota asociada con esta representación.
@@ -242,4 +284,45 @@ Los datos binarios son convertidos a texto para ser mostrados, siendo la
 
 También es posible ejecutar acciones de edición sobre el registro seleccioado,
  así como buscar por ID de registro.
 
 También es posible ejecutar acciones de edición sobre el registro seleccioado,
  así como buscar por ID de registro.
+\layout Standard
+
+Cuando se procesa la información en crudo (es decir, el area de datos) algunos
+ bytes son modificados para evitar errores visuales.
+ Un caso es cuando el bytes es compuesto por 8 bits de valor 0 (caracter
+\backslash 
+0).
+ Lo que se hace es cambiarlo por un caracter que tenga representacion visual
+ (en este caso un *).
+ Lo mismo suscede para los caracteres de control (
+\backslash 
+b 
+\backslash 
+n 
+\backslash 
+r por ejemplo) y los espacion.
+ Esta política fue tomada ya que estos caracteres modifican la salida en
+ pantalla, y de no evitar su envío a la pantalla, producirían resultados
+ inesperados en la visualización.
+\layout Section
+
+Bugs conocidos
+\layout Standard
+
+A continuación se enumera los errores que sabemos que existen, que no hemos
+ tenido tiempo de corregir, pero que no hacen al TP en sí :
+\layout Enumerate
+
+Si la consola o terminal cambia de tamaño la GUI no sigue el nuevo tamaño,
+ pudiendose producir defectos visuales.
+ Esto es debido a que se debe capturar una señal que envia el SO, pero no
+ pudimos hacer que funciones con todas las terminales bajo X, por lo que
+ se decidio dejarlo para cuando tengamos tiempo.
+\layout Enumerate
+
+Si la GUI fue compilada con -DDEBUG y no se utiliza un PIPE para redirigir
+ la salida de error estandar, es posible que algun componente del programa
+ emita un mensaje de debug o warning y esta cause defectos de visualización
+ o el programa deje directamente de funcionar.
+ Esto es un defecto de la biblioteca NCurses.
 \the_end
 \the_end