This page has been archived and is no longer updated.
Please be aware that the information provided on this page may be out of date, or otherwise inaccurate.
The main archive page has a short explanation.

Objectives

  1. Tell the world our experiences and works around Redmine. Share our ideas, efforts and developed code.
  2. Make our plugins as POPULAR as possible.
  3. PROMOTE THEM to become part of redmine's core project.
  4. In the future, share maintenance efforts with community.

Who are we?

We are some IT professionals who work at Sadesi (a public company that belongs to Junta de Andalucia, in advance I'll use the acronym JdA). We are happy of working in an organization which is compromised with OpenSource and Quality, Sadesi is compliant with ISO 9001, ISO 20000 (ITIL) and ISO 27001.

Disclaimer.

My name's Borja Pacheco and I MUST clarify that I'm talking from a personal point of view, not trying to tell you the formal opinion of others (nor Sadesi, CEIC, neither Junta de Andalucia).

Thanks

I need to mention to María José Romero del Toro and Francisco José Quintero Morón, who are an important part of this project and without them, nothing wouldn't be possible.

Our story

Since 2010 Sadesi started using Redmine as the main tool to manage our development projects:
  • We realized Redmine is a very complete and good software.
  • We assigned to our redmine instance (HGP) the role of SPOC (Single point of contact) among all parties involved into our software development projects (internal clients, our technical staff and providers that builds concrete pieces of a project).
  • We have used it broadly. Some indicators: 29175 tickets created and 796 active users.... I guess we have one of the biggest implementations all over the world.

First interactions

After an initial usage period, we missed out some functionality that wasn't already developed. Our first approach was to make it ourselves. We modified several parts of the code, to avoid tickets without any assigned (we don't want orphan tickets), we linked End-Date and Status to avoid tickets without 100% completing, modified Gantt module, adapted Spanish translations to our current vocabulary, created a simple plugin-menu to facilitate access to other daily tools, made the tree-view plugin operative again and, finally, we made a custom application that uses redmine's data model, for being a bridge between Redmine and our ERP (Navision).

This experience produced us a "bitter taste", because we found several difficulties:
  • We didn't want to touch Redmine's core/kernel, but it was not possible in all cases. So we started to be very sensitive about redmine's updates & upgrades.
  • Ruby, it's not our core business programming language. We feel more comfortable using Java or PHP. This problem increased the first problem, because we didn't use properly methods that allow changing normal behaviour inside a plugin.

We learnt other important fact: Sometimes it's easier and cost saving, adapt our mind/methodology instead of modifying the tool.

Our project

Once we have reached a mature knowledge about redmine, features, limitations, plugins available and devs methods, we decided to solve the problem seriously. We search for some budget, and we searched specialised resources to produce our needed modifications.

Specifications

Here, in this document (it's in Spanish -we apologize) we describe in details our goals, functional features and technical requirements to the global project.

Main Goals

  • Improve workflow engine: Enable/Disable editions of custom fields depending current phase, allow transactions only if certain conditions are made, reduce list of possible "assigned-to" just to members who can execute the transition in the flow, limit who can create new tickets.
  • Redmine's Federation: enable sharing information of project/tickets between different organization's redmines.
  • Creation of a DashBoard module, to allow managers to control de activity of a collection of projects and performance indicators (KPIs)
  • Allow custom reports and datamining.
  • Integration with others
    • Third party: Drupal, Alfresco, Pentaho, Testlink, UML
    • JdA's own tools: NAOS, Formula, iCMS
  • Enhance query interface with more filters.
  • Block reporting elapsed time (log time) too long time ago.
  • Enable archived project to be accessible read-only.
  • Others: wiki's templates, calendar export via CalDav, wizard to configure a new project...

Project Organization

The project is divided in three phases.

Phase 1

  • State: FIXING MINOR BUGs
  • Estimated Release Date: 20th June

Features

  • Improved workflow engine.
  • Improved API Rest
  • Enhanced archived project
  • Block reporting elapsed time (log time) too long time ago.
  • Fixed tree view plugin
  • Some features in "my page"
  • Wizard to import task from excel
  • Integration with Alfresco 3.3.x (cmis 1.0) (Not tested, but developed)

Phase 2

  • State: TESTING
  • Estimated Release Date: 31st July

Features

  • New Integrated dashboard
  • Wizard to create new projects (preconfigure users,roles, attributes...)
  • Controlling who can create new tickets
  • Redmine's Federation
  • Integration with API iCMS (allow different CMS, such as, Drupal)
  • Integration with Alfresco 3.2.x
  • Integration with Formula v3

Phase 3

  • State: DEVELOPMENT
  • Estimated Release Date: September-October

Features

  • Enhanced query interface with more filters.
  • Enhanced wiki
  • Enhanced Calendar
  • Periodic Tickets
  • Integration with Pentaho -> SLA Management
  • Integration with Testlink
  • Integration with third party UML tools
  • Integration with Plantilla
  • Integration with NAOS

Software Repository

We are going to prepare a GIT repository to allocate every part of the software. As soon as our SQA marks any release as candidate, we'll publish it and communicate how to get the source.
We'll announce through twitter and linkedin.

Questions

Please contact me, via twitter: @Borja_Pacheco.

References

If you need further info about my company or our job, you could find it at: