<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://wiki.egeasy.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dhernandez</id>
		<title>Egeasy - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki.egeasy.es/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dhernandez"/>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php/Especial:Contribuciones/Dhernandez"/>
		<updated>2026-05-04T16:17:53Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.26.4</generator>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5615</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5615"/>
				<updated>2009-09-18T09:02:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Plantilla para la elaboración de manuales==== &lt;br /&gt;
&amp;lt;p&amp;gt;Para facilitar y homogeneizar la generación de manuales de usuario para los procedimientos administrativos, hemos elaborado [http://wiki.egeasy.es/images/4/45/Gu%C3%ADa_de_usuario_para_procedimiento_administrativo.zip esta plantilla] que les orientará sobre cómo elaborar un guía paso a paso.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 18 Septiembre 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egSQL]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egSQL es una aplicación que está orientada a manejar la base de datos de nuestro centro, ofreciendo herramientas que faciliten las operaciones sobre nuestra base de datos y desde una interfaz mucho más intuitiva y amigable para el usuario. En el siguiente artículo, se explicarán aquellas utilidades que ofrece la aplicación así como su interfaz.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 9 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egContainerEditor]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egContainerEditor es una herramienta de bastante relevancia a la hora de llevar el mantenimiento de un centro. En ella, podremos acceder a la información de cualquier objeto que exista en nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egAdmin]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egAdmin es una herramienta importante dentro de la plataforma egeasy, ya que a través de ella gestionaremos los centros que haya instalados en un servidor. Operaciones como instalar modelo, instalar centro, arrancar centro, actualizar diccionario, etc., son operaciones que se realizan con mucha frecuencia y que explicaremos en este artículo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 26 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Exportaciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Las exportaciones son operaciones muy útiles que se realizan sobre los objetos y que permiten exportar información de los objetos creados en un centro. Es una herramienta importante ya que permite crear tablas de información sobre los objetos que posteriormente se utilizarán para crear listados.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 5 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos son componentes que permiten al desarrollador de ODL crear listados de objetos. Los catálogos son herramientas más potentes que las colecciones a la hora de mostrar información ya que aprovecha las ventajas de las sentencias SQL sobre el conjunto de las tablas del sistema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5614</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5614"/>
				<updated>2009-09-18T09:02:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Plantilla para la elaboración de manuales==== &lt;br /&gt;
&amp;lt;p&amp;gt;Para facilitar y homogeneizar la generación de manuales de usuario para los procedimientos administrativos, hemos elaborado *[http://wiki.egeasy.es/images/4/45/Gu%C3%ADa_de_usuario_para_procedimiento_administrativo.zip esta plantilla] que les orientará sobre cómo elaborar un guía paso a paso.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 18 Septiembre 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egSQL]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egSQL es una aplicación que está orientada a manejar la base de datos de nuestro centro, ofreciendo herramientas que faciliten las operaciones sobre nuestra base de datos y desde una interfaz mucho más intuitiva y amigable para el usuario. En el siguiente artículo, se explicarán aquellas utilidades que ofrece la aplicación así como su interfaz.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 9 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egContainerEditor]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egContainerEditor es una herramienta de bastante relevancia a la hora de llevar el mantenimiento de un centro. En ella, podremos acceder a la información de cualquier objeto que exista en nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egAdmin]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egAdmin es una herramienta importante dentro de la plataforma egeasy, ya que a través de ella gestionaremos los centros que haya instalados en un servidor. Operaciones como instalar modelo, instalar centro, arrancar centro, actualizar diccionario, etc., son operaciones que se realizan con mucha frecuencia y que explicaremos en este artículo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 26 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Exportaciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Las exportaciones son operaciones muy útiles que se realizan sobre los objetos y que permiten exportar información de los objetos creados en un centro. Es una herramienta importante ya que permite crear tablas de información sobre los objetos que posteriormente se utilizarán para crear listados.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 5 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos son componentes que permiten al desarrollador de ODL crear listados de objetos. Los catálogos son herramientas más potentes que las colecciones a la hora de mostrar información ya que aprovecha las ventajas de las sentencias SQL sobre el conjunto de las tablas del sistema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5613</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5613"/>
				<updated>2009-09-18T09:00:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====Plantilla para la elaboración de manuales==== &lt;br /&gt;
&amp;lt;p&amp;gt;Para facilitar y homogeneizar la generación de manuales de usuario para los procedimientos administrativos, hemos elaborado [[esta plantilla|Guía_de_usuario_para_procedimiento_administrativo.zip]] que les orientará sobre cómo elaborar un guía paso a paso.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 18 Septiembre 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egSQL]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egSQL es una aplicación que está orientada a manejar la base de datos de nuestro centro, ofreciendo herramientas que faciliten las operaciones sobre nuestra base de datos y desde una interfaz mucho más intuitiva y amigable para el usuario. En el siguiente artículo, se explicarán aquellas utilidades que ofrece la aplicación así como su interfaz.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 9 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egContainerEditor]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egContainerEditor es una herramienta de bastante relevancia a la hora de llevar el mantenimiento de un centro. En ella, podremos acceder a la información de cualquier objeto que exista en nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egAdmin]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egAdmin es una herramienta importante dentro de la plataforma egeasy, ya que a través de ella gestionaremos los centros que haya instalados en un servidor. Operaciones como instalar modelo, instalar centro, arrancar centro, actualizar diccionario, etc., son operaciones que se realizan con mucha frecuencia y que explicaremos en este artículo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 26 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Exportaciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Las exportaciones son operaciones muy útiles que se realizan sobre los objetos y que permiten exportar información de los objetos creados en un centro. Es una herramienta importante ya que permite crear tablas de información sobre los objetos que posteriormente se utilizarán para crear listados.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 5 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos son componentes que permiten al desarrollador de ODL crear listados de objetos. Los catálogos son herramientas más potentes que las colecciones a la hora de mostrar información ya que aprovecha las ventajas de las sentencias SQL sobre el conjunto de las tablas del sistema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5612</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=5612"/>
				<updated>2009-09-18T09:00:03Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;====[[egSQL]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egSQL es una aplicación que está orientada a manejar la base de datos de nuestro centro, ofreciendo herramientas que faciliten las operaciones sobre nuestra base de datos y desde una interfaz mucho más intuitiva y amigable para el usuario. En el siguiente artículo, se explicarán aquellas utilidades que ofrece la aplicación así como su interfaz.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 9 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
====Plantilla para la elaboración de manuales==== &lt;br /&gt;
&amp;lt;p&amp;gt;Para facilitar y homogeneizar la generación de manuales de usuario para los procedimientos administrativos, hemos elaborado [esta plantilla|Guía_de_usuario_para_procedimiento_administrativo.zip] que les orientará sobre cómo elaborar un guía paso a paso.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egContainerEditor]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egContainerEditor es una herramienta de bastante relevancia a la hora de llevar el mantenimiento de un centro. En ella, podremos acceder a la información de cualquier objeto que exista en nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Junio 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[egAdmin]]====&lt;br /&gt;
&amp;lt;p&amp;gt;egAdmin es una herramienta importante dentro de la plataforma egeasy, ya que a través de ella gestionaremos los centros que haya instalados en un servidor. Operaciones como instalar modelo, instalar centro, arrancar centro, actualizar diccionario, etc., son operaciones que se realizan con mucha frecuencia y que explicaremos en este artículo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 26 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Exportaciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Las exportaciones son operaciones muy útiles que se realizan sobre los objetos y que permiten exportar información de los objetos creados en un centro. Es una herramienta importante ya que permite crear tablas de información sobre los objetos que posteriormente se utilizarán para crear listados.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 5 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos son componentes que permiten al desarrollador de ODL crear listados de objetos. Los catálogos son herramientas más potentes que las colecciones a la hora de mostrar información ya que aprovecha las ventajas de las sentencias SQL sobre el conjunto de las tablas del sistema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div align=right&amp;gt;&amp;lt;p&amp;gt;'''Publicado: 4 Mayo 2009'''&amp;lt;/p&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOEDITSECTION__&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Archivo:Gu%C3%ADa_de_usuario_para_procedimiento_administrativo.zip&amp;diff=5611</id>
		<title>Archivo:Guía de usuario para procedimiento administrativo.zip</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Archivo:Gu%C3%ADa_de_usuario_para_procedimiento_administrativo.zip&amp;diff=5611"/>
				<updated>2009-09-18T08:59:44Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5438</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5438"/>
				<updated>2009-07-13T11:58:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Desarrollar con egeasy paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Desarrollar_con_egeasy_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5437</id>
		<title>Tarea A: Libros y registro de entrada y salida</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5437"/>
				<updated>2009-07-13T11:56:49Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: /* ¿Qué es una habitación? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Construir_una_aplicación_paso_a_paso|Construir una aplicación paso a paso]]&lt;br /&gt;
&lt;br /&gt;
En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Te recomendamos que trabajes en la máquina virtual que te hemos proporcionado. En caso de no tenerla, por favor, envía un correo a soporte@egeasy.es y te la haremos llegar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contenedor, formulario y campos. Definiendo el concepto &amp;quot;Entrada&amp;quot;==&lt;br /&gt;
&amp;lt;p&amp;gt;En el directorio '''#Source''', crea un fichero y llámalo '''Main.ndf'''. Ábrelo con tu editor favorito (te recomendamos EditPlus) y vamos a comenzar a trabajar.&amp;lt;/p&amp;gt;&lt;br /&gt;
Empezaremos definiendo el concepto '''Entrada''':&lt;br /&gt;
&lt;br /&gt;
 {{PR|unidad}} [Main]&lt;br /&gt;
 {{PR|tipo}} [Entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
       [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
¿Qué hemos hecho?&lt;br /&gt;
&lt;br /&gt;
En primer lugar, hemos declarado el nombre de la unidad '''[Main]''' en la que estamos trabajando. Podemos definir nuestro sistema en cuantos ficheros queramos, pero para que el compilador los analice, debemos darle un nombre de unidad a cada uno y, además, incluirlo en el fichero del proyecto, como veremos más adelante.&lt;br /&gt;
&lt;br /&gt;
A continuación, hemos declarado el tipo Entrada diciendo que es un [[Contenedores|contenedor]]. [[Contenedores|Contenedor]] es un tipo nativo de la plataforma y una de las piezas fundamentales de ODL. Los [[Contenedores|contenedores]] nos permitirán definir, entre otros, formularios y colecciones de datos con gran facilidad.&lt;br /&gt;
&lt;br /&gt;
Dentro del [[Contenedores|contenedor]] hemos definimos una componente formulario, indicando que vamos a declarar un formulario de datos. Seguidamente, decimos que este formulario tiene cuatro campos (de momento dejaremos fuera la documentación adjunta), todos de tipo texto.&lt;br /&gt;
&lt;br /&gt;
Por último, cerramos la declaración de formulario y la declaración del [[Contenedores|contenedor]] Entrada.&lt;br /&gt;
&lt;br /&gt;
==Crear un &amp;quot;Libro de entrada&amp;quot;==&lt;br /&gt;
Ya está. Ya podemos crear entradas en nuestro sistema. ¿Dónde? En el Libro de entrada:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
       -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|columna}} [Número]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
       {{PR|columna}} [Fecha]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
En este fragmento de código, definimos el '''Libro de entrada''' también como [[Contenedores|contenedor]]. Pero, ¿no ponemos {{PR|tipo}} antes de '''[Libro de entrada]'''? Antes de continuar es necesario aclarar un concepto. &lt;br /&gt;
&lt;br /&gt;
==Declaraciones en ODL==&lt;br /&gt;
En ODL se pueden hacer dos clases de declaraciones:&lt;br /&gt;
&lt;br /&gt;
:* Declaraciones de tipo&lt;br /&gt;
:* Declaraciones de sistema&lt;br /&gt;
&lt;br /&gt;
Si se hace una declaración de tipo, estamos definiendo un objeto reutilizable y del que pueden existir varias instancias. Al hacer una declaración de sistema, estamos indicando que sólo existe una instancia. Por hacer un símil con la Programación Orientada a Objetos, las declaraciones de tipo serían las clases de las cuáles se crean instancias durante la vida de la aplicación y las declaraciones de sistema serían clases ''singleton''.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una colección?==&lt;br /&gt;
El '''Libro de entrada''' es una definición de sistema; es decir, sólo existirá una instancia del libro en la aplicación. Por otro lado, podremos crear múltiples instancias de '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
Dentro del Libro definimos una componente de tipo {{T|coleccion}} a la cuál denominamos Contenido, indicando que este objeto tiene una colección de objetos. El tipo de objetos que puede contener se especifica mediante la sentencia contiene. En este caso, indicamos que la colección '''Contenido''' contiene objetos de tipo '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
En la aplicación final, una colección se verá como una lista de objetos. Para generar dicha lista, el sistema crea una tabla en la base de datos con las columnas que se mostrarán en la vista. El nombre de esta tabla lo especificamos en el atributo {{AT|nombre_tabla}}. En el ejemplo, indicamos que para esta colección se cree la tabla '''TC$ENTRADAS'''.&lt;br /&gt;
&lt;br /&gt;
Para añadir columnas a la vista utilizamos las declaraciones de columna. En nuestro libro, indicamos que queremos dos columnas: [Número] y [Fecha]. Para cada columna, deben indicarse al menos dos atributos:&lt;br /&gt;
&lt;br /&gt;
:* Cómo se llamará la columna en la base de datos ({{AT|columna_bd.nombre}})&lt;br /&gt;
:* Qué dato se mostrará en la vista ({{AT|origen}})&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, para la columna [Número] decimos que en la base de datos se llamará '''NUMERO''' y que debe mostrar el campo '''[Datos generales].[Número]''' (es decir, el campo '''Número''' que está en el formulario '''[Datos generales]''' del objeto '''Entrada''').Aunque en nuestro ejemplo una columna muestra el valor de un solo campo, no&lt;br /&gt;
tenemos por qué limitarnos a este uso. Al atributo {{AT|origen}} se le puede asignar una expresión más compleja, como por ejemplo una concatenación de campos.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una habitación?==&lt;br /&gt;
Lo único que falta para que nuestro libro sea operativo es hacerlo accesible para los usuarios. Para ello, debemos definir una habitación y ubicar en ella el '''Libro de entrada''':&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entradas]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Conceptualmente, una {{RE|habitacion}} representa una oficina o un departamento de la organización. Dentro de una {{RE|habitacion}} indicamos qué recursos de sistema van a estar disponibles para los usuarios de esa oficina. Esto nos ayuda a construir el sistema siguiendo la estructura organizativa de la corporación, pero, simultáneamente, a lograr que todos los recursos transversales sean accesibles allí donde sean necesarios. ¿Cómo? Realizando declaraciones de {{PR|ubicado}}, indicando qué recursos de sistema van a estar disponibles para los usuarios de dicha {{RE|habitacion}}.&lt;br /&gt;
&lt;br /&gt;
Cada vez que ubiquemos un recurso, debemos indicar en el atributo lugar en qué grupo va a estar colocado. En nuestro ejemplo, decimos que queremos poner el '''Libro de entrada''' en el grupo '''Libros'''. No existe un conjunto de valores predefinidos para el atributo lugar. Se le puede asignar cualquier valor.&lt;br /&gt;
&lt;br /&gt;
Ahora, sólo queda [[Cómo_compilar_paso_a_paso|'''generar el modelo''']], [[Cómo_instalar_un_centro_desde_cero|'''instalar e iniciar el centro''']].&lt;br /&gt;
&lt;br /&gt;
Cuando lo hayamos hecho, arrancamos la aplicación egExplorer y lo que nos aparecerá será una lista con todas las habitaciones disponibles en el sistema, donde la única que aperecerá será '''Registro de entrada y salida'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 2.jpg|thumb|250px|Habitaciones disponibles]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si entramos en nuestra habitación, veremos a la izquierda el grupo Libros con el Libro de entrada ubicado y haciendo clic lo abriremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 3.jpg|thumb|250px|Libro de entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo clic en Nuevo crearemos una nueva entrada en el Libro. ¿Y qué aparece? El formulario que hemos definido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 4.jpg|thumb|250px|Formulario Datos generales del objeto Entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si creamos una entrada, la guardamos y volvemos al libro aparecerá el listado con un elemento mostrando el número y la fecha que hemos puesto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 5.jpg|thumb|250px|Libro de entradas con una Entrada creada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incluir la columna &amp;quot;Remitente&amp;quot; en el &amp;quot;Libro de Entrada&amp;quot;==&lt;br /&gt;
¿Y si además queremos incluir el '''Remitente'''? Pues no tenemos más que volver a nuestro código y añadir la columna en la {{T|coleccion}}:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Compilamos y actualizamos el modelo. Al hacerlo, en la tabla '''TC$ENTRADAS''' se añadirá la columna REMITENTE. Si volvemos al egExplorer y abrimos el '''Libro de entrada''' veremos la columna Remitente incorporada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 6.jpg|thumb|250px|Entrada con la columna remitente]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: #ffffcc; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Y el campo Destinatario, ¿no lo ponemos como columna? Entonces, ¿dónde se almacena?'''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Es el momento de explicar cómo se almacenan los objetos en la plataforma egEasy.&amp;lt;br/&amp;gt;egEasy utiliza una base de datos orientada a objetos, en vez de un esquema clásico de base de datos relacional. Con esta arquitectura no tenemos una tabla para cada objeto nuevo que se crea en la base de datos. En su lugar, hay una sola tabla (eg$resources) en la que se almacenan todos los recursos del sistema. La administración de esta tabla es completamente transparente para el desarrollador y dentro de ella todos los campos y atributos de cada objeto se guardan serializados en un campo binario.&lt;br /&gt;
&lt;br /&gt;
Entonces, ¿para qué nos sirve una colección? Con la definición de una colección logramos dos objetivos. En primer lugar, definimos el ámbito en el que se pueden crear los objetos (el objeto '''Entrada''' se puede crear en la componente '''Contenido''' del '''Libro de entrada'''). Por otro lado, proporcionamos un método rápido y eficiente para mostrar una lista de objetos; si no utilizásemos las colecciones, en el momento de mostrar una lista habría que deserializar uno por uno los objetos, una operación que podría resultar muy lenta.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definición del &amp;quot;Libro de salida&amp;quot;==&lt;br /&gt;
La definición del libro de salida es prácticamente igual al de entradas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
        [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Libro de salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$SALIDAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Salida]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Para hacerlo visible para los usuarios, debemos ubicarlo en la oficina:&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
    {{PR|ubicado}} [Libro de salida]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
==¿Qué hemos aprendido?==&lt;br /&gt;
&lt;br /&gt;
:* En ODL existen dos clases de declaraciones: de tipo (podemos crear instancias de ellas) y de sistema (sólo existe una intancia).&lt;br /&gt;
:* El [[Contenedores|contenedor]] es uno de los tipos fundamentales de ODL y nos permite definir en su contexto componentes tales como formularios y colecciones de datos.&lt;br /&gt;
:* Las colecciones se muestran en la aplicación final como listas de objetos en las que podemos crear [[Contenedores|contenedores]].&lt;br /&gt;
:* Podemos añadir columnas a una colección haciendo uso de la sentencia columna.&lt;br /&gt;
:* La declaraciones de habitación nos permiten ubicar los recursos para hacerlos visibles a los usuarios.&lt;br /&gt;
&lt;br /&gt;
==Siguiente tarea==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_B:_Mejorando_la_numeración_del_registro|Tarea B: Mejorando la numeración del registro]]&lt;br /&gt;
&lt;br /&gt;
==Véase también==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Tarea C: Evolucionando la introducción de datos]]&lt;br /&gt;
:*[[Tarea_D:_Validar_la_introducción_de_datos|Tarea D: Validar la introducción de datos]]&lt;br /&gt;
:*[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Tarea E: Utilizar el registro como un almacén de documentación]]&lt;br /&gt;
:*[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Tarea F: Abriendo el registro al resto de las oficinas]]&lt;br /&gt;
:*[[Tarea_G:_Evitando_la_repliación_de_código|Tarea G: Evitando la repliación de código]]&lt;br /&gt;
:*[[Tarea_H:_Emitir_certificados_de_documentación|Tarea H: Emitir certificados de documentación]]&lt;br /&gt;
:*[[Tarea_I:_Creando_una_oficina_sin_papeles|Tarea I: Creando una oficina sin papeles]]&lt;br /&gt;
:*[[Tarea_J:_Importar_la_base_de_datos_de_terceros_de_otra_aplicación|Tarea J: Importar la base de datos de terceros de otra aplicación]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5436</id>
		<title>Tarea A: Libros y registro de entrada y salida</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5436"/>
				<updated>2009-07-13T11:56:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: /* ¿Qué es una habitación? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Construir_una_aplicación_paso_a_paso|Construir una aplicación paso a paso]]&lt;br /&gt;
&lt;br /&gt;
En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Te recomendamos que trabajes en la máquina virtual que te hemos proporcionado. En caso de no tenerla, por favor, envía un correo a soporte@egeasy.es y te la haremos llegar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contenedor, formulario y campos. Definiendo el concepto &amp;quot;Entrada&amp;quot;==&lt;br /&gt;
&amp;lt;p&amp;gt;En el directorio '''#Source''', crea un fichero y llámalo '''Main.ndf'''. Ábrelo con tu editor favorito (te recomendamos EditPlus) y vamos a comenzar a trabajar.&amp;lt;/p&amp;gt;&lt;br /&gt;
Empezaremos definiendo el concepto '''Entrada''':&lt;br /&gt;
&lt;br /&gt;
 {{PR|unidad}} [Main]&lt;br /&gt;
 {{PR|tipo}} [Entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
       [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
¿Qué hemos hecho?&lt;br /&gt;
&lt;br /&gt;
En primer lugar, hemos declarado el nombre de la unidad '''[Main]''' en la que estamos trabajando. Podemos definir nuestro sistema en cuantos ficheros queramos, pero para que el compilador los analice, debemos darle un nombre de unidad a cada uno y, además, incluirlo en el fichero del proyecto, como veremos más adelante.&lt;br /&gt;
&lt;br /&gt;
A continuación, hemos declarado el tipo Entrada diciendo que es un [[Contenedores|contenedor]]. [[Contenedores|Contenedor]] es un tipo nativo de la plataforma y una de las piezas fundamentales de ODL. Los [[Contenedores|contenedores]] nos permitirán definir, entre otros, formularios y colecciones de datos con gran facilidad.&lt;br /&gt;
&lt;br /&gt;
Dentro del [[Contenedores|contenedor]] hemos definimos una componente formulario, indicando que vamos a declarar un formulario de datos. Seguidamente, decimos que este formulario tiene cuatro campos (de momento dejaremos fuera la documentación adjunta), todos de tipo texto.&lt;br /&gt;
&lt;br /&gt;
Por último, cerramos la declaración de formulario y la declaración del [[Contenedores|contenedor]] Entrada.&lt;br /&gt;
&lt;br /&gt;
==Crear un &amp;quot;Libro de entrada&amp;quot;==&lt;br /&gt;
Ya está. Ya podemos crear entradas en nuestro sistema. ¿Dónde? En el Libro de entrada:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
       -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|columna}} [Número]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
       {{PR|columna}} [Fecha]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
En este fragmento de código, definimos el '''Libro de entrada''' también como [[Contenedores|contenedor]]. Pero, ¿no ponemos {{PR|tipo}} antes de '''[Libro de entrada]'''? Antes de continuar es necesario aclarar un concepto. &lt;br /&gt;
&lt;br /&gt;
==Declaraciones en ODL==&lt;br /&gt;
En ODL se pueden hacer dos clases de declaraciones:&lt;br /&gt;
&lt;br /&gt;
:* Declaraciones de tipo&lt;br /&gt;
:* Declaraciones de sistema&lt;br /&gt;
&lt;br /&gt;
Si se hace una declaración de tipo, estamos definiendo un objeto reutilizable y del que pueden existir varias instancias. Al hacer una declaración de sistema, estamos indicando que sólo existe una instancia. Por hacer un símil con la Programación Orientada a Objetos, las declaraciones de tipo serían las clases de las cuáles se crean instancias durante la vida de la aplicación y las declaraciones de sistema serían clases ''singleton''.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una colección?==&lt;br /&gt;
El '''Libro de entrada''' es una definición de sistema; es decir, sólo existirá una instancia del libro en la aplicación. Por otro lado, podremos crear múltiples instancias de '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
Dentro del Libro definimos una componente de tipo {{T|coleccion}} a la cuál denominamos Contenido, indicando que este objeto tiene una colección de objetos. El tipo de objetos que puede contener se especifica mediante la sentencia contiene. En este caso, indicamos que la colección '''Contenido''' contiene objetos de tipo '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
En la aplicación final, una colección se verá como una lista de objetos. Para generar dicha lista, el sistema crea una tabla en la base de datos con las columnas que se mostrarán en la vista. El nombre de esta tabla lo especificamos en el atributo {{AT|nombre_tabla}}. En el ejemplo, indicamos que para esta colección se cree la tabla '''TC$ENTRADAS'''.&lt;br /&gt;
&lt;br /&gt;
Para añadir columnas a la vista utilizamos las declaraciones de columna. En nuestro libro, indicamos que queremos dos columnas: [Número] y [Fecha]. Para cada columna, deben indicarse al menos dos atributos:&lt;br /&gt;
&lt;br /&gt;
:* Cómo se llamará la columna en la base de datos ({{AT|columna_bd.nombre}})&lt;br /&gt;
:* Qué dato se mostrará en la vista ({{AT|origen}})&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, para la columna [Número] decimos que en la base de datos se llamará '''NUMERO''' y que debe mostrar el campo '''[Datos generales].[Número]''' (es decir, el campo '''Número''' que está en el formulario '''[Datos generales]''' del objeto '''Entrada''').Aunque en nuestro ejemplo una columna muestra el valor de un solo campo, no&lt;br /&gt;
tenemos por qué limitarnos a este uso. Al atributo {{AT|origen}} se le puede asignar una expresión más compleja, como por ejemplo una concatenación de campos.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una habitación?==&lt;br /&gt;
Lo único que falta para que nuestro libro sea operativo es hacerlo accesible para los usuarios. Para ello, debemos definir una habitación y ubicar en ella el '''Libro de entrada''':&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entradas]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Conceptualmente, una {{RE|habitacion}} representa una oficina o un departamento de la organización. Dentro de una {{RE|habitacion}} indicamos qué recursos de sistema van a estar disponibles para los usuarios de esa oficina. Esto nos ayuda a construir el sistema siguiendo la estructura organizativa de la corporación, pero, simultáneamente, a lograr que todos los recursos transversales sean accesibles allí donde sean necesarios. ¿Cómo? Realizando declaraciones de {{PR|ubicado}}, indicando qué recursos de sistema van a estar disponibles para los usuarios de dicha {{RE|habitacion}}.&lt;br /&gt;
&lt;br /&gt;
Cada vez que ubiquemos un recurso, debemos indicar en el atributo lugar en qué grupo va a estar colocado. En nuestro ejemplo, decimos que queremos poner el '''Libro de entrada''' en el grupo '''Libros'''. No existe un conjunto de valores predefinidos para el atributo lugar. Se le puede asignar cualquier valor.&lt;br /&gt;
&lt;br /&gt;
Ahora, sólo queda [[Cómo_compilar_paso_a_paso|generar el modelo]], [http://wiki.egeasy.es/index.php/Cómo_instalar_un_centro_desde_cero '''instalar e iniciar el centro'''].&lt;br /&gt;
&lt;br /&gt;
Cuando lo hayamos hecho, arrancamos la aplicación egExplorer y lo que nos aparecerá será una lista con todas las habitaciones disponibles en el sistema, donde la única que aperecerá será '''Registro de entrada y salida'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 2.jpg|thumb|250px|Habitaciones disponibles]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si entramos en nuestra habitación, veremos a la izquierda el grupo Libros con el Libro de entrada ubicado y haciendo clic lo abriremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 3.jpg|thumb|250px|Libro de entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo clic en Nuevo crearemos una nueva entrada en el Libro. ¿Y qué aparece? El formulario que hemos definido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 4.jpg|thumb|250px|Formulario Datos generales del objeto Entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si creamos una entrada, la guardamos y volvemos al libro aparecerá el listado con un elemento mostrando el número y la fecha que hemos puesto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 5.jpg|thumb|250px|Libro de entradas con una Entrada creada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incluir la columna &amp;quot;Remitente&amp;quot; en el &amp;quot;Libro de Entrada&amp;quot;==&lt;br /&gt;
¿Y si además queremos incluir el '''Remitente'''? Pues no tenemos más que volver a nuestro código y añadir la columna en la {{T|coleccion}}:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Compilamos y actualizamos el modelo. Al hacerlo, en la tabla '''TC$ENTRADAS''' se añadirá la columna REMITENTE. Si volvemos al egExplorer y abrimos el '''Libro de entrada''' veremos la columna Remitente incorporada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 6.jpg|thumb|250px|Entrada con la columna remitente]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: #ffffcc; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Y el campo Destinatario, ¿no lo ponemos como columna? Entonces, ¿dónde se almacena?'''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Es el momento de explicar cómo se almacenan los objetos en la plataforma egEasy.&amp;lt;br/&amp;gt;egEasy utiliza una base de datos orientada a objetos, en vez de un esquema clásico de base de datos relacional. Con esta arquitectura no tenemos una tabla para cada objeto nuevo que se crea en la base de datos. En su lugar, hay una sola tabla (eg$resources) en la que se almacenan todos los recursos del sistema. La administración de esta tabla es completamente transparente para el desarrollador y dentro de ella todos los campos y atributos de cada objeto se guardan serializados en un campo binario.&lt;br /&gt;
&lt;br /&gt;
Entonces, ¿para qué nos sirve una colección? Con la definición de una colección logramos dos objetivos. En primer lugar, definimos el ámbito en el que se pueden crear los objetos (el objeto '''Entrada''' se puede crear en la componente '''Contenido''' del '''Libro de entrada'''). Por otro lado, proporcionamos un método rápido y eficiente para mostrar una lista de objetos; si no utilizásemos las colecciones, en el momento de mostrar una lista habría que deserializar uno por uno los objetos, una operación que podría resultar muy lenta.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definición del &amp;quot;Libro de salida&amp;quot;==&lt;br /&gt;
La definición del libro de salida es prácticamente igual al de entradas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
        [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Libro de salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$SALIDAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Salida]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Para hacerlo visible para los usuarios, debemos ubicarlo en la oficina:&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
    {{PR|ubicado}} [Libro de salida]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
==¿Qué hemos aprendido?==&lt;br /&gt;
&lt;br /&gt;
:* En ODL existen dos clases de declaraciones: de tipo (podemos crear instancias de ellas) y de sistema (sólo existe una intancia).&lt;br /&gt;
:* El [[Contenedores|contenedor]] es uno de los tipos fundamentales de ODL y nos permite definir en su contexto componentes tales como formularios y colecciones de datos.&lt;br /&gt;
:* Las colecciones se muestran en la aplicación final como listas de objetos en las que podemos crear [[Contenedores|contenedores]].&lt;br /&gt;
:* Podemos añadir columnas a una colección haciendo uso de la sentencia columna.&lt;br /&gt;
:* La declaraciones de habitación nos permiten ubicar los recursos para hacerlos visibles a los usuarios.&lt;br /&gt;
&lt;br /&gt;
==Siguiente tarea==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_B:_Mejorando_la_numeración_del_registro|Tarea B: Mejorando la numeración del registro]]&lt;br /&gt;
&lt;br /&gt;
==Véase también==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Tarea C: Evolucionando la introducción de datos]]&lt;br /&gt;
:*[[Tarea_D:_Validar_la_introducción_de_datos|Tarea D: Validar la introducción de datos]]&lt;br /&gt;
:*[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Tarea E: Utilizar el registro como un almacén de documentación]]&lt;br /&gt;
:*[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Tarea F: Abriendo el registro al resto de las oficinas]]&lt;br /&gt;
:*[[Tarea_G:_Evitando_la_repliación_de_código|Tarea G: Evitando la repliación de código]]&lt;br /&gt;
:*[[Tarea_H:_Emitir_certificados_de_documentación|Tarea H: Emitir certificados de documentación]]&lt;br /&gt;
:*[[Tarea_I:_Creando_una_oficina_sin_papeles|Tarea I: Creando una oficina sin papeles]]&lt;br /&gt;
:*[[Tarea_J:_Importar_la_base_de_datos_de_terceros_de_otra_aplicación|Tarea J: Importar la base de datos de terceros de otra aplicación]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5435</id>
		<title>Tarea A: Libros y registro de entrada y salida</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5435"/>
				<updated>2009-07-13T11:55:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: /* ¿Qué es una habitación? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Construir_una_aplicación_paso_a_paso|Construir una aplicación paso a paso]]&lt;br /&gt;
&lt;br /&gt;
En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Te recomendamos que trabajes en la máquina virtual que te hemos proporcionado. En caso de no tenerla, por favor, envía un correo a soporte@egeasy.es y te la haremos llegar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contenedor, formulario y campos. Definiendo el concepto &amp;quot;Entrada&amp;quot;==&lt;br /&gt;
&amp;lt;p&amp;gt;En el directorio '''#Source''', crea un fichero y llámalo '''Main.ndf'''. Ábrelo con tu editor favorito (te recomendamos EditPlus) y vamos a comenzar a trabajar.&amp;lt;/p&amp;gt;&lt;br /&gt;
Empezaremos definiendo el concepto '''Entrada''':&lt;br /&gt;
&lt;br /&gt;
 {{PR|unidad}} [Main]&lt;br /&gt;
 {{PR|tipo}} [Entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
       [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
¿Qué hemos hecho?&lt;br /&gt;
&lt;br /&gt;
En primer lugar, hemos declarado el nombre de la unidad '''[Main]''' en la que estamos trabajando. Podemos definir nuestro sistema en cuantos ficheros queramos, pero para que el compilador los analice, debemos darle un nombre de unidad a cada uno y, además, incluirlo en el fichero del proyecto, como veremos más adelante.&lt;br /&gt;
&lt;br /&gt;
A continuación, hemos declarado el tipo Entrada diciendo que es un [[Contenedores|contenedor]]. [[Contenedores|Contenedor]] es un tipo nativo de la plataforma y una de las piezas fundamentales de ODL. Los [[Contenedores|contenedores]] nos permitirán definir, entre otros, formularios y colecciones de datos con gran facilidad.&lt;br /&gt;
&lt;br /&gt;
Dentro del [[Contenedores|contenedor]] hemos definimos una componente formulario, indicando que vamos a declarar un formulario de datos. Seguidamente, decimos que este formulario tiene cuatro campos (de momento dejaremos fuera la documentación adjunta), todos de tipo texto.&lt;br /&gt;
&lt;br /&gt;
Por último, cerramos la declaración de formulario y la declaración del [[Contenedores|contenedor]] Entrada.&lt;br /&gt;
&lt;br /&gt;
==Crear un &amp;quot;Libro de entrada&amp;quot;==&lt;br /&gt;
Ya está. Ya podemos crear entradas en nuestro sistema. ¿Dónde? En el Libro de entrada:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
       -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|columna}} [Número]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
       {{PR|columna}} [Fecha]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
En este fragmento de código, definimos el '''Libro de entrada''' también como [[Contenedores|contenedor]]. Pero, ¿no ponemos {{PR|tipo}} antes de '''[Libro de entrada]'''? Antes de continuar es necesario aclarar un concepto. &lt;br /&gt;
&lt;br /&gt;
==Declaraciones en ODL==&lt;br /&gt;
En ODL se pueden hacer dos clases de declaraciones:&lt;br /&gt;
&lt;br /&gt;
:* Declaraciones de tipo&lt;br /&gt;
:* Declaraciones de sistema&lt;br /&gt;
&lt;br /&gt;
Si se hace una declaración de tipo, estamos definiendo un objeto reutilizable y del que pueden existir varias instancias. Al hacer una declaración de sistema, estamos indicando que sólo existe una instancia. Por hacer un símil con la Programación Orientada a Objetos, las declaraciones de tipo serían las clases de las cuáles se crean instancias durante la vida de la aplicación y las declaraciones de sistema serían clases ''singleton''.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una colección?==&lt;br /&gt;
El '''Libro de entrada''' es una definición de sistema; es decir, sólo existirá una instancia del libro en la aplicación. Por otro lado, podremos crear múltiples instancias de '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
Dentro del Libro definimos una componente de tipo {{T|coleccion}} a la cuál denominamos Contenido, indicando que este objeto tiene una colección de objetos. El tipo de objetos que puede contener se especifica mediante la sentencia contiene. En este caso, indicamos que la colección '''Contenido''' contiene objetos de tipo '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
En la aplicación final, una colección se verá como una lista de objetos. Para generar dicha lista, el sistema crea una tabla en la base de datos con las columnas que se mostrarán en la vista. El nombre de esta tabla lo especificamos en el atributo {{AT|nombre_tabla}}. En el ejemplo, indicamos que para esta colección se cree la tabla '''TC$ENTRADAS'''.&lt;br /&gt;
&lt;br /&gt;
Para añadir columnas a la vista utilizamos las declaraciones de columna. En nuestro libro, indicamos que queremos dos columnas: [Número] y [Fecha]. Para cada columna, deben indicarse al menos dos atributos:&lt;br /&gt;
&lt;br /&gt;
:* Cómo se llamará la columna en la base de datos ({{AT|columna_bd.nombre}})&lt;br /&gt;
:* Qué dato se mostrará en la vista ({{AT|origen}})&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, para la columna [Número] decimos que en la base de datos se llamará '''NUMERO''' y que debe mostrar el campo '''[Datos generales].[Número]''' (es decir, el campo '''Número''' que está en el formulario '''[Datos generales]''' del objeto '''Entrada''').Aunque en nuestro ejemplo una columna muestra el valor de un solo campo, no&lt;br /&gt;
tenemos por qué limitarnos a este uso. Al atributo {{AT|origen}} se le puede asignar una expresión más compleja, como por ejemplo una concatenación de campos.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una habitación?==&lt;br /&gt;
Lo único que falta para que nuestro libro sea operativo es hacerlo accesible para los usuarios. Para ello, debemos definir una habitación y ubicar en ella el '''Libro de entrada''':&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entradas]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Conceptualmente, una {{RE|habitacion}} representa una oficina o un departamento de la organización. Dentro de una {{RE|habitacion}} indicamos qué recursos de sistema van a estar disponibles para los usuarios de esa oficina. Esto nos ayuda a construir el sistema siguiendo la estructura organizativa de la corporación, pero, simultáneamente, a lograr que todos los recursos transversales sean accesibles allí donde sean necesarios. ¿Cómo? Realizando declaraciones de {{PR|ubicado}}, indicando qué recursos de sistema van a estar disponibles para los usuarios de dicha {{RE|habitacion}}.&lt;br /&gt;
&lt;br /&gt;
Cada vez que ubiquemos un recurso, debemos indicar en el atributo lugar en qué grupo va a estar colocado. En nuestro ejemplo, decimos que queremos poner el '''Libro de entrada''' en el grupo '''Libros'''. No existe un conjunto de valores predefinidos para el atributo lugar. Se le puede asignar cualquier valor.&lt;br /&gt;
&lt;br /&gt;
Ahora, sólo queda [Cómo_compilar_paso_a_paso|generar el modelo], [http://wiki.egeasy.es/index.php/Cómo_instalar_un_centro_desde_cero '''instalar e iniciar el centro'''].&lt;br /&gt;
&lt;br /&gt;
Cuando lo hayamos hecho, arrancamos la aplicación egExplorer y lo que nos aparecerá será una lista con todas las habitaciones disponibles en el sistema, donde la única que aperecerá será '''Registro de entrada y salida'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 2.jpg|thumb|250px|Habitaciones disponibles]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si entramos en nuestra habitación, veremos a la izquierda el grupo Libros con el Libro de entrada ubicado y haciendo clic lo abriremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 3.jpg|thumb|250px|Libro de entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo clic en Nuevo crearemos una nueva entrada en el Libro. ¿Y qué aparece? El formulario que hemos definido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 4.jpg|thumb|250px|Formulario Datos generales del objeto Entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si creamos una entrada, la guardamos y volvemos al libro aparecerá el listado con un elemento mostrando el número y la fecha que hemos puesto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 5.jpg|thumb|250px|Libro de entradas con una Entrada creada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incluir la columna &amp;quot;Remitente&amp;quot; en el &amp;quot;Libro de Entrada&amp;quot;==&lt;br /&gt;
¿Y si además queremos incluir el '''Remitente'''? Pues no tenemos más que volver a nuestro código y añadir la columna en la {{T|coleccion}}:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Compilamos y actualizamos el modelo. Al hacerlo, en la tabla '''TC$ENTRADAS''' se añadirá la columna REMITENTE. Si volvemos al egExplorer y abrimos el '''Libro de entrada''' veremos la columna Remitente incorporada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 6.jpg|thumb|250px|Entrada con la columna remitente]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: #ffffcc; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Y el campo Destinatario, ¿no lo ponemos como columna? Entonces, ¿dónde se almacena?'''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Es el momento de explicar cómo se almacenan los objetos en la plataforma egEasy.&amp;lt;br/&amp;gt;egEasy utiliza una base de datos orientada a objetos, en vez de un esquema clásico de base de datos relacional. Con esta arquitectura no tenemos una tabla para cada objeto nuevo que se crea en la base de datos. En su lugar, hay una sola tabla (eg$resources) en la que se almacenan todos los recursos del sistema. La administración de esta tabla es completamente transparente para el desarrollador y dentro de ella todos los campos y atributos de cada objeto se guardan serializados en un campo binario.&lt;br /&gt;
&lt;br /&gt;
Entonces, ¿para qué nos sirve una colección? Con la definición de una colección logramos dos objetivos. En primer lugar, definimos el ámbito en el que se pueden crear los objetos (el objeto '''Entrada''' se puede crear en la componente '''Contenido''' del '''Libro de entrada'''). Por otro lado, proporcionamos un método rápido y eficiente para mostrar una lista de objetos; si no utilizásemos las colecciones, en el momento de mostrar una lista habría que deserializar uno por uno los objetos, una operación que podría resultar muy lenta.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definición del &amp;quot;Libro de salida&amp;quot;==&lt;br /&gt;
La definición del libro de salida es prácticamente igual al de entradas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
        [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Libro de salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$SALIDAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Salida]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Para hacerlo visible para los usuarios, debemos ubicarlo en la oficina:&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
    {{PR|ubicado}} [Libro de salida]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
==¿Qué hemos aprendido?==&lt;br /&gt;
&lt;br /&gt;
:* En ODL existen dos clases de declaraciones: de tipo (podemos crear instancias de ellas) y de sistema (sólo existe una intancia).&lt;br /&gt;
:* El [[Contenedores|contenedor]] es uno de los tipos fundamentales de ODL y nos permite definir en su contexto componentes tales como formularios y colecciones de datos.&lt;br /&gt;
:* Las colecciones se muestran en la aplicación final como listas de objetos en las que podemos crear [[Contenedores|contenedores]].&lt;br /&gt;
:* Podemos añadir columnas a una colección haciendo uso de la sentencia columna.&lt;br /&gt;
:* La declaraciones de habitación nos permiten ubicar los recursos para hacerlos visibles a los usuarios.&lt;br /&gt;
&lt;br /&gt;
==Siguiente tarea==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_B:_Mejorando_la_numeración_del_registro|Tarea B: Mejorando la numeración del registro]]&lt;br /&gt;
&lt;br /&gt;
==Véase también==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Tarea C: Evolucionando la introducción de datos]]&lt;br /&gt;
:*[[Tarea_D:_Validar_la_introducción_de_datos|Tarea D: Validar la introducción de datos]]&lt;br /&gt;
:*[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Tarea E: Utilizar el registro como un almacén de documentación]]&lt;br /&gt;
:*[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Tarea F: Abriendo el registro al resto de las oficinas]]&lt;br /&gt;
:*[[Tarea_G:_Evitando_la_repliación_de_código|Tarea G: Evitando la repliación de código]]&lt;br /&gt;
:*[[Tarea_H:_Emitir_certificados_de_documentación|Tarea H: Emitir certificados de documentación]]&lt;br /&gt;
:*[[Tarea_I:_Creando_una_oficina_sin_papeles|Tarea I: Creando una oficina sin papeles]]&lt;br /&gt;
:*[[Tarea_J:_Importar_la_base_de_datos_de_terceros_de_otra_aplicación|Tarea J: Importar la base de datos de terceros de otra aplicación]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5434</id>
		<title>Tarea A: Libros y registro de entrada y salida</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5434"/>
				<updated>2009-07-13T11:55:17Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Construir_una_aplicación_paso_a_paso|Construir una aplicación paso a paso]]&lt;br /&gt;
&lt;br /&gt;
En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Te recomendamos que trabajes en la máquina virtual que te hemos proporcionado. En caso de no tenerla, por favor, envía un correo a soporte@egeasy.es y te la haremos llegar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contenedor, formulario y campos. Definiendo el concepto &amp;quot;Entrada&amp;quot;==&lt;br /&gt;
&amp;lt;p&amp;gt;En el directorio '''#Source''', crea un fichero y llámalo '''Main.ndf'''. Ábrelo con tu editor favorito (te recomendamos EditPlus) y vamos a comenzar a trabajar.&amp;lt;/p&amp;gt;&lt;br /&gt;
Empezaremos definiendo el concepto '''Entrada''':&lt;br /&gt;
&lt;br /&gt;
 {{PR|unidad}} [Main]&lt;br /&gt;
 {{PR|tipo}} [Entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
       [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
¿Qué hemos hecho?&lt;br /&gt;
&lt;br /&gt;
En primer lugar, hemos declarado el nombre de la unidad '''[Main]''' en la que estamos trabajando. Podemos definir nuestro sistema en cuantos ficheros queramos, pero para que el compilador los analice, debemos darle un nombre de unidad a cada uno y, además, incluirlo en el fichero del proyecto, como veremos más adelante.&lt;br /&gt;
&lt;br /&gt;
A continuación, hemos declarado el tipo Entrada diciendo que es un [[Contenedores|contenedor]]. [[Contenedores|Contenedor]] es un tipo nativo de la plataforma y una de las piezas fundamentales de ODL. Los [[Contenedores|contenedores]] nos permitirán definir, entre otros, formularios y colecciones de datos con gran facilidad.&lt;br /&gt;
&lt;br /&gt;
Dentro del [[Contenedores|contenedor]] hemos definimos una componente formulario, indicando que vamos a declarar un formulario de datos. Seguidamente, decimos que este formulario tiene cuatro campos (de momento dejaremos fuera la documentación adjunta), todos de tipo texto.&lt;br /&gt;
&lt;br /&gt;
Por último, cerramos la declaración de formulario y la declaración del [[Contenedores|contenedor]] Entrada.&lt;br /&gt;
&lt;br /&gt;
==Crear un &amp;quot;Libro de entrada&amp;quot;==&lt;br /&gt;
Ya está. Ya podemos crear entradas en nuestro sistema. ¿Dónde? En el Libro de entrada:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
       -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|columna}} [Número]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
       {{PR|columna}} [Fecha]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
En este fragmento de código, definimos el '''Libro de entrada''' también como [[Contenedores|contenedor]]. Pero, ¿no ponemos {{PR|tipo}} antes de '''[Libro de entrada]'''? Antes de continuar es necesario aclarar un concepto. &lt;br /&gt;
&lt;br /&gt;
==Declaraciones en ODL==&lt;br /&gt;
En ODL se pueden hacer dos clases de declaraciones:&lt;br /&gt;
&lt;br /&gt;
:* Declaraciones de tipo&lt;br /&gt;
:* Declaraciones de sistema&lt;br /&gt;
&lt;br /&gt;
Si se hace una declaración de tipo, estamos definiendo un objeto reutilizable y del que pueden existir varias instancias. Al hacer una declaración de sistema, estamos indicando que sólo existe una instancia. Por hacer un símil con la Programación Orientada a Objetos, las declaraciones de tipo serían las clases de las cuáles se crean instancias durante la vida de la aplicación y las declaraciones de sistema serían clases ''singleton''.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una colección?==&lt;br /&gt;
El '''Libro de entrada''' es una definición de sistema; es decir, sólo existirá una instancia del libro en la aplicación. Por otro lado, podremos crear múltiples instancias de '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
Dentro del Libro definimos una componente de tipo {{T|coleccion}} a la cuál denominamos Contenido, indicando que este objeto tiene una colección de objetos. El tipo de objetos que puede contener se especifica mediante la sentencia contiene. En este caso, indicamos que la colección '''Contenido''' contiene objetos de tipo '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
En la aplicación final, una colección se verá como una lista de objetos. Para generar dicha lista, el sistema crea una tabla en la base de datos con las columnas que se mostrarán en la vista. El nombre de esta tabla lo especificamos en el atributo {{AT|nombre_tabla}}. En el ejemplo, indicamos que para esta colección se cree la tabla '''TC$ENTRADAS'''.&lt;br /&gt;
&lt;br /&gt;
Para añadir columnas a la vista utilizamos las declaraciones de columna. En nuestro libro, indicamos que queremos dos columnas: [Número] y [Fecha]. Para cada columna, deben indicarse al menos dos atributos:&lt;br /&gt;
&lt;br /&gt;
:* Cómo se llamará la columna en la base de datos ({{AT|columna_bd.nombre}})&lt;br /&gt;
:* Qué dato se mostrará en la vista ({{AT|origen}})&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, para la columna [Número] decimos que en la base de datos se llamará '''NUMERO''' y que debe mostrar el campo '''[Datos generales].[Número]''' (es decir, el campo '''Número''' que está en el formulario '''[Datos generales]''' del objeto '''Entrada''').Aunque en nuestro ejemplo una columna muestra el valor de un solo campo, no&lt;br /&gt;
tenemos por qué limitarnos a este uso. Al atributo {{AT|origen}} se le puede asignar una expresión más compleja, como por ejemplo una concatenación de campos.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una habitación?==&lt;br /&gt;
Lo único que falta para que nuestro libro sea operativo es hacerlo accesible para los usuarios. Para ello, debemos definir una habitación y ubicar en ella el '''Libro de entrada''':&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entradas]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Conceptualmente, una {{RE|habitacion}} representa una oficina o un departamento de la organización. Dentro de una {{RE|habitacion}} indicamos qué recursos de sistema van a estar disponibles para los usuarios de esa oficina. Esto nos ayuda a construir el sistema siguiendo la estructura organizativa de la corporación, pero, simultáneamente, a lograr que todos los recursos transversales sean accesibles allí donde sean necesarios. ¿Cómo? Realizando declaraciones de {{PR|ubicado}}, indicando qué recursos de sistema van a estar disponibles para los usuarios de dicha {{RE|habitacion}}.&lt;br /&gt;
&lt;br /&gt;
Cada vez que ubiquemos un recurso, debemos indicar en el atributo lugar en qué grupo va a estar colocado. En nuestro ejemplo, decimos que queremos poner el '''Libro de entrada''' en el grupo '''Libros'''. No existe un conjunto de valores predefinidos para el atributo lugar. Se le puede asignar cualquier valor.&lt;br /&gt;
&lt;br /&gt;
Ahora, sólo queda [Cómo_compilar_paso_a_paso generar el modelo], [http://wiki.egeasy.es/index.php/Cómo_instalar_un_centro_desde_cero '''instalar e iniciar el centro'''].&lt;br /&gt;
&lt;br /&gt;
Cuando lo hayamos hecho, arrancamos la aplicación egExplorer y lo que nos aparecerá será una lista con todas las habitaciones disponibles en el sistema, donde la única que aperecerá será '''Registro de entrada y salida'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 2.jpg|thumb|250px|Habitaciones disponibles]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si entramos en nuestra habitación, veremos a la izquierda el grupo Libros con el Libro de entrada ubicado y haciendo clic lo abriremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 3.jpg|thumb|250px|Libro de entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo clic en Nuevo crearemos una nueva entrada en el Libro. ¿Y qué aparece? El formulario que hemos definido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 4.jpg|thumb|250px|Formulario Datos generales del objeto Entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si creamos una entrada, la guardamos y volvemos al libro aparecerá el listado con un elemento mostrando el número y la fecha que hemos puesto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 5.jpg|thumb|250px|Libro de entradas con una Entrada creada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incluir la columna &amp;quot;Remitente&amp;quot; en el &amp;quot;Libro de Entrada&amp;quot;==&lt;br /&gt;
¿Y si además queremos incluir el '''Remitente'''? Pues no tenemos más que volver a nuestro código y añadir la columna en la {{T|coleccion}}:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Compilamos y actualizamos el modelo. Al hacerlo, en la tabla '''TC$ENTRADAS''' se añadirá la columna REMITENTE. Si volvemos al egExplorer y abrimos el '''Libro de entrada''' veremos la columna Remitente incorporada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 6.jpg|thumb|250px|Entrada con la columna remitente]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: #ffffcc; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Y el campo Destinatario, ¿no lo ponemos como columna? Entonces, ¿dónde se almacena?'''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Es el momento de explicar cómo se almacenan los objetos en la plataforma egEasy.&amp;lt;br/&amp;gt;egEasy utiliza una base de datos orientada a objetos, en vez de un esquema clásico de base de datos relacional. Con esta arquitectura no tenemos una tabla para cada objeto nuevo que se crea en la base de datos. En su lugar, hay una sola tabla (eg$resources) en la que se almacenan todos los recursos del sistema. La administración de esta tabla es completamente transparente para el desarrollador y dentro de ella todos los campos y atributos de cada objeto se guardan serializados en un campo binario.&lt;br /&gt;
&lt;br /&gt;
Entonces, ¿para qué nos sirve una colección? Con la definición de una colección logramos dos objetivos. En primer lugar, definimos el ámbito en el que se pueden crear los objetos (el objeto '''Entrada''' se puede crear en la componente '''Contenido''' del '''Libro de entrada'''). Por otro lado, proporcionamos un método rápido y eficiente para mostrar una lista de objetos; si no utilizásemos las colecciones, en el momento de mostrar una lista habría que deserializar uno por uno los objetos, una operación que podría resultar muy lenta.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definición del &amp;quot;Libro de salida&amp;quot;==&lt;br /&gt;
La definición del libro de salida es prácticamente igual al de entradas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
        [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Libro de salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$SALIDAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Salida]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Para hacerlo visible para los usuarios, debemos ubicarlo en la oficina:&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
    {{PR|ubicado}} [Libro de salida]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
==¿Qué hemos aprendido?==&lt;br /&gt;
&lt;br /&gt;
:* En ODL existen dos clases de declaraciones: de tipo (podemos crear instancias de ellas) y de sistema (sólo existe una intancia).&lt;br /&gt;
:* El [[Contenedores|contenedor]] es uno de los tipos fundamentales de ODL y nos permite definir en su contexto componentes tales como formularios y colecciones de datos.&lt;br /&gt;
:* Las colecciones se muestran en la aplicación final como listas de objetos en las que podemos crear [[Contenedores|contenedores]].&lt;br /&gt;
:* Podemos añadir columnas a una colección haciendo uso de la sentencia columna.&lt;br /&gt;
:* La declaraciones de habitación nos permiten ubicar los recursos para hacerlos visibles a los usuarios.&lt;br /&gt;
&lt;br /&gt;
==Siguiente tarea==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_B:_Mejorando_la_numeración_del_registro|Tarea B: Mejorando la numeración del registro]]&lt;br /&gt;
&lt;br /&gt;
==Véase también==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Tarea C: Evolucionando la introducción de datos]]&lt;br /&gt;
:*[[Tarea_D:_Validar_la_introducción_de_datos|Tarea D: Validar la introducción de datos]]&lt;br /&gt;
:*[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Tarea E: Utilizar el registro como un almacén de documentación]]&lt;br /&gt;
:*[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Tarea F: Abriendo el registro al resto de las oficinas]]&lt;br /&gt;
:*[[Tarea_G:_Evitando_la_repliación_de_código|Tarea G: Evitando la repliación de código]]&lt;br /&gt;
:*[[Tarea_H:_Emitir_certificados_de_documentación|Tarea H: Emitir certificados de documentación]]&lt;br /&gt;
:*[[Tarea_I:_Creando_una_oficina_sin_papeles|Tarea I: Creando una oficina sin papeles]]&lt;br /&gt;
:*[[Tarea_J:_Importar_la_base_de_datos_de_terceros_de_otra_aplicación|Tarea J: Importar la base de datos de terceros de otra aplicación]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5433</id>
		<title>Tarea A: Libros y registro de entrada y salida</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Tarea_A:_Libros_y_registro_de_entrada_y_salida&amp;diff=5433"/>
				<updated>2009-07-13T11:54:18Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Construir_una_aplicación_paso_a_paso|Construir una aplicación paso a paso]]&lt;br /&gt;
&lt;br /&gt;
En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Te recomendamos que trabajes en la máquina virtual que te hemos proporcionado. En caso de no tenerla, por favor, envía un correo a soporte@egeasy.es y te la haremos llegar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
==Contenedor, formulario y campos. Definiendo el concepto &amp;quot;Entrada&amp;quot;==&lt;br /&gt;
&amp;lt;p&amp;gt;En el directorio '''#Source''', crea un fichero y llámalo '''Main.ndf'''. Ábrelo con tu editor favorito (te recomendamos EditPlus) y vamos a comenzar a trabajar.&amp;lt;/p&amp;gt;&lt;br /&gt;
Empezaremos definiendo el concepto '''Entrada''':&lt;br /&gt;
&lt;br /&gt;
 {{PR|unidad}} [Main]&lt;br /&gt;
 {{PR|tipo}} [Entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
       [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
       [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
¿Qué hemos hecho?&lt;br /&gt;
&lt;br /&gt;
En primer lugar, hemos declarado el nombre de la unidad '''[Main]''' en la que estamos trabajando. Podemos definir nuestro sistema en cuantos ficheros queramos, pero para que el compilador los analice, debemos darle un nombre de unidad a cada uno y, además, incluirlo en el fichero del proyecto, como veremos más adelante.&lt;br /&gt;
&lt;br /&gt;
A continuación, hemos declarado el tipo Entrada diciendo que es un [[Contenedores|contenedor]]. [[Contenedores|Contenedor]] es un tipo nativo de la plataforma y una de las piezas fundamentales de ODL. Los [[Contenedores|contenedores]] nos permitirán definir, entre otros, formularios y colecciones de datos con gran facilidad.&lt;br /&gt;
&lt;br /&gt;
Dentro del [[Contenedores|contenedor]] hemos definimos una componente formulario, indicando que vamos a declarar un formulario de datos. Seguidamente, decimos que este formulario tiene cuatro campos (de momento dejaremos fuera la documentación adjunta), todos de tipo texto.&lt;br /&gt;
&lt;br /&gt;
Por último, cerramos la declaración de formulario y la declaración del [[Contenedores|contenedor]] Entrada.&lt;br /&gt;
&lt;br /&gt;
==Crear un &amp;quot;Libro de entrada&amp;quot;==&lt;br /&gt;
Ya está. Ya podemos crear entradas en nuestro sistema. ¿Dónde? En el Libro de entrada:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
       -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
       {{PR|columna}} [Número]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
       {{PR|columna}} [Fecha]&lt;br /&gt;
          -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
          -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
En este fragmento de código, definimos el '''Libro de entrada''' también como [[Contenedores|contenedor]]. Pero, ¿no ponemos {{PR|tipo}} antes de '''[Libro de entrada]'''? Antes de continuar es necesario aclarar un concepto. &lt;br /&gt;
&lt;br /&gt;
==Declaraciones en ODL==&lt;br /&gt;
En ODL se pueden hacer dos clases de declaraciones:&lt;br /&gt;
&lt;br /&gt;
:* Declaraciones de tipo&lt;br /&gt;
:* Declaraciones de sistema&lt;br /&gt;
&lt;br /&gt;
Si se hace una declaración de tipo, estamos definiendo un objeto reutilizable y del que pueden existir varias instancias. Al hacer una declaración de sistema, estamos indicando que sólo existe una instancia. Por hacer un símil con la Programación Orientada a Objetos, las declaraciones de tipo serían las clases de las cuáles se crean instancias durante la vida de la aplicación y las declaraciones de sistema serían clases ''singleton''.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una colección?==&lt;br /&gt;
El '''Libro de entrada''' es una definición de sistema; es decir, sólo existirá una instancia del libro en la aplicación. Por otro lado, podremos crear múltiples instancias de '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
Dentro del Libro definimos una componente de tipo {{T|coleccion}} a la cuál denominamos Contenido, indicando que este objeto tiene una colección de objetos. El tipo de objetos que puede contener se especifica mediante la sentencia contiene. En este caso, indicamos que la colección '''Contenido''' contiene objetos de tipo '''Entrada'''.&lt;br /&gt;
&lt;br /&gt;
En la aplicación final, una colección se verá como una lista de objetos. Para generar dicha lista, el sistema crea una tabla en la base de datos con las columnas que se mostrarán en la vista. El nombre de esta tabla lo especificamos en el atributo {{AT|nombre_tabla}}. En el ejemplo, indicamos que para esta colección se cree la tabla '''TC$ENTRADAS'''.&lt;br /&gt;
&lt;br /&gt;
Para añadir columnas a la vista utilizamos las declaraciones de columna. En nuestro libro, indicamos que queremos dos columnas: [Número] y [Fecha]. Para cada columna, deben indicarse al menos dos atributos:&lt;br /&gt;
&lt;br /&gt;
:* Cómo se llamará la columna en la base de datos ({{AT|columna_bd.nombre}})&lt;br /&gt;
:* Qué dato se mostrará en la vista ({{AT|origen}})&lt;br /&gt;
&lt;br /&gt;
Por ejemplo, para la columna [Número] decimos que en la base de datos se llamará '''NUMERO''' y que debe mostrar el campo '''[Datos generales].[Número]''' (es decir, el campo '''Número''' que está en el formulario '''[Datos generales]''' del objeto '''Entrada''').Aunque en nuestro ejemplo una columna muestra el valor de un solo campo, no&lt;br /&gt;
tenemos por qué limitarnos a este uso. Al atributo {{AT|origen}} se le puede asignar una expresión más compleja, como por ejemplo una concatenación de campos.&lt;br /&gt;
&lt;br /&gt;
==¿Qué es una habitación?==&lt;br /&gt;
Lo único que falta para que nuestro libro sea operativo es hacerlo accesible para los usuarios. Para ello, debemos definir una habitación y ubicar en ella el '''Libro de entrada''':&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entradas]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Conceptualmente, una {{RE|habitacion}} representa una oficina o un departamento de la organización. Dentro de una {{RE|habitacion}} indicamos qué recursos de sistema van a estar disponibles para los usuarios de esa oficina. Esto nos ayuda a construir el sistema siguiendo la estructura organizativa de la corporación, pero, simultáneamente, a lograr que todos los recursos transversales sean accesibles allí donde sean necesarios. ¿Cómo? Realizando declaraciones de {{PR|ubicado}}, indicando qué recursos de sistema van a estar disponibles para los usuarios de dicha {{RE|habitacion}}.&lt;br /&gt;
&lt;br /&gt;
Cada vez que ubiquemos un recurso, debemos indicar en el atributo lugar en qué grupo va a estar colocado. En nuestro ejemplo, decimos que queremos poner el '''Libro de entrada''' en el grupo '''Libros'''. No existe un conjunto de valores predefinidos para el atributo lugar. Se le puede asignar cualquier valor.&lt;br /&gt;
&lt;br /&gt;
Ahora, sólo queda '''generar el modelo''', [http://wiki.egeasy.es/index.php/Cómo_instalar_un_centro_desde_cero '''instalar e iniciar el centro'''].&lt;br /&gt;
&lt;br /&gt;
Cuando lo hayamos hecho, arrancamos la aplicación egExplorer y lo que nos aparecerá será una lista con todas las habitaciones disponibles en el sistema, donde la única que aperecerá será '''Registro de entrada y salida'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 2.jpg|thumb|250px|Habitaciones disponibles]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si entramos en nuestra habitación, veremos a la izquierda el grupo Libros con el Libro de entrada ubicado y haciendo clic lo abriremos:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 3.jpg|thumb|250px|Libro de entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Haciendo clic en Nuevo crearemos una nueva entrada en el Libro. ¿Y qué aparece? El formulario que hemos definido:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 4.jpg|thumb|250px|Formulario Datos generales del objeto Entrada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Si creamos una entrada, la guardamos y volvemos al libro aparecerá el listado con un elemento mostrando el número y la fecha que hemos puesto:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 5.jpg|thumb|250px|Libro de entradas con una Entrada creada]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Incluir la columna &amp;quot;Remitente&amp;quot; en el &amp;quot;Libro de Entrada&amp;quot;==&lt;br /&gt;
¿Y si además queremos incluir el '''Remitente'''? Pues no tenemos más que volver a nuestro código y añadir la columna en la {{T|coleccion}}:&lt;br /&gt;
&lt;br /&gt;
 [Libro de entrada] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$ENTRADAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Entrada]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Compilamos y actualizamos el modelo. Al hacerlo, en la tabla '''TC$ENTRADAS''' se añadirá la columna REMITENTE. Si volvemos al egExplorer y abrimos el '''Libro de entrada''' veremos la columna Remitente incorporada.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
{|&lt;br /&gt;
|align=&amp;quot;center&amp;quot; |[[Imagen:Figura 6.jpg|thumb|250px|Entrada con la columna remitente]]&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;background: #ffffcc; border: 1px solid black; padding: 1em;&amp;quot;&amp;gt;&lt;br /&gt;
'''Y el campo Destinatario, ¿no lo ponemos como columna? Entonces, ¿dónde se almacena?'''&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;Es el momento de explicar cómo se almacenan los objetos en la plataforma egEasy.&amp;lt;br/&amp;gt;egEasy utiliza una base de datos orientada a objetos, en vez de un esquema clásico de base de datos relacional. Con esta arquitectura no tenemos una tabla para cada objeto nuevo que se crea en la base de datos. En su lugar, hay una sola tabla (eg$resources) en la que se almacenan todos los recursos del sistema. La administración de esta tabla es completamente transparente para el desarrollador y dentro de ella todos los campos y atributos de cada objeto se guardan serializados en un campo binario.&lt;br /&gt;
&lt;br /&gt;
Entonces, ¿para qué nos sirve una colección? Con la definición de una colección logramos dos objetivos. En primer lugar, definimos el ámbito en el que se pueden crear los objetos (el objeto '''Entrada''' se puede crear en la componente '''Contenido''' del '''Libro de entrada'''). Por otro lado, proporcionamos un método rápido y eficiente para mostrar una lista de objetos; si no utilizásemos las colecciones, en el momento de mostrar una lista habría que deserializar uno por uno los objetos, una operación que podría resultar muy lenta.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Definición del &amp;quot;Libro de salida&amp;quot;==&lt;br /&gt;
La definición del libro de salida es prácticamente igual al de entradas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Datos generales] {{PR|es}} {{T|formulario}}&lt;br /&gt;
        [Número] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Fecha] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Remitente] {{PR|es}} {{T|texto}}&lt;br /&gt;
        [Destinatario] {{PR|es}} {{T|texto}}&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Libro de salida] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
    [Contenido] {{PR|es}} {{T|coleccion}}&lt;br /&gt;
        -{{AT|nombre_tabla}} = {{STR|&amp;quot;TC$SALIDAS&amp;quot;}};&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|contiene}} [Salida]&amp;lt;br/&amp;gt;&lt;br /&gt;
        {{PR|columna}} [Número]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;NUMERO&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Número];&lt;br /&gt;
        {{PR|columna}} [Fecha]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;FECHA&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Fecha];&lt;br /&gt;
        {{PR|columna}} [Remitente]&lt;br /&gt;
            -{{AT|columna_bd}}.{{AT|nombre}} = {{STR|&amp;quot;REMITENTE&amp;quot;}};&lt;br /&gt;
            -{{AT|origen}} = [Datos generales].[Remitente];&lt;br /&gt;
    {{PR|fin}}&lt;br /&gt;
 {{PR|fin}}&amp;lt;br/&amp;gt;&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
Para hacerlo visible para los usuarios, debemos ubicarlo en la oficina:&lt;br /&gt;
&lt;br /&gt;
 [Registro de entrada y salida] {{PR|es}} {{RE|habitacion}}&lt;br /&gt;
    {{PR|ubicado}} [Libro de entrada]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
    {{PR|ubicado}} [Libro de salida]&lt;br /&gt;
        -{{AT|lugar}} = {{STR|&amp;quot;Libros&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
==¿Qué hemos aprendido?==&lt;br /&gt;
&lt;br /&gt;
:* En ODL existen dos clases de declaraciones: de tipo (podemos crear instancias de ellas) y de sistema (sólo existe una intancia).&lt;br /&gt;
:* El [[Contenedores|contenedor]] es uno de los tipos fundamentales de ODL y nos permite definir en su contexto componentes tales como formularios y colecciones de datos.&lt;br /&gt;
:* Las colecciones se muestran en la aplicación final como listas de objetos en las que podemos crear [[Contenedores|contenedores]].&lt;br /&gt;
:* Podemos añadir columnas a una colección haciendo uso de la sentencia columna.&lt;br /&gt;
:* La declaraciones de habitación nos permiten ubicar los recursos para hacerlos visibles a los usuarios.&lt;br /&gt;
&lt;br /&gt;
==Siguiente tarea==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_B:_Mejorando_la_numeración_del_registro|Tarea B: Mejorando la numeración del registro]]&lt;br /&gt;
&lt;br /&gt;
==Véase también==&lt;br /&gt;
&lt;br /&gt;
:*[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Tarea C: Evolucionando la introducción de datos]]&lt;br /&gt;
:*[[Tarea_D:_Validar_la_introducción_de_datos|Tarea D: Validar la introducción de datos]]&lt;br /&gt;
:*[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Tarea E: Utilizar el registro como un almacén de documentación]]&lt;br /&gt;
:*[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Tarea F: Abriendo el registro al resto de las oficinas]]&lt;br /&gt;
:*[[Tarea_G:_Evitando_la_repliación_de_código|Tarea G: Evitando la repliación de código]]&lt;br /&gt;
:*[[Tarea_H:_Emitir_certificados_de_documentación|Tarea H: Emitir certificados de documentación]]&lt;br /&gt;
:*[[Tarea_I:_Creando_una_oficina_sin_papeles|Tarea I: Creando una oficina sin papeles]]&lt;br /&gt;
:*[[Tarea_J:_Importar_la_base_de_datos_de_terceros_de_otra_aplicación|Tarea J: Importar la base de datos de terceros de otra aplicación]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5387</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5387"/>
				<updated>2009-07-13T08:30:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Desarrollar con egeasy paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Desarrollar_con_egeasy_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5340</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5340"/>
				<updated>2009-06-25T13:12:27Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos cuáles son los principales conceptos que debes tener claros antes de continuar.&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software| desarrollo ágil] de aplicaciones de gestión para medianas y grandes organizaciones haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering| ingeniería dirigida por modelos].&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Para lograr sus objetivos, &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; proporciona un lenguaje de cuarta generación (ODL, &amp;lt;i&amp;gt;Object definition language&amp;lt;/i&amp;gt;) que permite modelar todos los elementos de una organización, desde formularios a personas, pasando por documentos y [http://es.wikipedia.org/wiki/Flujo_de_trabajo| flujos de trabajo], con una alto nivel de abstracción, facilitando la transmisión de conocimientos y disminuyendo la curva de aprendizaje para nuevos desarrolladores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Para desplegar e interpretar el modelo desarrollado con ODL, &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; ofrece una arquitectura de aplicaciones clientes/servidor.&amp;lt;/p&amp;gt;&lt;br /&gt;
==Modelo y diccionario==&lt;br /&gt;
&amp;lt;p&amp;gt;En &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;, un modelo es la representación de la estructura y  flujos de la información, del comportamiento, de los actores, de los recursos y de la presentación del sistema bajo estudio.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dicha representación está formada por los siguientes elementos:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Una definición en ODL de la estructura y flujos de la información, actores y comportamiento del sistema. &lt;br /&gt;
*Un base documental de todos los modelos documentales que se manejen en el sistema. &lt;br /&gt;
*Un conjunto de recursos que contienen información para ayudar al intérprete a maquetar la información para presentársela al usuario final. &lt;br /&gt;
&amp;lt;p&amp;gt;La espina dorsal del modelo es la definición en ODL. En ella se representan, usando el metalenguaje de modelado, todos los conceptos del dominio y las relaciones e interacciones entre ellos. Adicionalmente, define los niveles de acceso a la información y las restricciones del sistema. Todas estas definiciones son agrupadas en un diccionario de objetos. Este diccionario será el que contenga toda la semántica y estructura del sistema, y será éste el elemento que leerá el intérprete para ejecutar el modelo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;El paso de la definición de ODL al diccionario es inmediato y se limita únicamente a un chequeo sintáctico de las definiciones realizadas en ODL y a una síntesis posterior de estas definiciones en una estructura resumida de fácil acceso para el intérprete.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5339</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5339"/>
				<updated>2009-06-25T13:07:46Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos cuáles son los principales conceptos que debes tener claros antes de continuar.&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software| desarrollo ágil] de aplicaciones de gestión para medianas y grandes organizaciones haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering| ingeniería dirigida por modelos].&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Para lograr sus objetivos, &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; proporciona un lenguaje de cuarta generación (ODL, &amp;lt;i&amp;gt;Object definition language&amp;lt;/i&amp;gt;) que permite modelar todos los elementos de una organización, desde formularios a personas, pasando por documentos y [http://es.wikipedia.org/wiki/Flujo_de_trabajo| flujos de trabajo], con una alto nivel de abstracción, facilitando la transmisión de conocimientos y disminuyendo la curva de aprendizaje para nuevos desarrolladores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modelo y diccionario==&lt;br /&gt;
&amp;lt;p&amp;gt;En &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;, un modelo es la representación de la estructura y  flujos de la información, del comportamiento, de los actores, de los recursos y de la presentación del sistema bajo estudio.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dicha representación está formada por los siguientes elementos:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Una definición en ODL de la estructura y flujos de la información, actores y comportamiento del sistema. &lt;br /&gt;
*Un base documental de todos los modelos documentales que se manejen en el sistema. &lt;br /&gt;
*Un conjunto de recursos que contienen información para ayudar al intérprete a maquetar la información para presentársela al usuario final. &lt;br /&gt;
&amp;lt;p&amp;gt;La espina dorsal del modelo es la definición en ODL. En ella se representan, usando el metalenguaje de modelado, todos los conceptos del dominio y las relaciones e interacciones entre ellos. Adicionalmente, define los niveles de acceso a la información y las restricciones del sistema. Todas estas definiciones son agrupadas en un diccionario de objetos. Este diccionario será el que contenga toda la semántica y estructura del sistema, y será éste el elemento que leerá el intérprete para ejecutar el modelo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;El paso de la definición de ODL al diccionario es inmediato y se limita únicamente a un chequeo sintáctico de las definiciones realizadas en ODL y a una síntesis posterior de estas definiciones en una estructura resumida de fácil acceso para el intérprete.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5338</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5338"/>
				<updated>2009-06-25T13:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos cuáles son los principales conceptos que debes tener claros antes de continuar.&lt;br /&gt;
&lt;br /&gt;
==Introducción==&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software| desarrollo ágil] de aplicaciones de gestión para medianas y grandes organizaciones haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering| ingeniería dirigida por modelos].&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Para lograr sus objetivos, &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; proporciona un lenguaje de cuarta generación que permite modelar todos los elementos de una organización, desde formularios a personas, pasando por documentos y [http://es.wikipedia.org/wiki/Flujo_de_trabajo| flujos de trabajo], con una alto nivel de abstracción, facilitando la transmisión de conocimientos y disminuyendo la curva de aprendizaje para nuevos desarrolladores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Modelo y diccionario==&lt;br /&gt;
&amp;lt;p&amp;gt;En &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;, un modelo es la representación de la estructura y  flujos de la información, del comportamiento, de los actores, de los recursos y de la presentación del sistema bajo estudio.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Dicha representación está formada por los siguientes elementos:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Una definición en ODL de la estructura y flujos de la información, actores y comportamiento del sistema. &lt;br /&gt;
*Un base documental de todos los modelos documentales que se manejen en el sistema. &lt;br /&gt;
*Un conjunto de recursos que contienen información para ayudar al intérprete a maquetar la información para presentársela al usuario final. &lt;br /&gt;
&amp;lt;p&amp;gt;La espina dorsal del modelo es la definición en ODL. En ella se representan, usando el metalenguaje de modelado, todos los conceptos del dominio y las relaciones e interacciones entre ellos. Adicionalmente, define los niveles de acceso a la información y las restricciones del sistema. Todas estas definiciones son agrupadas en un diccionario de objetos. Este diccionario será el que contenga toda la semántica y estructura del sistema, y será éste el elemento que leerá el intérprete para ejecutar el modelo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;El paso de la definición de ODL al diccionario es inmediato y se limita únicamente a un chequeo sintáctico de las definiciones realizadas en ODL y a una síntesis posterior de estas definiciones en una estructura resumida de fácil acceso para el intérprete.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5337</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5337"/>
				<updated>2009-06-25T12:35:50Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos para qué sirve &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; y cuáles son los principales conceptos que se manejan.&lt;br /&gt;
&lt;br /&gt;
==¿Para qué sirve?==&lt;br /&gt;
&amp;lt;p&amp;gt;&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software| desarrollo ágil] de aplicaciones de gestión para medianas y grandes organizaciones haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering| ingeniería dirigida por modelos].&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Para lograr sus objetivos, &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; proporciona un lenguaje de cuarta generación que permite modelar todos los elementos de una organización, desde formularios a personas, pasando por documentos y [http://es.wikipedia.org/wiki/Flujo_de_trabajo| flujos de trabajo], con una alto nivel de abstracción, facilitando la transmisión de conocimientos y disminuyendo la curva de aprendizaje para nuevos desarrolladores.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5336</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5336"/>
				<updated>2009-06-25T12:18:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos para qué sirve &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; y cuáles son los principales conceptos que se manejan.&lt;br /&gt;
&lt;br /&gt;
==¿Para qué sirve?==&lt;br /&gt;
&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software| desarrollo ágil] de aplicaciones de gestión haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering| ingeniería dirigida por modelos].&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5335</id>
		<title>Vision general egeasy</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Vision_general_egeasy&amp;diff=5335"/>
				<updated>2009-06-25T12:17:39Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;En este artículo describiremos para qué sirve &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; y cuáles son los principales conceptos que se manejan.&lt;br /&gt;
&lt;br /&gt;
==¿Para qué sirve?==&lt;br /&gt;
&amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt; es una plataforma para el [http://es.wikipedia.org/wiki/Desarrollo_ágil_de_software|desarrollo ágil] de aplicaciones de gestión haciendo uso del paradigma de [http://en.wikipedia.org/wiki/Model-driven_engineering|ingeniería dirigida por modelos].&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5334</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5334"/>
				<updated>2009-06-25T12:02:00Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: /* Desarrollar con egeasy paso a paso */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Desarrollar con egeasy paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Desarrollar_con_egeasy_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5332</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5332"/>
				<updated>2009-06-25T11:59:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: Hoja de ruta trasladada a Guía para desarrolladores&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Desarrollar con egeasy paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5223</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5223"/>
				<updated>2009-06-11T10:41:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== egeasy ==&lt;br /&gt;
