Plastic SCM platform Plastic SCM es el nombre que engloba toda la gama de productos de Gestión de Configuración de Códice Software.

Se compone de un potente control de versiones y de un sistema configurable para la gestión del ciclo de vida del desarrollo, apo- yado sobre el anterior.

El control de versiones es el encargado de guardar la historia de to- dos los elementos del desarrollo. Funciona como una “red de segu- ridad”, permitiendo volver a una configuración anterior, así como trazar quién y qué cambios se han realizado a cualquiera de los elementos. Nuestro objetivo en Códice Software es producir una generación de herramientas fundada en una só- lida base de software de nuevo diseño y adaptada a las actuales tendencias de desarrollo.Las nuevas herramientas que ofrece nuestra empresa se sitúan en un rango de prestaciones/precio no cubierto en el mercado, acercando la tecnología a empresas para las que la oferta actual queda fuera del alcance.

El nuevo software se caracteriza por múltiples aspectos novedosos, tanto en su arquitectura como en el modo de manejar la información.La tecnología SCM tiene un valor estratégico en cualquier em- presa que realice desarrollo de software, siendo una piedra angular para coordinar los esfuerzos de cualquier proyecto.Nuestro clientes potenciales son empresas de desarrollo de software, ya sea como su actividad principal (fabricantes de software) o secundaria (departamentos de tecnologías de infor- mación, de informática, desarrollos internos, etc.).

Durante el proceso de desarrollo de software se maneja un elevado número de elementos: diagramas, código fuente, ficheros e imágenes que son sometidos a constante cambio. Nuestra herramienta está diseñada para encargarse de automatizar el proceso de control de cambios para mantener la com- plejidad bajo control.

Varias décadas después de que apareciesen los primeros sistemas de SCM, aún se pueden observar importantes diferencias entre los productos de alta gama y el resto. Incluso las herramientas con versiones más avanzadas de sistemas disponibles a bajo precio imponen rigurosas restricciones de uso. Características como la gestión de los directorios, la movilidad de los ficheros o los árboles de revisiones más avanzados están sólo disponibles en los sistemas más caros pero estos sistemas suelen basarse en tecnologías obsoletas. El objetivo principal de Códice Software es el de ofrecer a los equipos de desarrolladores lo mejor de los dos extremos: una herramienta de SCM rápida y fácil de manejar pero que incluya un gran número de capacidades. Espacios de trabajo configurables Mediante el uso de reglas, es posible montar diferentes reposito- rios dentro del mismo espacio de trabajo, o especificar reglas de carga diferentes para cada elemento. Con esas reglas se pue- de indicar de qué rama, etiqueta, o fecha será selec- cionado el elemento, así como la rama en la que se crearán los checkouts.

Plastic SCM nunca pierde ficheros, si al cambiar las reglas del es- pacio de trabajo los checkouts (archivos modificados) dejasen de ser visibles, su contenido sería automáticamente salvado en el servidor, y podrían ser recuperados posteriormente cuando las re- glas los seleccionen de nuevo. Un control de versiones tradicional podría llegar a sobreescribirlos si el usuario no es cuidadoso. Versionado completo de la estructura del proyecto Si alguna vez ha tenido que reorganizar la estructura de un árbol de código fuente, cuando su desarrollo ya lleva cierto tiempo activo, habrá conocido las limitaciones de la mayoría de con- troles de versiones existentes. Su gestión de renombrados o mo- vimiento de elementos entre directorios suele ser complejo, a veces incluso perdiendo el historial del elemento movido. Para Plastic SCM los directorios son elementos de primer nivel, igual que los ficheros y están completamente versionados permitien- do mover o renombrar elementos sin ningún esfuerzo y siempre conservando intacta la historia de todos los elementos.

Excelente soporte de desarrollo paralelo Gracias al modelo de ramas con que se ha diseñado Plastic SCM, los patrones de desarrollo paralelo basados en ramas son fácilmente imple- mentados. Estos patrones ofrecen un mayor aislamiento a los desarrolla- dores, permitiéndoles trabajar sin que sus cambios afecten a los demás miembros del equipo. Internamente, un potente sistema de cálculo de antecesores comunes facilita el trabajo de integración, minimizando el número de conflictos manuales que deben solucionar. En esta misma lí- nea, Plastic ofrece sus propias herramientas de y diferencias para ficheros de código fuente y varios formatos binarios (como imágenes).

Ciclo de vida del desarrollo configurable Plastic puede ser usado únicamente como control de versiones, o puede emplearse para la gestión completa del ciclo de vida del desarrollo. En este caso integra la gestión de tareas, entregas, tests, resultados de tests y la trazabilidad entre todos ellos, según las prácticas recomendadas por diversos métodos de evaluación de calidad en los desarrollos de software como CMMi. Todo ello apoyado en un motor de workflow completamente configurable. (Aún en desarrollo).

