ambiente de desarrollo

Buenas tardes,
Estoy empezando con Toba y surgen algunas dudas sobre el ambiente de desarrollo

¿Lo mejor es que cada programador tenga localmente el entorno de desarrollo completo en su pc/notebook (instalando la maquina virtual,SO Linux, apache, posgres y toba con su id de programador), y luego subiendo cambios al servidor de desarrollo.

¿O que este todo instalado en un servidor Linux virtual de desarrollo donde cada programador acceda por web al toba editor para programar y remotamente a la consola del servidor Linux?. Seremos 2 programadores.

Desde ya muchas gracias.

Saludos

Hola Pablo,

antes que nada, bienvenido. Si bien la organizacion del equipo es algo interno a cada lugar, siempre pensamos que lo mejor seria que cada programador tenga un entorno local donde poder desarrollar su trabajo y luego se cuente con un repositorio centralizado donde subir dichos cambios.

Los motivos son varios:

  • No se tocan unicamente metadatos sino que tambien es necesario modificar archivos php y editar ambos sobre una misma copia es complicado cuanto menos.

  • Ante una situacion como la actual, aun si alguien se quedara sin conexion temporalmente puede seguir trabajando y luego subir los cambios cuando se restaure la misma.

  • Hasta terminar un trabajo puede haber varios cambios en el sistema, incluso algunos que temporalmente lo dejen inutilizado, si lo hacen localmente esos cambios no afectan al resto del equipo.

  • Le da mas libertad al programador para armar su ambiente de desarrollo a su comodidad, habra quien instale el soft de base en su maquina, quien use docker, etc… mientras se sigan lineamientos basicos cada quien puede tener un grado mas de libertad.

Lo que si te voy a recomendar para este formato, es que cuenten con un repositorio de control de versiones en lo que mas les guste (cvs, svn, git, etc) ya que les va a ordenar el laburo, solucionar las ediciones cruzadas del mismo archivo y permitir recuperarse de algun error o problema.

¿O que este todo instalado en un servidor Linux virtual de desarrollo donde cada programador acceda por web al toba editor para programar y remotamente a la consola del servidor Linux?. Seremos 2 programadores.

Hay grupos que han usado esta opcion, sin embargo es complicada de llevar adelante en el dia a dia:

  • El editor embebido no tiene un sentido de concurrencia, con lo cual unicamente quedara el codigo de la ultima persona que guarde… eso te fuerza a serializar las ediciones explicitamente

  • Justamente porque existe ese editor embebido, jamas se recomienda publicar toba_editor en un ambiente de servidores… no importa de que tipo sean, si dicho endpoint es accesible desde internet le estarias dando a alguien que vulnere el login una herramienta increible ya que te puede escribir directamente en disco.

  • Todo quedaria en dicho servidor, con lo cual ante una rotura del disco se perderia el codigo… o ante un error con la bd se podrian perder los metadatos del proyecto completo

Aun cuando el equipo sea pequeño, vale la pena el esfuerzo extra de setup que plantea la opcion inicial a la larga tiene muchas ventajas contra el segundo planteo.

Saludos

Buen día Richard, muchas gracias por la bienvenida y por la respuesta!

Perfecto, entonces tendría una instalación completa en mi maquina.
Te parece correcto instalar Virtual box, con una imagen de unbuntu?, luego por ejemplo con SVN, se subirían y sincronizarían los cambios?.
En un futuro seremos 2 programadores, cada uno tiene que tener un id_programador distinto?

Muchas Gracias.

Saludos!

Hola Pablo,

si te sentis comodo con VirtualBox y lo preferis a otro mecanismo no veo ningun inconveniente.
Si, podes usar SVN o el repo que tengas a mano, lo importante es que tengan un control de versiones sobre su trabajo.

En un futuro seremos 2 programadores, cada uno tiene que tener un id_programador distinto?
Si, esto es mucho [b]muy importante[/b].. cada uno debe tener un identificador distinto, al momento de hacer la instalacion del framework te lo solicita.. despues se puede cambiar pero si lo dejan bien de entrada mejor.

No es necesario que sea algo muy estrafalario, un simple nro alcanza es mas que nada para generar rangos de identificadores disjuntos entre los miembros del equipo… si van a personalizar alguna aplicacion del SIU… fijense que no se superponga con los identificadores de los metadatos de la misma.

Saludos