Bienvenido al espacio de referencia para el entorno de gestión de expedientes '''egeasy'''.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Desarrollar con egeasy paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Novedades]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[Image:Registro_con_iconos.jpg|100px|left|Registro de entrada y salida]]&lt;br /&gt;
&amp;lt;p&amp;gt;Este tutorial te enseña paso a paso cómo construir un registro de entrada y salida para una organización. El tutorial se divide en 10 tareas que van mostrando progresivamente los conceptos más importantes en el desarrollo con la plataforma '''egeasy'''. Todas las tareas tienen ejemplos prácticos y algunas de ellas proponen ejercicios para el lector.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Si eres un nuevo desarrollador de '''egeasy''', deberías empezar por aquí.&amp;lt;/p&amp;gt;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;En esta sección podrás acceder a los artículos más recientes que se van creando sobre '''egeasy'''.&amp;lt;/p&amp;gt;No dejes de consultarla, puede haber documentación nueva que te interese.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo_compilar_paso_a_paso|Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;La plataforma egEasy implementa un paradigma de desarrollo orientado por modelos. Por lo tanto, todo proyecto desarrollado con la plataforma debe compilarse para generar el modelo del sistema de gestión. En este tutorial te mostramos paso a paso cómo compilar un proyecto e instalar el modelo que genera.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5222</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5222"/>
				<updated>2009-06-11T10:40:38Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== egeasy ==&lt;br /&gt;
