⇤ ← Versión 1 con fecha 2008-08-27 15:06:30
8967
Comentario:
|
10304
|
Los textos eliminados se marcan así. | Los textos añadidos se marcan así. |
Línea 2: | Línea 2: |
PRESENTACIÓN DE SEMINARIO DE LA PDSL DE FECHA 27/08/2008 * [[#1|Lámina 1]] * [[#2|Lámina 2]] * [[#3|Lámina 3]] * [[#4|Lámina 4]] * [[#5|Lámina 5]] * [[#6|Lámina 6]] * [[#7|Lámina 7]] * [[#8|Lámina 8]] * [[#9|Lámina 9]] * [[#10|Lámina 10]] * [[#11|Lámina 11]] * [[#12|Lámina 12]] * [[#13|Lámina 13]] * [[#14|Lámina 14]] * [[#15|Lámina 15]] * [[#16|Lámina 16]] * [[#17|Lámina 17]] * [[#18|Lámina 18]] * [[#19|Lámina 19]] * [[#20|Lámina 20]] * [[#21|Lámina 21]] * [[#22|Lámina 22]] * [[#23|Lámina 23]] ---- {{seminario-1_1.jpg}} '''Plataforma ''' '''para el ''' '''Desarrollo de ''' '''Software ''' '''Libre''' 1 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
. PRESENTACIÓN DE SEMINARIO DE LA PDSL DE FECHA 27/08/2008 * [[pdslseminario27082008#1|Lámina 1]] * [[pdslseminario27082008#2|Lámina 2]] * [[pdslseminario27082008#3|Lámina 3]] * [[pdslseminario27082008#4|Lámina 4]] * [[pdslseminario27082008#5|Lámina 5]] * [[pdslseminario27082008#6|Lámina 6]] * [[pdslseminario27082008#7|Lámina 7]] * [[pdslseminario27082008#8|Lámina 8]] * [[pdslseminario27082008#9|Lámina 9]] * [[pdslseminario27082008#10|Lámina 10]] * [[pdslseminario27082008#11|Lámina 11]] * [[pdslseminario27082008#12|Lámina 12]] * [[pdslseminario27082008#13|Lámina 13]] * [[pdslseminario27082008#14|Lámina 14]] * [[pdslseminario27082008#15|Lámina 15]] * [[pdslseminario27082008#16|Lámina 16]] * [[pdslseminario27082008#17|Lámina 17]] * [[pdslseminario27082008#18|Lámina 18]] * [[pdslseminario27082008#19|Lámina 19]] * [[pdslseminario27082008#20|Lámina 20]] * [[pdslseminario27082008#21|Lámina 21]] * [[pdslseminario27082008#22|Lámina 22]] * [[pdslseminario27082008#23|Lámina 23]] ---- {{/wiki/seminario-1_1.jpg?action=content|seminario-1_1.jpg|width="100%",type="text/html"}} '''Plataforma ''' '''para el ''' '''Desarrollo de ''' '''Software ''' '''Libre''' 1 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''''' |
Línea 40: | Línea 34: |
Línea 41: | Línea 36: |
'''Erwin Paredes''' '''Juan Bastidas''' '''Juan Vizcarrondo''' 2 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
'''Erwin Paredes''''''Juan Bastidas<<BR>>''' '''''''''Juan Vizcarrondo''' 2 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
Línea 50: | Línea 45: |
Línea 51: | Línea 47: |
2.1. Componentes trac 2.1.1. Multiples proyectos ✔ Diseño 2.1.2. Plantillas de la metodología ✔ Diseño ✔ Implementación 2.2. Experiencias con actores externos 2.2.1. Caso CEIT ✔ OpenKomodo 2.2.2. Caso Cooperativa Tecnoguayana [[#outline|Volver al índice]] ---- 3 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''1.-A modo de ''' '''introducción''' '''¿Con qué ''' '''Proyectos/Redes se ''' '''relaciona la''' '''iona PDSL?''' |
2.1. Componentes trac 2.1.1. Multiples proyectos ✔ Diseño 2.1.2. Plantillas de la metodología ✔ Diseño ✔ Implementación 2.2. Experiencias con actores externos 2.2.1. Caso CEIT ✔ OpenKomodo 2.2.2. Caso Cooperativa Tecnoguayana 2.2.3 Coral Vision 3 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''1.-A modo de ''' '''introducción''' '''¿Con qué ''' '''Proyectos/Redes se ''' '''relaciona la''' '''iona PDSL?''' |
Línea 75: | Línea 70: |
[[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
[[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
Línea 80: | Línea 77: |
[[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.-¿Qué estamos ''' '''haciendo?''' |
[[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.-¿Qué estamos ''' '''haciendo?''' |
Línea 87: | Línea 86: |
[[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
[[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.1-Componentes Trac''' '''''' ''' 2.1.1.-Múltiples ''' '''proyectos''' 7 [[pdslseminario27082008#outline|Volver al índice]] ---- 8 [[pdslseminario27082008#outline|Volver al índice]] ---- '''VARIAS MANERAS DE ''' '''REALIZARLO''' ● Multiples proyectos en multiples ambientes y bases de datos. ● Multiples proyectos en multiples ambientes y una sola base de datos (varios esquemas o sufijos). ● Multiples proyectos en un solo ambiente y una sola base de datos 9 [[pdslseminario27082008#outline|Volver al índice]] ---- 10 [[pdslseminario27082008#outline|Volver al índice]] ---- {{/wiki/seminario-11_1.jpg?action=content|seminario-11_1.jp|width="100%",type="text/html"}}Para el 15/10/2008 ● Gestión Básica de Multiples Proyectos ● Gestión de usuarios y permisos por proyecto. 11 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre |
Línea 92: | Línea 142: |
'''2.1.1.-Múltiples ''' '''proyectos''' 7 [[#outline|Volver al índice]] ---- 8 [[#outline|Volver al índice]] ---- '''VARIAS MANERAS DE ''' '''REALIZARLO''' ● Multiples proyectos en multiples ambientes y bases de datos. ● Multiples proyectos en multiples ambientes y una sola base de datos (varios esquemas o sufijos). ● Multiples proyectos en un solo ambiente y una sola base de datos 9 [[#outline|Volver al índice]] ---- 10 [[#outline|Volver al índice]] ---- {{seminario-11_1.jpg}} Para el 15/10/2008 ● Gestión Básica de Multiples Proyectos ● Gestión de usuarios y permisos por proyecto. 11 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.1-Componentes Trac''' '''2.1.2.-Plantillas de la''' ''' Metodología''' |
''' 2.1.2.-Plantillas de la''' ''' Metodología''' |
Línea 130: | Línea 146: |
[[#outline|Volver al índice]] ---- Archivos para la creación de un .egg para Trac. Cree los directorios del componente: mkdir /directoriofuente/componente mkdir /directoriofuente/componente/nombrecomponente Escribir los archivos principal y sus derivados dentro de /directoriofuente/componente/nombrecomponente: cd /directoriofuente/componente/nombrecomponente vim api.py vim crearpaginas.py vim __init__.py Genere el archivo guía para la instalación en /directoriofuente/componente vim setup.py |
[[pdslseminario27082008#outline|Volver al índice]] ---- Archivos para la creación de un .egg para Trac. Cree los directorios del componente: ''mkdir /directoriofuente/componente'' ''mkdir /directoriofuente/componente/nombrecomponente '' Escribir los archivos principal y sus derivados dentro de /directoriofuente/componente/nombrecomponente: ''cd /directoriofuente/componente/nombrecomponente'' ''vim api.py <<BR>>'' ''vim crearpaginas.py <<BR>>'' ''vim __init__.py '' Genere el archivo guía para la instalación en /directoriofuente/componente ''vim setup.py '' |
Línea 146: | Línea 171: |
[[#outline|Volver al índice]] ---- Setup.py from setuptools import setup PACKAGE = 'gestion' setup(name=PACKAGE, description='Componente que ofrece la digitalizacion de la metodologia para el desarrollo de softare libre', keywords='trac plugin metodologia gestion', version='0.1', url='http://www.cenditel.gob.ve', license='GPL', author='Erwin Paredes', author_email='eparedes@cenditel.gob.ve', long_description=""" Metodologia para el desarrollo de Software Libre! """, packages=[PACKAGE], package_data={PACKAGE : ['templates/*.cs']}, entry_points = { 'trac.plugins': [ 'gestion.api = gestion.api', 'gestion.metodologia = gestion.metodologia' ] }, 14 install_requires=[ 'TracWebAdmin' ]) [[#outline|Volver al índice]] ---- Api.py from trac.core import * from trac.env import IEnvironmentSetupParticipant |
[[pdslseminario27082008#outline|Volver al índice]] ---- Setup.py ''from setuptools import setup'' ''PACKAGE = 'gestion''' ''setup(name=PACKAGE, '' ''description='Componente que ofrece la digitalizacion de la metodologia para el desarrollo de softare libre', keywords='trac plugin metodologia gestion','' '' version='0.1', '' ''url='''http://www.cenditel.gob.ve', ''license='GPL', '' ''author='Erwin Paredes','' ''author_email=''' eparedes@cenditel.gob.ve ', ''long_description=""" Metodologia para el desarrollo de Software Libre! """,'' ''packages=[PACKAGE], <<BR>>'' ''package_data={PACKAGE : ['templates/*.cs']}, <<BR>>'' ''entry_points = { 'trac.plugins': [ 'gestion.api = gestion.api', 'gestion.metodologia = gestion.metodologia' ] }, <<BR>>'' ''install_requires=['' 'TracWebAdmin' ''])'' [[pdslseminario27082008#outline|14]] [[pdslseminario27082008#outline|Volver al índice]] ---- Api.py from trac.core import * from trac.env import IEnvironmentSetupParticipant |
Línea 179: | Línea 217: |
Línea 180: | Línea 219: |
implements(IEnvironmentSetupParticipant) version = 1 version_instalada = 0 nombre = "gestion_plugin_version" def __init__(self): # Inicializa la version en la base de datos. db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('SELECT value FROM system WHERE name=%s', (self.nombre,)) try: self.version_instalada = int(cursor.fetchone()[0]) except: self.version_instalada = 0 cursor.execute('INSERT INTO system (name,value) VALUES(%s,%s)', (self.nombre, self.version_instalada)) db.commit() db.close() def necesita_modificacion(self): return self.version_instalada < self.version def modificar_db(self): db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('UPDATE system SET value=%s WHERE name=%s', (self.version, self.nombre)) db.commit() db.close() def do_crear_pagina(self): 15 objeto = CrearPaginasWiki(self.env, self.log) [[#outline|Volver al índice]] ---- Api.py ... # IEnvironmentSetupParticipant methods def environment_created(self): """Called when a new Trac environment is created.""" if self.environment_needs_upgrade(None): self.upgrade_environment(None) def environment_needs_upgrade(self, db): """Called when Trac checks whether the environment needs to be upgraded. Should return `True` if this participant needs an upgrade to be performed, `False` otherwise. """ return (self.necesita_modificacion()) def upgrade_environment(self, db): """Actually perform an environment upgrade. Implementations of this method should not commit any database transactions. This is done implicitly after all participants have performed the upgrades they need without an error being raised. """ print 'Componente para la gestion necesita ser modificado' print ' * Modificando BD' self.modificar_db() print 'Modificado' 16 [[#outline|Volver al índice]] ---- Crearpaginas.py from trac.core import * class CreadorPaginasWiki: """Clase para crear los componentes""" version = 1 nombre = "creador_paginas_wiki_version" env = None log = None def __init__(self, env, log): self.env = env self.log = log self.upgrade() def upgrade(self): # Chequear la version en la BD db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute("SELECT value FROM system WHERE name=%s", (self.nombre,)) try: version = int(cursor.fetchone()[0]) except: version = 0 cursor.execute("INSERT INTO system (name,value) VALUES(%s,%s)", (self.nombre, version)) if version > self.version: raise TracError("Error: Se ha ejecutado una version superior y genera conflictos " "en la clase CreadorPaginasWiki." 17 [[#outline|Volver al índice]] ---- Crearpaginas.py # Se crea la pagina en el Wki try: if version < 1: cursor.execute("INSERT INTO wiki (" "name," "version," "time," "author," "ipnr," "text) " "VALUES (" "'metodologia'," "1," "1211313153," "'trac'", "'127.0.0.1'", "'== Metodologia para el Desarrollo de Software Libre == " " * Gestion[[BR]]" " * AcuerdosProyectos[[BR]]" " * DescripcionAplicacion[[BR]]" " * AcuerdosEstandares[[BR]]" " * EstudioFactibilidad[[BR]]" " * NecesidadesProblemas[[BR]]" " * PlanProyecto[[BR]]" " * PriorizacionFuncionalidades[[BR]]" " * PriorizacionRiesgos[[BR]]" " * Administracion[[BR]]" " * DescripcionPlataforma[[BR]]" " * Desarrollo[[BR]]" " * DefinicionRequerimientos[[BR]]" " * DiagramaActividades[[BR]]" " * DiagramaSecuencia[[BR]]" " * ImplementacionComponentes[[BR]]" " * PrototipoInterfaz[[BR]]" " * DominioAplicacion[[BR]]" 18 " * ReportePruebas[[BR]]') ") [[#outline|Volver al índice]] ---- Base de datos del Trac 19 ---- Instalacion del componente para Trac Luego de Generar los archivos del componente se procede a su instalación en el directorio de paquetes de python (site-packed): cd /directoriofuentes/componente python setup.py install Luego generara el huevo para instalarlo en el ambiente de Trac: cd /direcotoriofuentes/componente python setup.py bdist_egg cp dist/Traccomponente0.1-dev-py2.5.egg /direcotorioambiente/proyecto/plugins Modificar el trac.ini vim /directorioambiente/proyecto/conf/trac.ini Añadir la linea: [componentes] componente.* = enabled 20 [[#outline|Volver al índice]] ---- Resultado: 21 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.2.-Experiencia ''' '''con actores externos''' '''Caso CEIT (Extensión para ''' '''OpenKomodo para componentes en <<BR>>Trac).''' '''Caso Cooperativa Tecnoguayana ''' '''(traducción de openkomodo y la <<BR>>posible incorporación del framework <<BR>>Canaima).''' '''Coral Vision (Framework de ''' '''Desarrollo)''' 22 [[#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''¿Preguntas?''' 23 [[#outline|Volver al índice]] ---- |
implements(IEnvironmentSetupParticipant) version = 1 version_instalada = 0 nombre = "gestion_plugin_version" def __init__(self): # Inicializa la version en la base de datos. db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('SELECT value FROM system WHERE name=%s', (self.nombre,)) try: self.version_instalada = int(cursor.fetchone()[0]) except: self.version_instalada = 0 cursor.execute('INSERT INTO system (name,value) VALUES(%s,%s)', (self.nombre, self.version_instalada)) db.commit() db.close() def necesita_modificacion(self): return self.version_instalada < self.version def modificar_db(self): db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('UPDATE system SET value=%s WHERE name=%s', (self.version, self.nombre)) db.commit() db.close() def do_crear_pagina(self): 15 objeto = CrearPaginasWiki(self.env, self.log) [[pdslseminario27082008#outline|Volver al índice]] ---- Api.py ... # IEnvironmentSetupParticipant methods def environment_created(self): """Called when a new Trac environment is created.""" if self.environment_needs_upgrade(None): self.upgrade_environment(None) def environment_needs_upgrade(self, db): """Called when Trac checks whether the environment needs to be upgraded. Should return `True` if this participant needs an upgrade to be performed, `False` otherwise. """ return (self.necesita_modificacion()) def upgrade_environment(self, db): """Actually perform an environment upgrade. Implementations of this method should not commit any database transactions. This is done implicitly after all participants have performed the upgrades they need without an error being raised. """ print 'Componente para la gestion necesita ser modificado' print ' * Modificando BD' self.modificar_db() print 'Modificado' 16 [[pdslseminario27082008#outline|Volver al índice]] ---- Crearpaginas.py from trac.core import * class CreadorPaginasWiki: """Clase para crear los componentes""" version = 1 nombre = "creador_paginas_wiki_version" env = None log = None def __init__(self, env, log): self.env = env self.log = log self.upgrade() def upgrade(self): # Chequear la version en la BD db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute("SELECT value FROM system WHERE name=%s", (self.nombre,)) try: version = int(cursor.fetchone()[0]) except: version = 0 cursor.execute("INSERT INTO system (name,value) VALUES(%s,%s)", (self.nombre, version)) if version > self.version: raise TracError("Error: Se ha ejecutado una version superior y genera conflictos " "en la clase CreadorPaginasWiki." 17 [[pdslseminario27082008#outline|Volver al índice]] ---- Crearpaginas.py # Se crea la pagina en el Wki try: if version < 1: cursor.execute("INSERT INTO wiki (" "name," "version," "time," "author," "ipnr," "text) " "VALUES (" "'metodologia'," "1," "1211313153," "'trac'", "'127.0.0.1'", "'== Metodologia para el Desarrollo de Software Libre == " " * Gestion[[BR]]" " * AcuerdosProyectos[[BR]]" " * DescripcionAplicacion[[BR]]" " * AcuerdosEstandares[[BR]]" " * EstudioFactibilidad[[BR]]" " * NecesidadesProblemas[[BR]]" " * PlanProyecto[[BR]]" " * PriorizacionFuncionalidades[[BR]]" " * PriorizacionRiesgos[[BR]]" " * Administracion[[BR]]" " * DescripcionPlataforma[[BR]]" " * Desarrollo[[BR]]" " * DefinicionRequerimientos[[BR]]" " * DiagramaActividades[[BR]]" " * DiagramaSecuencia[[BR]]" " * ImplementacionComponentes[[BR]]" " * PrototipoInterfaz[[BR]]" " * DominioAplicacion[[BR]]" 18 " * ReportePruebas[[BR]]') ") [[pdslseminario27082008#outline|Volver al índice]] ---- Base de datos del Trac 19 ---- Instalacion del componente para Trac Luego de Generar los archivos del componente se procede a su instalación en el directorio de paquetes de python (site-packed): cd /directoriofuentes/componente python setup.py install Luego generara el huevo para instalarlo en el ambiente de Trac: cd /direcotoriofuentes/componente python setup.py bdist_egg cp dist/Traccomponente0.1-dev-py2.5.egg /direcotorioambiente/proyecto/plugins Modificar el trac.ini vim /directorioambiente/proyecto/conf/trac.ini Añadir la linea: [componentes] componente.* = enabled 20 [[pdslseminario27082008#outline|Volver al índice]] ---- Resultado: 21 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''2.2.-Experiencia ''' '''con actores externos''' '''Caso CEIT (Extensión para ''' '''OpenKomodo para componentes en <<BR>>Trac).''' '''Caso Cooperativa Tecnoguayana ''' '''(traducción de openkomodo y la <<BR>>posible incorporación del framework <<BR>>Canaima).''' '''Coral Vision (Framework de ''' '''Desarrollo)''' 22 [[pdslseminario27082008#outline|Volver al índice]] ---- Plataforma para el Desarrollo de Software Libre '''¿Preguntas?''' 23 [[pdslseminario27082008#outline|Volver al índice]] ---- |
- PRESENTACIÓN DE SEMINARIO DE LA PDSL DE FECHA 27/08/2008
Plataforma para el Desarrollo de Software Libre 1 Volver al índice
Plataforma para el Desarrollo de Software Libre
Avances al 27/08/08
Ana Rangel
Erwin ParedesJuan Bastidas
Juan Vizcarrondo 2 Volver al índice
- Plataforma para el Desarrollo de Software Libre
1. Introducción
2. ¿Qué estamos haciendo?
- 2.1. Componentes trac
- 2.1.1. Multiples proyectos ✔ Diseño 2.1.2. Plantillas de la metodología ✔ Diseño ✔ Implementación
2.2.1. Caso CEIT ✔ OpenKomodo 2.2.2. Caso Cooperativa Tecnoguayana 2.2.3 Coral Vision
- Plataforma para el Desarrollo de Software Libre
1.-A modo de introducción ¿Con qué Proyectos/Redes se relaciona la iona PDSL?
4
- Plataforma para el Desarrollo de Software Libre
5
- Plataforma para el Desarrollo de Software Libre
2.-¿Qué estamos haciendo?
6
- Plataforma para el Desarrollo de Software Libre
2.1-Componentes Trac
2.1.1.-Múltiples proyectos
7
- 8
VARIAS MANERAS DE REALIZARLO
● Multiples proyectos en multiples ambientes y bases de datos.
- ● Multiples proyectos en multiples ambientes y una sola base de datos (varios esquemas o sufijos). ● Multiples proyectos en un solo ambiente y una sola base de datos
9
- 10
Para el 15/10/2008
● Gestión Básica de Multiples Proyectos
● Gestión de usuarios y permisos por proyecto.
11
- Plataforma para el Desarrollo de Software Libre
2.1-Componentes Trac
2.1.2.-Plantillas de la Metodología
12
- Archivos para la creación de un .egg para Trac. Cree los directorios del componente:
mkdir /directoriofuente/componente
mkdir /directoriofuente/componente/nombrecomponente
Escribir los archivos principal y sus derivados dentro de /directoriofuente/componente/nombrecomponente:
cd /directoriofuente/componente/nombrecomponente
vim api.py
vim crearpaginas.py
vim init.py
Genere el archivo guía para la instalación en /directoriofuente/componente
vim setup.py
13
- Setup.py
from setuptools import setup
PACKAGE = 'gestion setup(name=PACKAGE, description='Componente que ofrece la digitalizacion de la metodologia para el desarrollo de softare libre', keywords='trac plugin metodologia gestion', version='0.1', url=http://www.cenditel.gob.ve',
license='GPL',
author='Erwin Paredes',
author_email= eparedes@cenditel.gob.ve ', long_description=""" Metodologia para el desarrollo de Software Libre! """, packages=[PACKAGE], from trac.core import * from trac.env import IEnvironmentSetupParticipant from crearpaginas import CreadorPaginasWiki class GestionSetupParticipant(Component): implements(IEnvironmentSetupParticipant) version = 1 version_instalada = 0 nombre = "gestion_plugin_version" def init(self): # Inicializa la version en la base de datos. db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('SELECT value FROM system WHERE name=%s', (self.nombre,)) try: self.version_instalada = int(cursor.fetchone()[0]) except: self.version_instalada = 0 cursor.execute('INSERT INTO system (name,value) VALUES(%s,%s)', (self.nombre, self.version_instalada)) db.commit() db.close() def necesita_modificacion(self): return self.version_instalada < self.version def modificar_db(self): db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute('UPDATE system SET value=%s WHERE name=%s', (self.version, self.nombre)) db.commit() db.close() def do_crear_pagina(self): 15 objeto = CrearPaginasWiki(self.env, self.log) Volver al índice Api.py ... # IEnvironmentSetupParticipant methods def environment_created(self): """Called when a new Trac environment is created.""" if self.environment_needs_upgrade(None): self.upgrade_environment(None) def environment_needs_upgrade(self, db): """Called when Trac checks whether the environment needs to be upgraded. Should return True if this participant needs an upgrade to be performed, False otherwise. """ return (self.necesita_modificacion()) def upgrade_environment(self, db): """Actually perform an environment upgrade. Implementations of this method should not commit any database transactions. This is done implicitly after all participants have performed the upgrades they need without an error being raised. """ print 'Componente para la gestion necesita ser modificado' print ' * Modificando BD' self.modificar_db() print 'Modificado' 16 Volver al índice Crearpaginas.py from trac.core import * class CreadorPaginasWiki: """Clase para crear los componentes""" version = 1 nombre = "creador_paginas_wiki_version" env = None log = None def init(self, env, log): self.env = env self.log = log self.upgrade() def upgrade(self): # Chequear la version en la BD db = self.env.get_db_cnx() cursor = db.cursor() cursor.execute("SELECT value FROM system WHERE name=%s", (self.nombre,)) try: version = int(cursor.fetchone()[0]) except: version = 0 cursor.execute("INSERT INTO system (name,value) VALUES(%s,%s)", (self.nombre, version)) if version > self.version: raise TracError("Error: Se ha ejecutado una version superior y genera conflictos " "en la clase CreadorPaginasWiki." 17 Volver al índice Crearpaginas.py # Se crea la pagina en el Wki try: if version < 1: cursor.execute("INSERT INTO wiki (" "name," "version," "time," "author," "ipnr," "text) " "VALUES (" "'metodologia'," "1," "1211313153," "'trac'", "'127.0.0.1'", "'== Metodologia para el Desarrollo de Software Libre == " " * GestionBR" " * AcuerdosProyectosBR" " * DescripcionAplicacionBR" " * AcuerdosEstandaresBR" " * EstudioFactibilidadBR" " * NecesidadesProblemasBR" " * PlanProyectoBR" " * PriorizacionFuncionalidadesBR" " * PriorizacionRiesgosBR" " * AdministracionBR" " * DescripcionPlataformaBR" " * DesarrolloBR" " * DefinicionRequerimientosBR" " * DiagramaActividadesBR" " * DiagramaSecuenciaBR" " * ImplementacionComponentesBR" " * PrototipoInterfazBR" " * DominioAplicacionBR" 18 " * ReportePruebasBR') ") Volver al índice Instalacion del componente para Trac Luego de Generar los archivos del componente se procede a su instalación en el directorio de paquetes de python (site-packed): cd /directoriofuentes/componente python setup.py install Luego generara el huevo para instalarlo en el ambiente de Trac: cd /direcotoriofuentes/componente python setup.py bdist_egg cp dist/Traccomponente0.1-dev-py2.5.egg /direcotorioambiente/proyecto/plugins Modificar el trac.ini vim /directorioambiente/proyecto/conf/trac.ini Añadir la linea: [componentes] componente.* = enabled 20 Volver al índice Resultado: 21 Volver al índice Plataforma para el Desarrollo de Software Libre 2.2.-Experiencia con actores externos Caso CEIT (Extensión para OpenKomodo para componentes en Plataforma para el Desarrollo de Software Libre ¿Preguntas? 23 Volver al índice
package_data={PACKAGE : ['templates/*.cs']},
entry_points = { 'trac.plugins': [ 'gestion.api = gestion.api', 'gestion.metodologia = gestion.metodologia' ] },
install_requires=[ 'TracWebAdmin' ])
Trac). Caso Cooperativa Tecnoguayana (traducción de openkomodo y la
posible incorporación del framework
Canaima). Coral Vision (Framework de Desarrollo) 22 Volver al índice