diff --git a/doc/src/technical/howto-create-a-new-report-in-navalplan.rst b/doc/src/technical/howto-create-a-new-report-in-navalplan.rst
new file mode 100644
index 000000000..38db32e5e
--- /dev/null
+++ b/doc/src/technical/howto-create-a-new-report-in-navalplan.rst
@@ -0,0 +1,446 @@
+.. sectnum::
+
+How To Create A New Report In NavalPlan
+=======================================
+
+.. contents::
+
+NavalPlan uses **JasperReports** [1]_ to create reports in the application. This
+document tries to explain how to create a new report in NavalPlan.
+
+During this tutorial you are going to create a report that will show the list of
+resources in NavalPlan.
+
+
+Add entry on NavalPlan menu
+---------------------------
+
+First of all, you are going to add a new entry on *Reports* menu in NavalPlan,
+this option will link to a new ``.zul`` file inside
+``navalplanner-webapp/src/main/webapp/reports/`` that will be the basic
+interface for users before generate the report.
+
+Steps:
+
+* Modify ``CustomMenuController.java`` to add a new ``subItem`` inside the
+ ``topItem`` *Reports*::
+
+ subItem(_("Resources List"),
+ "/reports/resourcesListReport.zul",
+ "15-informes.html")
+
+You will see the new entry if you run NavalPlan, but the link is not going to
+work as ``.zul`` page still does not exist.
+
+
+Create basic HTML interface
+---------------------------
+
+You need an interface were users could specify some parameters (if needed) for
+the report and then generate the expected result. This interface will be
+linked from the menu entry added before. For the moment, you are going to create
+a very basic interface, copying some parts from other reports.
+
+Steps:
+
+* Create a new file ``resourcesListReport.zul`` in
+ ``navalplanner-webapp/src/main/webapp/reports/``. With the following content:
+
+::
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+This will create a basic interface for report with a combo to select the desired
+output format for it and a button to generate the report. As we can see it uses
+``resourcesListController`` that will be created in the next point.
+
+
+Create a controller for new report
+----------------------------------
+
+As you can see previous ``.zul`` file defined uses a controller that will be in
+charge to manage users interaction with report interface and call the proper
+methods to generate the report itself and show it to the user.
+
+There is already a controller called ``NavalplannerReportController`` which
+implements most of the stuff needed for report controllers. So, controllers for
+new reports are going to extend this class and re-implement some methods.
+
+Steps:
+
+* Create a new file ``ResourcesListController.java`` in
+ ``navalplanner-webapp/src/main/java/org/navalplanner/web/reports/`` with the
+ following content:
+
+::
+
+ /*
+ * This file is part of NavalPlan
+ *
+ * Copyright (C) 2011 Igalia, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+ package org.navalplanner.web.reports;
+
+ import net.sf.jasperreports.engine.JRDataSource;
+ import net.sf.jasperreports.engine.JREmptyDataSource;
+
+ import org.zkoss.zk.ui.Component;
+
+ /**
+ * Controller for UI operations of Resources List report.
+ *
+ * @author Manuel Rego Casasnovas
+ */
+ public class ResourcesListController extends NavalplannerReportController {
+
+ private static final String REPORT_NAME = "resourcesListReport";
+
+ @Override
+ public void doAfterCompose(Component comp) throws Exception {
+ super.doAfterCompose(comp);
+ comp.setVariable("controller", this, true);
+ }
+
+ @Override
+ protected String getReportName() {
+ return REPORT_NAME;
+ }
+
+ @Override
+ protected JRDataSource getDataSource() {
+ return new JREmptyDataSource();
+ }
+
+ }
+
+Now if you run NavalPlan and access to the new menu entry you will see the
+simple form allowing you to choose the output format for the report and also the
+button to show it (that will not work yet).
+
+
+Create a DTO
+------------
+
+As usually reports show information extracted from database but with some
+specific modifications, for example, merging data from different database
+tables; you will need to define a DTO (Data Transfer Object) with the fields
+that you want to show in the report.
+
+In your case the DTO is pretty simple, you will show for each resource: code and
+name.
+
+Steps:
+
+* Create a new file ``ResourcesListDTO.java`` in
+ ``navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/``
+ with the following content:
+
+::
+
+ /*
+ * This file is part of NavalPlan
+ *
+ * Copyright (C) 2011 Igalia, S.L.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+
+ package org.navalplanner.business.reports.dtos;
+
+ /**
+ * DTO for Resources List report data.
+ *
+ * @author Manuel Rego Casasnovas
+ */
+ public class ResourcesListDTO {
+
+ private String code;
+
+ private String name;
+
+ public ResourcesListDTO(String code, String name) {
+ this.code = code;
+ this.name = name;
+ }
+
+ public String getCode() {
+ return code;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ }
+
+A list of DTOs will be passed to JasperReports in order to generate the report
+with the data.
+
+
+Define report layout (iReport)
+------------------------------
+
+Now that you know which data you are going to show in the report (check DTOs
+attributes) you should define the JasperReports format with a XML.
+
+You need to install **iReport** [2]_, it is a tool used to define and design
+report layouts, which provides a visual interface to define ``.jrxml`` file.
+
+Steps:
+
+* Download iReport **3.7.0** (``tar.gz``) from SourceForge.net:
+ https://sourceforge.net/projects/ireport/files/iReport/
+
+* Uncompress file::
+
+ tar -xvzf iReport-3.7.0.tar.gz
+
+* Launch iReport::
+
+ cd iReport-3.7.0/
+ ./bin/ireport
+
+* Open some existent NavalPlan report (e.g.
+ ``hoursWorkedPerWorkerInAMonthReport.jrxml``) under
+ ``navalplanner-webapp/src/main/jasper`` to use as template to keep the same
+ layout and save it with the name of the new report
+ ``resourcesListReport.jrxml`` in the same folder.
+
+ This will allow us to keep coherence between reports in regard to design,
+ header, footer, etc.
+
+* Set report name to ``resourcesList``.
+
+* Set resource bundle to ``resourcesList``.
+
+* Remove following parameters:
+
+ * ``startingDate``
+ * ``endingDate``
+ * ``showNote``
+
+* Remove all the fields and add the following:
+
+ * Name: ``code``, class: ``java.lang.String``
+ * Name: ``name``, class: ``java.lang.String``
+
+* Remove following variables:
+
+ * ``sumHoursPerDay``
+ * ``sumHoursPerWorker``
+
+* Remove following elements in *Title* band:
+
+ * ``$R{date.start}``
+ * ``$R{date.end}``
+ * ``$P{startingDate}``
+ * ``$P{endingDate}``
+ * ``$R{note1}``
+ * Label: ``*``
+
+* Remove group *Worker group Group Header 1*.
+
+* Remove group *Date group Group Header 1*.
+
+* Remove columns in *Detail 1* band in order to leave only 2 columns:
+ ``$F{code}`` and ``$F{name}``.
+
+Now you have defined a very basic report layout using some common elements
+with other NavalPlan reports like header and footer. The result in iReport would
+be something similar to the screenshot.
+
+.. figure:: ireport-resources-list-report.png
+ :alt: iRerpot screenshot for Resources List report
+ :width: 100%
+
+ iReport screenshot for Resources List report
+
+
+Add report bundle for translation strings
+-----------------------------------------
+
+Once defined the report format with *iReport* you need to create an special
+directory to put there translation files related with report strings.
+
+Steps:
+
+* Create directory called ``resourcesList_Bundle`` in
+ ``navalplanner-webapp/src/main/jasper/``::
+
+ mkdir navalplanner-webapp/src/main/jasper/resourcesList_Bundle
+
+ You can check bundle folders of other reports in the same directory to see
+ more examples, but it basically contains the properties files with different
+ translations for the project.
+
+* Create a file called ``resourcesList.properties`` inside the new directory
+ with the following content:
+
+::
+
+ # Locale for resourcesListReport.jrxml
+ title = Resources List Report
+ subtitle = List of resources
+ page = page
+ of = of
+
+* Copy this file to a new one for English locale::
+
+ cp resourcesList.properties resourcesList_en_US.properties
+
+* Add the following lines in main ``pom.xml`` file at project root folder,
+ in ``Report bundle directories`` section::
+
+
+ ../navalplanner-webapp/src/main/jasper/resourcesList_Bundle/
+
+
+Now jun can run NavalPlan and see the report already working, but as you are not
+sending it any data (currently you are using ``JREmptyDataSource``) the report
+will appear empty but you can see header and footer.
+
+
+Create some example data and see your first report
+--------------------------------------------------
+
+At that point you have everything ready to generate your first report, but you
+need to show some data in the report. So, you are going to add some example data
+manually created to see the final result.
+
+Steps:
+
+* Modify ``getDataSource`` method in ``ResourcesListController`` created before
+ and use the following content as example:
+
+::
+
+ @Override
+ protected JRDataSource getDataSource() {
+ // Example data
+ ResourcesListDTO resource1 = new ResourcesListDTO("1", "Jonh Doe");
+ ResourcesListDTO resource2 = new ResourcesListDTO("2", "Richard Roe");
+
+ List workersListDTOs = Arrays.asList(resource1,
+ resource2);
+
+ return new JRBeanCollectionDataSource(workersListDTOs);
+ }
+
+* Compile NavalPlan with the following command from project root folder::
+
+ mvn -DskipTests -P-userguide clean install
+
+* Launch Jetty from ``navalplanner-webapp`` directory::
+
+ cd navalplanner-webapp
+ mvn -P-userguide jetty:run
+
+ Then if you go to the new menu entry called *Resources List* in *Reports* you
+ will be able to generate a report with the resources added as example data.
+ The report still lacks a good design and format, but at least you are able to
+ see how the basic functionality of JasperReports in NavalPlan is integrated.
+
+
+.. [1] http://jasperforge.org/jasperreports
+.. [2] http://jasperforge.org/projects/ireport
diff --git a/doc/src/technical/ireport-resources-list-report.png b/doc/src/technical/ireport-resources-list-report.png
new file mode 100644
index 000000000..9c62ab69c
Binary files /dev/null and b/doc/src/technical/ireport-resources-list-report.png differ