Bienvenido al espacio de referencia para el entorno de gestión de expedientes '''egeasy'''.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Desarrollar una aplicación paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Novedades]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[Image:Registro_con_iconos.jpg|100px|left|Registro de entrada y salida]]&lt;br /&gt;
&amp;lt;p&amp;gt;Este tutorial te enseña paso a paso cómo construir un registro de entrada y salida para una organización. El tutorial se divide en 10 tareas que van mostrando progresivamente los conceptos más importantes en el desarrollo con la plataforma '''egeasy'''. Todas las tareas tienen ejemplos prácticos y algunas de ellas proponen ejercicios para el lector.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Si eres un nuevo desarrollador de '''egeasy''', deberías empezar por aquí.&amp;lt;/p&amp;gt;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;En esta sección podrás acceder a los artículos más recientes que se van creando sobre '''egeasy'''.&amp;lt;/p&amp;gt;No dejes de consultarla, puede haber documentación nueva que te interese.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo_compilar_paso_a_paso|Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;La plataforma egEasy implementa un paradigma de desarrollo orientado por modelos. Por lo tanto, todo proyecto desarrollado con la plataforma debe compilarse para generar el modelo del sistema de gestión. En este tutorial te mostramos paso a paso cómo compilar un proyecto e instalar el modelo que genera.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5221</id>
		<title>Página principal</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=P%C3%A1gina_principal&amp;diff=5221"/>
				<updated>2009-06-11T10:38:31Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== egeasy ==&lt;br /&gt;
