/** \mainpage Plaqui
-\section introduccion Introducción
+\htmlonly
+<h2>Archivos.</h2>
+ <h3>Manuales.</h3>
+ <p>A continuación se presenta una lista con los manuales.</p>
+ <ul>
+ <li><a href="../../manual_proyecto.pdf">Manual del Proyecto</a>.</li>
+ <li><a href="../devel/refman.pdf">Manual de Desarrollo</a>
+ (versión imprimible de este manual).</li>
+ <li><a href="../admin/refman.pdf">Manual de Administración</a>.</li>
+ <li><a href="../../../Client/doc/manual.pdf">Manual de Usuario de
+ PlaQui Client</a>.</li>
+ <li><a href="../../../Constructor/doc/manual.pdf">Manual de Usuario
+ de PlaQui Constructor</a>.</li>
+ </ul>
- \subsection herramientas Herramientas Utilizadas
+ <h3>Archivos de ejemplo.</h3>
+ <p>Puede encontrar archivos de planta de ejemplo en el directorio
+ <a href="../../../Samples">Samples</a>.</p>
+\endhtmlonly
+
+\section introduccion Introducción.
+
+ \subsection herramientas Herramientas Utilizadas.
Aquí tenemos un listado de las herramientas y bibliotecas que estamos
utilizando a fin de poder luego documentar de manera correcta los
requerimientos para instalar y ejecutar el programa, las versiones y los
[http://www.vim.org/]
- Doxygen: Generador de documentación y referencias cruzadas.
[http://www.stack.nl/~dimitri/doxygen/]
+ - Subversion: Es un SCM (Source Code Manager) que permite trabajar
+ con versiones concurrentes en un repositorio de código fuente de
+ forma remota.
+ [http://subversion.tigris.org/]
+ - LyX: Procesador de texto WYIWYM (What You See Is What You Mean)
+ para hacer documentos técnicos fácilmente.
+ [http://www.lyx.org/]
+ - Mailman: Manejador de listas de correo.
+ [http://www.gnu.org/software/mailman/]
- GNU Make.
[http://www.gnu.org/software/make/]
- Automake.
- Autoconf.
[http://www.gnu.org/software/autoconf/]
- \subsection bibliotecas Bibliotecas Utilizadas
+ \subsection bibliotecas Bibliotecas Utilizadas.
- Gtkmm ( >= 2.0.0): Warper a C++ de la biblioteca Gtk+
[http://www.gtkmm.org/]
- Glademm ( >= 2.0.0): Para cargar archivos XML con la UI
[http://www.gtkmm.org/]
- sigc++ ( >= 1.2.5): Sistema de señales para C++
[http://libsigc.sourceforge.net/]
+ - libxml2 ( >= 0.15.0): Parser de XML.
+ [http://xmlsoft.org/]
+ - libxm++ ( >= 0.15.0): Wrapper de libxml2 para C++.
+ [http://libxmlplusplus.sourceforge.net/]
- socket++ ( >= 1.12.10): Wrapper de socket portables en C++ streams
[http://members.aon.at/hstraub/linux/socket++/]
espacio en disco. Para compilarlo (con símbolos para depurar) puede
necesitar más de 80MB.
- \subsubsection requerimientos_minimos Requerimientos mínimos
+ \subsubsection requerimientos_minimos Requerimientos mínimos.
Esta es la mínima configuración en la que fue probado.
- Procesador: Pentium 75MHz
- Memoria RAM (física y virtual): 32MB
- \subsubsection requerimientos_recomendados Requerimientos recomendados
+ \subsubsection requerimientos_recomendados Requerimientos recomendados.
- Procesador: PII 400 Mhz
- Memoria RAM: 64 MB
- \subsection instalacion Instalación.
+\section instalacion Instalación.
El programa se divide en 4 módulos:
- - Modelo: es el módulo que se encarga de la simulación y el modelo \c
- físico de la planta (es una biblioteca).
+ - \ref page_model "Modelo": es el módulo que se encarga de la simulación y el modelo
+ \c físico de la planta (es una biblioteca).
- \ref page_server "Servidor": es la infrastructura de red. Comprende tanto
el servidor como el cliente en cuando al manejo de la red (es una
biblioteca y un programa).
- - Cliente: es el cliente gráfico que permite ver la simulación (es un
+ - \ref page_client "Cliente": es el cliente gráfico que permite ver la simulación (es un
programa).
- - Constructor: es el programa para diseñar la planta química que será
- simulada por el modelo en el servidor (es un programa).
+ - \ref page_constructor "Constructor": es el programa para diseñar la planta química
+ que será simulada por el modelo en el servidor (es un programa).
La instalación puede realizarse de dos formas: instalando módulo por
módulo o instalando todos los módulos a la vez.
- \subsubsection instalacion_global Instalación Global
+ \subsection instalacion_global Instalación Global.
Para instalar todos los programas es sencillo.
-# Descomprimir el paquete:
\verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim
\verbatim aclocal && autoconf && automake -a \endverbatim
-# Configurar la compilación del proyecto (generalmente basta con):
\verbatim ./configure \endverbatim
- Esto lo instala por defecto en /usr/local, se puede
- especificar otra ruta con la opcion \c --prefix
+ Esto lo instala por defecto en <tt>/usr/local</tt>, se puede
+ especificar otra ruta con la opcion <tt>--prefix</tt>. También se
+ puede compilar en modo de depuración con la opción
+ <tt>--enable-debug</tt>. Para más opciones hacer
+ <tt>./configure --help</tt>.
-# Compilar el proyecto:
\verbatim make \endverbatim
-# Instalar el proyecto:
\verbatim make install \endverbatim
- \subsubsection instalacion_global Instalación Por Partes
+ \note Para realizar el último paso, dependiendo de si usó la
+ opción <tt>--prefix</tt> o no, es posible que necesite
+ permisos de superusuario (<tt>root</tt>).
+
+ \subsection instalacion_por_partes Instalación Por Partes.
El procedimiento es muy similar al anterior:
-# Descomprimir el paquete:
\verbatim tar -xvzf plaqui-proyect.tar.gz \endverbatim
-# Instalar el módulo:
\verbatim make install \endverbatim
-\section mainpage_servidor Servidor
- Puede ver la documentación del servidor en \ref page_server
+ \note Para realizar el último paso, dependiendo de si usó la
+ opción <tt>--prefix</tt> o no, es posible que necesite
+ permisos de superusuario (<tt>root</tt>).
+
+\section mainpage_server Puesta en marcha del servidor.
+
+ \subsection mainpage_server_uso_inicio Inicio del servidor.
+ Para iniciar el servidor es necesario disponer de un archivo XML de
+ planta (por ejemplo, generado por el \ref page_constructor "Constructor").
+
+ Invocación del servidor:
+ \verbatim ./plaqui-server [archivo] [puerto] \endverbatim
+
+ Ambos argumentos son opcionales. El primero, <tt>[archivo]</tt>, es la
+ ubicación del archivo con la descripción de la planta a simular (por omisión
+ <tt>planta.xml</tt>). El segundo, <tt>[puerto]</tt>, es el puerto en el cual
+ se van a atender las peticiones al servidor (por omisión 7522).
+
+ \subsubsection mainpage_server_log Guardar la salida del servidor en un archivo.
+ Para guardar la salida del servidor en un archivo puede ejecutar:
+ \verbatim ./plaqui-server [archivo] [puerto] > [archivo] \endverbatim
+ Esto guardará sólo los mensajes comunes pero los mensajes de error
+ seguirán apareciendo por pantalla. Para guardar todo en un archivo:
+ \verbatim ./plaqui-server [archivo] [puerto] 2>&1 > [archivo] \endverbatim
+ Si quiere guardar sólo los errores en un archivo, puede hacer:
+ \verbatim ./plaqui-server [archivo] [puerto] 2> [archivo] \endverbatim
+
+ \subsubsection mainpage_server_background Correr el servidor en segundo plano.
+ Para correr el servidor en segundo plano puede ejecutar:
+ \verbatim ./plaqui-server [archivo] [puerto] & \endverbatim
+ Esto puede combinarse con los comandos las formas de ejecución
+ detalladas en \ref mainpage_server_log.
+
+ \subsection mainpage_server_uso_estado Estado del servidor.
+ Mientras el servidor se ejecuta, va imprimiendo en la salida estándar su
+ estado. Se imprime cada vez que llega una conexión entrante y cada vez que
+ se detecta un error.
+
+ Otro tipo de información del estado del servidor puede ser obtenida desde
+ el \ref page_client "cliente" a través del comando <tt>/server/info</tt>.
+
+ \note Los errores se imprimen en la salida de error, no en la salida
+ estándar.
+
+ \subsection mainpage_server_uso_fin Finalización del servidor.
+ Hay varias formas de finalizar el servidor:
+ - Enviando una señal de interrupción (<tt>SIGINT</tt>), por ejemplo,
+ presionando la combinación de teclas <tt>CTRL-C</tt>.
+ - Enviando una señal de salida (<tt>SIGQUIT</tt>) o de terminación
+ (<tt>SIGTERM</tt>), por ejemplo, a través del comando
+ <tt>kill(1)</tt>.
+ - Enviando un comando <tt>/server/stop</tt> desde un
+ \ref page_client "cliente".
+
+ Cualquiera de estos métodos es válido y finaliza el servidor de forma
+ correcta.
+
+*/
+
+/** \namespace PlaQui
+
+Diseñador, simulador y controlador de plantas químicas distribuido.
+
+El Programa se divide en 4 módulos. Los módulo que se comportan como
+biblioteca compartida tienen a su vez un espacio de nombres (namespace)
+anidado: PlaQui::Model y PlaQui::Server.
*/
+