pypyme-giotto Mailing List for pyPYME (Page 2)
Status: Planning
Brought to you by:
pyneo
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(93) |
Dec
(231) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(12) |
Feb
(43) |
Mar
(27) |
Apr
(47) |
May
(55) |
Jun
(68) |
Jul
(98) |
Aug
(59) |
Sep
(91) |
Oct
(7) |
Nov
(3) |
Dec
(2) |
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
(5) |
Aug
(9) |
Sep
|
Oct
|
Nov
|
Dec
|
From: Marcelo A. <mam...@gm...> - 2005-10-17 20:36:08
|
Jose wrote: > Hola a todos, > > Como ya habréis observado, el servidor donde están alojados los recursos > de este proyecto ha estado interrumpido durante casi 2 semanas. si. no funcionaba... Estas utilizando una maquina propia como servidor? > > Ha decidido aprovechar las teorías de Murphy para dejar de dar servicio > mientras yo pasaba unos días fuera. > > Pero ya está arreglado. > > Es más, ahora estoy incorporando soporte RAID1, por si acaso. > > Saludos, > Jose > > P.D. En breve reanudaré las conversaciones que he dejado pendientes > respecto a los análisis y diseños que propusimos hace un par de semanas. > Siento la tardanza. No hay problema... yo tambien me tome unas vacaciones de pyPyme! justo esta semana estoy reanudando... Marcelo |
From: Jose <coo...@py...> - 2005-10-16 09:31:53
|
Hola a todos, Como ya habr=E9is observado, el servidor donde est=E1n alojados los recur= sos de este proyecto ha estado interrumpido durante casi 2 semanas. Ha decidido aprovechar las teor=EDas de Murphy para dejar de dar servicio mientras yo pasaba unos d=EDas fuera. Pero ya est=E1 arreglado. Es m=E1s, ahora estoy incorporando soporte RAID1, por si acaso. Saludos, Jose P.D. En breve reanudar=E9 las conversaciones que he dejado pendientes respecto a los an=E1lisis y dise=F1os que propusimos hace un par de seman= as. Siento la tardanza. |
From: Jose <coo...@py...> - 2005-09-24 09:25:56
|
Hola Marcelo (y dem=E1s), Unos apuntes respecto al dise=F1o de este componente: - el c=F3digo deber=E1 incluirse en el paquete Python "org.pypyme.charon.socs.deployer" excepto la parte que tenga que ver con su integraci=F3n con el "Centro de Control", que deber=E1 ir en el paquet= e Python "org.pypyme.charon.apps.control_center". Deberemos intentar crear las m=EDnimas dependencias posibles entre el "Centro de Control" y este componente (y, con un poco de suerte, ninguna) - podemos entender como Empaquetador a cualquier desarrollador que tenga los conocimientos necesarios para crear un paquete, no al usuario final. Depende de nosotros decidir si los paquetes instalables debemos colocarlos: 1) dentro del =E1rbol de c=F3digo 2) en un repositorio p=FAblico (accesible via web) bajo el control de Subversion 3) en un repositorio p=FAblico (accesible via web) que no est=E9 ba= jo el control de Subversion Yo creo que la mejor opci=F3n es la 2). Saludos, Jose |
From: Jose <coo...@py...> - 2005-09-24 09:25:40
|
Hola Marcelo (y dem=E1s), Tal y como est=E1 descrito en la documentaci=F3n t=E9cnica [1] (que he actualizado e inclu=EDdo un glosario), este componente presenta las siguientes historias de usuario: - Un Usuario instala el "framework pyPYME" - Un Empaquetador prepara el paquete correspondiente a un componente - Un Administrador instala un componente - Un Administrador actualiza un componente - Un Administrador desinstala un componente - Un Empaquetador prepara el paquete correspondiente a un m=F3dulo - Un Administrador instala un m=F3dulo - Un Administrador actualiza un m=F3dulo - Un Administrador desinstala un m=F3dulo La idea a grandes rasgos es la de desarrollar un sistema gr=E1fico, de usuario, de f=E1cil utilizaci=F3n, que permita: 1) instalar el "framework pyPYME" 2) empaquetar un componente para que pueda ser distribuido e instalado f=E1cilmente 3) idem respecto a los m=F3dulos 4) instalar componentes individuales (p.e. Tablas Generales) de tal forma que: - se integren en el "framework pyPYME" (esto afecta, como m=EDnimo, a la estructura de men=FAs y al fichero components.xml) - actualizen el diccionario de datos del motor utilizado por la instancia de pyPYME en el que se instalen 5) idem respecto a los m=F3dulos (p.e. Tesoreria) Adem=E1s de instalar componentes y m=F3dulos deberemos soportar la actualizaci=F3n y la des-instalaci=F3n de cualquiera de ellos. Para simplificar podemos considerar la actualizaci=F3n como un proceso de des-instalaci=F3n de la antigua versi=F3n (respetando datos y configuraciones) y de instalaci=F3n de la nueva versi=F3n (respetando dat= os y configuraciones). Tambi=E9n debemos considerar: - =BFqu=E9 formato han de tener los paquetes para que sean f=E1cilment= e procesables?. =BFZip?, =BFeggs? - =BFd=F3nde dejar los paquetes?. =BFUn directorio?, =BFun sitio web=BF= , =BFdebe importar? - de d=F3nde "sacar" los paquetes instalables. =BFUn directorio?, =BFu= n sitio web?, =BFque lo especifique el usuario? - c=F3mo hacerle llegar al usuario la lista de posibles actualizaciones/novedades. Tenemos 2 opciones: o bien montamos un sistema de comprobaci=F3n de novedades que puede representarse mediante alg=FAn recurso visual o bien dise=F1amos un proceso que ha de iniciar el usuario en el que se muestre un formulario con los componentes y m=F3dulo= s instalados, no instalados y pendientes de actualizar. Yo optar=EDa por desarrollar la segunda opci=F3n y dejar=EDa la primera para una versi=F3n posterior - c=F3mo saber qu=E9 paquetes ya se han instalado y a qu=E9 versiones corresponden. =BFUtilizar un fichero de registro?, =BFconsultar el =E1rbo= l de c=F3digo? =BFSe os ocurren m=E1s ideas o necesidades a cubrir en este apartado?. =BF= Os parecen adecuados todos estos objetivos?. Saludos, Jose P.D. en el documento [1] he inclu=EDdo un glosario donde defino t=E9rmino= s como "Componente" y "Paquete" [1]http://dev.pypyme.org/doc/proyecto/modulos/charon/instalador/ |
From: Jose <coo...@py...> - 2005-09-22 17:14:47
|
El mar, 20-09-2005 a las 14:35, Mauro S=E1nchez escribi=F3: > 2005/9/14, Jose <coo...@py...>: [..] > > Esta ser=EDa la funcionalidad a grosso modo. Pero quedan por definir = los > > detalles: > >=20 > > 1. =BFdesde d=F3nde y c=F3mo se ha de invocar este servicio?. Ya q= ue toda > > la generaci=F3n de objetos se hace (o deber=EDa hacer) desde el conte= nedor, > > este servicio deber=E1 integrarse de alguna forma en =E9l y ser invoc= ado por > > =E9l > =BFSe podr=EDa hacer que el servicio delegue la creaci=F3n de objetos a= l > contenedor directamente? O sea, =BFque cada vez que se solicita la > generaci=F3n de un objeto este servicio llame al contenedor, sin que > tenga la posibilidad de generarlos el servicio por s=ED solo? De hecho esa es la forma en la que deber=EDa proceder. En principio toda instanciaci=F3n debe realizarse mediante el m=E9todo getInstance() del contenedor. > > 2. aunque inicialmente desarrollaremos este servicio para que > > gestione la creaci=F3n de formularios, =BFvale la pena crear una clas= e > > espec=EDfica para formularios en previsi=F3n de soportar en un futuro= la > > gesti=F3n de otros tipos de recursos?. Yo creo que vale la pena crear= una > > clase gen=E9rica y una clase especializada para la gesti=F3n de formu= larios > > aunque no utilizemos ninguna otra especializaci=F3n > Coincido con esto. Me parece que con la historia de usuario n=BA 1 se > puede dar que lo =FAnico que se quiere que se gestione es si se tiene > acceso para realizar una operaci=F3n =BFo estoy confundido? La historia 1 es totalmente gen=E9rica, no est=E1 relacionada con un tipo= de recurso determinado. En cambio el resto de historias pueden ser aplicadas o no dependiendo del tipo de recurso de que se trate e incluso su operativa puede ser distinta. Teniendo en cuenta que en un principio utilizaremos este servicio s=F3lo para gestionar formularios, mi duda era si vale la pena desarrollar una base gen=E9rica de la que deriven las implementaciones concretas (que en principio ser=EDa una, la de gesti=F3n de formularios) o es mejor gestion= ar directamente formularios. > > 3. =BFc=F3mo determinar la lista de procesadores a invocar?. En pr= incipio > > yo veo 3 opciones: > > 1. fijarlo en el c=F3digo > > 2. utilizar un fichero de configuraci=F3n > > 3. utilizar alg=FAn otro medio > =BFCuando te refieres a procesadores est=E1s hablando de los servicios > ServicioControladorDeAcceso, ServicioI18N, etc.? Utilizar el fichero > de configuraci=F3n, =BFnos dar=EDa un poco m=E1s de abstracci=F3n que f= ijarlo en > el c=F3digo? =BFse hizo algo parecido ya en el c=F3digo de pypyme? Cuando digo "procesador" en este contexto me estoy refiriendo a aquella parte del "Gestor de recursos" que se encarga de "procesar" una petici=F3= n de servicio. Es decir, una clase especializada que aplica una transformaci=F3n al recurso requerido. Esta transformaci=F3n normalmente = se har=E1 mediante un servicio auxiliar, como ServicioI18N, con lo que el procesador actuar=E1 como simple intermediario. O sea, no, no me refiero a los servicios auxiliares como ServicioControladorDeAcceso sino a una clase interna al componente 'Gestor de recursos'. Entones mi duda es c=F3mo definir qu=E9 procesadores se deben aplicar sob= re un recurso cuando el Usuario realiza una solicitud. Creo que por ahora lo m=E1s f=E1cil ser=E1 definirlo por c=F3digo. Respecto a si en pyPYME estamos utilizando ficheros de configuraci=F3n te dir=E9 que no, excepto el fichero 'components.xml' que forma parte del contenedor. > > 4. =BFc=F3mo invocar a cada procesador?. Esta parte puede ser senc= illa de > > responder: > > 1. dise=F1ando un interfaz que documente el API de un "procesad= or de > > recursos" > > 2. dise=F1ando una clase por cada procesador que implemente dic= ho > > interfaz > > 3. haciendo accesible el procesador dentro de la infraestructur= a > > de pyPYME (esto tiene que ver con el fichero 'components.xml') > La API que mencionas aqu=ED, =BFse encontrar=EDa en thalassa? Esta API ser=E1 parte de Charon, ya que es d=F3nde se implementar=E1 y us= ar=E1. Espec=EDficamente como parte del API del componente "Gestor de recursos". S=F3lo la incluir=EDamos en Thalassa si resultase ser parte del funcionamiento interno del contenedor. > > 5. =BFqu=E9 objeto deber=E1 ser pasado a los procesadores?. En pri= ncipio > > este servicio deber=E1 instanciar el formulario a trav=E9s del conten= edor y > > ser=EDa esta instancia la que pasar=EDa a cada uno de los procesadore= s > Si es as=ED, =BFquedar=EDa respondido el detalle n=BA 1 que planteas an= teriormente? S=ED. El proceso ser=EDa m=E1s o menos as=ED: 1. el Usuario solicita un formulario (recurso) al contenedor 2. el contenedor pasa la solicitud al "Gestor de recursos" 3. el "Gestor de recursos" determina si puede instanciar el recurso solicitado. Aqu=ED tenemos una posible "cadena de procesadores", normalmente relacionados con la seguridad. Para no liarnos, podemos asumir que siempre es posible instanciar recursos 4. si no hay ning=FAn problema de instanciaci=F3n, solicita al contene= dor una instancia; en caso contrario genera una excepci=F3n 5. hace pasar la instancia por cada uno de los procesadores que, de acuerdo a su "tipo de recurso", le son aplicables 6. devuelve la instancia "procesada" > > 6. =BFc=F3mo es el ServicioControlDeAcceso? > >=20 > > 7. =BFc=F3mo es el ServicioI18N? > >=20 > > 8. =BFc=F3mo es el ServicioL10N? > >=20 > > 9. =BFc=F3mo es el ServicioConfiguracion? > Tal vez todos estos servicios tengan cosas en com=FAn. =BFSe podr=EDa c= rear > una clase especializada por cada servicio? o =BFconviene tener todos > estos servicios por separados? No me queda bien claro que es lo que > realiza el ServicioConfiguracion. =BFSe utilizar=EDa cuando el usuario > tenga definido en la configuraci=F3n de la aplicaci=F3n (pypyme) un idi= oma > o un pa=EDs diferente al de su estaci=F3n de trabajo o nada que ver con= lo > que estoy diciendo? S=ED, es como dices. Se trata del =FAnico componente que sabe c=F3mo aplicar la configuraci=F3= n de la aplicaci=F3n y del usuario a los "recursos" utilizados por =E9sta. Chao, Jose |
From: <ma...@gm...> - 2005-09-20 12:35:59
|
2005/9/14, Jose <coo...@py...>: > Hola Mauro (y dem=E1s), >=20 > Acabo de "formalizar" las historias de usuario en el sitio Plone [1] as= =ED > que podemos empezar a comentar el dise=F1o. >=20 > Como puedes deducir de las historias este componente (o servicio, como > prefieras llamarlo) viene a ser un "despachador" de operaciones de > transformaci=F3n/adaptaci=F3n de recursos. >=20 > Es decir, cuando un Usuario solicita un recurso (p.e. un formulario) ha > de: >=20 > 1. crear una instancia del recurso solicitado > 2. determinar la lista de "procesadores" a los que el Servicio ha de > invocar para que "procesen" el recurso de acuerdo > 3. crear una "cadena de procesamiento" > 4. ejecutar la "cadena de procesamiento" invocando, en cada paso, al > "procesador" que corresponda con el recurso modificado en el paso > anterior >=20 > Esta ser=EDa la funcionalidad a grosso modo. Pero quedan por definir los > detalles: >=20 > 1. =BFdesde d=F3nde y c=F3mo se ha de invocar este servicio?. Ya que t= oda > la generaci=F3n de objetos se hace (o deber=EDa hacer) desde el contenedo= r, > este servicio deber=E1 integrarse de alguna forma en =E9l y ser invocado = por > =E9l =BFSe podr=EDa hacer que el servicio delegue la creaci=F3n de objetos al contenedor directamente? O sea, =BFque cada vez que se solicita la generaci=F3n de un objeto este servicio llame al contenedor, sin que tenga la posibilidad de generarlos el servicio por s=ED solo? >=20 > 2. aunque inicialmente desarrollaremos este servicio para que > gestione la creaci=F3n de formularios, =BFvale la pena crear una clase > espec=EDfica para formularios en previsi=F3n de soportar en un futuro la > gesti=F3n de otros tipos de recursos?. Yo creo que vale la pena crear una > clase gen=E9rica y una clase especializada para la gesti=F3n de formulari= os > aunque no utilizemos ninguna otra especializaci=F3n Coincido con esto. Me parece que con la historia de usuario n=BA 1 se puede dar que lo =FAnico que se quiere que se gestione es si se tiene acceso para realizar una operaci=F3n =BFo estoy confundido? >=20 > 3. =BFc=F3mo determinar la lista de procesadores a invocar?. En princi= pio > yo veo 3 opciones: > 1. fijarlo en el c=F3digo > 2. utilizar un fichero de configuraci=F3n > 3. utilizar alg=FAn otro medio =BFCuando te refieres a procesadores est=E1s hablando de los servicios ServicioControladorDeAcceso, ServicioI18N, etc.? Utilizar el fichero de configuraci=F3n, =BFnos dar=EDa un poco m=E1s de abstracci=F3n que fijar= lo en el c=F3digo? =BFse hizo algo parecido ya en el c=F3digo de pypyme? >=20 > 4. =BFc=F3mo invocar a cada procesador?. Esta parte puede ser sencilla= de > responder: > 1. dise=F1ando un interfaz que documente el API de un "procesador d= e > recursos" > 2. dise=F1ando una clase por cada procesador que implemente dicho > interfaz > 3. haciendo accesible el procesador dentro de la infraestructura > de pyPYME (esto tiene que ver con el fichero 'components.xml') La API que mencionas aqu=ED, =BFse encontrar=EDa en thalassa? >=20 > 5. =BFqu=E9 objeto deber=E1 ser pasado a los procesadores?. En princip= io > este servicio deber=E1 instanciar el formulario a trav=E9s del contenedor= y > ser=EDa esta instancia la que pasar=EDa a cada uno de los procesadores Si es as=ED, =BFquedar=EDa respondido el detalle n=BA 1 que planteas anteri= ormente? >=20 > 6. =BFc=F3mo es el ServicioControlDeAcceso? >=20 > 7. =BFc=F3mo es el ServicioI18N? >=20 > 8. =BFc=F3mo es el ServicioL10N? >=20 > 9. =BFc=F3mo es el ServicioConfiguracion? Tal vez todos estos servicios tengan cosas en com=FAn. =BFSe podr=EDa crear una clase especializada por cada servicio? o =BFconviene tener todos estos servicios por separados? No me queda bien claro que es lo que realiza el ServicioConfiguracion. =BFSe utilizar=EDa cuando el usuario tenga definido en la configuraci=F3n de la aplicaci=F3n (pypyme) un idioma o un pa=EDs diferente al de su estaci=F3n de trabajo o nada que ver con lo que estoy diciendo? >=20 > Como v=E9is, quedan algunos detalles por definir. >=20 > Jose >=20 > [1]http://dev.pypyme.org/doc/proyecto/modulos/charon/recursos/document_vi= ew >=20 >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download it for free - -and be entered to win a 42" plasma tv or your ver= y > own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > pypyme-giotto mailing list > pyp...@li... > https://lists.sourceforge.net/lists/listinfo/pypyme-giotto > |
From: Jose <coo...@py...> - 2005-09-17 11:16:37
|
El s=E1b, 17-09-2005 a las 02:06, Mauro S=E1nchez escribi=F3: > Jos=E9. Estuve viendo la documentaci=F3n de este componenete, pero muy = por > arriba porque estoy ocupado con unos trabajos. A principio de la > semana que viene, Lunes o Martes, la mirar=E9 m=E1s tranquilo para > analizarlo con detenimiento. Saludos a todos. En la documentaci=F3n observar=E1s que las historias de usuario (que estructuran el an=E1lisis) s=F3lo sirven como gu=EDas para enfocar las conversaciones (via esta lista de correo) que definen los detalles funcionales y que resultan en las especificaciones de los dise=F1os. Es decir, primero hemos de discutir los detalles (como en el mensaje anterior) y luego los documentaremos mediante un dise=F1o y un grupo de tests de aceptaci=F3n. Saludos, Jose |
From: <ma...@gm...> - 2005-09-17 00:06:25
|
Jos=E9. Estuve viendo la documentaci=F3n de este componenete, pero muy por arriba porque estoy ocupado con unos trabajos. A principio de la semana que viene, Lunes o Martes, la mirar=E9 m=E1s tranquilo para analizarlo con detenimiento. Saludos a todos. 2005/9/14, Jose <coo...@py...>: > Hola Mauro (y dem=E1s), >=20 > Acabo de "formalizar" las historias de usuario en el sitio Plone [1] as= =ED > que podemos empezar a comentar el dise=F1o. >=20 > Como puedes deducir de las historias este componente (o servicio, como > prefieras llamarlo) viene a ser un "despachador" de operaciones de > transformaci=F3n/adaptaci=F3n de recursos. >=20 > Es decir, cuando un Usuario solicita un recurso (p.e. un formulario) ha > de: >=20 > 1. crear una instancia del recurso solicitado > 2. determinar la lista de "procesadores" a los que el Servicio ha de > invocar para que "procesen" el recurso de acuerdo > 3. crear una "cadena de procesamiento" > 4. ejecutar la "cadena de procesamiento" invocando, en cada paso, al > "procesador" que corresponda con el recurso modificado en el paso > anterior >=20 > Esta ser=EDa la funcionalidad a grosso modo. Pero quedan por definir los > detalles: >=20 > 1. =BFdesde d=F3nde y c=F3mo se ha de invocar este servicio?. Ya que t= oda > la generaci=F3n de objetos se hace (o deber=EDa hacer) desde el contenedo= r, > este servicio deber=E1 integrarse de alguna forma en =E9l y ser invocado = por > =E9l >=20 > 2. aunque inicialmente desarrollaremos este servicio para que > gestione la creaci=F3n de formularios, =BFvale la pena crear una clase > espec=EDfica para formularios en previsi=F3n de soportar en un futuro la > gesti=F3n de otros tipos de recursos?. Yo creo que vale la pena crear una > clase gen=E9rica y una clase especializada para la gesti=F3n de formulari= os > aunque no utilizemos ninguna otra especializaci=F3n >=20 > 3. =BFc=F3mo determinar la lista de procesadores a invocar?. En princi= pio > yo veo 3 opciones: > 1. fijarlo en el c=F3digo > 2. utilizar un fichero de configuraci=F3n > 3. utilizar alg=FAn otro medio >=20 > 4. =BFc=F3mo invocar a cada procesador?. Esta parte puede ser sencilla= de > responder: > 1. dise=F1ando un interfaz que documente el API de un "procesador d= e > recursos" > 2. dise=F1ando una clase por cada procesador que implemente dicho > interfaz > 3. haciendo accesible el procesador dentro de la infraestructura > de pyPYME (esto tiene que ver con el fichero 'components.xml') >=20 > 5. =BFqu=E9 objeto deber=E1 ser pasado a los procesadores?. En princip= io > este servicio deber=E1 instanciar el formulario a trav=E9s del contenedor= y > ser=EDa esta instancia la que pasar=EDa a cada uno de los procesadores >=20 > 6. =BFc=F3mo es el ServicioControlDeAcceso? >=20 > 7. =BFc=F3mo es el ServicioI18N? >=20 > 8. =BFc=F3mo es el ServicioL10N? >=20 > 9. =BFc=F3mo es el ServicioConfiguracion? >=20 > Como v=E9is, quedan algunos detalles por definir. >=20 > Jose >=20 > [1]http://dev.pypyme.org/doc/proyecto/modulos/charon/recursos/document_vi= ew >=20 >=20 >=20 > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download it for free - -and be entered to win a 42" plasma tv or your ver= y > own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > pypyme-giotto mailing list > pyp...@li... > https://lists.sourceforge.net/lists/listinfo/pypyme-giotto > |
From: Jose <coo...@py...> - 2005-09-16 15:15:21
|
El vie, 16-09-2005 a las 16:59, Marcelo Ametller escribi=F3: > El Viernes 16 Septiembre 2005 11:47, Jose escribi=F3: > > > > Si miras la documentaci=F3n original de Xml2Ddl ver=E1s que afirma qu= e no > > soporta la opci=F3n 'install'. Incluye un m=F3dulo setup.py pero, cre= o > > recordar, tan s=F3lo como mecanismo para lanzar los scripts. > > >=20 > a no! si hay que leer la documentacion no juego... ;-D ;-D Jose |
From: Marcelo A. <mam...@gm...> - 2005-09-16 14:56:47
|
El Viernes 16 Septiembre 2005 11:47, Jose escribi=F3: > > Si miras la documentaci=F3n original de Xml2Ddl ver=E1s que afirma que no > soporta la opci=F3n 'install'. Incluye un m=F3dulo setup.py pero, creo > recordar, tan s=F3lo como mecanismo para lanzar los scripts. > a no! si hay que leer la documentacion no juego... ;-D marcelo |
From: Jose <coo...@py...> - 2005-09-16 14:47:40
|
El vie, 16-09-2005 a las 16:37, Marcelo Ametller escribi=F3: > El Viernes 16 Septiembre 2005 11:27, Jose escribi=F3: > > El vie, 16-09-2005 a las 16:11, Marcelo Ametller escribi=F3: > > > He visto que instalando el modulo xml2ddl, no se copian todos los > > > archivos necesarios para que funcione a site-packages. > > > > > > Por ejemplo falta ddlInterface.py entre otros scripts. > > > > > > Porque faltan? o son agregados personalizados? > > > > > > Para evitar tener que poner el path para las prueba, copie a "mano" > > > los scripts de xml2ddl a site-packages/xml2ddl > > > > El paquete Xml2Ddl no dispone de instalador ya que su autor lo > > desarroll=F3 como un conjunto de herramientas, no como una librer=EDa= . > > Pero has de utilizar la versi=F3n de pyPYME, no la original. > > > > En SVN, bajo '/third-party/xml2ddl', he subido una version que: > > > > - trata el directorio ra=EDz como un paquete Python e importa > > autom=E1ticamente todo su espacio de nombres (gracias a __init__.py). > > Esto permite que pueda ser utilizado como se dise=F1=F3 originalmente= , > > como un grupo de scripts, y como un paquete Python > > - a=F1ade soporte para cl=E1usulas UNIQUE > > - a=F1ade soporte (b=E1sico) para esquemas SQLite > > > > Para poder utilizar esta versi=F3n tienes 2 opciones: > > > > - incorporas el directorio ra=EDz donde hayas descargado el > > directorio '/third_party/xml2ddl' a PYTHONPATH (es lo que yo estoy > > haciendo) - o, como has hecho, instalas el paquete a mano en > > 'site-packages' > > > > En ambos casos deber=EDa funcionarte correctamente y no veo por qu=E9= no > > puede encontrar el m=F3dulo ddlInterface.py. >=20 > Originalmente lo instale con python setup.py install... (presente en el= =20 > paquete "/third_party/xml2ddl", y no me "instalaba" todos los scripts=20 > del paquete. S=ED, as=ED es. Si miras la documentaci=F3n original de Xml2Ddl ver=E1s que afirma que no soporta la opci=F3n 'install'. Incluye un m=F3dulo setup.py pero, creo recordar, tan s=F3lo como mecanismo para lanzar los scripts. > Luego lo copie a mano a site-packages y anduvo todo. Estupendo. Jose |
From: Marcelo A. <mam...@gm...> - 2005-09-16 14:42:18
|
El Viernes 16 Septiembre 2005 11:27, Jose escribi=F3: > El vie, 16-09-2005 a las 16:11, Marcelo Ametller escribi=F3: > > He visto que instalando el modulo xml2ddl, no se copian todos los > > archivos necesarios para que funcione a site-packages. > > > > Por ejemplo falta ddlInterface.py entre otros scripts. > > > > Porque faltan? o son agregados personalizados? > > > > Para evitar tener que poner el path para las prueba, copie a "mano" > > los scripts de xml2ddl a site-packages/xml2ddl > > El paquete Xml2Ddl no dispone de instalador ya que su autor lo > desarroll=F3 como un conjunto de herramientas, no como una librer=EDa. > Pero has de utilizar la versi=F3n de pyPYME, no la original. > > En SVN, bajo '/third-party/xml2ddl', he subido una version que: > > - trata el directorio ra=EDz como un paquete Python e importa > autom=E1ticamente todo su espacio de nombres (gracias a __init__.py). > Esto permite que pueda ser utilizado como se dise=F1=F3 originalmente, > como un grupo de scripts, y como un paquete Python > - a=F1ade soporte para cl=E1usulas UNIQUE > - a=F1ade soporte (b=E1sico) para esquemas SQLite > > Para poder utilizar esta versi=F3n tienes 2 opciones: > > - incorporas el directorio ra=EDz donde hayas descargado el > directorio '/third_party/xml2ddl' a PYTHONPATH (es lo que yo estoy > haciendo) - o, como has hecho, instalas el paquete a mano en > 'site-packages' > > En ambos casos deber=EDa funcionarte correctamente y no veo por qu=E9 no > puede encontrar el m=F3dulo ddlInterface.py. Originalmente lo instale con python setup.py install... (presente en el=20 paquete "/third_party/xml2ddl", y no me "instalaba" todos los scripts=20 del paquete. Luego lo copie a mano a site-packages y anduvo todo. > > Jose > marcelo |
From: Jose <coo...@py...> - 2005-09-16 14:27:55
|
El vie, 16-09-2005 a las 16:11, Marcelo Ametller escribi=F3: > He visto que instalando el modulo xml2ddl, no se copian todos los=20 > archivos necesarios para que funcione a site-packages. >=20 > Por ejemplo falta ddlInterface.py entre otros scripts. >=20 > Porque faltan? o son agregados personalizados? >=20 > Para evitar tener que poner el path para las prueba, copie a "mano" los= =20 > scripts de xml2ddl a site-packages/xml2ddl El paquete Xml2Ddl no dispone de instalador ya que su autor lo desarroll=F3 como un conjunto de herramientas, no como una librer=EDa. Pe= ro has de utilizar la versi=F3n de pyPYME, no la original. En SVN, bajo '/third-party/xml2ddl', he subido una version que: - trata el directorio ra=EDz como un paquete Python e importa autom=E1ticamente todo su espacio de nombres (gracias a __init__.py). Est= o permite que pueda ser utilizado como se dise=F1=F3 originalmente, como un grupo de scripts, y como un paquete Python - a=F1ade soporte para cl=E1usulas UNIQUE - a=F1ade soporte (b=E1sico) para esquemas SQLite Para poder utilizar esta versi=F3n tienes 2 opciones: - incorporas el directorio ra=EDz donde hayas descargado el directorio '/third_party/xml2ddl' a PYTHONPATH (es lo que yo estoy haciendo) - o, como has hecho, instalas el paquete a mano en 'site-packages' En ambos casos deber=EDa funcionarte correctamente y no veo por qu=E9 no puede encontrar el m=F3dulo ddlInterface.py. Jose |
From: Marcelo A. <mam...@gm...> - 2005-09-16 14:08:40
|
He visto que instalando el modulo xml2ddl, no se copian todos los archivos necesarios para que funcione a site-packages. Por ejemplo falta ddlInterface.py entre otros scripts. Porque faltan? o son agregados personalizados? Para evitar tener que poner el path para las prueba, copie a "mano" los scripts de xml2ddl a site-packages/xml2ddl marcelo |
From: Jose <coo...@py...> - 2005-09-15 23:44:34
|
El jue, 15-09-2005 a las 22:25, Marcelo Ametller escribi=F3: > Segun los cambios nuevos... y si no entendi mal: >=20 > 1) Las carpetas de cualquier componente que estan en: >=20 > schemas > firebird > postgresql >=20 > con su contenido: create, clear ya no van mas. As=ED es. > Ahora solo quedaran fill y logical ? S=ED. Y habr=E1 que migrar todos los scripts SQL a esquemas Python... > 2) EaseXML, toma el codigo python contenido en "logical" y lo transform= a=20 > en una estructura XML >=20 > xml2ddl toma el xml generado y lo transforma en codigo DDL >=20 > luego el ddlexecutor, mediante el interfaz adecuado (por ejemplo=20 > psycopq) lo ejecuta sobre el motor de datos. (postgresql) Cierto, as=ED es. O lo ser=E1, cuando est=E9 terminado... Jose |
From: Jose <coo...@py...> - 2005-09-15 23:05:36
|
El jue, 15-09-2005 a las 22:00, Marcelo Ametller escribi=F3: > Siguiendo las instrucciones del mail, para probar el componente=20 > instalador , hago: >=20 > $ cd=20 > http://dev.pypyme.org/trac/file/trunk/org/pypyme/charon/socs/deployer/t= /test_director.py >=20 > $ export PYTHONPATH=3D/home/mametller/workspace/pypyme/trunk/ >=20 > $=20 > http://dev.pypyme.org/trac/file/trunk/org/pypyme/charon/socs/deployer/t= /test_director.py >=20 >=20 > obtengo el error: > Traceback (most recent call last): > File=20 > "/home/mametller/workspace/pypyme/trunk/org/pypyme/charon/socs/deployer= /t/test_director.py",=20 > line 35, in ? > director.DeployComponent('') > AttributeError: 'NoneType' object has no attribute 'DeployComponent' >=20 > En la linea anterior (34) dice: > director =3D container.getInstance('controllers.deployer.Director') >=20 > puede ser que falte cargar en control_center/c/components.xml el=20 > componente mencionado? last_change me figura en la version 93. Me temo que tienes raz=F3n. El mensaje de error indica que el programa no puede crear una instancia de la clase Director, que se=F1ala un fallo en la linea 34. He comprobado el fichero components.xml y, como t=FA apuntas, no incluye la clase Director (mea culpa!). Basta con que incluyas en dicho fichero la l=EDnea: <component id=3D"controllers.deployer.Director" class=3D"org.pypyme.charon.socs.deployer.c.director.Director" type=3D"prototype" factory=3D"local_with_params" /> > otra: en director.DeployComponent('') estan bien las '' ? S=ED y no. La clase Director est=E1 sin acabar (de hecho apenas tiene c=F3digo) y simplemente la he preparado para que soporte el proceso de generaci=F3n del esquema de datos. Es m=E1s, si quer=E9is aplicar esta versi=F3n del Director para instalar otros esquemas tendr=E9is que modificar sus propiedades ya que utiliza valores "fijos" que, si estuviese totalmente implementada, se obtendr=EDan autom=E1ticamente. Resumiendo, en tanto no est=E9 totalmente desarrollado, el m=E9todo DeployComponent() utilizar=E1 el valor '' y obligar=E1 a personalizar su = uso mediante la adaptaci=F3n de sus propiedades component_name y component_base. Espero haberme explicado (creo que me he liado un poco 8-) ). Jose |
From: Jose <coo...@py...> - 2005-09-15 22:48:55
|
El jue, 15-09-2005 a las 02:02, Marcelo Ametller escribi=F3: > El Jueves 08 Septiembre 2005 22:35, Jose escribi=F3: > > Para que funcione deber=E9is: > > > > 1. descargar los fuentes de pyPYME > > 2. descargar los fuentes del paquete 'third_party' xml2ddl > > 3. descargar e instalar el paquete EaseXML >=20 > Supongo que hay que descargarlo segun lo siguiente, ya que no lo vi en=20 > third_party:=20 >=20 > EaseXML source code is now hosted on a Subversion repository on=20 >=20 > http://svn.base-art.net. To access it you have 3 alternatives: > browser-friendly nice output and diff capabilities with ViewCVS >=20 > DAV read-only access: > svn co http://svn.base-art.net/public/easexml La versi=F3n que estoy utilizando es la estable (la 0.2.0), que puedes encontrar en http://xmlobject.base-art.net/ Jose |
From: Marcelo A. <mam...@gm...> - 2005-09-15 20:54:51
|
Segun los cambios nuevos... y si no entendi mal: 1) Las carpetas de cualquier componente que estan en: schemas firebird postgresql con su contenido: create, clear ya no van mas. Ahora solo quedaran fill y logical ? 2) EaseXML, toma el codigo python contenido en "logical" y lo transforma en una estructura XML xml2ddl toma el xml generado y lo transforma en codigo DDL luego el ddlexecutor, mediante el interfaz adecuado (por ejemplo psycopq) lo ejecuta sobre el motor de datos. (postgresql) marcelo |
From: Marcelo A. <mam...@gm...> - 2005-09-15 19:57:42
|
Siguiendo las instrucciones del mail, para probar el componente instalador , hago: $ cd http://dev.pypyme.org/trac/file/trunk/org/pypyme/charon/socs/deployer/t/test_director.py $ export PYTHONPATH=/home/mametller/workspace/pypyme/trunk/ $ http://dev.pypyme.org/trac/file/trunk/org/pypyme/charon/socs/deployer/t/test_director.py obtengo el error: Traceback (most recent call last): File "/home/mametller/workspace/pypyme/trunk/org/pypyme/charon/socs/deployer/t/test_director.py", line 35, in ? director.DeployComponent('') AttributeError: 'NoneType' object has no attribute 'DeployComponent' En la linea anterior (34) dice: director = container.getInstance('controllers.deployer.Director') puede ser que falte cargar en control_center/c/components.xml el componente mencionado? last_change me figura en la version 93. otra: en director.DeployComponent('') estan bien las '' ? marcelo |
From: Marcelo A. <mam...@gm...> - 2005-09-15 00:00:16
|
El Jueves 08 Septiembre 2005 22:35, Jose escribi=C3=B3: > Hola a todos, > > Acabo de subir unos cuantos ficheros [1], [2], [3] y [4] que, en > conjunto, implementan la instalaci=C3=B3n "autom=C3=A1tica" de los diccio= narios > de datos de un componente. > > Contienen las clases (y librerias) que implementan el paso de un > modelo l=C3=B3gico a un grupo de cl=C3=A1usulas DDL adaptadas al SGBD uti= lizado > por pyPYME. > > Pod=C3=A9is encontrar la documentaci=C3=B3n correspondiente en [5]. > > Para que funcione deber=C3=A9is: > > 1. descargar los fuentes de pyPYME > 2. descargar los fuentes del paquete 'third_party' xml2ddl > 3. descargar e instalar el paquete EaseXML Supongo que hay que descargarlo segun lo siguiente, ya que no lo vi en=20 third_party:=20 EaseXML source code is now hosted on a Subversion repository on=20 http://svn.base-art.net. To access it you have 3 alternatives: browser-friendly nice output and diff capabilities with ViewCVS DAV read-only access: svn co http://svn.base-art.net/public/easexml Marcelo |
From: Jose <coo...@py...> - 2005-09-14 22:08:10
|
Hola Mauro (y dem=E1s), Acabo de "formalizar" las historias de usuario en el sitio Plone [1] as=ED que podemos empezar a comentar el dise=F1o. Como puedes deducir de las historias este componente (o servicio, como prefieras llamarlo) viene a ser un "despachador" de operaciones de transformaci=F3n/adaptaci=F3n de recursos. Es decir, cuando un Usuario solicita un recurso (p.e. un formulario) ha de: 1. crear una instancia del recurso solicitado 2. determinar la lista de "procesadores" a los que el Servicio ha de invocar para que "procesen" el recurso de acuerdo 3. crear una "cadena de procesamiento" 4. ejecutar la "cadena de procesamiento" invocando, en cada paso, al "procesador" que corresponda con el recurso modificado en el paso anterior Esta ser=EDa la funcionalidad a grosso modo. Pero quedan por definir los detalles: 1. =BFdesde d=F3nde y c=F3mo se ha de invocar este servicio?. Ya que t= oda la generaci=F3n de objetos se hace (o deber=EDa hacer) desde el contenedo= r, este servicio deber=E1 integrarse de alguna forma en =E9l y ser invocado = por =E9l 2. aunque inicialmente desarrollaremos este servicio para que gestione la creaci=F3n de formularios, =BFvale la pena crear una clase espec=EDfica para formularios en previsi=F3n de soportar en un futuro la gesti=F3n de otros tipos de recursos?. Yo creo que vale la pena crear una clase gen=E9rica y una clase especializada para la gesti=F3n de formulari= os aunque no utilizemos ninguna otra especializaci=F3n 3. =BFc=F3mo determinar la lista de procesadores a invocar?. En princi= pio yo veo 3 opciones: 1. fijarlo en el c=F3digo 2. utilizar un fichero de configuraci=F3n 3. utilizar alg=FAn otro medio 4. =BFc=F3mo invocar a cada procesador?. Esta parte puede ser sencilla= de responder: 1. dise=F1ando un interfaz que documente el API de un "procesador d= e recursos" 2. dise=F1ando una clase por cada procesador que implemente dicho interfaz 3. haciendo accesible el procesador dentro de la infraestructura de pyPYME (esto tiene que ver con el fichero 'components.xml') 5. =BFqu=E9 objeto deber=E1 ser pasado a los procesadores?. En princip= io este servicio deber=E1 instanciar el formulario a trav=E9s del contenedor= y ser=EDa esta instancia la que pasar=EDa a cada uno de los procesadores 6. =BFc=F3mo es el ServicioControlDeAcceso? 7. =BFc=F3mo es el ServicioI18N? 8. =BFc=F3mo es el ServicioL10N? 9. =BFc=F3mo es el ServicioConfiguracion? Como v=E9is, quedan algunos detalles por definir. Jose [1]http://dev.pypyme.org/doc/proyecto/modulos/charon/recursos/document_vi= ew |
From: <coo...@py...> - 2005-09-14 09:29:18
|
Author: pyneo Date: Wed Sep 14 11:28:44 2005 New Revision: 102 URL: http://dev.pypyme.org/trac/changeset/102?rev=3D102&view=3Drev Log: Peque=C3=B1os ajustes al c=C3=B3digo desarrollado. Modified: trunk/org/pypyme/charon/socs/general_tables/v/documents_groups.ui |
From: pyPYME <tr...@py...> - 2005-09-13 23:32:17
|
IzIxOiBGaWNoYS1saXN0YSwgZmFsbGEgZW4gZWwgcGFuZWwgZGUgImxldHJhcyIgc29icmUgY2Ft cG9zIG5vLWluZGV4YWRvcy4KLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgICAgIElkOiAgMjEgICAg ICB8ICAgICAgU3RhdHVzOiAgYXNzaWduZWQgICAgICAgICAgICAgICAgDQpDb21wb25lbnQ6ICBj aGFyb24gIHwgICAgTW9kaWZpZWQ6ICBXZWQgU2VwIDE0IDAxOjMyOjA4IDIwMDUNCiBTZXZlcml0 eTogIG5vcm1hbCAgfCAgIE1pbGVzdG9uZTogIGNoYXJvbl8wLjMgICAgICAgICAgICAgIA0KIFBy aW9yaXR5OiAgbm9ybWFsICB8ICAgICBWZXJzaW9uOiAgMS4wICAgICAgICAgICAgICAgICAgICAg DQogICAgT3duZXI6ICBweW5lbyAgIHwgICAgUmVwb3J0ZXI6ICBtYW1ldGxsZXIgICAgICAgICAg ICAgICANCi0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQ2hhbmdlcyAoYnkgcHluZW8pOgoKICAqIGNvbXBv bmVudDogIHRoYWxhc3NhID0+IGNoYXJvbg0KICAqIG1pbGVzdG9uZTogID0+IGNoYXJvbl8wLjMN CiAgKiB2ZXJzaW9uOiAgMi4wID0+IDEuMA0KICAqIHN0YXR1czogIG5ldyA9PiBhc3NpZ25lZA0K Ci0tIApUaWNrZXQgVVJMOiA8aHR0cDovL2Rldi5weXB5bWUub3JnL3RyYWMvdGlja2V0LzIxPgpw eVBZTUUgPGh0dHA6Ly93d3cucHlweW1lLm9yZz4KR2VzdGnDs24gY29tZXJjaWFsIHBhcmEgcGVx dWXDsWFzIHkgbWVkaWFuYXMgZW1wcmVzYXMu |
From: pyPYME <tr...@py...> - 2005-09-13 23:01:01
|
IzE4OiBBZG1pdGUgc29sbyBzdHJpbmdzIGFsICJtYXBlYXIiIGRhdG9zIGRlIGxhIHRhYmxhCi0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCiAgICAgICBJZDogIDE4ICAgICAgfCAgICAgIFN0YXR1czogIG5l dyAgICAgICAgICAgICAgICAgICAgIA0KQ29tcG9uZW50OiAgY2hhcm9uICB8ICAgIE1vZGlmaWVk OiAgV2VkIFNlcCAxNCAwMTowMDo0NyAyMDA1DQogU2V2ZXJpdHk6ICBub3JtYWwgIHwgICBNaWxl c3RvbmU6ICBjaGFyb25fMC4zICAgICAgICAgICAgICANCiBQcmlvcml0eTogIG5vcm1hbCAgfCAg ICAgVmVyc2lvbjogIDEuMCAgICAgICAgICAgICAgICAgICAgIA0KICAgIE93bmVyOiAgcHluZW8g ICB8ICAgIFJlcG9ydGVyOiAgbWFtZXRsbGVyQGdtYWlsLmNvbSAgICAgDQotLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCkNoYW5nZXMgKGJ5IHB5bmVvKToKCiAgKiB2ZXJzaW9uOiAgPT4gMS4wDQoKLS0gClRp Y2tldCBVUkw6IDxodHRwOi8vZGV2LnB5cHltZS5vcmcvdHJhYy90aWNrZXQvMTg+CnB5UFlNRSA8 aHR0cDovL3d3dy5weXB5bWUub3JnPgpHZXN0acOzbiBjb21lcmNpYWwgcGFyYSBwZXF1ZcOxYXMg eSBtZWRpYW5hcyBlbXByZXNhcy4= |
From: Jose <coo...@py...> - 2005-09-10 14:16:21
|
El s=E1b, 10-09-2005 a las 15:43, Marcelo Ametller escribi=F3: > Jose wrote: > > El vie, 09-09-2005 a las 16:08 -0300, Marcelo G Ametller escribi=F3: > >=20 > >>Me parece que se informan los cambios en el sitio de tipo css, pero n= o > >>he visto el informe de los nuevos documentos... > >> > >=20 > >=20 > > =BFA qu=E9 te refieres? >=20 > Por ejemplo: Cuando subiste la presentacion del proyecto: >=20 > Presentaci=F3n Benaguasil Party 2k5.html >=20 > los mails, que me llegaron (pypyme-doc) solo se referian a los cambios > en el sitio, por la subida de los complementos de esa pagina. (Los > css..) y no me informo que se agrego la pagina html en si misma. >=20 > Otro caso: cuando subiste la pagina: > http://dev.pypyme.org/doc/proyecto/modulos/charon/instalador/instalar_u= n_componente/ >=20 > no me llego ningun mail... de pypyme-doc Lo cierto es que aqu=ED se han juntado 2 cosas: - por un lado Plone est=E1 configurado para que env=EDe una notificaci= =F3n cada vez que un documento pasa a estado 'publicado', no cada vez que se crea uno (los documentos se crean incialmente con el estado 'visible') - por un error m=EDo (tuve que hacer unas cuantas pruebas para poder incluir una presentaci=F3n S5 en Plone) se generaron las notificaciones css. Si hubiera hecho las cosas bien no se hubieran generado Lo que no entiendo es por qu=E9 no se ha generado la notificaci=F3n de la publicaci=F3n de la p=E1gina HTML. Tal vez sea porque se trata, desde el punto de vista de Plone, de un 'archivo' en vez de un 'documento'... Queda por averiguar. Jose |