Bienvenido al espacio de referencia para el entorno de gestión de expedientes '''egeasy'''.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Construir una aplicación paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
====[[Novedades]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|[[Image:Registro_con_iconos.jpg|100px|left|Registro de entrada y salida]]&lt;br /&gt;
&amp;lt;p&amp;gt;Este tutorial te enseña paso a paso cómo construir un registro de entrada y salida para una organización. El tutorial se divide en 10 tareas que van mostrando progresivamente los conceptos más importantes en el desarrollo con la plataforma '''egeasy'''. Todas las tareas tienen ejemplos prácticos y algunas de ellas proponen ejercicios para el lector.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Si eres un nuevo desarrollador de '''egeasy''', deberías empezar por aquí.&amp;lt;/p&amp;gt;&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;En esta sección podrás acceder a los artículos más recientes que se van creando sobre '''egeasy'''.&amp;lt;/p&amp;gt;No dejes de consultarla, puede haber documentación nueva que te interese.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{|cellspacing=&amp;quot;3&amp;quot;&lt;br /&gt;
!&amp;lt;div style=&amp;quot;background: #F0F8FF&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Desarrollar_con_egeasy_paso_a_paso|Desarrollar con egeasy paso a paso]]====&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|valign=&amp;quot;top&amp;quot;|&amp;lt;p&amp;gt;La plataforma egEasy implementa un paradigma de desarrollo orientado por modelos. Por lo tanto, todo proyecto desarrollado con la plataforma debe compilarse para generar el modelo del sistema de gestión. En este tutorial te mostramos paso a paso cómo compilar un proyecto e instalar el modelo que genera.&amp;lt;/p&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5220</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5220"/>
				<updated>2009-06-11T10:11:45Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Desarrollar con egeasy paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5219</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=5219"/>
				<updated>2009-06-11T10:05:57Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Registro de entrada y salida: un tutorial para aprender ODL===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a implementar un sistema de información en la plataforma desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5217</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5217"/>
				<updated>2009-06-11T10:04:58Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: Desarrollar un sistema de información paso a paso trasladada a Desarrollar con egeasy paso a paso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [http://es.wikipedia.org/wiki/Sistemas_de_información sistema de información] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5215</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5215"/>
				<updated>2009-06-11T10:03:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: Construir una aplicación paso a paso trasladada a Desarrollar un sistema de información paso a paso&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [http://es.wikipedia.org/wiki/Sistemas_de_información sistema de información] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5214</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5214"/>
				<updated>2009-06-11T10:02:02Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [http://es.wikipedia.org/wiki/Sistemas_de_información sistema de información] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5213</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5213"/>
				<updated>2009-06-11T10:01:51Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [[http://es.wikipedia.org/wiki/Sistemas_de_información sistema de información]] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5212</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5212"/>
				<updated>2009-06-11T10:01:34Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [[http://es.wikipedia.org/wiki/Sistemas_de_información|sistema de información]] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5211</id>
		<title>Desarrollar con egEasy paso a paso</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Desarrollar_con_egEasy_paso_a_paso&amp;diff=5211"/>
				<updated>2009-06-11T10:01:18Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Esta sección es un tutorial para aprender a desarrollar con la plataforma egEasy. &amp;lt;br/&amp;gt;Describiremos un sencillo [[sistema de información|http://es.wikipedia.org/wiki/Sistemas_de_información]] y veremos, paso a paso, cómo implementarlo en la plataforma.&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
==Registro de entrada y salida==&lt;br /&gt;
[[Imagen:Registro_entrada_y_salida.jpg|thumb|250px|Registro entrada y salida]]&amp;lt;p&amp;gt;La mayoría de las organizaciones, tanto públicas como privadas, necesitan un registro de entrada y salida que les permita llevar un control sobre el flujo de documentación entre la organización y el exterior. Normalmente, este registro se lleva a cabo disponiendo libros específicos para cada operación. Cada vez que se produce una entrada (o salida) se realiza una anotación en el libro correspondiente, asignándole un número y apuntado la fecha, el destinatario y la documentación adjunta. El siguiente esquema describiría los conceptos básicos que le darían soporte al registro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;En esta figura lo que decimos es:&lt;br /&gt;
*Un libro de entrada se compone de muchas entradas. Cada Entrada tiene Número, Fecha, Remitente (quien presenta la documentación) y Destinatario (a qué departamento de la organización se dirige). Adicionalmente, puede tener uno o más documentos adjuntos. &lt;br /&gt;
*Un libro de salida se compone de muchas salidas. Cada Salida tiene Número, Fecha, Origen (departamento de la organización de donde sale el documento) y Destinatario (persona a la que va dirigido). Además, puede tener uno o más documentos adjuntos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Por el momento es suficiente. A lo largo del tutorial iremos modificando y complicando este esquema.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Tareas==&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea A: Libros y Registro de entrada y salida'''&amp;lt;p&amp;gt;En esta sección, vamos a implementar el registro de entrada y salida que acabamos de definir. Para comenzar a trabajar, te recomendamos que descargues este proyecto básico que te servirá como punto de partida.&amp;lt;/p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea B: Mejorando la numeración del registro'''&amp;lt;p&amp;gt;Mejoramos el sistema de registro implementado en la tarea anterior añadiendo numeración automática para las entradas y las salidas. Se explican los campos de tipo timbre y los modos de edición disponibles para los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea C: Evolucionando la arquitectura del registro'''&amp;lt;p&amp;gt;En esta tarea mejoramos la arquitectura de la información abstrayendo el concepto de Tercero, que actuará como remitente y destinatario ante el registro. Aprenderás a utilizar los campos de tipo vínculo, a definir enumerados y a incrustar tablas en los formularios&amp;lt;/p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea D: Validar la introducción de datos'''&amp;lt;p&amp;gt;Modificaremos el sistema para que valide la introducción de ciertos datos para garantizar la integridad de la información. En esta sección, se explica el concepto de validación y cómo añadir condiciones de validaciones a los campos de un formulario.&amp;lt;/p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea E: Utilizar el registro como un almacén de documentación'''&amp;lt;p&amp;gt;Mejoraremos el registro para que cualquier departamento de la organización pueda conocer toda la documentación que un Tercero ha presentado a lo largo de la vida del registro. Para ofrecer esta funcionalidad, en esta sección se introducen los conceptos de exportación y catálogo. Además, se explica el ciclo de eventos que se producen cuando se almacena un [[Contenedores|contenedor]].&amp;lt;/p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea F: Abriendo el registro al resto de las oficinas'''&amp;lt;p&amp;gt;Modificaremos el sistema para permitir que usuarios de otros departamentos puedan acceder a la oficina del registro para consultar datos de la base de terceros y del registro. Para garantizar que el acceso es sólo de lectura, limitaremos sus permisos. Para garantizar estos requisitos introduciremos los conceptos de rol y de privacidad sobre objetos.&amp;lt;/p&amp;gt;[[Tarea F: Abriendo el registro al resto de las oficinas|''Realizar la tarea'']]&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea G: Evitando la replicación de código''' &amp;lt;p&amp;gt;Clasificadores, herencia y polimorfismo en ODL.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea G: Evitando la repliación de código|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea H: Emitir certificados de documentación''' &amp;lt;p&amp;gt;Cómo elaborar escritos automáticamente y hacer uso de la firma electrónica.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea H: Emitir certificados de documentación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea I: Creando una oficina sin papeles''' &amp;lt;p&amp;gt;Cómo desarrollar un ''workflow'' en '''egeasy'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea I: Creando una oficina sin papeles|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*'''Tarea J: Importar la base de datos de terceros de otra aplicación''' &amp;lt;p&amp;gt;Cómo importar datos en '''egeasy''' haciendo uso de XML, CSV y las herramienta '''egExport''' y '''egImportExport'''.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea J: Importar la base de datos de terceros de otra aplicación|''Realizar la tarea'']]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Categoría:ODL]]&lt;br /&gt;
[[Categoría:Tutoriales]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4993</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4993"/>
				<updated>2009-06-02T11:18:53Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Registro de entrada y salida: un tutorial para aprender ODL===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a programar una aplicación desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar fundamental de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4992</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4992"/>
				<updated>2009-06-02T11:18:16Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Registro de entrada y salida: un tutorial para aprender ODL===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a programar una aplicación desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar básico de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [[Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como sus atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4991</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4991"/>
				<updated>2009-06-02T11:17:18Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Registro de entrada y salida: un tutorial para aprender ODL===&lt;br /&gt;
&amp;lt;p&amp;gt;Con este tutorial aprenderás a programar una aplicación desde cero, conocerás los aspectos más importantes de ODL y cogerás soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Los siguientes artículos documentan con más detalle todos los elementos de ODL que has visto en el tutorial:&amp;lt;/p&amp;gt;&lt;br /&gt;
*Los [[Contenedores|contenedores]] son el pilar básico de ODL. Gracias a ellos es posible diseñar un sistema de información abstrayéndonos de los detalles de comunicación con la base de datos, de modo que las operaciones crear, guardar, buscar, actualizar y eliminar son transparentes para el desarrollador.&lt;br /&gt;
&lt;br /&gt;
*En el artículo [Formularios%2C_secciones_y_campos|Formularios, campos y secciones]] se explican todos los tipos de campos disponibles en ODL, así como su atributos que te ayudarán a configurar el comportamiento del campo.&lt;br /&gt;
&lt;br /&gt;
*El artículo [[Colecciones|colecciones]] profundiza en las características de esta componente.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4988</id>
		<title>Guía para desarrolladores</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Gu%C3%ADa_para_desarrolladores&amp;diff=4988"/>
				<updated>2009-06-02T11:01:13Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introducción==&lt;br /&gt;
===¿Qué es egeasy?===&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a nuestra web para conocer qué es la plataforma '''egeasy''' y las posibilidades que ofrece a aquellas organizaciones que deciden informatizar sus sistemas de información.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Además, podrás encontrar un ''tour'' donde se explican, de una forma más detallada e ilustrativa, las características de la plataforma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[http://www.egeasy.es Ir a la web]&lt;br /&gt;
&lt;br /&gt;
===Historia de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce la evolución de la plataforma '''egeasy''' desde sus comienzos en el año 1997 hasta la actualidad, pasando por un proceso constante de actualizaciones para atender las necesidades que han ido surgiendo de los diferentes organismos que utilizan esta herramienta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Historia|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Visión general de egeasy===&lt;br /&gt;
hablar de modelo, diccionario y centro&lt;br /&gt;
&lt;br /&gt;
===Arquitectura de la plataforma===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando trabajamos con un centro, ya sea en fase de prueba como en explotación, existen un conjunto de aplicaciones que hacen posible la conectividad entre el software de gestión y administración, y los servidores de datos. A este conjunto de aplicaciones lo denominamos ''servidor de aplicaciones''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Veamos en el siguiente artículo, la arquitectura de la plataforma '''egeasy''', así como una descripción de todas las aplicaciones que intervienen en el funcionamiento de un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Arquitectura_de_la_plataforma|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Antes de empezar a desarrollar==&lt;br /&gt;
===Configurar un centro desde cero===&lt;br /&gt;
&amp;lt;p&amp;gt;Cuando se comienza a desarrollar un modelo en ODL, es necesario ir haciendo pruebas para comprobar que los resultados que se van obteniendo son los esperados. Para ello, instalaremos nuestro centro mediante la herramienta egAdmin, basándose en el modelo que estamos desarrollando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el siguiente artículo se detalla la forma de instalar un centro en egAdmin, así como la creación de una base de datos en el caso de ''SQL Server'' o un ''tablespace'' en el caso de ''Oracle''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_instalar_un_centro_desde_cero|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Cómo se estructura un proyecto===&lt;br /&gt;
directorios de un proyecto&lt;br /&gt;
&lt;br /&gt;
==Desarrollo con ODL==&lt;br /&gt;
===Compilar paso a paso===&lt;br /&gt;
&amp;lt;p&amp;gt;Es evidentemente que mientras desarrollamos nuestro modelo en ODL, será necesario ir compilando el código que se va generando.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo, podremos aprender a utilizar el compilador de ODL, llamado '''egCompiler'''. Además, se incluye una sección en la cuál se explican aquellos casos en los que es necesario actualizar diccionario, modelo o centro; en función de las modificaciones que hayamos realizado.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;[[Cómo_compilar_paso_a_paso|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Registro de entrada y salida: un tutorial para aprender ODL===&lt;br /&gt;
&amp;lt;p&amp;gt;A través de este tutorial aprenderás a programar una aplicación desde cero, conocerás los aspectos más importantes de ODL y te ayudará a coger soltura con la plataforma.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Construir_una_aplicación_paso_a_paso|Ir al tutorial]]&amp;lt;/p&amp;gt;&lt;br /&gt;
===Teoría, teoría, teoría.===&lt;br /&gt;
*Una vez entendido el concepto de contenedor, accederemos a la primera tarea para contruir una aplicación. Entra [[Construir_una_aplicación_paso_a_paso|aquí]] para entender el sistema de información a desarrollar, y luego iniciar la tarea.&amp;lt;p&amp;gt;[[Tarea_A:_Libros_y_registro_de_entrada_y_salida|Ir a la tarea A]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Aunque en la tarea anterior ya hemos utilizado los '''formularios''', las '''secciones''' y los '''campos''', accederemos ahora al documento donde se explica con mayor detalle todo lo relacionado con estos tres componentes. Estudia con detenimiento el campo timbre y los atributos que le afectan, pues lo utilizaremos en la siguiente tarea de nuestra aplicación.&amp;lt;p&amp;gt;[[Formularios%2C_secciones_y_campos|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Como hemos dicho, la siguiente tarea a realizar consiste en utilizar el campo timbre y sus atributos para crear una numeración al registrar una entrada o una salida. También haremos uso de algunas propiedades de campos concretos así como de los diferentes modos de edición de un campo.&amp;lt;p&amp;gt;[[Tarea_B:_Mejorando_la_numeración_del_registro|Ir a la tarea B]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*En las dos tareas que llevamos realizadas hasta este momento, hemos declarado una serie de '''colecciones''' que nos han servido como listado de aquellos objetos que vamos creando y que nos permiten acceder a ellos.&amp;lt;p&amp;gt;Pero, aunque en la Tarea A, se incluye una introducción sobre el concepto de colección, es necesario profundizar un poco más en este componente, estudiando las diferentes situaciones en las que podemos definir colecciones.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Colecciones|Ir al artículo]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*A continuación, seguiremos ampliando nuestro sistema de información, esta vez añadiendo la definición de un contenedor Tercero que estará vinculado a la definición de contenedor Entrada. Para ello, utilizaremos un campo vínculo, que incluiremos en la definición de Entrada, y explicaremos los atributos que serán necesarios para que el vínculo enlace correctamente al objeto Tercero correspondiente.&amp;lt;p&amp;gt;Además, conoceremos la definición de '''enumerado''' y haremos uso de un campo tabla para registrar la documentación presentada en una Entrada.&amp;lt;/p&amp;gt;Al igual que en las dos tareas anteriores, se plantean una serie de ejercicios relacionados con el contenido del artículo que te ayudarán a afianzar los conceptos estudiados y que a su vez servirán para ir evolucionando nuestro sistema de información.&amp;lt;p&amp;gt;[[Tarea_C:_Evolucionando_la_arquitectura_del_registro|Ir a la tarea C]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Cuando estudiamos el artículo de [[Contenedores|contenedores]] vimos que se podían incluir en su definición el uso de '''validaciones'''.&amp;lt;p&amp;gt;En la siguiente tarea añadiremos algunas validaciones en la definición de Tercero, de forma que la información introducida en los campos a los cuáles hagan referencia las validaciones tendrá que ser evaluada.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea_D:_Validar_la_introducción_de_datos|Ir a la tarea D]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;p&amp;gt;El la siguiente tarea, aprenderemos a listar objetos utilizando una componente nueva: los '''catálogos'''. Veremos qué diferencias existen entre una colección y un catálogo.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;También utilizaremos el concepto de '''exportación''', que nos permite desglosar la información de un contenedor y almacenarla en una tabla. Volveremos a repasar el ciclo de eventos de un objeto así como los valores '''RRC''', '''DRC''' y '''NAME''' que afectan a toda definición del sistema.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;Simultáneamente a esta tarea, sería interesante ir echando un vistazo al artículo [[Catálogos|catálogos]] para que nos sirva de apoyo.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea_E:_Utilizar_el_registro_como_un_almacén_de_documentación|Ir a la tarea E]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Hasta ahora, en la implementación de nuestro proyecto no nos hemos preocupado del acceso a los diferentes recursos que hemos estado definiendo. Cualquier usuario puede acceder a cualquier recurso del sistema. Pero en un sistema de información esto nunca es así. La definición de roles en ODL nos permite crear cuantos roles creamos necesarios para nuestro centro, y para cada uno de estos roles podremos asignarle permisos de acceso a recursos, permisos de realización de tareas o permisos para firmar documentos&amp;lt;p&amp;gt;Veamos por tanto cómo gestionar el acceso a los recursos en nuestro Registro de Entrada y Salida.&amp;lt;/p&amp;gt;&amp;lt;p&amp;gt;[[Tarea_F:_Abriendo_el_registro_al_resto_de_las_oficinas|Ir a la tarea F]]&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4555</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4555"/>
				<updated>2009-04-24T09:45:23Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es Nueva página de actualizaciones]====&lt;br /&gt;
&amp;lt;p&amp;gt;En esta página podrás descargar la última versión de la plataforma con las nuevas actualizaciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4554</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4554"/>
				<updated>2009-04-24T09:44:48Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es| Nueva página de actualizaciones]====&lt;br /&gt;
&amp;lt;p&amp;gt;En esta página podrás descargar la última versión de la plataforma con las nuevas actualizaciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4553</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4553"/>
				<updated>2009-04-24T09:44:42Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es | Nueva página de actualizaciones]====&lt;br /&gt;
&amp;lt;p&amp;gt;En esta página podrás descargar la última versión de la plataforma con las nuevas actualizaciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4552</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4552"/>
				<updated>2009-04-24T09:44:25Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es|| Nueva página de actualizaciones]====&lt;br /&gt;
&amp;lt;p&amp;gt;En esta página podrás descargar la última versión de la plataforma con las nuevas actualizaciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4551</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4551"/>
				<updated>2009-04-24T09:39:29Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es|| Nueva página de actualizaciones]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4550</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4550"/>
				<updated>2009-04-24T09:39:22Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es||Nueva página de actualizaciones]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4549</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4549"/>
				<updated>2009-04-24T09:39:05Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[http://actualizaciones.egeasy.es|Nueva página de actualizaciones]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4548</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4548"/>
				<updated>2009-04-24T09:38:54Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[[http://actualizaciones.egeasy.es|Nueva página de actualizaciones]]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4547</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4547"/>
				<updated>2009-04-24T09:38:43Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[[actualizaciones.egeasy.es|Nueva página de actualizaciones]]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4546</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4546"/>
				<updated>2009-04-24T09:38:36Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[[actualizaciones.egeasy.es||Nueva página de actualizaciones]]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4545</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=4545"/>
				<updated>2009-04-24T09:38:19Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[[Nueva página de actualizaciones||actualizaciones.egeasy.es]]====&lt;br /&gt;
====[[Despliegue de la plataforma de gestión egeasy]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo donde se muestra cómo instalar la plataforma de gestión de '''egeasy''' en un servidor, para posteriormente instalar los centros correspondientes.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Guía de usuario para egexplorer]]====&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar un manual de usuario para aprender a utilizar la herramienta egExplorer. Si eres usuario de esta aplicación o te estás iniciando en ella, te recomendamos consultes esta guía.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Eventos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Conoce qué son los eventos en ODL, cómo se definen y qué utilidades ofrecen al desarrollador a la hora de lanzar tareas y manejar contenedores.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Utilidades que le darán una mayor versatilidad al sistema de información y que por tanto pueden servir para solucionar situaciones en las cuales se antoja necesario hacer uso de los eventos.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Eventos&amp;diff=4255</id>
		<title>Eventos</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Eventos&amp;diff=4255"/>
				<updated>2009-04-15T10:30:01Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===¿Qué son los eventos en ODL?===&lt;br /&gt;
&amp;lt;p&amp;gt;Un evento en ODL es un hecho que puede acaecer a la hora de tratar con contenedores o tareas y que conlleva un cambio en el estado de un contenedor o una tarea.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En el caso de los contenedores, los eventos que se pueden producir son los siguientes:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Al_crear&lt;br /&gt;
:*Al_guardar&lt;br /&gt;
:*Al_abrir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Y para el caso de las tareas:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
:*Al_crear&lt;br /&gt;
:*Al_comenzar&lt;br /&gt;
:*Al_finalizar&lt;br /&gt;
:*Al_abandonar&lt;br /&gt;
&lt;br /&gt;
===¿Para qué sirven?===&lt;br /&gt;
&amp;lt;p&amp;gt;La utilidad que nos proporcionan los eventos es poder ejecutar código ODL, invocar métodos o lanzar ''plugins'' cuando se produce alguno de los eventos comentados en la sección anterior.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Es decir, primero se produce el evento, y luego se ejecuta o bien nuevo código ODL, un método o un ''plugin''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===¿Cuál es su sintaxis?===&lt;br /&gt;
&amp;lt;p&amp;gt;Para definir un evento y especificar una acción a posteriori utilizaremos tres atributos que podremos combinar con todos aquellos eventos que hemos visto, ya sean de contenedor o de tarea:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 -&amp;lt;Nombre_evento&amp;gt;.{{AT|codigo}} ==&amp;gt; Para ejecutar código ODL&lt;br /&gt;
 -&amp;lt;Nombre_evento&amp;gt;.{{AT|metodo}} ==&amp;gt; Para ejecutar un método&lt;br /&gt;
 -&amp;lt;Nombre_evento&amp;gt;.{{AT|plugin}} ==&amp;gt; Para ejecutar un plugin, especificando la DLL&lt;br /&gt;
&lt;br /&gt;
===Ejemplo===&lt;br /&gt;
&lt;br /&gt;
*Ejemplo para contenedores:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [ID1::Expediente de fiscalización] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
     -{{AT|descripcion}} = {{STR|&amp;quot;Expediente con el que se lleva a cabo una fiscalización.&amp;quot;}};&lt;br /&gt;
     -{{AT|Al_guardar.nombre}} = {{STR|&amp;quot;eventos.Guardar&amp;quot;}};&lt;br /&gt;
     -{{AT|Al_abrir.plugin}} = {{STR|&amp;quot;AsistenteEntradaMercancia.dll&amp;quot;}};&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
 {{PR|metodo}} Guardar();&lt;br /&gt;
 {{PR|inicio}}&lt;br /&gt;
     [Datos generales].[Tipo de expediente] = {{STR|&amp;quot;Guardado&amp;quot;}};&lt;br /&gt;
     $guardar(this);&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
*Ejemplo para tareas:&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [ADH::Elaborar resolución de otorgamiento] {{PR|es}} {{RE|tarea}}&lt;br /&gt;
     -{{AT|fuente.definicion}} = [Entidad];&lt;br /&gt;
     -{{AT|destino.definicion}} = [ADH::Resolución de otorgamiento de distintivo];&lt;br /&gt;
     -{{AT|destino.valor}} = $crear([Contenido]);&lt;br /&gt;
     -{{AT|Al_crear.codigo}} = &amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;'''&amp;quot;[&amp;amp;Destino]-&amp;gt;[Datos generales].[Observaciones] = 'Se ha creado la tarea.'; $guardar([&amp;amp;Destino]);&amp;quot;'''&amp;lt;/font&amp;gt;;&lt;br /&gt;
     -{{AT|Al_abandonar.nombre}} = {{STR|&amp;quot;eventos.abandonar&amp;quot;}};&lt;br /&gt;
 {{PR|fin}} &lt;br /&gt;
&lt;br /&gt;
 {{PR|metodo}} abandonar();&lt;br /&gt;
 {{PR|inicio}}&lt;br /&gt;
     [&amp;amp;Destino]-&amp;gt;[Datos generales].[Observaciones] = {{STR|&amp;quot;Se ha abandonado la tarea.&amp;quot;}};&lt;br /&gt;
     $guardar([&amp;amp;Destino]);&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
===Modificación de la función $guardar===&lt;br /&gt;
&amp;lt;p&amp;gt;La función &amp;lt;code&amp;gt;'''$guardar'''&amp;lt;/code&amp;gt; hasta ahora sólo nos ha permitido guardar un objeto pasado por parámetro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ahora será posible incluir un segundo parámetro opcional, de tipo lógico, que permitirá controlar si al guardar mediante esta función se debe, o no, lanzar el evento Al_guardar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este parámetro tendrá por defecto valor falso, de manera que cuando se ejecute $guardar, no se lanzará el código asociado al evento &amp;lt;code&amp;gt;Al_guardar&amp;lt;/code&amp;gt;. En el caso de invocar a la función pasándole verdadero, se disparará el evento &amp;lt;code&amp;gt;Al_guardar&amp;lt;/code&amp;gt;.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Ahora bien, en caso de llamar a la función $guardar con el nuevo parámetro a verdadero, tendremos que fijarnos que dicha función no se lanza desde el evento Al_guardar, pues esto provocaría un bucle infinito en la ejecución del código. De manera que no se podría dar una instrucción como la siguiente en la definición de un contenedor:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {{PR|tipo}} [Expediente] {{PR|es}} {{RE|contenedor}}&lt;br /&gt;
     ...&lt;br /&gt;
     ...&lt;br /&gt;
     -{{AT|Al_guardar}} = &amp;lt;font color=&amp;quot;#FF00FF&amp;quot;&amp;gt;'''&amp;quot;$sellar([Datos generales].[Nº de expediente]); $guardar(this,verdadero);&amp;quot;'''&amp;lt;/font&amp;gt;; {{COM|//bucle infinito}}&lt;br /&gt;
     -{{AT|Al_abrir}} = {{STR|&amp;quot;metodos/eventos.nmt&amp;quot;}};&lt;br /&gt;
     ...&lt;br /&gt;
 {{PR|fin}}&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=3978</id>
		<title>Novedades</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Novedades&amp;diff=3978"/>
				<updated>2009-03-27T11:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
====[[Funciones platino]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
====[[Catálogos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Es posible que en un sistema de información donde se manejan grandes cantidades de información sea necesario crear listados de información concreta.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Los catálogos nos permiten acceder a la base de datos del sistema de información y &amp;quot;pedir&amp;quot; aquellos datos que puedan ser requeridos para un determinado uso. Por tanto, en caso de necesitar generar algún tipo de listado, sería fundamental acceder a este artículo y conocer la especificación de un catálogo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Colecciones]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para crear y acceder a objetos, es necesario incluir su definición en la definición de una colección. Por tanto, entender el funcionamiento y la definición de una colección es fundamental para el desarrollo de un sistema de información en ODL.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podremos ver de una forma práctica cómo definir colecciones, así como los diferentes casos que se pudieran dar entorno a su definición.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo instalar un centro desde cero]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Una vez tenemos nuestro proyecto compilado, el siguiente paso es instalarlo para que adquiera operatividad. A esto lo llamamos instalar un centro. Para ello, es necesario crear previamente una base de datos que utilizará nuestro centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;En este artículo podrás encontrar una guía para la creación de una base de datos en SQL Server y en Oracle, así como los pasos necesarios para posteriomente instalar y configurar un centro.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Cómo compilar paso a paso]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo que ofrece al programador de ODL la documentación necesaria para realizar la compilación de su proyecto. Qué herramientas ofrece '''egeasy''' para ello, cómo utilizarlas, qué eventos pueden ocurrir y una vez finalizada la compilación, qué actualizaciones posteriores debemos realizar.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Formularios, secciones y campos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Para introducir datos en un sistema de información, ODL ofrece tres mecanismos para estructurar e introducir dicha información. Hablamos de los componentes formulario, sección y campo.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Accede a este artículo para ver ejemplos sobre su uso, así como todos aquellas propiedades y atributos que intervienen en cada una de las definiciones.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Escritos]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Si algo caracteriza a los sistemas de información, es la gran cantidad de documentos que se generan.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Este artículo ofrece una explicación de todos aquellos conceptos de ODL que son necesarios implementar para la generación de escritos o documentos. Conceptos como plantilla, documento, fichero RTF o campo firma.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Te podrás apoyar en los ejemplos prácticos que se muestran comprobando su funcionamiento en la herramienta egExplorer.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====[[Contenedores]]====&lt;br /&gt;
&amp;lt;p&amp;gt;Artículo sobre uno de los recursos fundamentales de ODL, los contenedores. Es básico entender el concepto de contenedor para poder programar en ODL. Accede para comprender dicho concepto, qué definiciones podemos realizar, qué propiedades poseen y qué atributos nos ofrecen. Podrás observar varios ejemplos gráficos sobre su funcionamiento.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Funciones_platino&amp;diff=3977</id>
		<title>Funciones platino</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Funciones_platino&amp;diff=3977"/>
				<updated>2009-03-27T09:04:41Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;p&amp;gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p&amp;gt;Todas las funciones definidas sólo se pueden invocar desde ficheros de métodos (*.nmt).&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Registrar entrada y salida==&lt;br /&gt;
&amp;lt;p&amp;gt;Este servicio nos permite registrar documentos de entrada y salida. Para comunicarnos con él se han diseñado tres funciones:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_registrar_entrada'''(Organismo: {{T|texto}}, Asunto: {{T|texto}}, Remitente: {{T|texto}}, NIF: {{T|texto}}, sal Fecha: {{T|fecha}}, sal Hora: {{T|texto}}, sal Numero: {{T|texto}}, sal Resguardo: {{T|clasificador}}[, Documentos {{T|clasificador}}])&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite registrar documentos de entrada PDF. No devuelve nada. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''Organismo''': organismo en el que entra en documento.&lt;br /&gt;
*'''Asunto''': asunto de la entrada.&lt;br /&gt;
*'''Remitente''': persona o entidad que presenta los documentos.&lt;br /&gt;
*'''NIF''': NIF/CIF de la persona o entidad que presenta los documentos.&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la entrada.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de entrada&lt;br /&gt;
*'''Resguardo''': componente clasificador en la que se almacenará el resguardo de la entrada en PDF.&lt;br /&gt;
*'''Documentos''': parámetro opcional. Componente clasificador en la que se encuentran los documentos en PDF a los que se desea dar de entrada. &lt;br /&gt;
&amp;lt;p&amp;gt;Ejemplo:&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 {{PR|metodo}} Registrar&lt;br /&gt;
    {{PR|var}}&lt;br /&gt;
       fecha_entrada: {{T|fecha}};&lt;br /&gt;
       hora_entrada: {{T|texto}};&lt;br /&gt;
       numero_entrada: {{T|texto}};&lt;br /&gt;
       solicitud: {{RE|contenedor}};&lt;br /&gt;
 {{PR|inicio}}&lt;br /&gt;
    solicitud = $crear([Expediente de la DG].[Contenido], {{STR|&amp;quot;Solicitud de inscripción&amp;quot;}});&amp;lt;br/&amp;gt;&lt;br /&gt;
    $registrar_entrada({{STR|&amp;quot;Dirección General de Administración Territorial y Gobernación&amp;quot;}}, {{STR|&amp;quot;Prueba&amp;quot;}},&lt;br /&gt;
                       {{STR|&amp;quot;Daniel Hernández Aguiar&amp;quot;}}, {{STR|&amp;quot;45759313P&amp;quot;}}, fecha_entrada, hora_entrada,&lt;br /&gt;
                       numero_entrada, solicitud-&amp;gt;[Documentos adjuntos]);&amp;lt;br/&amp;gt;&lt;br /&gt;
    solicitud.[Datos generales].[Nº de registro general] = {{AT|numero_entrada}};&lt;br /&gt;
    solicitud.[Datos generales].[Fecha de registro general] = {{AT|fecha_entrada}};&lt;br /&gt;
    solicitud.[Datos generales].[Hora de registro general] = {{AT|hora_entrada}};&lt;br /&gt;
    $guardar({{AT|solicitud}});&lt;br /&gt;
 {{PR|fin}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$plantino_registrar_salida'''(Organismo: {{T|texto}}, Asunto: {{T|texto}}, Remitente: {{T|texto}}, NIF: {{T|texto}}, sal Fecha: {{T|fecha}}, sal Hora: {{T|texto}}, sal Numero: {{T|texto}}, Reguardo: {{T|clasificador}}[, Documento: {{T|documento}}])&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite registrar de salida documentos elaborados mediante &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''Organismo''': organismo que envía el documento.&lt;br /&gt;
*'''Asunto''': asunto de la salida.&lt;br /&gt;
*'''Remitente''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''NIF''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la salida.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de salida.&lt;br /&gt;
*'''Reguardo''': componente clasificador en la que se almacenará el resguardo de la salida en PDF.&lt;br /&gt;
*'''Documento''': parámetro opcional infinito. Se pasará una componente documento por cada documento al que se le quiera dar salida. El tamaño máximo de estos documentos estará limitado por las especificaciones de PLATINO.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_registrar_salida'''(Organismo: {{T|texto}}, Asunto: {{T|texto}}, Remitente {{T|texto}}, NIF: {{T|texto}}, sal Fecha: {{T|fecha}}, sal Hora: {{T|texto}}, sal Numero: {{T|texto}}, Reguardo: {{T|clasificador}}, Documentos: {{T|clasificador}})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite registrar de salida documentos presentes en un clasificador en algún contenedor de &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''Organismo''': organismo que envía el documento.&lt;br /&gt;
*'''Asunto''': asunto de la salida.&lt;br /&gt;
*'''Remitente''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''NIF''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la salida.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de salida.&lt;br /&gt;
*'''Reguardo''': componente clasificador en la que se almacenará el resguardo de la salida en PDF.&lt;br /&gt;
*'''Documentos''': componente clasificador en la que se encuentran los documentos en PDF a los que se desea dar de salida.&lt;br /&gt;
&lt;br /&gt;
==Notificaciones telemáticas==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Para las notificaciones telemáticas se han implementado dos funciones: una que registra de salida los documentos y envía las notificaciones y otra que permite consultar el estado de la notificación.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_notificar'''(Terceros: {{T|matriz}}, Notificación: {{T|documento}})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Esta función permite notificar un escrito a un conjunto de Terceros. Los parámetros son:&lt;br /&gt;
*'''Terceros''': matriz de contenedores. Representa la lista de terceros que van a ser notificados.&lt;br /&gt;
*'''Notificación''': documento que va a ser notificado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;La función devuelve como salida una matriz con tantas filas como Terceros hayan sido notificados y con las siguientes columnas:&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''Tercero''': tipo contenedor. Representa el Tercero que ha sido notificado.&lt;br /&gt;
*'''Número de registro de salida''': tipo texto. nº del registro de salida.&lt;br /&gt;
*'''Fecha de registro de salida''': tipo fecha. Fecha del registro de salida.&lt;br /&gt;
*'''Hora de registro de salida''': tipo texto. Hora del registro de salida.&lt;br /&gt;
*'''Nº de notificación''': tipo texto. Identificador de la notificación.&lt;br /&gt;
*'''Estado''': tipo texto. Estado de la notificación. Los posibles valores del estado son los proporcionados por PLATINO: Creada, Enviada, Puesta a disposición, Leída, Expirada, Rechazada, Finalizada y Tercero no suscrito.  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_consultar_estado_notificacion'''(NumeroNotificacion: {{T|texto}})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite conocer el estado de una notificación. Recibe como entrada el identificador de la notificación y devuelve el estado actual en modo texto.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Envío de SMS==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_enviar_sms'''(Telefonos: {{T|matriz}}, Mensaje: {{T|texto}})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite notificar un mensaje a un conjunto de teléfonos móviles. Los parámetros son:&amp;lt;/p&amp;gt;&lt;br /&gt;
*'''Telefonos''': de tipo matriz. Lista de teléfonos a los que se desea enviar el mensaje. &lt;br /&gt;
*'''Mensaje''': de tipo texto. Mensaje de texto que se va a enviar. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función no devuelve nada.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sellado de tiempo==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote style=&amp;quot;border: 3px solid #993365; background: #F9F9F9; margin:1em 1ex 1ex 1ex; padding: 1em; text-align:left&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;'''$platino_sellar'''(sal Fecha: {{T|fecha}}, sal Hora: {{T|texto}})&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función permite obtener un sello de tiempo representado por una fecha y una hora. Los parámetros son:&amp;lt;/p&amp;gt;&lt;br /&gt;
*&amp;lt;b&amp;gt;Fecha&amp;lt;/b&amp;gt;: parámetro de salida. Fecha del sellado.&lt;br /&gt;
*&amp;lt;b&amp;gt;Hora&amp;lt;/b&amp;gt;: parámetro de salida. Hora del sellado.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Esta función no devuelve nada.&amp;lt;/p&amp;gt;&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	<entry>
		<id>https://wiki.egeasy.es/index.php?title=Funciones_platino&amp;diff=3916</id>
		<title>Funciones platino</title>
		<link rel="alternate" type="text/html" href="https://wiki.egeasy.es/index.php?title=Funciones_platino&amp;diff=3916"/>
				<updated>2009-03-26T18:45:15Z</updated>
		
		<summary type="html">&lt;p&gt;Dhernandez: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Este artículo describe las interfaces de las funciones que se han diseñado para la integración de '''egeasy''' con '''PLATINO'''.&lt;br /&gt;
&lt;br /&gt;
Todas las funciones definidas sólo se pueden invocar desde ficheros de métodos (*.nmt).&lt;br /&gt;
&lt;br /&gt;
==Registrar entrada y salida==&lt;br /&gt;
Este servicio nos permite registrar documentos de entrada y salida. Para comunicarnos con él se han diseñado tres funciones:&lt;br /&gt;
&lt;br /&gt;
$platino_registrar_entrada(Organismo:texto, Asunto:texto, Remitente:texto, NIF: texto, sal Fecha: fecha, sal Hora: texto, sal Numero: texto, sal Resguardo: clasificador[, Documentos: clasificador])&lt;br /&gt;
&lt;br /&gt;
Esta función permite registrar documentos de entrada PDF. No devuelve nada. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&lt;br /&gt;
*'''Organismo''': organismo en el que entra en documento.&lt;br /&gt;
*'''Asunto''': asunto de la entrada.&lt;br /&gt;
*'''Remitente''': persona o entidad que presenta los documentos.&lt;br /&gt;
*'''NIF''': NIF/CIF de la persona o entidad que presenta los documentos.&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la entrada.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de entrada&lt;br /&gt;
*'''Resguardo''': componente clasificador en la que se almacenará el resguardo de la entrada en PDF.&lt;br /&gt;
*'''Documentos''': parámetro opcional. Componente clasificador en la que se encuentran los documentos en PDF a los que se desea dar de entrada. &lt;br /&gt;
&lt;br /&gt;
Ejemplo:&lt;br /&gt;
&lt;br /&gt;
 metodo Registrar&lt;br /&gt;
    var&lt;br /&gt;
       fecha_entrada: fecha;&lt;br /&gt;
       hora_entrada: texto;&lt;br /&gt;
       numero_entrada: texto;&lt;br /&gt;
       solicitud: contenedor;&lt;br /&gt;
 incio&lt;br /&gt;
    solicitud = $crear([Expediente de la DG].[Contenido], &amp;quot;Solicitud de inscripción&amp;quot;);&lt;br /&gt;
    $registrar_entrada(&amp;quot;Dirección General de Administración Territorial y Gobernación&amp;quot;, &amp;quot;Prueba&amp;quot;, &amp;quot;Daniel Hernández Aguiar&amp;quot;, &amp;quot;45759313P&amp;quot;, fecha_entrada, hora_entrada, numero_entrada, solicitud-&amp;gt;[Documentos adjuntos]);&lt;br /&gt;
    solicitud.[Datos generales].[Nº de registro general] = numero_entrada;&lt;br /&gt;
    solicitud.[Datos generales].[Fecha de registro general] = fecha_entrada;&lt;br /&gt;
    solicitud.[Datos generales].[Hora de registro general] = hora_entrada;&lt;br /&gt;
    $guardar(solicitud);&lt;br /&gt;
 fin&lt;br /&gt;
$plantino_registrar_salida(Organismo:texto, Asunto:texto, Remitente:texto, NIF: texto, sal Fecha: fecha, sal Hora: texto, sal Numero: texto, Reguardo: clasificador[, Documento: documento])&lt;br /&gt;
&lt;br /&gt;
Esta función permite registrar de salida documentos elaborados mediante &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&lt;br /&gt;
*'''Organismo''': organismo que envía el documento.&lt;br /&gt;
*'''Asunto''': asunto de la salida.&lt;br /&gt;
*'''Remitente''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''NIF''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la salida.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de salida.&lt;br /&gt;
*'''Reguardo''': componente clasificador en la que se almacenará el resguardo de la salida en PDF.&lt;br /&gt;
*'''Documento''': parámetro opcional infinito. Se pasará una componente documento por cada documento al que se le quiera dar salida. El tamaño máximo de estos documentos estará limitado por las especificaciones de PLATINO.&lt;br /&gt;
&lt;br /&gt;
$plantino_registrar_salida(Organismo:texto, Asunto:texto, Remitente:texto, NIF: texto, sal Fecha: fecha, sal Hora: texto, sal Numero: texto, Reguardo: clasificador, Documentos: clasificador)&lt;br /&gt;
&lt;br /&gt;
Esta función permite registrar de salida documentos presentes en un clasificador en algún contenedor de &amp;lt;b&amp;gt;egeasy&amp;lt;/b&amp;gt;. Los datos devueltos se almacenan en las variables de salida. Los parámetros son:&lt;br /&gt;
*'''Organismo''': organismo que envía el documento.&lt;br /&gt;
*'''Asunto''': asunto de la salida.&lt;br /&gt;
*'''Remitente''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''NIF''': N/A (el significado de este campo no queda claro en la documentación de PLATINO).&lt;br /&gt;
*'''Fecha''': parámetro de salida. Fecha en la que se registra la salida.&lt;br /&gt;
*'''Hora''': parámetro de salida. Hora en la que se registra la salida.&lt;br /&gt;
*'''Numero''': parámetro de salida. Nº de registro de salida.&lt;br /&gt;
*'''Reguardo''': componente clasificador en la que se almacenará el resguardo de la salida en PDF.&lt;br /&gt;
*'''Documentos''': componente clasificador en la que se encuentran los documentos en PDF a los que se desea dar de salida.&lt;br /&gt;
&lt;br /&gt;
==Notificaciones telemáticas==&lt;br /&gt;
Para las notificaciones telemáticas se han implementado dos funciones: una que registra de salida los documentos y envía las notificaciones y otra que permite consultar el estado de la notificación.&lt;br /&gt;
&lt;br /&gt;
$platino_notificar(Terceros: matriz, Notificación: documento) &lt;br /&gt;
&lt;br /&gt;
Esta función permite notificar un escrito a un conjunto de Terceros. Los parámetros son:&lt;br /&gt;
*'''Terceros''': matriz de contenedores. Representa la lista de terceros que van a ser notificados.&lt;br /&gt;
*'''Notificación''': documento que va a ser notificado.&lt;br /&gt;
&lt;br /&gt;
La función devuelve como salida una matriz con tantas filas como Terceros hayan sido notificados y con las siguientes columnas:&lt;br /&gt;
*'''Tercero''': tipo contenedor. Representa el Tercero que ha sido notificado.&lt;br /&gt;
*'''Número de registro de salida''': tipo texto. nº del registro de salida.&lt;br /&gt;
*'''Fecha de registro de salida''': tipo fecha. Fecha del registro de salida.&lt;br /&gt;
*'''Hora de registro de salida''': tipo texto. Hora del registro de salida.&lt;br /&gt;
*'''Nº de notificación''': tipo texto. Identificador de la notificación.&lt;br /&gt;
*'''Estado''': tipo texto. Estado de la notificación. Los posibles valores del estado son los proporcionados por PLATINO: Creada, Enviada, Puesta a disposición, Leída, Expirada, Rechazada, Finalizada y Tercero no suscrito.  &lt;br /&gt;
&lt;br /&gt;
$platino_consultar_estado_notificacion(NumeroNotificacion: texto)&lt;br /&gt;
&lt;br /&gt;
Esta función permite conocer el estado de una notificación. Recibe como entrada el identificador de la notificación y devuelve el estado actual en modo texto.&lt;br /&gt;
&lt;br /&gt;
==Envío de SMS==&lt;br /&gt;
&lt;br /&gt;
$platino_enviar_sms(Telefonos: matriz, Mensaje: texto)&lt;br /&gt;
&lt;br /&gt;
Esta función permite notificar un mensaje a un conjunto de teléfonos móviles. Los parámetros son:&lt;br /&gt;
*'''Telefonos''': de tipo matriz. Lista de teléfonos a los que se desea enviar el mensaje. &lt;br /&gt;
*'''Mensaje''': de tipo texto. Mensaje de texto que se va a enviar. &lt;br /&gt;
&lt;br /&gt;
Esta función no devuelve nada.&lt;br /&gt;
&lt;br /&gt;
==Sellado de tiempo==&lt;br /&gt;
$platino_sellar(sal Fecha: fecha, sal Hora: texto)&lt;br /&gt;
&lt;br /&gt;
Esta función permite obtener un sello de tiempo representado por una fecha y una hora. Los parámetros son:&lt;br /&gt;
*&amp;lt;b&amp;gt;Fecha&amp;lt;/b&amp;gt;: parámetro de salida. Fecha del sellado.&lt;br /&gt;
*&amp;lt;b&amp;gt;Hora&amp;lt;/b&amp;gt;: parámetro de salida. Hora del sellado.&lt;br /&gt;
&lt;br /&gt;
Esta función no devuelve nada.&lt;/div&gt;</summary>
		<author><name>Dhernandez</name></author>	</entry>

	</feed>