POSIBILIDAD DE TRABAJAR CON MÁS DE UNA INSTANCIA DE GUARANÍ 3

Estimados,

en la Facultad de Ingeniería tenemos como objetivo unificar la distintas instancias que tenemos de Guaraní pero, por el momento, hay dos equipos trabajando que tienen versiones con personalizaciones que no están consolidadas por lo que, provisoriamente, necesitamos que trabajen en dos instancias distintas e independientes entre sí.

La pregunta es:

con la propuesta de trabajo actual del esquema de personalizaciones de Guaraní 3, con un usuario colab para cada desarrollador y con un repositorio único y común… ¿es eso posible?

Yo creo que si, pero me gustaría validarlo acá.

Teniendo en cuenta que:

http://portalguarani.siu.edu.ar/Portal/wiki/G3/gestion/3.9.0/DocTecnica/CrearVersionPropiaConPersonalizaciones

Creación de una nueva versión propia del sistema con personalizaciones

“Se recomienda sacar una versión propia del sistema, a partir de la nueva versión proporcionada por el SIU sumando las personalizaciones migradas. La idea es que a medida que se van desarrollando y testeando personalizaciones, se proceda con la creación de una nueva versión propia incluyendo un cuarto dígito para pasar estos cambios a producción (Ej.: 3.9.0.1, 3.9.0.2, etc.). El servidor de producción, a diferencia del de desarrollo, debería apuntar siempre a versiones propias (de 4 dígitos). Esto es una buena práctica ya que evita errores y se tiene un mejor control acerca de los cambios y personalizaciones aplicadas.”

la idea sería crear dos versiones del sistema incluyendo un cuarto dígito

por ej: 3.9.0.100
y 3.9.0.200

y que cada equipo, para desarrollar colaborativamente, haga un switch a la versión que le corresponde y commitee contra esa versión. De esta forma cada equipo podría trabajar en forma independiente sin “pisar” las personalizaciones que cada uno haga y podrían tener todos su usuario colab sin riesgos de interferir entre ellos.

¿Es este análísis correcto?

Saludos y gracias!!
Ariel Alegre

Hola Ariel.

Hiciste un analisis bastante acertado, aunque se podria retocar un poco para obtener mejores resultados.
Un par de preguntas:

Cada desarrollador tiene su usuario en colab e ID de desarrollo (ya que deben ser distinto para no tener conflictos con metadatos) ¿verdad?

Se sugiere sacar una versión propia del sistema para llevarlo a producción con las personalizaciones desarrolladas incluidas sin portar el esquema de personalizaciones que se utiliza en desarrollo. ¿Uds. quieren llevar las 2 versiones, con sus respectivas personalizaciones, a produccion o es solo para mantener lo dicho por el SIU y poder desarrollar en paralelo?

Saludos.

Gonzalo

Estimado Gonzalo,

gracias por la respuesta

  • correcto, está pensado que cada desarrollador tenga su usuario en colab e ID de desarrollo (ya que deben ser distinto para no tener conflictos con metadatos)

  • efectivamente (al menos en esta primera etapa) queremos llevar las 2 versiones, con sus respectivas personalizaciones, a produccion.

¿Lo estamos encarando por el aldo correcto?

¿Que todos tengan usuarios colab puede generar algún conflicto?

¿Hay alguna forma de que uno de los dos equipos desarrolle adecuadamente si no tiene acceso a los usuarios colab?

Saludos!
Ariel Alegre

Hola Ariel.

Lo correcto seria que cada desarrollador, tenga un usuario Colab para poder subir cosas. Sin embargo, si el equipo de desarrollo esta compuesto por muchas personas, tantas que superan la cantidad de usuarios colab dadas por el SIU, se puede resolver de otra forma. Se podría resolver con un par de usuarios que sean los que suben las cosas a Colab y el resto desarrolle. Claro esta, para esto tendrían que tener una organización interna adecuada para que quien sea el encargado de subir las cosas no caiga en errores de archivos faltantes o versiones incorrectas de los mismos. Una forma de resolver esto, por ejemplo, seria con un servidor SVN local.

Mi recomendación seria que generen 2 branch de desarrollo distintos (dentro de la carpeta /branches) a partir de la versión original y que cada subgrupo de desarrollo tenga su copia local apuntando al branch correspondiente para desarrollar las distintas personalizaciones. Luego a partir de cada uno de estos branches se sacarían las distintas versiones (en la carpeta /versiones), respetando los pasos indicados por el SIU y la nomenclacion con el cuarto dígito propuesta por uds para actualizar los servidores de producción.

Otra pregunta: ¿Se desea compartir personalizaciones entre los dos grupos de desarrollo?

Saludos,

Gonzalo