martes, febrero 08, 2011

Control de versiones con Subversion

En primer lugar, ¿qué es/para qué sirve?

Como su propio nombre indica se trata de un software que ayuda a llevar el control de versiones de cualquier aplicación que desarrollemos (es independiente de la plataforma de programación). Facilita la gestión de versiones y mantiene un registro de todos los cambios que se van realizando, con la posibilidad de echarlos atrás en cualquier momento. En entornos en los que trabajan varias personas en un mismo proyecto, es muy recomendable utilizar algo como esto porque permite que cada uno trabaje con una porción del proyecto sin peligro de que el que grabe último machaque las modificaciones de los demás.
 

El repositorio


El repositorio es el almacén del control de versiones. En nuestro caso lo he ubicado en http://192.168.1.187/svn, y en el servidor es E:\SVN. Esta carpeta no es ftp ni está compartida, sino que se trata de un recurso WebDav. Para tener acceso a este repositorio es necesario utilizar un usuario y password.

Si se entra en el repositorio desde el navegador, podréis moveros por una estructura similar a esta:

·         Repositories (raíz de todos los repositorios)
o   DotNetProjects (la carpeta que he creado para alojar los proyectos de .Net)
§  GestInc (el Portal de Gestión de Incidencias Informáticas)
·         trunk (versión actual)
·         tags
o   v1.0 (versión 1.0, foto, no modificar)
·         branches
§  SorteoYofindo.
·         trunk (versión actual)
·         tags
o   v1.0 (versión 1.0, foto, no modificar)
·         branches (para parches)


Aplicaciones en el servidor

En el servidor 192.168.1.187 he instalado 2 aplicaciones (gratuitas):
·         VisualSVN Server, que nos ayuda a gestionar el repositorio. Tiene una consola y un cliente web. Algunas de las cosas para las que va bien:
o   Crear la estructura para alojar un nuevo proyecto (crea las carpetas trunk, tags y branckes)
o   Gestión de usuarios

·         TortoiseSVN. Plugin para el explorador de Windows, que permite facilita:
o   Añadir cualquier documento/fichero al repositorio, mediante la opción Import


Ambas aplicaciones son clientes para Subversion, el “core” del meollo y pueden convivir sin problemas.


Aplicaciones cliente

·         TortoiseSVN, la misma del servidor, en realidad está más pensada para cliente, permitiendo:
o   Obtener cualquier versión de un proyecto/documento/fichero.
o   Comparar versiones
o   Hacer merge de versiones
o   Etc.
·         Plugins para Visual Studio, Eclipse (por si tenemos que hacer algo para Android), etc. En el caso del que me instalado para Visual Studio 2010 (AnkhSVN), permite hacer, entre otras cosas:
o   Abrir una versión de un proyecto del repositorio
o   Hacer Ckeckin/checkout/merge/etc. Ejemplo de modificación de un fichero + “commit changes

jueves, febrero 03, 2011

Aplicaciones abiertas

En muchos proyectos de Tecnologías de la Información tendemos a reinventar la rueda, a invertir tiempo del equipo de desarrollo en reinventar los gestores de contenidos, los blogs, el comercio electrónico… Estos proyectos han sido hechos y rehechos en cientos de ocasiones por diferentes equipos.
Durante todo este tiempo, la comunidad de desarrolladores ha creado iniciativas de colaboración alrededor de estas temáticas. Estos proyectos de la comunidad no son juguetes, son proyectos con cientos de horas de desarrollo invertidas y gran número de implantaciones por todo el mundo. Son gratuitos y altamente personalizables a través de plantillas, aunque en caso de necesitarlo tienen el código fuente disponible para que podamos hacer algún ajuste para nuestro proyecto.
Aquí tienes un pequeño resumen de las aplicaciones web gratuitas más utilizadas. Y recuerda… si ya existe, ¿por qué reinventarlo?


Umbraco CMS es un gestor de contenidos utilizado en más de 85000 sitios web. Es muy fácil de utilizar y de extender, además de las posibilidades de integración con sistemas existentes. Umbraco está basado en tecnología .NET


Wordpress comenzó en el año 2003 como un proyecto para mejorar la tipografía y con pocos usuarios. Desde entonces ha crecido para convertirse en la herramienta de blogging más utilizada del mundo, cientos de miles de sitios con decenas de millones de usuarios en todo el mundo. Wordpress está basado en tecnología PHP.


Joomla! Es un gestor de contenidos de código abierto. Su potente framework para aplicaciones facilita la creación de plugins para extender su funcionalidad a Nuevo ámbitos. La funcionalidad básica de Joomla! facilita la creción de sistemas de inventarios, generación de informes, catálogos de productos, sistemas de e-commerce, directories de necogios y muchos más escenarios. Joomla! esta basado en tecnología PHP.

nopCommerce es la solución lider para comercio electrónico basada en ASP.NET. nopCommerce se puede utilizer y configurar por cualquiera con mínimos conocimientos sobre web y ordenadores. Es una solución segura, escalabrla y extensible. Tiene una sencilla herramienta de administración para gestionar el frontal, clientes, listas, descuentos,… además de soporte multilingüe y multidivisa.

¡Y muchas más!
BlogEngine.NETDrupalScrewTurnWikiMoodledotNetNukeOrchard CMS… seguro que alguna se ajusta a tus necesidades.

Para simplificar la instalación de estos proyectos y sus dependencias, los hemos recogido y empaquetado en una Galería de Aplicaciones Web donde puedes escoger la que más se ajuste a tus necesidades.
Videos Relacionados
Instalación nopCommerce
Instalación Joomla
Instalación Wordpress
Instalación Umbraco
Instalación ScrewTurnWiki
Instalacion Drupal

Además, puedes utilizar la herramientaWebMatrix para descargar la aplicación que prefieras, modificarla y posteriormente publicarla en internet
Wordpress via Webmatrix
Umbraco CMS via WebMatrix
nopCommerce via WebMatrix