Trac reports

As almost everybody knows, Trac is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management.

The better part of it is that minimalistic approach. Is very easy getting started with Trac, and achieving great things with its help.

One of the features it has is the possibility to write reports with a slightly modified SQL syntax that let us to get views of the tickets, with an specific layout or style. I never needed more reports than those that trac brings us as examples, so I’m not an expert about them.

But today I faced an ugly problem. The {6} All Tickets By Milestone (Including closed) report doesn’t order the milestones by due date. So I modified it for ordering that, and this is the result:


SELECT p.value AS __color__,
   t.milestone AS __group__,
   (CASE status
      WHEN 'closed' THEN 'color: #777; background: #ddd; border-color: #ccc;'
      ELSE
        (CASE owner WHEN $USER THEN 'font-weight: bold' END)
    END) AS __style__,
   id AS ticket, summary, component, status,
   resolution,version, t.type AS type, priority, owner,
   changetime AS modified,
   time AS _time,reporter AS _reporter
  FROM ticket t
  LEFT JOIN enum p ON p.name = t.priority AND p.type = 'priority'
  LEFT JOIN milestone m ON m.name = t.milestone
  ORDER BY (milestone IS NULL), m.due, (status = 'closed'),
        (CASE status WHEN 'closed' THEN modified ELSE (-1)*p.value END) DESC

CUSL

II Concurso Universitario de Software Libre is a free software development contest, targeted to University Students.

100_5880

On past Friday, it took place the Local Phase of the CUSL contest  in Sevilla, where some participant projects developed by students here were awarded.

The awards went to the Pro Evolution Chapping project, a table football game developed by Alejandro Castaño del Castillo and Manuel Albarrán Guerrero, and to the Project Football project, a football’s team management game, developed by David Ballesteros Mayo and David Domínguez Bocanegra. Congratulations to both teams!

100_5889 100_5898

I was invited to talk with Carlos Parra (Emergya), Ana Guerrero (Debian) and all the assistants in a round-table meeting. We focused on free software development, our experiences in our communities, and how to make living developing FLOSS. It was very fun being part of it!

100_5899

Next week, on Thursday and Friday, we’ll have the National Final in Sevilla, and a lot of free software projects will be presented (and awarded). There are too some interesting talks that you might want to participate in. The complete schedule is at the CUSL website.

It’s a free (like free beer) event, so all of you will be welcome. There will be free coffee and cookies for all the assistants.

Hope I’ll see you there.

Anunciados Google Summer of Code 2008

Google Summer of Code 2008

After last year’s experience, I applied again to Google Summer of Code. I did two proposals, one for ArgoUML, and one for WordPress, and the ArgoUML one have been selected (WP folks said me that my proposal was great, but that I’ve been selected by another org). I’ll post soon both proposals, but I want to advance that I’ll be working on “UI Code generation for ArgoUML property panels”. Last year, not only me, but two great friends from my school were selected, Marcos (Mono) and Ana (Debian). This year, again, some friends from my school have been selected, so we are:

Not in the University of Sevilla, but in the UNED, I want to remark another friend of mine:

  • Replace auto* with CMake (PHP), by Alejandro Leiva Rojas, mentored by Pierre A. Joye
  • This year ~66 Spanish students will have a great opportunity for showing their skills on an Open Source Project. More stats at the official announce.
    You can join Google Summer of Code next year, but you can begin contributing right now!


    Google Summer of Code 2008

    Tras la gran experiencia del año pasado, solicité de nuevo la Google Summer of Code. Hice dos propuestas, una para ArgoUML, y otra para WordPress, y la de ArgoUML ha sido seleccionada (la gente de WP me dijo que mi propuesta era buena, pero que había sido seleccionado por otra organización). Publicaré pronto ambas propuestas, pero adelanto que estaré trabajando en “Generación de código de UI para los paneles de propiedades de ArgoUML”. El pasado año, no sólo yo, sino que dos grandes amigos de mi escuela fueron seleccionados, Marcos (Mono) y Ana (Debian). Este año, de nuevo, algunos amigos de mi escuela han sido seleccionados, por lo que somos:

    No es estudiante de la Universidad de Sevilla, sino de la UNED, pero quiero mencionar a otro amigo:

  • Sustituir auto* con CMake (PHP), por Alejandro Leiva Rojas, dirigido por Pierre A. Joye
  • Este año cerca de 66 estudiantes españoles tendrán la gran oportunidad de mostrar sus capacidades en un proyecto de software libre. Más estadísticas en el anuncio oficial.
    Puedes unirte al Google Summer of Code el año que viene, ¡pero puedes empezar a contribuir ahora mismo!

    Validando un XML contra un DTD

    Para validar un archivo XML contra un DTD desde un sistema con libxml instalado:

    $ xmllint --valid --noout test.xmi --dtdvalid 99-10-05.dtd

    Acelerando Maven2

    El primer paso, si no lo has hecho ya, es instalar Maven2. Desde que compré mi nuevo portátil no he vuelto a usar Maven, por lo que describiré muy brevemente los pasos que he seguido.

    Descarga Maven 2.0.9 y extraelo en tu directorio de archivos de programa (en Windows, lo extraigo en C:\Program Files). Añade una nueva variable de entorno llamada MVN con el valor C:\Program Files\apache-maven-2.0.9\bin, y edita el Path para referenciarla (añade ;%MVN% al final de tu Path). Abre una nueva consola y ejecuta mvn -v. Si devuelve la versión instalada de Maven2, todo marcha bien :-)

    Maven2 automáticamente descarga todas las dependencias que se necesiten para compilar una aplicación (vienen definidas en el POM). Por tanto, para acelerar estos procesos, es interesante añadir un mirror cercano geográficamente. En mi caso, el CICA es mirror de Apache, por lo que está en mi propia ciudad :-)

    Para más información, consulta Maven Guide Mirror Settings.

    PD: El asunto de esta entrada era sólo un paso necesario para una futura entrada, y estaba escrito en inglés, pero al final era esfuerzo inútil (ya veréis por que motivo en próximos capítulos). He preferido publicar este minipost antes que borrar una parte del esbozo del siguiente.