Se ha creado con la herramienta el siguiente diagrama de Entidad/Relación, aporto además los comandos SQL para que sea compatible con cualquier servidor con mySQL 5.0.
Es una primera aproximación para guardar todos los datos necesarios.
Se ...
Hace ya algún tiempo que hice la interfaz gráfica de GECO y esto lo hice usando glade para generar un fichero xml que posteriormente se carga desde python y se trabaja con los controles. Así se consigue separar la capa de presentación de la lógica del programa y es muy simple cambiar casi cualquier aspecto gráfico sin tener que tocar código.
Para hacer aplicaciones de escritorio con gtk lo más simple es utilizar glade-3, en casi todas las distribuciones hay varios paquetes, glade o glade-2 y glade-3. En las versiones anteriores el editor glade presentaba varias ventanas dispersas, al estilo gimp, pero glade-3 presenta una interfaz unificada y mucho más intuitiva.
Es muy sencillo crear una interfaz con este programa, sólo tienes que ir pinchando en los controles que quieras añadir y se van dibujando sobre la marcha, luego cambias sus propiedades y le das el aspecto visual que prefieras.
La mayoría de los manuales de pygtk y glade indican que hay que hacer lo siguiente para cargar una interfaz creada con glade desde código python:
¿Qué simple verdad? pues en principio no funciona, cuando lo intentas hacer no funciona, a no ser que en el glade le des a guardar como libglade. Esto es porque desde hace algún tiempo, y yo no me había enterado, se utiliza otro formato que es gtkbuilder. Para utilizar interfaces generadas con glade y guardadas como gtkbuilder (que es como debería ser) hay que hacerlo de la siguiente manera:
Como podrás observar no ha cambiado mucho la cosa, solo cambiar get_widget por get_object y poco más.
Una vez cargado un objeto ya se puede trabajar con él, modificándolo, obteniendo información de él, etc. Para conocer todos los métodos y señales disponibles lo mejor es mirar la documentación.
Más facilidades, connect_signals, antiguo autoconnect
Desde glade, además de poner los controles en su sitio y definir los nombres se pueden definir funciones asociadas a los diferentes eventos que el objeto en cuestión pueda recibir. Así podemos evitarnos el tener que enlazar todos los botones con sus correspondientes funciones con el método connect, como se puede ver en los ejemplos anteriores y se pueden enlazar todas las funciones con una serie de funciones o métodos definidos.
Supongamos que tenemos una interfaz con un par de botones y hemos enlazado la señal clicked de cada botón con dos funciones llamadas boton1 y boton2 respectivamente.
Para que estos botones hagan algo, tendríamos un código así:
Si al método connect_signals se le pasa una instancia, buscará el nombre de las funciones en sus métodos, sin embargo también puede recibir un diccionario, y en tal caso, buscará las funciones a enlazar en ese diccionario.
También es posible pasarle argumentos a las funciones, pasándole otro argumento al método connect_signals:
Y con esto y un bizcocho, hacer interfaces gráficas con pygtk y glade es mucho más simple de lo que nunca pudieras imáginar :P
¡¡Hola!!Por fín parece que está todo subido. Se ha hecho lo que se ha podido y esperamos que a alguien le haya gustado la idea. Tanto el código como los documentos están actualizados.Un saludo y suerte :)
Además de mostrar los contenidos de la plataforma mediante paginación dinámica de la Figura, que proporcionan los estándares HTML actuales, las páginas del gestor de contenidos utilizan la tecnología AJAX por lo que el ...
Y es que no paramos de trabajar… Si bien todavía nos queda mucho para tener algo estable y usable, esta misma semana podremos llegar a tener incluso algo funcional.
AODV que funciona a través del puerto UDP 654 genera y puede recibir tres tipos de paquetes:
Pues bien, nosotros hemos conseguido realizar peticiones de rutas e incluso respuestas de ellas. Aunque todavía está un poco verde creo que podremos mostraros un ejemplo de funcionamiento esta misma semana del funcionamiento de Meshias; desde como compilarlo, pasando por las reglas de iptables necesarias, para luego hacer un ping y conseguir generar una petición de ruta y su respuesta, consiguiendo conectar con el objetivo.
Hola la forja esta activa podéis ver dos directorios principalmente
gnu_xff y docs
dentro de gnu_xff
esta trunk y branches
trunk es la rama oficial del concurso todo lo que modifico y añado ahí esta medianamente para ser presentado y leido.
En branches observareis una versión donde podréis jugar pero con mas fallos que una escopeta de feria, tened en cuenta que estoy experimentando y que tengo que hacer muchas pruebas, si verdaderamente soy capaz de programar este proyecto, por ello en esta rama ( con un estilo de programación pésimo y un código atrozmente feo) será como una especie de borrador, por favor que nadie se la estudie, si tenéis dudas sobre algún aspecto esperaros a que salga en trunk. Pienso que es interesante publicar este borrador así observareis que durante todo este tiempo no he estado sin hacer nada.
La verdad es que le estoy poniendo mucho empeño a mi proyecto, para que sea lo más competente posible y para que sea legible , cosa que por las prisas me lo estoy saltando, y sobre todo mi objetivo es que cumpla las 4 libertades:
Sigo trabajando para todos ustedes.
Las obras de conocimiento deben ser libres, no hay excusas para que no sea así
Richard Stallman
Si vais siguiendo el sistema estable y el de pruebas habréis comprobado que tiene un nuevo diseño gráfico. No es la única novedad, ya que hemos puesto en los dos sitios la última versión del código, de manera que podéis disfrutar de las nuevas características desarrolladas en la aplicación. Durante el día de hoy publicaremos [...]
Hola muchachos,
Me place comunicarles que el proyecto se encuentra en una fase de madurez suficiente como para llamarle beta. Se han añadido la mayoria de funcionalidades e incluso algunas nuevas que no estaban previstas en un principio.De todas maneras esto solo acaba de empezar, basicamente llegados a este punto nos encontramos con 2 problemas:
En cuanto a las funcionalidades que tenemos implementadas, basicamente son las siguientes:
Ahora solo falta depurar los errorcillos con los que nos vamos encontrando que no son pocos. Queda mucho trabajo pero por lo menos se empieza a ver la luz al final del túnel.
Siempre hemos hablado de darle soporte a la aplicación para que ésta sea ampliable facilmente con nuevas operaciones. !Hoy es el día en el se ha convertido en realidad!
Ahora podemos desarrollar plugins externos a nuestra aplicación a partir de un punto de extensión y añadir nuevas operaciones de forma fácil.
Esto tiene la gran ventaja, que la persona que programe estas nuevas operaciones no tiene porque tener conocimiento del resto de la aplicación, sino que sólo se deberá centrar en la implementación de la misma.
Ahora que ya lo tenemos hecho, vamos a centrar nuestros esfuerzos en hacer manuales y pruebas para que quien quiera pueda colaborar en el proyecto creando nuevas y mejores operaciones.
A continuación adjunto el driagrama entidad-relacción implementado.
ideldes entidad relacción
A la hora de implementar las Foreign Keys, hemos tenido que recurrir a la utilización de triggers. De esta forma ha quedado completamente solventado dicho “problema”.
Por otra parte, nos encontramos refactorizando el código para que la búsqueda e identificación de un dedo y mano, sea lo más rápida posible.
También estamos cambiando el tema de los markers, ya que habíamos realizado una prueba unitaria con la letra ‘l’, y ahora el cambio es para que trabaje de forma genérica.