Opened 13 years ago
Closed 13 years ago
#1408 closed enhancement (fixed)
Loading Projects in TOL
Reported by: | Pedro Gea | Owned by: | Jorge |
---|---|---|---|
Priority: | highest | Milestone: | TOLBase Revitalization |
Component: | Kernel | Version: | head |
Severity: | critical | Keywords: | project.ini, _iniproject.tol, ini, project |
Cc: | pcanadilla@…, javipor@… |
Description
El mecanismo de carga de proyectos para TOLBase consta de dos archivos de inicialización, comúnmente denominados:
project.ini
: un archivo de configuración para la carga de las componentes Tcl-Tk, habitulamente relacionadas con la GUI,_iniproject.tol
: un archivo de código TOL para la carga de todo la estructura de archivos de código del projecto.
El aspecto de los archivos project.ini es algo como:
[Project] title=<Título de la ventana de TOLBase> [PrjXxxYyy] name=PrjXxxYyy path=C:/users/<user>/bsd/entity/PrjXxxYyy/source/gui
mientras que el de los _iniproject.tol es:
... Text PathProject = "c:/users/<user>/bsd/entity/PrjXxxYyy/"; ... Set If( !ObjectExist("Code", "GetVarIniFile") , Set Include(PathProject<<"source/system/readini.tol"), Copy(Empty) ); ... Set Include(PathProject<<"source/_inisource.tol");
El código incluido en "readini.tol" se encarga a su vez de la inclusión de un tercer archivo de inicialización de variables globales prj.ini
.
El archivo prj.ini contiene la definición de un conjunto de variables globales de una forma semejante a esta:
[DataBase] XxxYyy_DBA=Oracle XxxYyy_DBServer=... XxxYyy_DBName=... XxxYyy_DBPrefix=... XxxYyy_DBODBC=... XxxYyy_DBUser=... XxxYyy_DBPassword= [Dir] -- PathProject se define en _iniproject.tol PathMod=c:/users/<user>/bsd/entity/PrjXxxYyy/ PathSADD=c:/users/<user>/bsd/sadd/ PathLog=c:/users/<user>/bsd/entity/PrjXxxYyy/log/ ...
La carga de estos archivos se consigue ubicándolos en el momento del arranque de tolbase.exe
en las carpetas de instalación del programa.
Es por eso que las rutas en ellos han de ser absolutas, ya que pierden la referencia de la carpeta del proyecto donde estaban ubicadas.
Más allá de cuestiones estéticas, la ubicación de estos archivos en las carpetas de instalación está limitada al trabajar en determinadas equipos, de modo que se solicita:
- Poder cargar estos archivos como argumentos opcionales a la llamada de
tolbase.exe
Sería asimismo muy interesante y conveniente poder unificar los tres archivos de inicialización en un sólo que:
- Contuviera toda la información de inicialización
- Pudiera llevar las rutas relativas (y así ser el mismo para todos los usuarios y/o ubicaciones del proyecto)
- Pudiera crearse una asociación de archivos (usando una nueva extensión .tolprj o así) de modo que pueda arrancarse un proyecto con un doble clic sobre dicho archivo.
También sería muy interesante poder trabajar en la posibilidad de abrir los proyectos (también su parte tcl-tk) sobre un TOLBase ya abierto, o incluso si el diseño de los proyectos es el adecuado, abrir más de un proyecto simultáneamente.
Change History (8)
comment:1 Changed 13 years ago by
Status: | new → accepted |
---|
comment:2 Changed 13 years ago by
comment:3 Changed 13 years ago by
Hay que tener especial precaución con Telefónica, puesto que tienen ordenadores RETOS en los que no es posible utilizar cmd, hacer referencia a c:\..., ejecutar bats, exes, coms, etc.
Tiene que ser muy simple. Si en lugar de especificarle el fichero ini, se especifica unicamente la carpeta de la aplicación y que tol/tolbase ya busque en esa carpeta el project.ini y el _iniproject.tol sería todavía más sencillo para facilitar el empaquetado de las aplicaciones por parte de Telefónica.
comment:4 Changed 13 years ago by
Quizá sería interesante disponer de la opción de cargar tolbase sin proyecto alguno aunque existan archivos project.ini
o _iniproject.tol
en las carpetas de instalación de TOLBase.
Quizá podría valer una opción del tipo: tolbase.exe -project ""
comment:5 Changed 13 years ago by
- se implementa la opción -project path_to_project.ini
- -project "" implica que no se carga _iniproject.tol ni project.ini
- -project <path>/project.ini implica que se carga <path>/project.ini y <path>/_iniproject.tol, no se carga _iniproject.tol que suele estar en TOLHOME.
- se recuerda que existe la opción -np que implica que no se carga _iniproject.tol, esta opcion es compartida con tol.exe y tolsh.exe
refs #1409
- se require la versión 3.1 de toltcl.
comment:6 Changed 13 years ago by
Resolution: | → remind |
---|---|
Status: | accepted → closed |
No se ha resuelto todo lo solicitado, pero al menos se puede localizar todos los archivos de configuración relativos al directorio del proyecto y no en un sitio global y común a todos los proyectos como hasta ahora.
comment:7 Changed 13 years ago by
Resolution: | remind |
---|---|
Status: | closed → reopened |
Mover lo que no está resuelto en este ticket a otros tickets.
comment:8 Changed 13 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Propongo que el
project.ini
y el_iniproject.tol
se ubiquen ambos en el directorio del proyecto y que tolbase se invoque así:Cuando invoquemos un proceso del proyecto que tenga que ser ejecutado en modo batch con tol.exe o tolsh.exe entonces debemos pasar _iniproject.tol en la línea de comandos ya que ahora no será cargado de forma automática por tol.