Integración con entornos de desarrollo Actualmente, se encuentran operativas las integraciones con los entornos de desarrollo más popula- res, como son Eclipse, para entornos Java / J2EE, y Visual Studio (6 / .NET / 2005) para entornos Windo- ws, así como todos los entornos compatibles con la interfaz SCC de control de código fuente, y hay varias integraciones más en desarrollo. Soporte multiplataforma Los servidores, clientes de línea de comando y la integración con Eclipse están soportados en platfor- mas Windows, y Solaris. Así mismo, los clientes gráficos y las integraciones con SCC, entre las que se encuentra Visual Studio o Microsoft Access, están soportadas en Windows.

Completo sistema de seguridad basado en ACLs Otro de los objetivos de diseño de Plastic SCM ha sido la seguridad. Desde los equipos más pequeños, que pueden necesitar limitar el acceso en cierta medida a los desarrolladores menos experimentados, hasta las grandes or- ganizaciones, donde puede existir toda una jerarquía de grupos de trabajo y niveles de acceso, Plastic ofrece un amplio juego de permisos aplicables a cualquier objeto del sistema. Mediante el uso de ACLs heredables (listas de control de acceso), es posible especificar quién tiene acceso y quién no con una alta granularidad (hasta el extremo de poder fijar permisos específicos por cada revisión, llegado el caso). El sistema de usuarios es capaz, por su parte, de tomar la configuración desde directorios LDAP, Active Directory, NIS, o usuarios locales.

Nuevas fórmulas de visualización Se han mejorado las posibilidades de visualización de la información contenida en el control de versiones, por ejemplo con la novedosa vista en 3D del árbol de versiones de un elemento. Esta vista permite ver la evolución temporal de un elemento, con todas sus ramas y relaciones, pero haciendo uso de un entorno en tres dimensiones, logrando que la historia de un fi- chero o directorio, a menudo compleja en desarrollos largos, resulte más útil. Soporte Técnico En Códice Software ofrecemos soporte técnico a todos nuestros clientes. Podrá usted contar con nuestra ayu- da para instalar Plastic SCM y adaptar su proceso de Gestión de la Configuración para poder mejorar tanto su productividad como su control sobre el trabajo rea- lizado. RESUMEN COMPARATIVO CVS Subversion Visual SourceSafe IBM Rational Clear- Plastic SCM Case Commits atómicos NO SI NO SI SI (Si una operación de es interrumpida, el sistema no que- da en un estado inconsistente) Movimiento y renombrado de NO Renombrado sopor- NO. SI SI. directorios tado. Movimiento Se recrea creando un En Plastic los direc- (¿Soporta el sistema mover di- limitado. nuevo elemento con el torios son elementos rectorios manteniendo la historia nuevo nombre partiendo- versionados de de los ficheros y directorios?) se la historia en dos. primer nivel, como los ficheros Permisos del repositorio NO Limitado. Limitado. Limitado. SI. (¿Es posible dar permisos a Soporta permisos Solo permisos de lectura, Solo permisos de Es posible fijar ACLs a diferentes elementos del repo- WebDAV. escritura, borrado y borra- lectura, escritura, todos los elementos sitorio?) do del repositorio. borrado y borrado del del sistema. repositorio. Soporte de NO SI. NO NO SI. (Los changesets agrupan modifi- Cada commit lleva un De dos maneras (1) caciones en un solo paquete) changeset implícito. Conocer todos los contribuidores SI SI NO SI SI de un fichero línea a línea, para saber de dónde viene cada cambio (annotate) Control de modificaciones no SI. SI. SI. SI. SI. enviadas al servidor Permite ver las Permite ver las dife- Permite ver las diferencias Permite ver las dife- Además de permitir diferencias entre rencias entre lo que entre lo que hay en el es- rencias entre lo que ver las diferencias, es lo que hay en el hay en el espacio de pacio de trabajo y lo que hay en el espacio de capaz de almacenar espacio de tra- trabajo y lo que hay hay en el servidor. trabajo y lo que hay los cambios interme- bajo y lo que hay en el servidor. en el servidor. dios (checkouts) en el en el servidor. servidor. Mensajes de commit por fichero NO NO SI SI SI Capacidad de asociar un men- saje a cada check-in Facilidad de instalación NO Dos modos: instalado SI. NO SI. como un módulo Mediante un paquete de Un simple instalador, y de Apache o con instalación. un wizard de configu- svnserver. ración inicial. Requiere cierto trabajo. Portabilidad SI Muy buena. Unix, Limitada. Mediana. Windows Muy buena. Windows, Windows y MacOS Solo Windows. y UNIX. Unix/Linux y MacOSX Integración con entornos de Visual Studio, Dependiendo del Visual Studio, , Eclipse Muy buena. Inte- desarrollo Eclipse. esfuerzo de volunta- Acces graciones con los rios de la comunidad principales entornos open source. de desarrollo y otras herramientas (diseño, ofimática) Soporte técnico NO Consultas a los volun- SI. Aunque es un producto Completo Completo tarios en los foros. deprecated por MS.

(1) Lo soporta de dos maneras: changesets asociados a cada checkin, pudiendo elegir que elementos entran en cada uno, y soporte extensivo de ramas que

permite aislar los cambios.