Rename NavalPlan to LibrePlan

* Change all folders and file names
* Change string in all files

FEA: ItEr75S03CommunityMaterial
This commit is contained in:
Manuel Rego Casasnovas 2011-10-28 08:17:54 +02:00
parent 9444083b61
commit 2a7e571edc
1772 changed files with 38709 additions and 38709 deletions

36
HACKING
View file

@ -1,9 +1,9 @@
Hacking Hacking
======= =======
This is a guide about how to start hacking on *NavalPlan* project. If you want This is a guide about how to start hacking on *LibrePlan* project. If you want
more information about *NavalPlan* development you should visit the wiki more information about *LibrePlan* development you should visit the wiki
available at: http://wiki.navalplan.org/. available at: http://wiki.libreplan.org/.
.. contents:: .. contents::
@ -48,7 +48,7 @@ Compilation requirements
Required for printing Required for printing
NavalPlan compilation LibrePlan compilation
--------------------- ---------------------
Debian/Ubuntu Debian/Ubuntu
@ -72,7 +72,7 @@ Debian/Ubuntu
* Download source code:: * Download source code::
$ git clone git://navalplan.git.sourceforge.net/gitroot/navalplan/navalplan $ git clone git://libreplan.git.sourceforge.net/gitroot/libreplan/libreplan
* Compile project:: * Compile project::
@ -80,10 +80,10 @@ Debian/Ubuntu
* Launch application:: * Launch application::
$ cd navalplanner-webapp/ $ cd libreplan-webapp/
$ mvn jetty:run $ mvn jetty:run
* Go to http://localhost:8080/navalplanner-webapp/ * Go to http://localhost:8080/libreplan-webapp/
Fedora Fedora
~~~~~~ ~~~~~~
@ -121,7 +121,7 @@ Fedora
* Download source code:: * Download source code::
$ git clone git://navalplan.git.sourceforge.net/gitroot/navalplan/navalplan $ git clone git://libreplan.git.sourceforge.net/gitroot/libreplan/libreplan
* Compile project:: * Compile project::
@ -129,10 +129,10 @@ Fedora
* Launch application:: * Launch application::
$ cd navalplanner-webapp/ $ cd libreplan-webapp/
$ mvn jetty:run $ mvn jetty:run
* Go to http://localhost:8080/navalplanner-webapp/ * Go to http://localhost:8080/libreplan-webapp/
openSUSE openSUSE
~~~~~~~~ ~~~~~~~~
@ -181,7 +181,7 @@ openSUSE
* Download source code:: * Download source code::
$ git clone git://navalplan.git.sourceforge.net/gitroot/navalplan/navalplan $ git clone git://libreplan.git.sourceforge.net/gitroot/libreplan/libreplan
* Compile project:: * Compile project::
@ -189,10 +189,10 @@ openSUSE
* Launch application:: * Launch application::
$ cd navalplanner-webapp/ $ cd libreplan-webapp/
$ mvn jetty:run $ mvn jetty:run
* Go to http://localhost:8080/navalplanner-webapp/ * Go to http://localhost:8080/libreplan-webapp/
CutyCapt compilation CutyCapt compilation
@ -269,7 +269,7 @@ openSUSE
Compilation profiles Compilation profiles
-------------------- --------------------
There are different compilation profiles in *NavalPlan*. Check ``<profiles>`` There are different compilation profiles in *LibrePlan*. Check ``<profiles>``
section in root ``pom.xml`` to see the different profiles (there are also some section in root ``pom.xml`` to see the different profiles (there are also some
profiles defined in ``pom.xml`` of business and webapp modules). profiles defined in ``pom.xml`` of business and webapp modules).
@ -299,14 +299,14 @@ profiles defined in ``pom.xml`` of business and webapp modules).
* *reports* - JasperReports (default) * *reports* - JasperReports (default)
If it is active *NavalPlan* reports are compiled. If it is active *LibrePlan* reports are compiled.
It is useful to disable this profile to save compilation time during It is useful to disable this profile to save compilation time during
development. development.
* *userguide* - User documentation (default) * *userguide* - User documentation (default)
If it is active *NavalPlan* help is compiled and HTML files are generated. If it is active *LibrePlan* help is compiled and HTML files are generated.
User documentation is written in *reStructuredText* and it is generated User documentation is written in *reStructuredText* and it is generated
automatically thanks to this profile. automatically thanks to this profile.
@ -344,7 +344,7 @@ command. For example:
Tests Tests
----- -----
*NavalPlan* has a lot of JUnit test that by default are passed when you compile *LibrePlan* has a lot of JUnit test that by default are passed when you compile
the project with Maven. You can use ``-DskipTests`` to avoid tests are passed the project with Maven. You can use ``-DskipTests`` to avoid tests are passed
always. Anyway, you should check that tests are not broken before sending or always. Anyway, you should check that tests are not broken before sending or
pushing a patch. pushing a patch.
@ -372,5 +372,5 @@ For MySQL users here are specific instructions.
* Launch application:: * Launch application::
$ cd navalplanner-webapp/ $ cd libreplan-webapp/
$ mvn -Pdev,mysql jetty:run $ mvn -Pdev,mysql jetty:run

84
INSTALL
View file

@ -1,14 +1,14 @@
Install Install
======= =======
This is a guide about how to install *NavalPlan* project in your system. If you This is a guide about how to install *LibrePlan* project in your system. If you
want to upgrade your *NavalPlan* version see ``UPDATE`` file. If you want to want to upgrade your *LibrePlan* version see ``UPDATE`` file. If you want to
know how to compile it manually see ``HACKING`` file. know how to compile it manually see ``HACKING`` file.
.. contents:: .. contents::
NavalPlan automatic installation LibrePlan automatic installation
-------------------------------- --------------------------------
Ubuntu PPAs Ubuntu PPAs
@ -22,31 +22,31 @@ Instructions::
$ sudo add-apt-repository ppa:libreplan/ppa $ sudo add-apt-repository ppa:libreplan/ppa
$ sudo apt-get update $ sudo apt-get update
$ sudo apt-get install navalplan $ sudo apt-get install libreplan
Debian packages Debian packages
~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~
There are Debian packages for Squeeze (i386 and amd64), you can download them There are Debian packages for Squeeze (i386 and amd64), you can download them
from: http://sourceforge.net/projects/navalplan/files/NavalPlan/ from: http://sourceforge.net/projects/libreplan/files/LibrePlan/
Instructions: Instructions:
* Download the package:: * Download the package::
$ wget http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1-1_amd64.deb $ wget http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1-1_amd64.deb
* Install package:: * Install package::
# dpkg -i navalplan_1.1.1-1_amd64.deb # dpkg -i libreplan_1.1.1-1_amd64.deb
* Install dependencies:: * Install dependencies::
# apt-get install -f # apt-get install -f
NavalPlan manual installation LibrePlan manual installation
----------------------------- -----------------------------
Debian/Ubuntu Debian/Ubuntu
@ -62,44 +62,44 @@ Debian/Ubuntu
* Use SQL sentences to create database:: * Use SQL sentences to create database::
CREATE DATABASE navalplan; CREATE DATABASE libreplan;
CREATE USER navalplan WITH PASSWORD 'navalplan'; CREATE USER libreplan WITH PASSWORD 'libreplan';
GRANT ALL PRIVILEGES ON DATABASE navalplan TO navalplan; GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan;
* Download database installation script:: * Download database installation script::
$ wget -O install.sql http://downloads.sourceforge.net/project/navalplan/NavalPlan/install_1.1.1.sql $ wget -O install.sql http://downloads.sourceforge.net/project/libreplan/LibrePlan/install_1.1.1.sql
* Create database structure:: * Create database structure::
$ psql -h localhost -U navalplan -W navalplan < install.sql $ psql -h localhost -U libreplan -W libreplan < install.sql
* Download ``.war`` file from SourceForge.net:: * Download ``.war`` file from SourceForge.net::
$ wget -O navalplan.war http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1.war $ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1.war
* Create a new file ``/etc/tomcat6/Catalina/localhost/navalplan.xml`` (file * Create a new file ``/etc/tomcat6/Catalina/localhost/libreplan.xml`` (file
name has to match with ``.war`` name) with database configuration for name has to match with ``.war`` name) with database configuration for
Tomcat 6:: Tomcat 6::
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path=""> <Context antiJARLocking="true" path="">
<Resource name="jdbc/navalplanner-ds" auth="Container" <Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" maxActive="100" maxIdle="30" maxWait="10000"
username="navalplan" password="navalplan" username="libreplan" password="libreplan"
driverClassName="org.postgresql.Driver" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/navalplan" /> url="jdbc:postgresql://localhost/libreplan" />
</Context> </Context>
* Add a new Tomcat 6 policy file ``/etc/tomcat6/policy.d/51navalplan.policy`` * Add a new Tomcat 6 policy file ``/etc/tomcat6/policy.d/51libreplan.policy``
with the following content:: with the following content::
grant codeBase "file:/var/lib/tomcat6/webapps/navalplan/-" { grant codeBase "file:/var/lib/tomcat6/webapps/libreplan/-" {
permission java.security.AllPermission; permission java.security.AllPermission;
}; };
grant codeBase "file:/var/lib/tomcat6/webapps/navalplan.war" { grant codeBase "file:/var/lib/tomcat6/webapps/libreplan.war" {
permission java.security.AllPermission; permission java.security.AllPermission;
}; };
@ -108,9 +108,9 @@ Debian/Ubuntu
grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" { grant codeBase "file:${catalina.home}/bin/tomcat-juli.jar" {
... ...
// begin:navalplan // begin:libreplan
permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}navalplan${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read"; permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}libreplan${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
// end:navalplan // end:libreplan
... ...
}; };
@ -120,13 +120,13 @@ Debian/Ubuntu
* Copy war to Tomcat 6 web applications directory:: * Copy war to Tomcat 6 web applications directory::
# cp navalplan.war /var/lib/tomcat6/webapps/ # cp libreplan.war /var/lib/tomcat6/webapps/
* Restart Tomcat 6:: * Restart Tomcat 6::
# /etc/init.d/tomcat6 restart # /etc/init.d/tomcat6 restart
* Go to http://localhost:8080/navalplan/ * Go to http://localhost:8080/libreplan/
openSUSE openSUSE
@ -154,9 +154,9 @@ openSUSE
* SQL sentences to create database:: * SQL sentences to create database::
CREATE DATABASE navalplan; CREATE DATABASE libreplan;
CREATE USER navalplan WITH PASSWORD 'navalplan'; CREATE USER libreplan WITH PASSWORD 'libreplan';
GRANT ALL PRIVILEGES ON DATABASE navalplan TO navalplan; GRANT ALL PRIVILEGES ON DATABASE libreplan TO libreplan;
* Set ``postgres`` user password:: * Set ``postgres`` user password::
@ -170,29 +170,29 @@ openSUSE
* Download database installation script:: * Download database installation script::
$ wget -O install.sql http://downloads.sourceforge.net/project/navalplan/NavalPlan/install_1.1.1.sql $ wget -O install.sql http://downloads.sourceforge.net/project/libreplan/LibrePlan/install_1.1.1.sql
* Create database structure:: * Create database structure::
$ psql -h localhost -U navalplan -W navalplan < install.sql $ psql -h localhost -U libreplan -W libreplan < install.sql
* Download ``.war`` file from SourceForge.net:: * Download ``.war`` file from SourceForge.net::
$ wget -O navalplan.war http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1.war $ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1.war
* Create a new file ``/etc/tomcat6/Catalina/localhost/navalplan.xml`` (file * Create a new file ``/etc/tomcat6/Catalina/localhost/libreplan.xml`` (file
name has to match with ``.war`` name) with database configuration for name has to match with ``.war`` name) with database configuration for
Tomcat 6:: Tomcat 6::
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path=""> <Context antiJARLocking="true" path="">
<Resource name="jdbc/navalplanner-ds" auth="Container" <Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" maxActive="100" maxIdle="30" maxWait="10000"
username="navalplan" password="navalplan" username="libreplan" password="libreplan"
driverClassName="org.postgresql.Driver" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/navalplan" /> url="jdbc:postgresql://localhost/libreplan" />
</Context> </Context>
* Add link to Java JDBC driver for PostgreSQL in Tomcat6 libraries directory:: * Add link to Java JDBC driver for PostgreSQL in Tomcat6 libraries directory::
@ -201,21 +201,21 @@ openSUSE
* Copy war to Tomcat 6 web applications directory:: * Copy war to Tomcat 6 web applications directory::
# cp navalplan.war /srv/tomcat6/webapps/ # cp libreplan.war /srv/tomcat6/webapps/
* Restart Tomcat 6:: * Restart Tomcat 6::
# /etc/init.d/tomcat6 restart # /etc/init.d/tomcat6 restart
* Go to http://localhost:8080/navalplan/ * Go to http://localhost:8080/libreplan/
Logs Logs
---- ----
Since *NavalPlan 1.1.1* log system is configured automatically creating a new Since *LibrePlan 1.1.1* log system is configured automatically creating a new
folder under ``/var/log/tomcat6/`` with ``.war`` name. For example: folder under ``/var/log/tomcat6/`` with ``.war`` name. For example:
``/var/log/tomcat6/navalplan.war``. ``/var/log/tomcat6/libreplan.war``.
Inside this new directory there will be two files (``navalplan.log`` and Inside this new directory there will be two files (``libreplan.log`` and
``navalplan-error.log``) that will be rotated every day. ``libreplan-error.log``) that will be rotated every day.

38
NEWS
View file

@ -12,7 +12,7 @@ labels were loaded and the persistence to disk failed.
Other minor fixes included in this version: Other minor fixes included in this version:
* Task Scheduling Status In Project report has been reviewed and fixed. * Task Scheduling Status In Project report has been reviewed and fixed.
* Now NavalPlan does not depend on server language for translations of strings * Now LibrePlan does not depend on server language for translations of strings
in the business module. in the business module.
* Resource load chart is fixed for tasks finishing in the middle of a day. * Resource load chart is fixed for tasks finishing in the middle of a day.
* Solved issue on Gantt saving due to transient resource allocations. * Solved issue on Gantt saving due to transient resource allocations.
@ -185,7 +185,7 @@ Changes
Version 1.1.0 (19 May 2011) Version 1.1.0 (19 May 2011)
--------------------------- ---------------------------
New major version of NavalPlan. Apart from a lot of bugfixing the main features New major version of LibrePlan. Apart from a lot of bugfixing the main features
included in this version are: included in this version are:
* Fixed problem with WebKit based browsers. * Fixed problem with WebKit based browsers.
@ -217,7 +217,7 @@ included in this version are:
* Hierarchical criteria enforced. * Hierarchical criteria enforced.
Criteria in NavalPlan are like dynamic roles that resources can satisfy and Criteria in LibrePlan are like dynamic roles that resources can satisfy and
can be hierarchical. This means that one general criterion can include other can be hierarchical. This means that one general criterion can include other
more specific criteria inside. For instance, it is possible to configure the more specific criteria inside. For instance, it is possible to configure the
general criterion Engineer with two children like Electric Engineer and general criterion Engineer with two children like Electric Engineer and
@ -230,7 +230,7 @@ included in this version are:
Generic allocation is the assignment based on criteria. You specify the set Generic allocation is the assignment based on criteria. You specify the set
of criteria which must be satisfied by the workers who are able to do the of criteria which must be satisfied by the workers who are able to do the
task and, after this, NavalPlan looks for them and selects the ones less task and, after this, LibrePlan looks for them and selects the ones less
loaded to be planned. loaded to be planned.
The algorithm which selects the workers to be assigned to a task when The algorithm which selects the workers to be assigned to a task when
@ -268,7 +268,7 @@ included in this version are:
* admin/admin. This user is the user with administration privileges. * admin/admin. This user is the user with administration privileges.
* user/user. This is a common user without administration privileges. * user/user. This is a common user without administration privileges.
* wswriter/wswriter. This user has write permissions to use then web * wswriter/wswriter. This user has write permissions to use then web
services operations which require modify or insert data in NavalPlan. services operations which require modify or insert data in LibrePlan.
* wsreader/wsreader. This user has read permissions to the use web services * wsreader/wsreader. This user has read permissions to the use web services
operations which only require read permissions. operations which only require read permissions.
@ -309,7 +309,7 @@ Notes
If you are upgrading from any 1.0.x verion, you will need to manually execute on If you are upgrading from any 1.0.x verion, you will need to manually execute on
your database the SQL sentences from file: your database the SQL sentences from file:
``/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.1.0`` ``/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.1.0``
To get database access information review ``/etc/tomcat6/context.xml`` file. To get database access information review ``/etc/tomcat6/context.xml`` file.
@ -816,7 +816,7 @@ Changes
* [Bug #898] Add column criterion type (worker or machine) in criterion types * [Bug #898] Add column criterion type (worker or machine) in criterion types
list. list.
* [Bug #924] Call method useSchedulingDataFor for each order. * [Bug #924] Call method useSchedulingDataFor for each order.
* NavalPlan exercises for formation course in Spanish in reStructuredText. * LibrePlan exercises for formation course in Spanish in reStructuredText.
* [doc] Added more sections to use case development guide. * [doc] Added more sections to use case development guide.
* [Bug #884] Show progress measurements list in reverse order. * [Bug #884] Show progress measurements list in reverse order.
* [Bug #884] Sort progress measurements list in reverse order. * [Bug #884] Sort progress measurements list in reverse order.
@ -837,7 +837,7 @@ Changes
* [i18n] Updated translations. * [i18n] Updated translations.
* [Bug #910] Change string 'Type resource assignation' to 'Resource allocation * [Bug #910] Change string 'Type resource assignation' to 'Resource allocation
type' type'
* NavalPlan formation manual in spanish in reStructuredText. * LibrePlan formation manual in spanish in reStructuredText.
* [doc] Added information about interface in use case development guide. * [doc] Added information about interface in use case development guide.
* [Bug #892] Rename labels in 'Overall progress' * [Bug #892] Rename labels in 'Overall progress'
* [doc] Use case development guide. * [doc] Use case development guide.
@ -883,7 +883,7 @@ Changes
hoursWorkedPerWorkerReport.jrxml. hoursWorkedPerWorkerReport.jrxml.
* Training material update * Training material update
* [doc] Added info about model and extract database data to report guide. * [doc] Added info about model and extract database data to report guide.
* [doc] First version of basic tutorial to create a new report on NavalPlan. * [doc] First version of basic tutorial to create a new report on LibrePlan.
* Added comment in main pom.xml to mark the point where bundle folders for * Added comment in main pom.xml to mark the point where bundle folders for
reports are specified. reports are specified.
* Give more priority to the resources already picked * Give more priority to the resources already picked
@ -922,7 +922,7 @@ Changes
* Apply validation annotation to the field * Apply validation annotation to the field
* [Bug #871] The problem is due to receiving an empty list of tasks * [Bug #871] The problem is due to receiving an empty list of tasks
* [Bug #865] Fix bug * [Bug #865] Fix bug
* [Bug #870] NavalPlan appears in English if browser is configured with es-es * [Bug #870] LibrePlan appears in English if browser is configured with es-es
* Fix bug create or edit resource should start on first tab * Fix bug create or edit resource should start on first tab
* [Bug #864] S-curve changes the end date of a task * [Bug #864] S-curve changes the end date of a task
* [Bug #868] It does not update the row of the order element correctly * [Bug #868] It does not update the row of the order element correctly
@ -1064,7 +1064,7 @@ Changes
* Make canWork rely on Capacity data * Make canWork rely on Capacity data
* Use Capacity in BaseCalendar * Use Capacity in BaseCalendar
* Make consufing method private * Make consufing method private
* Updated NavalPlan license headers to 2011. * Updated LibrePlan license headers to 2011.
* Refactored components allocation_search and allocation_search_component * Refactored components allocation_search and allocation_search_component
* Added Resource.getCaptionFor() * Added Resource.getCaptionFor()
* Replaced method IResourceSearchModel.byLimiting(boolean) with .byResourceType * Replaced method IResourceSearchModel.byLimiting(boolean) with .byResourceType
@ -1217,7 +1217,7 @@ Changes
Version 1.0.5 (8 Apr 2011) Version 1.0.5 (8 Apr 2011)
-------------------------- --------------------------
Last bugfixing version of NavalPlan for 1.0.x cycle, like in previous releases Last bugfixing version of LibrePlan for 1.0.x cycle, like in previous releases
it includes all the fixes done in the stable branch since 1.0.4. Among them we it includes all the fixes done in the stable branch since 1.0.4. Among them we
would like to highlight: would like to highlight:
@ -1305,7 +1305,7 @@ Changes
Version 1.0.4 (17 Mar 2011) Version 1.0.4 (17 Mar 2011)
--------------------------- ---------------------------
A new bugfixing version of NavalPlan, including a lot of bugs fixed during this A new bugfixing version of LibrePlan, including a lot of bugs fixed during this
month. month.
* Resolved some stability problems appearing under certain circumstances. * Resolved some stability problems appearing under certain circumstances.
@ -1368,7 +1368,7 @@ Changes
* [Bug #898] Add column criterion type (worker or machine) in criterion types * [Bug #898] Add column criterion type (worker or machine) in criterion types
list. list.
* [Bug #924] Call method useSchedulingDataFor for each order. * [Bug #924] Call method useSchedulingDataFor for each order.
* NavalPlan exercises for formation course in Spanish in reStructuredText. * LibrePlan exercises for formation course in Spanish in reStructuredText.
* [Bug #884] Show progress measurements list in reverse order. * [Bug #884] Show progress measurements list in reverse order.
* [Bug #884] Sort progress measurements list in reverse order. * [Bug #884] Sort progress measurements list in reverse order.
* [Bug #854] fix the labels in workingProgressPerTask report * [Bug #854] fix the labels in workingProgressPerTask report
@ -1388,7 +1388,7 @@ Changes
* [i18n] Updated translations. * [i18n] Updated translations.
* [Bug #910] Change string 'Type resource assignation' to 'Resource allocation * [Bug #910] Change string 'Type resource assignation' to 'Resource allocation
type' type'
* NavalPlan formation manual in spanish in reStructuredText. * LibrePlan formation manual in spanish in reStructuredText.
* [Bug #892] Rename labels in 'Overall progress' * [Bug #892] Rename labels in 'Overall progress'
* [Bug #903] Fix regression: creating a gap out of a LocalDate caused tasks may * [Bug #903] Fix regression: creating a gap out of a LocalDate caused tasks may
overlap due to loose of information about hour overlap due to loose of information about hour
@ -1444,7 +1444,7 @@ Changes
* [Bug #855] Fix bug * [Bug #855] Fix bug
* Apply validation annotation to the field * Apply validation annotation to the field
* [Bug #871] The problem is due to receiving an empty list of tasks * [Bug #871] The problem is due to receiving an empty list of tasks
* [Bug #870] NavalPlan appears in English if browser is configured with es-es * [Bug #870] LibrePlan appears in English if browser is configured with es-es
* Fix bug create or edit resource should start on first tab * Fix bug create or edit resource should start on first tab
* [Bug #864] S-curve changes the end date of a task * [Bug #864] S-curve changes the end date of a task
* [Bug #868] It does not update the row of the order element correctly * [Bug #868] It does not update the row of the order element correctly
@ -1568,7 +1568,7 @@ Notes
If you are upgrading from any 1.0.x verion, you will need to manually execute on If you are upgrading from any 1.0.x verion, you will need to manually execute on
your database the SQL sentences from file: your database the SQL sentences from file:
``/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.0.0`` ``/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.0.0``
To get database access information review ``/etc/tomcat6/context.xml`` file. To get database access information review ``/etc/tomcat6/context.xml`` file.
@ -1638,7 +1638,7 @@ Changes
Version 1.0.0 (07 Jan 2011) Version 1.0.0 (07 Jan 2011)
--------------------------- ---------------------------
This is the first stable release of *NavalPlan*, a free software web This is the first stable release of *LibrePlan*, a free software web
application for project management. application for project management.
Main features Main features
@ -1653,7 +1653,7 @@ Main features
* Overload resource allocation control. * Overload resource allocation control.
* Earned Value Management (EVM). * Earned Value Management (EVM).
* Cost analysis based on work reports. * Cost analysis based on work reports.
* Integration with other *NavalPlan* instances and third-parties. * Integration with other *LibrePlan* instances and third-parties.
* Other functionalities: materials, quality forms, project templates, planning * Other functionalities: materials, quality forms, project templates, planning
scenarios, multiple task progress measurement ... scenarios, multiple task progress measurement ...

26
README
View file

@ -1,18 +1,18 @@
NavalPlan LibrePlan
========= =========
Description Description
----------- -----------
*NavalPlan* is a free software web application for project management. *LibrePlan* is a free software web application for project management.
*NavalPlan* is a planning tool for users based on some concepts: company and *LibrePlan* is a planning tool for users based on some concepts: company and
multi-project overview, criteria assignments, tasks tagging, resources multi-project overview, criteria assignments, tasks tagging, resources
management, resource allocation (specific and generic), company load control, management, resource allocation (specific and generic), company load control,
external integration, etc. external integration, etc.
Although its name is clearly related to shipbuilding, *Navalplan* is a fully Although its name is clearly related to shipbuilding, *LibrePlan* is a fully
useful planning tool for any type of company whose workflow requires project and useful planning tool for any type of company whose workflow requires project and
order administration and scheduling. order administration and scheduling.
@ -28,7 +28,7 @@ Features
* Overload resource allocation control. * Overload resource allocation control.
* Earned Value Management [3]_. * Earned Value Management [3]_.
* Cost analysis based on work reports. * Cost analysis based on work reports.
* Integration with other *NavalPlan* instances and third-parties. * Integration with other *LibrePlan* instances and third-parties.
* Other functionalities: Materials, quality forms, project templates, planning * Other functionalities: Materials, quality forms, project templates, planning
scenarios, multiple task progress measurement ... scenarios, multiple task progress measurement ...
@ -74,32 +74,32 @@ Availability
------------ ------------
The cutting-edge version of this project is always available from the Git The cutting-edge version of this project is always available from the Git
repository at http://navalplan.git.sourceforge.net/. repository at http://libreplan.git.sourceforge.net/.
Released versions are available at Released versions are available at
http://sourceforge.net/projects/navalplan/files. http://sourceforge.net/projects/libreplan/files.
Webpage Webpage
------- -------
You can find more information about *NavalPlan* at You can find more information about *LibrePlan* at
http://www.navalplan.org/en/. http://www.libreplan.org/en/.
For information related with *NavalPlan* development you can visit the wiki at For information related with *LibrePlan* development you can visit the wiki at
http://wiki.navalplan.org/. http://wiki.libreplan.org/.
Reporting bugs Reporting bugs
-------------- --------------
Please use the bug tracker to report bugs at http://bugs.navalplan.org/. Please use the bug tracker to report bugs at http://bugs.libreplan.org/.
License License
------- -------
*NavalPlan* is released under the terms of the GNU Affero General Public *LibrePlan* is released under the terms of the GNU Affero General Public
License version 3 [4]_. License version 3 [4]_.
Please read the ``COPYING`` file for details. Please read the ``COPYING`` file for details.

40
UPDATE
View file

@ -1,13 +1,13 @@
Update Update
====== ======
This is a guide about how to upgrade *NavalPlan* when a new version is released. This is a guide about how to upgrade *LibrePlan* when a new version is released.
If you want to know how to install the application ``INSTALL`` file. If you want to know how to install the application ``INSTALL`` file.
.. contents:: .. contents::
NavalPlan automatic update LibrePlan automatic update
-------------------------- --------------------------
Ubuntu PPAs Ubuntu PPAs
@ -16,7 +16,7 @@ Ubuntu PPAs
Instructions:: Instructions::
$ sudo apt-get update $ sudo apt-get update
$ sudo apt-get install navalplan $ sudo apt-get install libreplan
Debian packages Debian packages
@ -26,18 +26,18 @@ Instructions:
* Download the new package:: * Download the new package::
$ wget http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1-1_amd64.deb $ wget http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1-1_amd64.deb
* Install package:: * Install package::
# dpkg -i navalplan_1.1.1-1_amd64.deb # dpkg -i libreplan_1.1.1-1_amd64.deb
* Install new dependencies if needed:: * Install new dependencies if needed::
# apt-get install -f # apt-get install -f
NavalPlan manual update LibrePlan manual update
----------------------- -----------------------
Debian/Ubuntu Debian/Ubuntu
@ -48,32 +48,32 @@ Debian/Ubuntu
# /etc/init.d/tomcat6 stop # /etc/init.d/tomcat6 stop
* Download database upgrade scripts from previous version. For example, if you * Download database upgrade scripts from previous version. For example, if you
are upgrading from *NavalPlan 1.0.4* to *NavalPlan 1.1.1* you should download are upgrading from *LibrePlan 1.0.4* to *LibrePlan 1.1.1* you should download
``upgrade_1.1.0.sql``:: ``upgrade_1.1.0.sql``::
$ wget http://downloads.sourceforge.net/project/navalplan/NavalPlan/upgrade_1.1.0.sql $ wget http://downloads.sourceforge.net/project/libreplan/LibrePlan/upgrade_1.1.0.sql
* Upgrade database:: * Upgrade database::
$ psql -h localhost -U navalplan -W navalplan < upgrade_1.1.0.sql $ psql -h localhost -U libreplan -W libreplan < upgrade_1.1.0.sql
* Download ``.war`` file of new version from SourceForge.net:: * Download ``.war`` file of new version from SourceForge.net::
$ wget -O navalplan.war http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1.war $ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1.war
* Backup current deployed application:: * Backup current deployed application::
# mv /var/lib/tomcat6/webapps/navalplan/ /tmp/ # mv /var/lib/tomcat6/webapps/libreplan/ /tmp/
* Copy war to Tomcat 6 web applications directory:: * Copy war to Tomcat 6 web applications directory::
# cp navalplan.war /var/lib/tomcat6/webapps/ # cp libreplan.war /var/lib/tomcat6/webapps/
* Start Tomcat 6:: * Start Tomcat 6::
# /etc/init.d/tomcat6 start # /etc/init.d/tomcat6 start
* Go to http://localhost:8080/navalplan/ * Go to http://localhost:8080/libreplan/
openSUSE openSUSE
@ -84,29 +84,29 @@ openSUSE
# /etc/init.d/tomcat6 stop # /etc/init.d/tomcat6 stop
* Download database upgrade scripts from previous version. For example, if you * Download database upgrade scripts from previous version. For example, if you
are upgrading from *NavalPlan 1.0.4* to *NavalPlan 1.1.1* you should download are upgrading from *LibrePlan 1.0.4* to *LibrePlan 1.1.1* you should download
``upgrade_1.1.0.sql``:: ``upgrade_1.1.0.sql``::
$ wget http://downloads.sourceforge.net/project/navalplan/NavalPlan/upgrade_1.1.0.sql $ wget http://downloads.sourceforge.net/project/libreplan/LibrePlan/upgrade_1.1.0.sql
* Upgrade database:: * Upgrade database::
$ psql -h localhost -U navalplan -W navalplan < upgrade_1.1.0.sql $ psql -h localhost -U libreplan -W libreplan < upgrade_1.1.0.sql
* Download ``.war`` file of new version from SourceForge.net:: * Download ``.war`` file of new version from SourceForge.net::
$ wget -O navalplan.war http://downloads.sourceforge.net/project/navalplan/NavalPlan/navalplan_1.1.1.war $ wget -O libreplan.war http://downloads.sourceforge.net/project/libreplan/LibrePlan/libreplan_1.1.1.war
* Backup current deployed application:: * Backup current deployed application::
# mv /srv/tomcat6/webapps/navalplan/ /tmp/ # mv /srv/tomcat6/webapps/libreplan/ /tmp/
* Copy war to Tomcat 6 web applications directory:: * Copy war to Tomcat 6 web applications directory::
# cp navalplan.war /srv/tomcat6/webapps/ # cp libreplan.war /srv/tomcat6/webapps/
* Start Tomcat 6:: * Start Tomcat 6::
# /etc/init.d/tomcat6 start # /etc/init.d/tomcat6 start
* Go to http://localhost:8080/navalplan/ * Go to http://localhost:8080/libreplan/

View file

@ -6,7 +6,7 @@ cutycapt (20110107-2) lenny lucid maverick; urgency=low
cutycapt (20110107-1) lenny squeeze intrepid karmic lucid maverick; urgency=low cutycapt (20110107-1) lenny squeeze intrepid karmic lucid maverick; urgency=low
* Updated to NavalPlan package naming. * Updated to LibrePlan package naming.
-- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 07 Jan 2011 10:35:17 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 07 Jan 2011 10:35:17 +0100

6
debian/51libreplan.policy vendored Normal file
View file

@ -0,0 +1,6 @@
grant codeBase "file:/var/lib/tomcat6/webapps/libreplan/-" {
permission java.security.AllPermission;
};
grant codeBase "file:/var/lib/tomcat6/webapps/libreplan.war" {
permission java.security.AllPermission;
};

View file

@ -1,6 +0,0 @@
grant codeBase "file:/var/lib/tomcat6/webapps/navalplan/-" {
permission java.security.AllPermission;
};
grant codeBase "file:/var/lib/tomcat6/webapps/navalplan.war" {
permission java.security.AllPermission;
};

38
debian/changelog vendored
View file

@ -1,4 +1,4 @@
navalplan (1.1.3-1) maverick; urgency=low libreplan (1.1.3-1) maverick; urgency=low
* Fixed important issue in Gantt view for big projects with labels. * Fixed important issue in Gantt view for big projects with labels.
* Added bugs fixed from stable branch. * Added bugs fixed from stable branch.
@ -6,7 +6,7 @@ navalplan (1.1.3-1) maverick; urgency=low
-- Manuel Rego Casasnovas <rego@igalia.com> Fri, 12 Aug 2011 13:08:00 +0200 -- Manuel Rego Casasnovas <rego@igalia.com> Fri, 12 Aug 2011 13:08:00 +0200
navalplan (1.1.2-1) maverick; urgency=low libreplan (1.1.2-1) maverick; urgency=low
* Fixed critical bug that causes concurrency issues editing projects with * Fixed critical bug that causes concurrency issues editing projects with
labels. labels.
@ -15,7 +15,7 @@ navalplan (1.1.2-1) maverick; urgency=low
-- Manuel Rego Casasnovas <rego@igalia.com> Wed, 18 Jul 2011 13:23:00 +0200 -- Manuel Rego Casasnovas <rego@igalia.com> Wed, 18 Jul 2011 13:23:00 +0200
navalplan (1.1.1-1) maverick; urgency=low libreplan (1.1.1-1) maverick; urgency=low
* Changed dependency from OpenJDK to default-jdk or default-jre. * Changed dependency from OpenJDK to default-jdk or default-jre.
* Added bugs fixed from stable branch. * Added bugs fixed from stable branch.
@ -23,7 +23,7 @@ navalplan (1.1.1-1) maverick; urgency=low
-- Manuel Rego Casasnovas <rego@igalia.com> Wed, 07 Jun 2011 09:15:00 +0200 -- Manuel Rego Casasnovas <rego@igalia.com> Wed, 07 Jun 2011 09:15:00 +0200
navalplan (1.1.0-1) maverick; urgency=low libreplan (1.1.0-1) maverick; urgency=low
* Removed unnecessary dependency with texlive-latex-recommended and pgf * Removed unnecessary dependency with texlive-latex-recommended and pgf
packages. packages.
@ -33,35 +33,35 @@ navalplan (1.1.0-1) maverick; urgency=low
-- Manuel Rego Casasnovas <mrego@igalia.com> Wed, 19 Apr 2011 07:50:00 +0200 -- Manuel Rego Casasnovas <mrego@igalia.com> Wed, 19 Apr 2011 07:50:00 +0200
navalplan (1.0.6-1) maverick; urgency=low libreplan (1.0.6-1) maverick; urgency=low
* Several important bugs fixed during 1.1 stabilization. * Several important bugs fixed during 1.1 stabilization.
* Released version 1.0.6. * Released version 1.0.6.
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 27 Apr 2011 11:49:00 +0200 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 27 Apr 2011 11:49:00 +0200
navalplan (1.0.5-1) maverick; urgency=low libreplan (1.0.5-1) maverick; urgency=low
* Added bugs fixed from stable branch. * Added bugs fixed from stable branch.
* Released version 1.0.5. * Released version 1.0.5.
-- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 08 Apr 2011 11:20:46 +0200 -- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 08 Apr 2011 11:20:46 +0200
navalplan (1.0.4-1) maverick; urgency=low libreplan (1.0.4-1) maverick; urgency=low
* Added bugs fixed from stable branch. * Added bugs fixed from stable branch.
* Released version 1.0.4. * Released version 1.0.4.
-- Manuel Rego Casasnovas <mrego@igalia.com> Thu, 17 Mar 2011 12:27:47 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Thu, 17 Mar 2011 12:27:47 +0100
navalplan (1.0.3-1) maverick; urgency=low libreplan (1.0.3-1) maverick; urgency=low
* Added bugs fixed from stable branch. * Added bugs fixed from stable branch.
* Released version 1.0.3. * Released version 1.0.3.
-- Manuel Rego Casasnovas <mrego@igalia.com> Mon, 14 Feb 2011 07:23:58 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Mon, 14 Feb 2011 07:23:58 +0100
navalplan (1.0.2-1) maverick; urgency=low libreplan (1.0.2-1) maverick; urgency=low
* Fixed database installation script. * Fixed database installation script.
* Added bugfixed from stable branch. * Added bugfixed from stable branch.
@ -69,7 +69,7 @@ navalplan (1.0.2-1) maverick; urgency=low
-- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 21 Jan 2011 12:07:33 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Fri, 21 Jan 2011 12:07:33 +0100
navalplan (1.0.1-1) maverick; urgency=low libreplan (1.0.1-1) maverick; urgency=low
* Added dependency with ttf-freefont on Debian package (needed for Jasper * Added dependency with ttf-freefont on Debian package (needed for Jasper
reports). reports).
@ -78,7 +78,7 @@ navalplan (1.0.1-1) maverick; urgency=low
-- Manuel Rego Casasnovas <mrego@erizana> Fri, 14 Jan 2011 09:58:33 +0100 -- Manuel Rego Casasnovas <mrego@erizana> Fri, 14 Jan 2011 09:58:33 +0100
navalplan (1.0.0-1) maverick; urgency=low libreplan (1.0.0-1) maverick; urgency=low
* Updated to upstream. Released version 1.0. * Updated to upstream. Released version 1.0.
* Added upgrade script needed to upgrade to version 1.0. * Added upgrade script needed to upgrade to version 1.0.
@ -86,33 +86,33 @@ navalplan (1.0.0-1) maverick; urgency=low
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 07 Jan 2011 16:45:00 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 07 Jan 2011 16:45:00 +0100
navalplan (0.9.2-3) maverick; urgency=low libreplan (0.9.2-3) maverick; urgency=low
* Added missing postgresql dependency. * Added missing postgresql dependency.
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 07 Jan 2011 10:00:00 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 07 Jan 2011 10:00:00 +0100
navalplan (0.9.2-2) maverick; urgency=low libreplan (0.9.2-2) maverick; urgency=low
* Added postgresql-client dependency needed because of dbconfig. * Added postgresql-client dependency needed because of dbconfig.
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 05 Jan 2011 16:12:00 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 05 Jan 2011 16:12:00 +0100
navalplan (0.9.2-1) maverick; urgency=low libreplan (0.9.2-1) maverick; urgency=low
* Updated to upstream. * Updated to upstream.
* Fixed issues on debian package. * Fixed issues on debian package.
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 04 Jan 2011 15:58:19 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 04 Jan 2011 15:58:19 +0100
navalplan (0.9.1) maverick; urgency=low libreplan (0.9.1) maverick; urgency=low
* Updated to upstream. * Updated to upstream.
* Fixed problems with translations. * Fixed problems with translations.
-- Manuel Rego Casasnovas <mrego@igalia.com> Thu, 23 Dec 2010 00:14:54 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Thu, 23 Dec 2010 00:14:54 +0100
navalplan (0.9.0) maverick; urgency=low libreplan (0.9.0) maverick; urgency=low
* Updated to upstream. * Updated to upstream.
* Fixed issues with context.xml file. * Fixed issues with context.xml file.
@ -121,19 +121,19 @@ navalplan (0.9.0) maverick; urgency=low
-- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 21 Dec 2010 17:31:08 +0100 -- Manuel Rego Casasnovas <mrego@igalia.com> Tue, 21 Dec 2010 17:31:08 +0100
navalplan (20100908) lucid; urgency=low libreplan (20100908) lucid; urgency=low
* Updated to upstream. * Updated to upstream.
-- Jose Maria Casanova Crespo (Chema) <jmcasanova@igalia.com> Wed, 8 Sep 2010 00:00:00 +0000 -- Jose Maria Casanova Crespo (Chema) <jmcasanova@igalia.com> Wed, 8 Sep 2010 00:00:00 +0000
navalplan (20100415) karmic; urgency=low libreplan (20100415) karmic; urgency=low
* Updated to upstream. * Updated to upstream.
-- Jose Maria Casanova Crespo (Chema) <jmcasanova@igalia.com> Thu, 15 Mar 2010 14:30:00 +0000 -- Jose Maria Casanova Crespo (Chema) <jmcasanova@igalia.com> Thu, 15 Mar 2010 14:30:00 +0000
navalplan (20100324) karmic; urgency=low libreplan (20100324) karmic; urgency=low
* Initial release. * Initial release.

10
debian/control vendored
View file

@ -1,23 +1,23 @@
Source: navalplan Source: libreplan
Section: web Section: web
Priority: optional Priority: optional
Maintainer: Adrian Perez <aperez@igalia.com> Maintainer: Adrian Perez <aperez@igalia.com>
Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils, Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils,
gettext (>= 0.17), default-jdk gettext (>= 0.17), default-jdk
Standards-Version: 3.8.4 Standards-Version: 3.8.4
Homepage: http://www.navalplan.org/en/ Homepage: http://www.libreplan.org/en/
Package: navalplan Package: libreplan
Architecture: any Architecture: any
Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf, Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf,
tomcat6, default-jre-headless | default-jre, libpg-java, ttf-freefont, tomcat6, default-jre-headless | default-jre, libpg-java, ttf-freefont,
${misc:Depends} ${misc:Depends}
Description: Web application for project management. Description: Web application for project management.
NavalPlan is a planning tool for users based on some concepts: company and LibrePlan is a planning tool for users based on some concepts: company and
multi-project overview, criteria assignments, tasks tagging, resources multi-project overview, criteria assignments, tasks tagging, resources
management, resource allocation (specific and generic), company load control, management, resource allocation (specific and generic), company load control,
external integration, etc. external integration, etc.
. .
Although its name is clearly related to shipbuilding, NavalPlan is a fully Although its name is clearly related to shipbuilding, LibrePlan is a fully
useful planning tool for any type of company whose workflow requires project useful planning tool for any type of company whose workflow requires project
and order administration and scheduling. and order administration and scheduling.

10
debian/control.lucid vendored
View file

@ -1,23 +1,23 @@
Source: navalplan Source: libreplan
Section: web Section: web
Priority: optional Priority: optional
Maintainer: Adrian Perez <aperez@igalia.com> Maintainer: Adrian Perez <aperez@igalia.com>
Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils, Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils,
gettext (>= 0.17), texlive-latex-recommended, pgf, openjdk-6-jdk gettext (>= 0.17), texlive-latex-recommended, pgf, openjdk-6-jdk
Standards-Version: 3.8.4 Standards-Version: 3.8.4
Homepage: http://www.navalplan.org/en/ Homepage: http://www.libreplan.org/en/
Package: navalplan Package: libreplan
Architecture: any Architecture: any
Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf, Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf,
tomcat6, openjdk-6-jre-headless | openjdk-6-jre, libpg-java, ttf-freefont, tomcat6, openjdk-6-jre-headless | openjdk-6-jre, libpg-java, ttf-freefont,
${misc:Depends} ${misc:Depends}
Description: Web application for project management. Description: Web application for project management.
NavalPlan is a planning tool for users based on some concepts: company and LibrePlan is a planning tool for users based on some concepts: company and
multi-project overview, criteria assignments, tasks tagging, resources multi-project overview, criteria assignments, tasks tagging, resources
management, resource allocation (specific and generic), company load control, management, resource allocation (specific and generic), company load control,
external integration, etc. external integration, etc.
. .
Although its name is clearly related to shipbuilding, NavalPlan is a fully Although its name is clearly related to shipbuilding, LibrePlan is a fully
useful planning tool for any type of company whose workflow requires project useful planning tool for any type of company whose workflow requires project
and order administration and scheduling. and order administration and scheduling.

View file

@ -1,23 +1,23 @@
Source: navalplan Source: libreplan
Section: web Section: web
Priority: optional Priority: optional
Maintainer: Adrian Perez <aperez@igalia.com> Maintainer: Adrian Perez <aperez@igalia.com>
Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils, Build-Depends: debhelper (>= 7.0.50), maven2, python-docutils,
gettext (>= 0.17), texlive-latex-recommended, pgf, openjdk-6-jdk gettext (>= 0.17), texlive-latex-recommended, pgf, openjdk-6-jdk
Standards-Version: 3.8.4 Standards-Version: 3.8.4
Homepage: http://www.navalplan.org/en/ Homepage: http://www.libreplan.org/en/
Package: navalplan Package: libreplan
Architecture: any Architecture: any
Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf, Depends: cutycapt, postgresql, postgresql-client, xvfb, dbconfig-common, ucf,
tomcat6, openjdk-6-jre-headless | openjdk-6-jre, libpg-java, ttf-freefont, tomcat6, openjdk-6-jre-headless | openjdk-6-jre, libpg-java, ttf-freefont,
${misc:Depends} ${misc:Depends}
Description: Web application for project management. Description: Web application for project management.
NavalPlan is a planning tool for users based on some concepts: company and LibrePlan is a planning tool for users based on some concepts: company and
multi-project overview, criteria assignments, tasks tagging, resources multi-project overview, criteria assignments, tasks tagging, resources
management, resource allocation (specific and generic), company load control, management, resource allocation (specific and generic), company load control,
external integration, etc. external integration, etc.
. .
Although its name is clearly related to shipbuilding, NavalPlan is a fully Although its name is clearly related to shipbuilding, LibrePlan is a fully
useful planning tool for any type of company whose workflow requires project useful planning tool for any type of company whose workflow requires project
and order administration and scheduling. and order administration and scheduling.

4
debian/copyright vendored
View file

@ -2,7 +2,7 @@ This package was debianized by Adrian Perez
<aperez@igalia.com> on Wed, 24 Mar 2010 16:35:00 +0000. <aperez@igalia.com> on Wed, 24 Mar 2010 16:35:00 +0000.
It was downloaded from https://sourceforge.net/projects/navalplan/ It was downloaded from https://sourceforge.net/projects/libreplan/
Upstream Author: See AUTHORS file for details. Upstream Author: See AUTHORS file for details.
@ -13,7 +13,7 @@ Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
Copyright (C) 2010-2011 Igalia, S.L. Copyright (C) 2010-2011 Igalia, S.L.
NavalPlan is licensed under the GNU Affero General Public License v3: LibrePlan is licensed under the GNU Affero General Public License v3:
This program is free software: you can redistribute it and/or modify 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 it under the terms of the GNU Affero General Public License as published by

View file

@ -5,5 +5,5 @@ set -e
if [ -r /usr/share/dbconfig-common/dpkg/config.pgsql ] ; then if [ -r /usr/share/dbconfig-common/dpkg/config.pgsql ] ; then
. /usr/share/dbconfig-common/dpkg/config.pgsql . /usr/share/dbconfig-common/dpkg/config.pgsql
dbc_go navalplan $@ dbc_go libreplan $@
fi fi

6
debian/libreplan.install vendored Normal file
View file

@ -0,0 +1,6 @@
debian/tmp/var/lib/tomcat6/webapps/libreplan.war
debian/tmp/etc/tomcat6/policy.d/51libreplan.policy
debian/tmp/usr/share/dbconfig-common/data/libreplan/install/pgsql
debian/tmp/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.0.0
debian/tmp/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.1.0
debian/tmp/usr/share/tomcat6/lib/postgresql-jdbc3.jar

View file

@ -4,12 +4,12 @@ set -e
. /usr/share/debconf/confmodule . /usr/share/debconf/confmodule
. /usr/share/dbconfig-common/dpkg/postinst.pgsql . /usr/share/dbconfig-common/dpkg/postinst.pgsql
dbc_go navalplan $@ dbc_go libreplan $@
if [[ $1 = configure && -r /etc/dbconfig-common/navalplan.conf ]] if [[ $1 = configure && -r /etc/dbconfig-common/libreplan.conf ]]
then then
. /etc/dbconfig-common/navalplan.conf . /etc/dbconfig-common/libreplan.conf
if [ -z "${dbc_dbhost}" ] ; then if [ -z "${dbc_dbhost}" ] ; then
database_host='localhost' database_host='localhost'
@ -17,11 +17,11 @@ then
database_host=${dbc_dbhost} database_host=${dbc_dbhost}
fi fi
echo "Adding navalplan Tomcat configuration bits" echo "Adding libreplan Tomcat configuration bits"
# Remove first (just in case!) # Remove first (just in case!)
sed -i -e '/begin:navalplan/,/end:navalplan/d' /etc/tomcat6/policy.d/03catalina.policy sed -i -e '/begin:libreplan/,/end:libreplan/d' /etc/tomcat6/policy.d/03catalina.policy
sed -i -e '/begin:navalplan/,/end:navalplan/d' /etc/tomcat6/context.xml sed -i -e '/begin:libreplan/,/end:libreplan/d' /etc/tomcat6/context.xml
# Modify /etc/tomcat6/context.xml # Modify /etc/tomcat6/context.xml
# #
@ -31,14 +31,14 @@ then
while read -r line ; do while read -r line ; do
if [[ ${line} = *\</Context\>* ]] ; then if [[ ${line} = *\</Context\>* ]] ; then
cat <<-EOF cat <<-EOF
<!-- begin:navalplan --> <!-- begin:libreplan -->
<Resource name="jdbc/navalplan-ds" auth="Container" <Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" maxActive="100" maxIdle="30" maxWait="10000"
username="${dbc_dbuser}" password="${dbc_dbpass}" username="${dbc_dbuser}" password="${dbc_dbpass}"
driverClassName="org.postgresql.Driver" driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://${database_host}/${dbc_dbname}"/> url="jdbc:postgresql://${database_host}/${dbc_dbname}"/>
<!-- end:navalplan --> <!-- end:libreplan -->
EOF EOF
fi fi
echo "${line}" echo "${line}"
@ -55,9 +55,9 @@ then
while read -r line ; do while read -r line ; do
echo "${line}" echo "${line}"
if [[ ${line} = *tomcat-juli.jar* ]] ; then if [[ ${line} = *tomcat-juli.jar* ]] ; then
echo ' // begin:navalplan' echo ' // begin:libreplan'
echo ' permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}navalplanner-webapp${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";' echo ' permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}libreplan-webapp${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";'
echo ' // end:navalplan' echo ' // end:libreplan'
fi fi
done < /etc/tomcat6/policy.d/03catalina.policy \ done < /etc/tomcat6/policy.d/03catalina.policy \
> /etc/tomcat6/policy.d/03catalina.policy.new > /etc/tomcat6/policy.d/03catalina.policy.new
@ -77,8 +77,8 @@ if [ -x /etc/init.d/tomcat6 ] ; then
fi fi
fi fi
if [ -d /var/lib/tomcat6/webapps/navalplan/ ] ; then if [ -d /var/lib/tomcat6/webapps/libreplan/ ] ; then
rm -rf /var/lib/tomcat6/webapps/navalplan/ rm -rf /var/lib/tomcat6/webapps/libreplan/
fi fi
if [ -x /etc/init.d/tomcat6 ] ; then if [ -x /etc/init.d/tomcat6 ] ; then

View file

@ -5,13 +5,13 @@ set -e
if [ -r /usr/share/dbconfig-common/dpkg/postinst.pgsql ] ; then if [ -r /usr/share/dbconfig-common/dpkg/postinst.pgsql ] ; then
. /usr/share/dbconfig-common/dpkg/postinst.pgsql . /usr/share/dbconfig-common/dpkg/postinst.pgsql
dbc_go navalplan $@ dbc_go libreplan $@
fi fi
if [[ $1 = purge ]] ; then if [[ $1 = purge ]] ; then
echo "Removing navalplan Tomcat configuration bits..." echo "Removing libreplan Tomcat configuration bits..."
sed -i -e '/begin:navalplan/,/end:navalplan/d' /etc/tomcat6/policy.d/03catalina.policy sed -i -e '/begin:libreplan/,/end:libreplan/d' /etc/tomcat6/policy.d/03catalina.policy
sed -i -e '/begin:navalplan/,/end:navalplan/d' /etc/tomcat6/context.xml sed -i -e '/begin:libreplan/,/end:libreplan/d' /etc/tomcat6/context.xml
fi fi
#if [ -x /etc/init.d/tomcat5.5 ] ; then #if [ -x /etc/init.d/tomcat5.5 ] ; then

View file

@ -5,7 +5,7 @@ set -e
if [ -r /usr/share/dbconfig-common/dpkg/postinst.pgsql ] ; then if [ -r /usr/share/dbconfig-common/dpkg/postinst.pgsql ] ; then
. /usr/share/dbconfig-common/dpkg/postinst.pgsql . /usr/share/dbconfig-common/dpkg/postinst.pgsql
dbc_go navalplan $@ dbc_go libreplan $@
fi fi
if [ -L /usr/share/tomcat6/lib/postgresql-jdbc3.jar ] ; then if [ -L /usr/share/tomcat6/lib/postgresql-jdbc3.jar ] ; then

View file

@ -1,6 +0,0 @@
debian/tmp/var/lib/tomcat6/webapps/navalplan.war
debian/tmp/etc/tomcat6/policy.d/51navalplan.policy
debian/tmp/usr/share/dbconfig-common/data/navalplan/install/pgsql
debian/tmp/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.0.0
debian/tmp/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.1.0
debian/tmp/usr/share/tomcat6/lib/postgresql-jdbc3.jar

18
debian/rules vendored
View file

@ -9,7 +9,7 @@ JAVA_HOME := /usr/lib/jvm/java-6-openjdk
MAVEN_REPO := $(CURDIR)/debian/maven-repo MAVEN_REPO := $(CURDIR)/debian/maven-repo
MAVEN_OPTS := -Pprod,postgresql,-liquibase-update \ MAVEN_OPTS := -Pprod,postgresql,-liquibase-update \
-DdataSource.jndiName=java:comp/env/jdbc/navalplan-ds \ -DdataSource.jndiName=java:comp/env/jdbc/libreplan-ds \
-Dmaven.test.skip=true -B \ -Dmaven.test.skip=true -B \
-s $(CURDIR)/debian/maven-settings.xml -s $(CURDIR)/debian/maven-settings.xml
@ -67,23 +67,23 @@ install:
$(call CMD,dh_clean -k) $(call CMD,dh_clean -k)
$(call CMD,dh_installdirs) $(call CMD,dh_installdirs)
# Copy SQL installation file # Copy SQL installation file
$(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/navalplan/install/) $(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/libreplan/install/)
$(call CMD,cp $(CURDIR)/scripts/database/install.sql \ $(call CMD,cp $(CURDIR)/scripts/database/install.sql \
$(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/navalplan/install/pgsql) $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/libreplan/install/pgsql)
# Commands to install arch-dependant stuff # Commands to install arch-dependant stuff
$(call CMD,mkdir -p $(CURDIR)/debian/tmp/var/lib/tomcat6/webapps/) $(call CMD,mkdir -p $(CURDIR)/debian/tmp/var/lib/tomcat6/webapps/)
$(call CMD,cp $(CURDIR)/navalplanner-webapp/target/navalplanner-webapp.war \ $(call CMD,cp $(CURDIR)/libreplan-webapp/target/libreplan-webapp.war \
$(CURDIR)/debian/tmp/var/lib/tomcat6/webapps/navalplan.war) $(CURDIR)/debian/tmp/var/lib/tomcat6/webapps/libreplan.war)
# Copy SQL upgrade script for version 1.0.0 # Copy SQL upgrade script for version 1.0.0
$(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/) $(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/)
$(call CMD,cp $(CURDIR)/scripts/database/upgrade_1.0.0.sql \ $(call CMD,cp $(CURDIR)/scripts/database/upgrade_1.0.0.sql \
$(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.0.0) $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.0.0)
# Copy SQL upgrade script for version 1.1.0 # Copy SQL upgrade script for version 1.1.0
$(call CMD,cp $(CURDIR)/scripts/database/upgrade_1.1.0.sql \ $(call CMD,cp $(CURDIR)/scripts/database/upgrade_1.1.0.sql \
$(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/navalplan/upgrade/pgsql/1.1.0) $(CURDIR)/debian/tmp/usr/share/dbconfig-common/data/libreplan/upgrade/pgsql/1.1.0)
# Install Policy file # Install Policy file
$(call CMD,mkdir -p $(CURDIR)/debian/tmp/etc/tomcat6/policy.d) $(call CMD,mkdir -p $(CURDIR)/debian/tmp/etc/tomcat6/policy.d)
$(call CMD,cp $(CURDIR)/debian/51navalplan.policy \ $(call CMD,cp $(CURDIR)/debian/51libreplan.policy \
$(CURDIR)/debian/tmp/etc/tomcat6/policy.d/) $(CURDIR)/debian/tmp/etc/tomcat6/policy.d/)
# Link Java PostgreSQL library # Link Java PostgreSQL library
$(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/tomcat6/lib) $(call CMD,mkdir -p $(CURDIR)/debian/tmp/usr/share/tomcat6/lib)

View file

@ -1,8 +1,8 @@
################################## ##################################
NavalPlan: Guía de desenvolvemento LibrePlan: Guía de desenvolvemento
################################## ##################################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
Esta é a guia de desenvolvemento da aplicación NavalPlan Esta é a guia de desenvolvemento da aplicación LibrePlan

View file

@ -5,12 +5,12 @@ Guía de Arquitectura
Arquitectura basada en capas Arquitectura basada en capas
============================ ============================
A aplicación Navalplan utiliza unha arquitectura de organización do código baseada en capas. Consiste en organizar o software nunha serie de divisións horizontais lóxicas. Estas divisións horizontais organízanse xerarquicamente de forman que descansa cada unha na capa que ten debaixo. Así ata a capa máis profunda. Nesta estruturación séguense os seguintes preceptos: A aplicación LibrePlan utiliza unha arquitectura de organización do código baseada en capas. Consiste en organizar o software nunha serie de divisións horizontais lóxicas. Estas divisións horizontais organízanse xerarquicamente de forman que descansa cada unha na capa que ten debaixo. Así ata a capa máis profunda. Nesta estruturación séguense os seguintes preceptos:
- Cada capa ten un conxunto de responsabilidades que corresponden a un determinado nivel de abstracción. - Cada capa ten un conxunto de responsabilidades que corresponden a un determinado nivel de abstracción.
- Unha capa ofrece servizos a capa de nivel superior. - Unha capa ofrece servizos a capa de nivel superior.
- Unha capa usa os servizos ofertados pola capa de nivel inferior. - Unha capa usa os servizos ofertados pola capa de nivel inferior.
As capas de que consta Navalplan son as seguintes: As capas de que consta LibrePlan son as seguintes:
- Capa de presentación - interfaz web. - Capa de presentación - interfaz web.
- Capa de interfaz servizos web. - Capa de interfaz servizos web.
- Capa de lóxica de negocio. - Capa de lóxica de negocio.
@ -34,7 +34,7 @@ No patrón MVC distínguense 3 partes estruturais.
operacións para actuar sobre eles. Na arquitectura está representado por clases que teñen xestionado o seu ciclo de vida a través operacións para actuar sobre eles. Na arquitectura está representado por clases que teñen xestionado o seu ciclo de vida a través
do contedor de inxeción de dependencias que se usa *Spring framework*. Son clases conversacionais que rexistran o estado de do contedor de inxeción de dependencias que se usa *Spring framework*. Son clases conversacionais que rexistran o estado de
interacción do usuario cunha determinada pantalla na que esté operando. interacción do usuario cunha determinada pantalla na que esté operando.
- **Controlador (Controller)**. O controlador é o compoñente software - materializado en Navalplan nunha clase de orientación a - **Controlador (Controller)**. O controlador é o compoñente software - materializado en LibrePlan nunha clase de orientación a
obxectos - que se encarga de atender as notificacións, peticións procedentes da vista e de solicitar ao modelo que realice as obxectos - que se encarga de atender as notificacións, peticións procedentes da vista e de solicitar ao modelo que realice as
operacións pertinentes acordes coas ordes que o usuario emite ao programa a través da interfaz. operacións pertinentes acordes coas ordes que o usuario emite ao programa a través da interfaz.
@ -44,8 +44,8 @@ Capa de interfaz de servizos web
-------------------------------- --------------------------------
A capa de servizos web é unha capa paralela a capa de interfaz web que ofrece servicios web REST para ofrecer funcionalidades de exportación/importación de datos dunha instalación da aplicación co exterior. Conténplanse dous tipos de comunicacións a través de servizos web: A capa de servizos web é unha capa paralela a capa de interfaz web que ofrece servicios web REST para ofrecer funcionalidades de exportación/importación de datos dunha instalación da aplicación co exterior. Conténplanse dous tipos de comunicacións a través de servizos web:
- **Integración con outras aplicacións**. Quedarían englobados aquí os ERP que desexen interactuar con Navalplan. - **Integración con outras aplicacións**. Quedarían englobados aquí os ERP que desexen interactuar con LibrePlan.
- **Integración con outras instalacións de Navalplan**. Dúas instalacións de Navalplan en sendas empresas permiten interactuar - **Integración con outras instalacións de LibrePlan**. Dúas instalacións de LibrePlan en sendas empresas permiten interactuar
para a subcontratación de pedidos e o reporte de avances dos mesmos. para a subcontratación de pedidos e o reporte de avances dos mesmos.
@ -84,7 +84,7 @@ Spring Framework
Spring Framework principalmente é un framework que proporciona un contedor de inxección de depedencias que permite a implementación do patrón de deseño IoC [2]_. Spring Framework principalmente é un framework que proporciona un contedor de inxección de depedencias que permite a implementación do patrón de deseño IoC [2]_.
Resumidamente este principio de deseño permite desacoplar, é dicir, facer independentes, unhas parte dun programa de outras. Facendo independentes unhas partes de outras propicia que a arquitectura do programa permita cousas como cambiar unha determinada implementación por outra e que as cousas sigan a funcionar. Por exemplo, Navalplan permite a sustitución do ORM que implementa agora mesmo a persistencia, Hibernate, por outro ORM ou outra solución de almacenamento como usar directamente JDBC. Resumidamente este principio de deseño permite desacoplar, é dicir, facer independentes, unhas parte dun programa de outras. Facendo independentes unhas partes de outras propicia que a arquitectura do programa permita cousas como cambiar unha determinada implementación por outra e que as cousas sigan a funcionar. Por exemplo, LibrePlan permite a sustitución do ORM que implementa agora mesmo a persistencia, Hibernate, por outro ORM ou outra solución de almacenamento como usar directamente JDBC.
A través do contedor de inxección de dependencias tamén se permite xestionar o ciclo de vida dos obxectos que se crean recorrendo ao contedor - *beans* de Spring -. Por exemplo, pódese configurar que un *bean* teña ámbito *Singleton* [3]_ ou ben que se devolva unha nova instancia da clase do *bean* cada vez que se solicita unha nova referencia ao contedor. A través do contedor de inxección de dependencias tamén se permite xestionar o ciclo de vida dos obxectos que se crean recorrendo ao contedor - *beans* de Spring -. Por exemplo, pódese configurar que un *bean* teña ámbito *Singleton* [3]_ ou ben que se devolva unha nova instancia da clase do *bean* cada vez que se solicita unha nova referencia ao contedor.
@ -195,9 +195,9 @@ Relación das capas cos paquetes e módulos do proxecto
Proxecto organizados en módulos: Definicion de modulo. Proxecto organizados en módulos: Definicion de modulo.
* Modulo navalplanner-business * Modulo libreplan-business
Concepto de servidor. Abarca as capas de loxica de negocio e persistencia. Concepto de servidor. Abarca as capas de loxica de negocio e persistencia.
* Modulo navalplanner-webapp. * Modulo libreplan-webapp.
Toda a interfaz e servicios conversacionais e servicios web. Toda a interfaz e servicios conversacionais e servicios web.
* Modulo ganttzk. * Modulo ganttzk.
Modulo para compoñentes ZK de Modulo para compoñentes ZK de

View file

@ -18,7 +18,7 @@ Para comezar a traballar o primerio que terá que facer o desenvolvedor e descar
:: ::
$ git clone git://navalplan.git.sourceforge.net/gitroot/navalplan/navalplan $ git clone git://libreplan.git.sourceforge.net/gitroot/libreplan/libreplan
Esto creará unha copia local de trabajo, para empezar a trabajar se recomienda la creación de una rama para cada caso de uso a desarrollar o nombre de la rama é recomendable que teña realación coa funcionalidade que implemente ou o número de bug que trata de solucionar, e logo nos movemos a traballar na rama cun checkout. Esto creará unha copia local de trabajo, para empezar a trabajar se recomienda la creación de una rama para cada caso de uso a desarrollar o nombre de la rama é recomendable que teña realación coa funcionalidade que implemente ou o número de bug que trata de solucionar, e logo nos movemos a traballar na rama cun checkout.
@ -152,7 +152,7 @@ A diferencia do resto dos usuarios debería descargar o repositorio da seguinte
:: ::
$ git clone ssh://user@navalplan.git.sourceforge.net/gitroot/navalplan/navalplan $ git clone ssh://user@libreplan.git.sourceforge.net/gitroot/libreplan/libreplan
Esta forma de acceso permite un acceso de escritura ao repositorio: Esta forma de acceso permite un acceso de escritura ao repositorio:

View file

@ -230,7 +230,7 @@ _`Figura 14`: WorkerModelImpl::confirm.
<set name="criterionSatisfactions" inverse="true" <set name="criterionSatisfactions" inverse="true"
cascade="all-delete-orphan"> cascade="all-delete-orphan">
<key column="resourceId" not-null="true"/> <key column="resourceId" not-null="true"/>
<one-to-many class="org.navalplanner...CriterionSatisfaction"/> <one-to-many class="org.libreplan...CriterionSatisfaction"/>
</set> </set>
... ...
</class> </class>

View file

@ -1,16 +1,16 @@
NavalPlan: Guía de integración LibrePlan: Guía de integración
############################## ##############################
A guía de integración de NavalPlan detalla as posibilidades existentes para a integración entre aplicacións co software NavalPlan. A guía de integración de LibrePlan detalla as posibilidades existentes para a integración entre aplicacións co software LibrePlan.
As funcionalidades de integración da ferramenta para a Xestión da Producción permitirán a compartición de datos entre as distintas ferramentas existentes en cada empresa. NavalPlan define unha serie de formatos de intercambio de información empregando a sintaxe XML. A descrición das interfaces e formatos de intercambio son totalmente abertos e está dispoñible a súa implementación para incorporar novas posibilidades de integración se fose necesario. As funcionalidades de integración da ferramenta para a Xestión da Producción permitirán a compartición de datos entre as distintas ferramentas existentes en cada empresa. LibrePlan define unha serie de formatos de intercambio de información empregando a sintaxe XML. A descrición das interfaces e formatos de intercambio son totalmente abertos e está dispoñible a súa implementación para incorporar novas posibilidades de integración se fose necesario.
Visión Global Visión Global
============= =============
NavalPlan é unha aplicación que ten coma núcleo de funcionalidades a xestión da planificación e control dunha empresa. NavalPlan traballa cun conxunto de datos enfocado a xestión de recursos para a realización de tarefas permitindo a súa planificación e control. Aínda que NavalPlan permite xestionar o proceso de forma autónoma é necesario provelo de mecanismos de intercambio que permitan a incorporación de información recollida por outras aplicacións xa existentes nas empresas usuarias de NavalPlan. LibrePlan é unha aplicación que ten coma núcleo de funcionalidades a xestión da planificación e control dunha empresa. LibrePlan traballa cun conxunto de datos enfocado a xestión de recursos para a realización de tarefas permitindo a súa planificación e control. Aínda que LibrePlan permite xestionar o proceso de forma autónoma é necesario provelo de mecanismos de intercambio que permitan a incorporación de información recollida por outras aplicacións xa existentes nas empresas usuarias de LibrePlan.
As empresas que teñen unha certa implantación de sistemas de xestión deberían permitir incorporar a información dos mesmos para facer máis rico e sinxelo o traballo co planificador. As entidades que teñen unha utilidade fóra do planificador son: As empresas que teñen unha certa implantación de sistemas de xestión deberían permitir incorporar a información dos mesmos para facer máis rico e sinxelo o traballo co planificador. As entidades que teñen unha utilidade fóra do planificador son:
@ -20,28 +20,28 @@ As empresas que teñen unha certa implantación de sistemas de xestión debería
Estes elementos son empregados directamente no planificador, xa que os pedidos organízanse en tarefas, que son asignadas a recursos e logo a súa execución é controlada a través dos partes de traballo e a súa vez faise un análise de custos. Estes elementos son empregados directamente no planificador, xa que os pedidos organízanse en tarefas, que son asignadas a recursos e logo a súa execución é controlada a través dos partes de traballo e a súa vez faise un análise de custos.
NavalPlan permite a integración en dous escenarios: LibrePlan permite a integración en dous escenarios:
* Integración con outras aplicacións: permitindo a incorporación de datos de programas desenvoltos por terceiros. Isto será posible empregando as Interfaces Públicas da Aplicación (API) dispoñibles. A API de NavalPlan permite a interacción coas seguintes entidades propias: recursos, pedidos e partes de traballo, aínda que incorporan outras entidades de interese coma materiais, etiquetas, criterios, categorías de custo e tipos de horas. * Integración con outras aplicacións: permitindo a incorporación de datos de programas desenvoltos por terceiros. Isto será posible empregando as Interfaces Públicas da Aplicación (API) dispoñibles. A API de LibrePlan permite a interacción coas seguintes entidades propias: recursos, pedidos e partes de traballo, aínda que incorporan outras entidades de interese coma materiais, etiquetas, criterios, categorías de custo e tipos de horas.
* Integración con outras instancias de NavalPlan: permitindo operacións que deixen compartir información entre distintas empresas centrándose no proceso de subcontratación e reporte de avances do subcontratista. * Integración con outras instancias de LibrePlan: permitindo operacións que deixen compartir información entre distintas empresas centrándose no proceso de subcontratación e reporte de avances do subcontratista.
Integración con outras aplicacións da propia empresa Integración con outras aplicacións da propia empresa
---------------------------------------------------- ----------------------------------------------------
NavalPlan permite a integración con outras aplicacións, NavalPlan poderá incorporar información procedente de outras aplicacións empregando un formato de intercambio común que será recibido por un servizo web que permitirá realizar actualizacións de datos ao longo do tempo. LibrePlan permite a integración con outras aplicacións, LibrePlan poderá incorporar información procedente de outras aplicacións empregando un formato de intercambio común que será recibido por un servizo web que permitirá realizar actualizacións de datos ao longo do tempo.
Esta integración deberá ser configurada mediante a habilitación dun usuario que terá permiso de acceso para cada un dos servizos que é de interese integrar, as aplicacións poderán chamar aos servizos empregando o nome de usuario e contrasinal e NavalPlan procesará a incorporación dos datos enviados. En caso de que ocorran erros na incorporación de datos na resposta da petición incorporarase a información dispoñible sobre o erro. Esta integración deberá ser configurada mediante a habilitación dun usuario que terá permiso de acceso para cada un dos servizos que é de interese integrar, as aplicacións poderán chamar aos servizos empregando o nome de usuario e contrasinal e LibrePlan procesará a incorporación dos datos enviados. En caso de que ocorran erros na incorporación de datos na resposta da petición incorporarase a información dispoñible sobre o erro.
A integración dentro da empresa permite unha integración forte con distintas aplicacións que poderán chamar en calquera momento aos servizos web para a actualización de datos. A integración dentro da empresa permite unha integración forte con distintas aplicacións que poderán chamar en calquera momento aos servizos web para a actualización de datos.
Integración entre aplicacións NavalPlan de distintas empresas Integración entre aplicacións LibrePlan de distintas empresas
------------------------------------------------------------- -------------------------------------------------------------
NavalPlan ten sido concibido coma un software que permita a realación con distintas empresas que empreguen a aplicación. O escenario principal de colaboración entre empresas é a contratación entre as mesmas, dentro do proceso de planificación é normal a situación que varias empresas colaboren nun mesmo proxecto sendo unha a contratista principal e outras subcontratistas desta. LibrePlan ten sido concibido coma un software que permita a realación con distintas empresas que empreguen a aplicación. O escenario principal de colaboración entre empresas é a contratación entre as mesmas, dentro do proceso de planificación é normal a situación que varias empresas colaboren nun mesmo proxecto sendo unha a contratista principal e outras subcontratistas desta.
NavalPlan ten desenvolto un sistema de intercambio de información que permite remitir a información das tarefas a subcontratar a outras empresas e recibir os reportes de avance dos proxectos subcontratados. LibrePlan ten desenvolto un sistema de intercambio de información que permite remitir a información das tarefas a subcontratar a outras empresas e recibir os reportes de avance dos proxectos subcontratados.
Esta integración a nivel aplicación precisa da existencia de usuarios cruzados entre as empresas subcontratante e subcontratista. Esta configuración permitirá que as aplicacións se poidan comunicar a información en tempo real. Esta integración a nivel aplicación precisa da existencia de usuarios cruzados entre as empresas subcontratante e subcontratista. Esta configuración permitirá que as aplicacións se poidan comunicar a información en tempo real.
@ -61,10 +61,10 @@ Un *servizo web* defínese como un mecanismo de comunicación que se establece e
As razóns que levaron á elección de servizos web como vehículo de comunicación para levar a cabo a integración son as seguintes: As razóns que levaron á elección de servizos web como vehículo de comunicación para levar a cabo a integración son as seguintes:
* Por unha banda, os servizos web utilizan o protocolo HTTP como transporte, que é o que usa a WWW. Debido a que practicamente en todas as redes de ordenadores está permitido o acceso á WWW, os firewalls das corporacións non filtran o porto no que se serve a web, e de forma transparente a integración de NavalPlan con outra instalación do programa en outra empresa ou con outras aplicacións dentro da compañía funcionaría. * Por unha banda, os servizos web utilizan o protocolo HTTP como transporte, que é o que usa a WWW. Debido a que practicamente en todas as redes de ordenadores está permitido o acceso á WWW, os firewalls das corporacións non filtran o porto no que se serve a web, e de forma transparente a integración de LibrePlan con outra instalación do programa en outra empresa ou con outras aplicacións dentro da compañía funcionaría.
* Permiten a definición de mensaxes estruturados en XML - non son protocolos binarios de comunicación - de forma que é sinxelo entender as mensaxes de intercambio se o XML se define de forma acorde ao *modelo de dominio*. * Permiten a definición de mensaxes estruturados en XML - non son protocolos binarios de comunicación - de forma que é sinxelo entender as mensaxes de intercambio se o XML se define de forma acorde ao *modelo de dominio*.
* É unha tecnoloxía amplamente probada. * É unha tecnoloxía amplamente probada.
* É independente da linguaxe de programación. Isto permite que aínda que NavalPlan está desenvolvido utilizando a plataforma Java póidanse realizar clientes en distintas tecnoloxías como .NET, C, C++ maximizando as capacidades de integración e facilitándoa. * É independente da linguaxe de programación. Isto permite que aínda que LibrePlan está desenvolvido utilizando a plataforma Java póidanse realizar clientes en distintas tecnoloxías como .NET, C, C++ maximizando as capacidades de integración e facilitándoa.
Dentro dos servizos web existen dous grandes subtipos: Os servizos web baseados en *SOAP* e os servizos web *REST*. Dentro dos servizos web existen dous grandes subtipos: Os servizos web baseados en *SOAP* e os servizos web *REST*.
@ -72,17 +72,17 @@ A grandes trazos os servizos web baseados en *SOAP* utilizan como corpo das mens
Os servizos web REST (REpresentational State Transfer) usan as operacións do protocolo HTTP (POST, PUT, DELETE e GET) para especificar parte das operacións e non poñen restricións acerca do corpo das mensaxes. Poden ser XML ou non e, se son XML, non teñen que cinguirse ao estándar *SOAP*. Os servizos web REST (REpresentational State Transfer) usan as operacións do protocolo HTTP (POST, PUT, DELETE e GET) para especificar parte das operacións e non poñen restricións acerca do corpo das mensaxes. Poden ser XML ou non e, se son XML, non teñen que cinguirse ao estándar *SOAP*.
En NavalPlan os servizos web nos que se baseará a integración serán servizos *REST*. As razóns da elección de servizos REST son as seguintes: En LibrePlan os servizos web nos que se baseará a integración serán servizos *REST*. As razóns da elección de servizos REST son as seguintes:
* Son máis sinxelos de implementar que os servizos *SOAP*. Isto facilita aos usuarios que queiran integrarse con NavalPlan o proceso, xa que o desenvolvemento e a depuración é máis sinxela. * Son máis sinxelos de implementar que os servizos *SOAP*. Isto facilita aos usuarios que queiran integrarse con LibrePlan o proceso, xa que o desenvolvemento e a depuración é máis sinxela.
* Unicamente son máis directos de implementar os servizos web *SOAP* se se utilizan ferramentas automáticas (que existen en linguaxes como Java ou .NET) que a partir da descrición dos servizos (WSDL) son capaces de xerar os clientes. Agora ben, esta vantaxe descartouse para a elección do tipo de servizos web a implementar porque se quere que, no caso de que non exista integración automática e os XML de intercambio de datos se xeren a man ou ben a partir dunha base de datos pero sen ter que programarse o cliente *SOAP*, esta integración siga sendo posible. * Unicamente son máis directos de implementar os servizos web *SOAP* se se utilizan ferramentas automáticas (que existen en linguaxes como Java ou .NET) que a partir da descrición dos servizos (WSDL) son capaces de xerar os clientes. Agora ben, esta vantaxe descartouse para a elección do tipo de servizos web a implementar porque se quere que, no caso de que non exista integración automática e os XML de intercambio de datos se xeren a man ou ben a partir dunha base de datos pero sen ter que programarse o cliente *SOAP*, esta integración siga sendo posible.
Invocar un servizo web REST de NavalPlan será tan sinxelo como cun cliente HTTP (como pode ser simplemente o navegador para algunhas operacións) invocar unha URL. Invocar un servizo web REST de LibrePlan será tan sinxelo como cun cliente HTTP (como pode ser simplemente o navegador para algunhas operacións) invocar unha URL.
Seguridade Seguridade
---------- ----------
Os servizos web REST de que constará NavalPlan para a integración contemplan un soporte de seguridade. A seguridade trátase en 3 dimensións: Os servizos web REST de que constará LibrePlan para a integración contemplan un soporte de seguridade. A seguridade trátase en 3 dimensións:
* Seguridade da comunicación. * Seguridade da comunicación.
* Autenticación do cliente. * Autenticación do cliente.
@ -92,9 +92,9 @@ Os servizos web REST de que constará NavalPlan para a integración contemplan u
Seguridade da comunicación Seguridade da comunicación
~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
A seguridade da comunicación refírese a garantir que as mensaxes que se intercambian entre unha instalación de NavalPlan e os seus clientes (que pode ser outra aplicación ou outra instalación de NavalPlan realizada noutra compañía) sexan confidencias entre os dous extremos da comunicación. Quere dicir isto que, como pode que atravesen redes públicas - integración a través de Internet -, están suxeitas a poder ser examinados por todas as persoas ou axentes que teñan acceso ao medio. Para evitar, por tanto, que ao examinar o medio se obteña información privada das empresas que manteñen a comunicación con NavalPlan este proporciona un mecanismo de seguridade. A seguridade da comunicación refírese a garantir que as mensaxes que se intercambian entre unha instalación de LibrePlan e os seus clientes (que pode ser outra aplicación ou outra instalación de LibrePlan realizada noutra compañía) sexan confidencias entre os dous extremos da comunicación. Quere dicir isto que, como pode que atravesen redes públicas - integración a través de Internet -, están suxeitas a poder ser examinados por todas as persoas ou axentes que teñan acceso ao medio. Para evitar, por tanto, que ao examinar o medio se obteña información privada das empresas que manteñen a comunicación con LibrePlan este proporciona un mecanismo de seguridade.
A seguridade consiste na posibilidade de servir cifrados os datos e a elección feita para realizar o cifrado é servir os servizos web por HTTPS (HTTP Secure) en lugar de por HTTP. HTTPS é a combinación de HTTP con SSL. Con SSL conséguese por una parte garantir a identidade do servidor NavalPlan e, por outra banda, cifrar a comunicación entre o servidor e o cliente. A seguridade consiste na posibilidade de servir cifrados os datos e a elección feita para realizar o cifrado é servir os servizos web por HTTPS (HTTP Secure) en lugar de por HTTP. HTTPS é a combinación de HTTP con SSL. Con SSL conséguese por una parte garantir a identidade do servidor LibrePlan e, por outra banda, cifrar a comunicación entre o servidor e o cliente.
Servir os servizos web con HTTPS pódese facer tanto dende o contedor de Servlets necesario para servir a aplicación (Apache Tomcat, Jetty) como se se serve detrás dun proxy que realice o cifrado por HTTPS (por exemplo detrás dun servidor web Apache). En calquera caso, será necesario que a empresa posúa un *certificado público* que permita servir por HTTPS os servizos web e/ou a aplicación. Servir os servizos web con HTTPS pódese facer tanto dende o contedor de Servlets necesario para servir a aplicación (Apache Tomcat, Jetty) como se se serve detrás dun proxy que realice o cifrado por HTTPS (por exemplo detrás dun servidor web Apache). En calquera caso, será necesario que a empresa posúa un *certificado público* que permita servir por HTTPS os servizos web e/ou a aplicación.
@ -104,9 +104,9 @@ Autenticación do cliente
O proceso de autenticación consiste en determinar quen é a persoa ou entidade que quere efectuar unha operación ofrecida por un servizo web. O proceso de autenticación consiste en determinar quen é a persoa ou entidade que quere efectuar unha operación ofrecida por un servizo web.
A aplicación NavalPlan conta con autenticación a través da súa interface web. Está desenvolvido un módulo de usuarios que permite a alta, baixa de usuarios e a configuración dos permisos que poden posuír. Existe un conxunto predefinido de roles e estes roles se poden outorgar/denegar aos diferentes usuarios. Un rol permite realizar un determinado conxunto de operacións. A aplicación LibrePlan conta con autenticación a través da súa interface web. Está desenvolvido un módulo de usuarios que permite a alta, baixa de usuarios e a configuración dos permisos que poden posuír. Existe un conxunto predefinido de roles e estes roles se poden outorgar/denegar aos diferentes usuarios. Un rol permite realizar un determinado conxunto de operacións.
Para a autenticación nos servizos web proponse reutilizar o sistema de usuarios de forma que para que o servidor vaia a proporcionar unha resposta haberá un paso de autenticar ao peticionario. Por tanto as aplicacións que se desexen integrar con NavalPlan terán que ter creadas na aplicación un usuario coas credencias adecuadas para invocar as operacións desexadas. Para a autenticación nos servizos web proponse reutilizar o sistema de usuarios de forma que para que o servidor vaia a proporcionar unha resposta haberá un paso de autenticar ao peticionario. Por tanto as aplicacións que se desexen integrar con LibrePlan terán que ter creadas na aplicación un usuario coas credencias adecuadas para invocar as operacións desexadas.
Para identificar o peticionario vaise usar a autenticación Basic Access Authentication HTTP. Con este método de autenticación pode pasarse un usuario/contrasinal ao servidor web. Pásase cunha cabeceira na mensaxe HTTP. O formato é o seguinte: Para identificar o peticionario vaise usar a autenticación Basic Access Authentication HTTP. Con este método de autenticación pode pasarse un usuario/contrasinal ao servidor web. Pásase cunha cabeceira na mensaxe HTTP. O formato é o seguinte:
@ -118,7 +118,7 @@ A codificación base64 unicamente é para ocultar o usuario:contrasinal da vista
Autorización do cliente respecto á operación invocada Autorización do cliente respecto á operación invocada
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Unha vez se é capaz de identificar o peticionario da operación do servizo web, é necesario autorizalo ou denegarlle o acceso. Na aplicación web que forma parte de NavalPlan a autorización faise utilizando o framework *Spring Security*. A través deste framework é posible de forma declarativa esixir a posesión de un rol para acceder a unha determinada operación. Unha vez se é capaz de identificar o peticionario da operación do servizo web, é necesario autorizalo ou denegarlle o acceso. Na aplicación web que forma parte de LibrePlan a autorización faise utilizando o framework *Spring Security*. A través deste framework é posible de forma declarativa esixir a posesión de un rol para acceder a unha determinada operación.
Os servizos web se identifican por URL e método HTTP. Exemplos diso son: Os servizos web se identifican por URL e método HTTP. Exemplos diso son:
@ -139,7 +139,7 @@ Desta maneira garántese que o usuario peticionario do servizo ten as credencias
Conceptos xerais e políticas globais Conceptos xerais e políticas globais
==================================== ====================================
Nesta sección detállase unha serie de asuncións e requisitos que se deberán cumprir para ter unha boa integración con NavalPlan. Nesta sección se tratarán as seguintes temáticas: Nesta sección detállase unha serie de asuncións e requisitos que se deberán cumprir para ter unha boa integración con LibrePlan. Nesta sección se tratarán as seguintes temáticas:
* Codificación das entidades * Codificación das entidades
* Comportamentos das altas e actualizacións * Comportamentos das altas e actualizacións
@ -149,21 +149,21 @@ Nesta sección detállase unha serie de asuncións e requisitos que se deberán
Codificación das entidades Codificación das entidades
-------------------------- --------------------------
En todos os fluxos de integración de entidades, cada un dos obxectos que se transmiten dunha aplicación a outra terán unha codificación. Desta forma un obxecto terá un identificador alfanumérico que o identifique tanto na aplicación de NavalPlan coma no resto das aplicacións que se integren. En todos os fluxos de integración de entidades, cada un dos obxectos que se transmiten dunha aplicación a outra terán unha codificación. Desta forma un obxecto terá un identificador alfanumérico que o identifique tanto na aplicación de LibrePlan coma no resto das aplicacións que se integren.
As entidades que participan na integración terán un atributo *code*, no que se gardará a codificación. A existencia deste código e o seu mantemento é necesario para a correcta integración. O código debe ser único por entidade. Aínda que as entidades suxeitas a integración con outras aplicacións teñen este atributo *code* único dentro de NavalPlan para todas as entidades utilizarase un identificador subrogado autoxerado polo framework de persistencia. As entidades que participan na integración terán un atributo *code*, no que se gardará a codificación. A existencia deste código e o seu mantemento é necesario para a correcta integración. O código debe ser único por entidade. Aínda que as entidades suxeitas a integración con outras aplicacións teñen este atributo *code* único dentro de LibrePlan para todas as entidades utilizarase un identificador subrogado autoxerado polo framework de persistencia.
NavalPlan á hora de comunicarse con outras aplicacións recibirá os obxectos e cotexará a existencia dentro do sistema de obxectos de NavalPlan. Se se recibe un obxecto cunha codificación existente entendese que é unha actualización do mesmo, se o obxecto que se recibe non existe no sistema NavalPlan darao de alta. LibrePlan á hora de comunicarse con outras aplicacións recibirá os obxectos e cotexará a existencia dentro do sistema de obxectos de LibrePlan. Se se recibe un obxecto cunha codificación existente entendese que é unha actualización do mesmo, se o obxecto que se recibe non existe no sistema LibrePlan darao de alta.
No caso de que se incorporen entidades con referencias a outras entidades entón na importación comprobarase se existe esta entidade referenciada e se non existe darase un erro. Un exemplo disto sería cando se realice a importación dun traballador e se fai referencia ao calendario que se lle quere asignar. Se non existe, indicarase que non se atopa a instancia. No caso de que se incorporen entidades con referencias a outras entidades entón na importación comprobarase se existe esta entidade referenciada e se non existe darase un erro. Un exemplo disto sería cando se realice a importación dun traballador e se fai referencia ao calendario que se lle quere asignar. Se non existe, indicarase que non se atopa a instancia.
A incorporación mediante ficheiro XML supón a introdución dunha secuencia de _ítems_ que se van a ir procesando secuencialmente. Esta secuencia de ítems estará formada polas entidades que se incorporan a aplicación. Para identificar as entidades que se transmiten NavalPlan empregará unha codificación baseada en dous parámetros: A incorporación mediante ficheiro XML supón a introdución dunha secuencia de _ítems_ que se van a ir procesando secuencialmente. Esta secuencia de ítems estará formada polas entidades que se incorporan a aplicación. Para identificar as entidades que se transmiten LibrePlan empregará unha codificación baseada en dous parámetros:
* A posición da instancia no XML. Chamarase *num_item* * A posición da instancia no XML. Chamarase *num_item*
* A codificación baseada no código. Chamarase *code* * A codificación baseada no código. Chamarase *code*
* O tipo de entidade da instancia. Chamarase *entity-type* * O tipo de entidade da instancia. Chamarase *entity-type*
No caso de que unha instancia referencie a unha terceira da cal non se dispón do código dado de alta no sistema, NavalPlan reportará un erro de importación indicando o num_item e a codificación da entidade que produciu o erro de importación. No caso de que unha instancia referencie a unha terceira da cal non se dispón do código dado de alta no sistema, LibrePlan reportará un erro de importación indicando o num_item e a codificación da entidade que produciu o erro de importación.
Resumo da codificación da identificación das instancias: Resumo da codificación da identificación das instancias:
@ -175,16 +175,16 @@ Resumo da codificación da identificación das instancias:
Espazo de nomes e codificación na relación con terceiras empresas Espazo de nomes e codificación na relación con terceiras empresas
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
No caso de integración de servizos dentro da mesma empresa partimos da existencia e control dunha unicidade de código dentro da organización. Iso non se pode presupoñer cando nos referimos á situación de relación entre dúas empresas. Nese caso NavalPlan manterá unha referencia dobre sobre as instancias de entidades que son compartidas entre dúas organizacións. No caso de integración de servizos dentro da mesma empresa partimos da existencia e control dunha unicidade de código dentro da organización. Iso non se pode presupoñer cando nos referimos á situación de relación entre dúas empresas. Nese caso LibrePlan manterá unha referencia dobre sobre as instancias de entidades que son compartidas entre dúas organizacións.
NavalPlan respectará a codificación das entidades da empresa subcontratante e será a empresa subcontratista a que manteña ao longo de todas as comunicacións a referencia ás entidades reportadas pola empresa subcontratante. Esta relación manterase no caso das entidades relacionadas cos pedidos como é o caso de Order e OrderElement. Nesas entidades incorporarase un novo atributo *external-code* que fará referencia ao atributo *code* da entidade contratante. LibrePlan respectará a codificación das entidades da empresa subcontratante e será a empresa subcontratista a que manteña ao longo de todas as comunicacións a referencia ás entidades reportadas pola empresa subcontratante. Esta relación manterase no caso das entidades relacionadas cos pedidos como é o caso de Order e OrderElement. Nesas entidades incorporarase un novo atributo *external-code* que fará referencia ao atributo *code* da entidade contratante.
Internamente a empresa subcontratista traballará coa súa codificación propia no atributo *code* que será empregada na interacción coas outras aplicacións da propia empresa. Internamente a empresa subcontratista traballará coa súa codificación propia no atributo *code* que será empregada na interacción coas outras aplicacións da propia empresa.
Comportamentos das altas e actualizacións Comportamentos das altas e actualizacións
----------------------------------------- -----------------------------------------
A aplicación NavalPlan permitirá realizar unha alta a través de bloques de entidades. A semántica que se adoptará nestas incorporación de conxuntos de entidades será a seguinte. Realmente a operación non é unha alta senón que vai a ser unha alta ou modificación. Isto significa que cando se leva a cabo a incorporación se segue o seguinte algoritmo: A aplicación LibrePlan permitirá realizar unha alta a través de bloques de entidades. A semántica que se adoptará nestas incorporación de conxuntos de entidades será a seguinte. Realmente a operación non é unha alta senón que vai a ser unha alta ou modificación. Isto significa que cando se leva a cabo a incorporación se segue o seguinte algoritmo:
1. Compróbase se existe a entidade do bloque a inserir. 1. Compróbase se existe a entidade do bloque a inserir.
#. Se non existe a entidade, entón procédese a levar a cabo a alta. #. Se non existe a entidade, entón procédese a levar a cabo a alta.
@ -215,14 +215,14 @@ As mensaxes de resposta HTTP conteñen unha liña que se coñece como liña de e
Como se pode apreciar existe un campo que é o código de estado, *Status-Code*. O código de estado é un numero de 3 díxitos que se usa para indicar como foi satisfeita a petición por parte do servidor web. Existen un conxunto de estados predefinidos que indican causas comúns que poden acontecer cando se invoca unha URL por parte dun cliente. Como se pode apreciar existe un campo que é o código de estado, *Status-Code*. O código de estado é un numero de 3 díxitos que se usa para indicar como foi satisfeita a petición por parte do servidor web. Existen un conxunto de estados predefinidos que indican causas comúns que poden acontecer cando se invoca unha URL por parte dun cliente.
NavalPlan vai a facer o seguinte uso dos códigos de estado das respostas HTTP: LibrePlan vai a facer o seguinte uso dos códigos de estado das respostas HTTP:
1. *200 OK*. Se a petición é servida correctamente. Os erros lóxicos froito dos datos de entrada do servizo tamén se reportarán mediante este código. Xa que o cliente poderá procesalos para analizar as causas dos erros. 1. *200 OK*. Se a petición é servida correctamente. Os erros lóxicos froito dos datos de entrada do servizo tamén se reportarán mediante este código. Xa que o cliente poderá procesalos para analizar as causas dos erros.
#. *404 Not Found*. Este código de estado non se vai a devolver por parte de ningún servizo web de NavalPlan. Será devolto unicamente polo contedor de servlets se o cliente invoca unha URL que non se corresponde con ningún dos servizos publicados. #. *404 Not Found*. Este código de estado non se vai a devolver por parte de ningún servizo web de LibrePlan. Será devolto unicamente polo contedor de servlets se o cliente invoca unha URL que non se corresponde con ningún dos servizos publicados.
#. *403 Access is denied*. Este código de estado será devolto por NavalPlan cando a autenticación do usuario é correcta no sistema de usuarios da aplicación pero non ten permiso para executar o servizo que se está solicitando. #. *403 Access is denied*. Este código de estado será devolto por LibrePlan cando a autenticación do usuario é correcta no sistema de usuarios da aplicación pero non ten permiso para executar o servizo que se está solicitando.
#. *401 Bad credentials*. É utilizado na resposta por NavalPlan para indicar que a autenticación é incorrecta. Quere dicir o anterior que non existe un usuario/contrasinal válido. #. *401 Bad credentials*. É utilizado na resposta por LibrePlan para indicar que a autenticación é incorrecta. Quere dicir o anterior que non existe un usuario/contrasinal válido.
#. *500 Internal Server Error*. Devólvese este código de estado sempre que se produce algún erro provocado por unha excepción que provoque a finalización do fío de execución (thread) no servidor que atende a petición do servizo. #. *500 Internal Server Error*. Devólvese este código de estado sempre que se produce algún erro provocado por unha excepción que provoque a finalización do fío de execución (thread) no servidor que atende a petición do servizo.
#. *400 Bad Request*. Darase este erro cando a validación do corpo da petición XML por parte do servizo web de NavalPlan non sexa correcta por non axustarse ao esquema XML que describe o servizo. #. *400 Bad Request*. Darase este erro cando a validación do corpo da petición XML por parte do servizo web de LibrePlan non sexa correcta por non axustarse ao esquema XML que describe o servizo.
Erros que provocan a finalización do fío de execución (thread) Erros que provocan a finalización do fío de execución (thread)
@ -233,7 +233,7 @@ Se existe un erro de programación que xorde froito da invocación dun servizo n
:: ::
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<internal-error xmlns="http://rest.ws.navalplanner.org" <internal-error xmlns="http://rest.ws.libreplan.org"
message=""> message="">
<stack-trace> <stack-trace>
</stack-trace> </stack-trace>
@ -241,17 +241,17 @@ Se existe un erro de programación que xorde froito da invocación dun servizo n
Dentro de *<stack-trace>* irá a pila de execución de chamadas do programa ata chegar a función que desencadeou o problema. Dentro de *<stack-trace>* irá a pila de execución de chamadas do programa ata chegar a función que desencadeou o problema.
Cando se produce un erro deste tipo a entidade que estea realizando a integración podería crear unha incidencia no sistema de xestión de erros describindo a situación que levou a aparición do erro e incluíndo o stack-trace devolto polo servizo web para facilitar a solución do erro pola comunidade de NavalPlan. Cando se produce un erro deste tipo a entidade que estea realizando a integración podería crear unha incidencia no sistema de xestión de erros describindo a situación que levou a aparición do erro e incluíndo o stack-trace devolto polo servizo web para facilitar a solución do erro pola comunidade de LibrePlan.
Erros lóxicos Erros lóxicos
~~~~~~~~~~~~~ ~~~~~~~~~~~~~
Os erros lóxicos son erros que non son debidos a un defecto na aplicación NavalPlan senón que son debidos a dúas posibles causas: Os erros lóxicos son erros que non son debidos a un defecto na aplicación LibrePlan senón que son debidos a dúas posibles causas:
* Os datos que se teñen na base de datos de NavalPlan non son compatibles cos datos de entrada da petición. * Os datos que se teñen na base de datos de LibrePlan non son compatibles cos datos de entrada da petición.
* Os datos de entrada para a operación solicitada no servizo web non son correctos. * Os datos de entrada para a operación solicitada no servizo web non son correctos.
Cando se producen erros lóxicos van a ser catalogados polo equipo de desenvolvemento de NavalPlan en dous posibles tipos: Cando se producen erros lóxicos van a ser catalogados polo equipo de desenvolvemento de LibrePlan en dous posibles tipos:
1. Erros recuperables. Os erros recuperables son aqueles para os que os desenvolvedores da integración do cliente poden decidir intentar realizar unha recuperación automática do erro. 1. Erros recuperables. Os erros recuperables son aqueles para os que os desenvolvedores da integración do cliente poden decidir intentar realizar unha recuperación automática do erro.
#. Erros non recuperables. Os erros non recuperables son aqueles para os que non se pode implementar ningún mecanismo automático de solución do problema e o único camiño e a intervención humana para a solución dos problemas detectados. #. Erros non recuperables. Os erros non recuperables son aqueles para os que non se pode implementar ningún mecanismo automático de solución do problema e o único camiño e a intervención humana para a solución dos problemas detectados.
@ -278,7 +278,7 @@ Cada erro recuperable indícase a través da etiqueta *<recoverable-error>* e ca
A descrición dun *<recoverable-error>* é a seguinte: A descrición dun *<recoverable-error>* é a seguinte:
* Atributo *error-code*. No atributo *error-code* irá un código de erro interno definido en NavalPlan. Será un número e existirá unha táboa de códigos de erros recuperables en NavalPlan que permitirán aos integradores implementar unha solución recuperable adecuada a cada código de erro. * Atributo *error-code*. No atributo *error-code* irá un código de erro interno definido en LibrePlan. Será un número e existirá unha táboa de códigos de erros recuperables en LibrePlan que permitirán aos integradores implementar unha solución recuperable adecuada a cada código de erro.
* Atributo *message*. Aquí indicarase unha descrición do erro. * Atributo *message*. Aquí indicarase unha descrición do erro.
* Etiqueta *<property>*. Pode haber varias etiquetas deste tipo que son usadas para proporcionar datos que poden ser necesarios con dous atributos cada unha: * Etiqueta *<property>*. Pode haber varias etiquetas deste tipo que son usadas para proporcionar datos que poden ser necesarios con dous atributos cada unha:
@ -299,7 +299,7 @@ O framework que se utiliza para a implementación dos servizos web é Apache CXF
Os documentos XML Schema son un estándar da W3C que permite especificar a estrutura e formato dos documentos XML. Poden ser utilizados para validar se un determinado XML se axusta a un determinado esquema e así determinar se hai algún erro. Os documentos XML Schema son un estándar da W3C que permite especificar a estrutura e formato dos documentos XML. Poden ser utilizados para validar se un determinado XML se axusta a un determinado esquema e así determinar se hai algún erro.
Xa que para os servizos web de NavalPlan van estar dispoñibles os XML Schema dos mesmos, estes poderán ser utilizados polos integradores de aplicacións con NavalPlan para validar que xeran os XML de intercambio correctos. Xa que para os servizos web de LibrePlan van estar dispoñibles os XML Schema dos mesmos, estes poderán ser utilizados polos integradores de aplicacións con LibrePlan para validar que xeran os XML de intercambio correctos.
Tamén se implementará a través de CXF unha validación do XML entrante no corpo das mensaxes HTTP de invocación dos servizos web por parte dos clientes. Por tanto, se validará se o XML contra o esquema XML e se non é correcto mandarase unha mensaxe de resposta HTTP con código de estado 400 e corpo baleiro. Tamén se implementará a través de CXF unha validación do XML entrante no corpo das mensaxes HTTP de invocación dos servizos web por parte dos clientes. Por tanto, se validará se o XML contra o esquema XML e se non é correcto mandarase unha mensaxe de resposta HTTP con código de estado 400 e corpo baleiro.
@ -307,12 +307,12 @@ Tamén se implementará a través de CXF unha validación do XML entrante no cor
Fluxos de integración Fluxos de integración
===================== =====================
Os fluxos de integración detallan a secuencia que ten que facer unha aplicación cliente para integrarse coa aplicación NavalPlan e en que secuencia poderá realizar as chamadas aos servizos web dispoñibles. Os fluxos de integración detallan a secuencia que ten que facer unha aplicación cliente para integrarse coa aplicación LibrePlan e en que secuencia poderá realizar as chamadas aos servizos web dispoñibles.
Os servizos web atópanse dispoñibles a partir da URL_BASE da aplicación en /ws/rest/: Os servizos web atópanse dispoñibles a partir da URL_BASE da aplicación en /ws/rest/:
* URL Base de Servizos: URL_BASE_NAVALPLANNER_WEBAPP/ws/rest * URL Base de Servizos: URL_BASE_LIBREPLAN_WEBAPP/ws/rest
* Exemplo: http://www.navalplan.org/navalplanner-webapp/ws/rest * Exemplo: http://www.libreplan.org/libreplan-webapp/ws/rest
A partir deste intre denominase a esta URL de servizos coma *BASE_SERVICES_URL*. A partir deste intre denominase a esta URL de servizos coma *BASE_SERVICES_URL*.
@ -327,7 +327,7 @@ Descrición
* A incorporación de materiais permitirá asociar materiais a necesidades para o inicio de tarefas no planificador. * A incorporación de materiais permitirá asociar materiais a necesidades para o inicio de tarefas no planificador.
Roles Roles
* Cliente: proporciona nova información sobre os materiais ao servidor NavalPlan. * Cliente: proporciona nova información sobre os materiais ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos materiais. * Servidor: procesa a petición do cliente incorporando a nova información dos materiais.
Precondicións Precondicións
@ -341,10 +341,10 @@ Postcondicións
* os seus campos propios serán actualizados coa nova información. * os seus campos propios serán actualizados coa nova información.
* se un material cambia de categoría modificarase a categoría a que pertence o material. * se un material cambia de categoría modificarase a categoría a que pertence o material.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/materials.png .. image:: images/materials.png
:width: 300 :width: 300
:alt: Diagrama de Clases do dominio de Materiais en NavalPlan :alt: Diagrama de Clases do dominio de Materiais en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado.
@ -356,7 +356,7 @@ Descrición do fluxo
Exemplo de ficheiro de importación Exemplo de ficheiro de importación
:: ::
<material-units-list xmlns="http://rest.ws.navalplanner.org"> <material-units-list xmlns="http://rest.ws.libreplan.org">
<material-unit code="10" name="Unidades"/> <material-unit code="10" name="Unidades"/>
<material-unit code="20" name="M3"/> <material-unit code="20" name="M3"/>
<material-unit code="30" name="Metros Lineales"/> <material-unit code="30" name="Metros Lineales"/>
@ -364,7 +364,7 @@ Exemplo de ficheiro de importación
<material-category-list xmlns="http://rest.ws.navalplanner.org"> <material-category-list xmlns="http://rest.ws.libreplan.org">
<material-category code="10" name="Tornillos" > <material-category code="10" name="Tornillos" >
<material-list> <material-list>
<material code="TOR12" description="Tornillos Serie-12" price="123.12" unit-type="10" disabled="false"/> <material code="TOR12" description="Tornillos Serie-12" price="123.12" unit-type="10" disabled="false"/>
@ -398,7 +398,7 @@ Descrición
* Exemplos de etiquetas: Zonas do Buque, Prioridades, Centros de Coste, etc... * Exemplos de etiquetas: Zonas do Buque, Prioridades, Centros de Coste, etc...
Roles Roles
* Cliente: proporciona nova información sobre as etiquetas ao servidor NavalPlan. * Cliente: proporciona nova información sobre as etiquetas ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información das etiquetas. * Servidor: procesa a petición do cliente incorporando a nova información das etiquetas.
Precondicións Precondicións
@ -413,10 +413,10 @@ Postcondicións
* os seus campos propios serán actualizados coa nova información. * os seus campos propios serán actualizados coa nova información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/labels.png .. image:: images/labels.png
:width: 200 :width: 200
:alt: Diagrama de Clases do dominio de Etiquetas en NavalPlan :alt: Diagrama de Clases do dominio de Etiquetas en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado.
@ -428,7 +428,7 @@ Descrición do fluxo
Exemplo de ficheiro de importación Exemplo de ficheiro de importación
:: ::
<labels-type-list xmlns="http://rest.ws.navalplanner.org"> <labels-type-list xmlns="http://rest.ws.libreplan.org">
<label-type code="10" name="Prioridad" > <label-type code="10" name="Prioridad" >
<labels-list> <labels-list>
<label code="1001" name="Baja" /> <label code="1001" name="Baja" />
@ -462,7 +462,7 @@ Descrición
* Criterio: Tubeiro * Criterio: Tubeiro
Roles Roles
* Cliente: proporciona nova información sobre os criterios e tipos de criterio ao servidor NavalPlan. * Cliente: proporciona nova información sobre os criterios e tipos de criterio ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos criterios e tipos de criterio. * Servidor: procesa a petición do cliente incorporando a nova información dos criterios e tipos de criterio.
Precondicións Precondicións
@ -477,10 +477,10 @@ Postcondicións
* non se poderá cambiar unha entidade que estivera definida como xerárquica e tiña unha estrutura de criterios a non xerárquica. * non se poderá cambiar unha entidade que estivera definida como xerárquica e tiña unha estrutura de criterios a non xerárquica.
* se un criterio non aparece nunha nova importación non se realizará ningún cambio xa que non se realizan borrados. So se realizan actualizacións e marcados coma non activados. * se un criterio non aparece nunha nova importación non se realizará ningún cambio xa que non se realizan borrados. So se realizan actualizacións e marcados coma non activados.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/criterions.png .. image:: images/criterions.png
:width: 350 :width: 350
:alt: Diagrama de Clases do dominio de Criterios en NavalPlan :alt: Diagrama de Clases do dominio de Criterios en LibrePlan
Descrición do fluxo Descrición do fluxo
@ -492,7 +492,7 @@ Descrición do fluxo
Información de realización da chamada Información de realización da chamada
* *URL Servizo*: BASE_SERVICE_URL/criteriontypes * *URL Servizo*: BASE_SERVICE_URL/criteriontypes
* *Exemplo URL*:http://www.navalplan.org/navalplanner-webapp/ws/rest/services/criteriontypes * *Exemplo URL*:http://www.libreplan.org/libreplan-webapp/ws/rest/services/criteriontypes
* *Método POST* * *Método POST*
Descrición do formato do ficheiro XML:: Descrición do formato do ficheiro XML::
@ -501,7 +501,7 @@ Descrición do formato do ficheiro XML::
* Nodo criterion-type: representa un tipo de criterio. * Nodo criterion-type: representa un tipo de criterio.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia ao tipo de criterio. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia ao tipo de criterio.
* Atributo name (String): nome que identifica o tipo de criterio. * Atributo name (String): nome que identifica o tipo de criterio.
* Atributo description (String): describe ao criterio. * Atributo description (String): describe ao criterio.
* Atributo allow-hierarchy (boolean): indica se os criterios deste tipo de criterio teñen unha xerarquía de criterios. * Atributo allow-hierarchy (boolean): indica se os criterios deste tipo de criterio teñen unha xerarquía de criterios.
@ -512,7 +512,7 @@ Descrición do formato do ficheiro XML::
* Nodo criterion: representa a unha instancia da entidade criterio. * Nodo criterion: representa a unha instancia da entidade criterio.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia a un criterio. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia a un criterio.
* Atributo name (String): nome descritivo do criterio. * Atributo name (String): nome descritivo do criterio.
* Atributo active (boolean): indica se este criterio está activo. Se non estivera activo este criterio non sería aplicable a outras entidades no futuro. * Atributo active (boolean): indica se este criterio está activo. Se non estivera activo este criterio non sería aplicable a outras entidades no futuro.
* Nodo children: indica que un criterio ten fillos na xerarquía, polo cal todos os fillos cumpren o criterio do nodo pai. * Nodo children: indica que un criterio ten fillos na xerarquía, polo cal todos os fillos cumpren o criterio do nodo pai.
@ -524,7 +524,7 @@ Exemplo de ficheiro de importación
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<criterion-type-list xmlns="http://rest.ws.navalplanner.org"> <criterion-type-list xmlns="http://rest.ws.libreplan.org">
<criterion-type code="CRITYPE4" name="ct-4" description="ct-4 desc" allow-hierarchy="true" <criterion-type code="CRITYPE4" name="ct-4" description="ct-4 desc" allow-hierarchy="true"
allow-simultaneous-criterions-per-resource="true" enabled="true" allow-simultaneous-criterions-per-resource="true" enabled="true"
resource="RESOURCE"> resource="RESOURCE">
@ -556,7 +556,7 @@ Descrición
* Estes tipos de horas empregaranse na incorporación dos partes de traballo. * Estes tipos de horas empregaranse na incorporación dos partes de traballo.
Roles Roles
* Cliente: proporciona nova información sobre os tipos de horas ao servidor NavalPlan. * Cliente: proporciona nova información sobre os tipos de horas ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos tipos de horas. * Servidor: procesa a petición do cliente incorporando a nova información dos tipos de horas.
Precondicións Precondicións
@ -567,10 +567,10 @@ Postcondicións
* Os novos tipos de horas de traballo serán incorporadas ao sistema. * Os novos tipos de horas de traballo serán incorporadas ao sistema.
* As instancias que existían previamente no sistema verán actualizada a súa información. * As instancias que existían previamente no sistema verán actualizada a súa información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/typeofworkhours.png .. image:: images/typeofworkhours.png
:width: 150 :width: 150
:alt: Diagrama de Clases do dominio de Tipos de Horas en NavalPlan :alt: Diagrama de Clases do dominio de Tipos de Horas en LibrePlan
Descrición do fluxo Descrición do fluxo
@ -583,7 +583,7 @@ Descrición do fluxo
Exemplo de ficheiro de importación Exemplo de ficheiro de importación
:: ::
<hours-type-list xmlns="http://rest.ws.navalplanner.org"> <hours-type-list xmlns="http://rest.ws.libreplan.org">
<hours-type code="12" name="Ordinaria" default-price="10.2" enabled="true" /> <hours-type code="12" name="Ordinaria" default-price="10.2" enabled="true" />
<hours-type code="13" name="Extra" default-price="14.2" enabled="true" /> <hours-type code="13" name="Extra" default-price="14.2" enabled="true" />
<hours-type code="14" name="Nocturna" default-price="14.2" enabled="true" /> <hours-type code="14" name="Nocturna" default-price="14.2" enabled="true" />
@ -600,7 +600,7 @@ Descrición
* Exemplo: Categorías de custo: Oficial de primeira. Ten un precio asociado de hora extra de 20 euros á hora durante o ano 2010. * Exemplo: Categorías de custo: Oficial de primeira. Ten un precio asociado de hora extra de 20 euros á hora durante o ano 2010.
Roles Roles
* Cliente: proporciona nova información sobre as categorías de custo ao servidor NavalPlan. * Cliente: proporciona nova información sobre as categorías de custo ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información das categorías de custo. * Servidor: procesa a petición do cliente incorporando a nova información das categorías de custo.
Precondicións Precondicións
@ -613,10 +613,10 @@ Postcondicións
* As novas categorías de custo serán incorporadas ao sistema. * As novas categorías de custo serán incorporadas ao sistema.
* As instancias que xa existían previamente no sistema verán actualizada a súa información. * As instancias que xa existían previamente no sistema verán actualizada a súa información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/costcategories.png .. image:: images/costcategories.png
:width: 150 :width: 150
:alt: Diagrama de Clases do dominio de Categorías de Coste en NavalPlan :alt: Diagrama de Clases do dominio de Categorías de Coste en LibrePlan
Descrición do fluxo Descrición do fluxo
@ -631,7 +631,7 @@ Exemplo de ficheiro de importación
:: ::
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<cost-category-list xmlns="http://rest.ws.navalplanner.org"> <cost-category-list xmlns="http://rest.ws.libreplan.org">
<cost-category enabled="true" name="Categoria A" <cost-category enabled="true" name="Categoria A"
code="18d6ef79-5b45-4928-bfd5-ec80a374699c"> code="18d6ef79-5b45-4928-bfd5-ec80a374699c">
<hour-cost-list> <hour-cost-list>
@ -667,13 +667,13 @@ Descrición
* A incorporación dos recursos poderá facer referencia ao calendario laboral existente. * A incorporación dos recursos poderá facer referencia ao calendario laboral existente.
Roles Roles
* Cliente: proporciona nova información sobre os recursos ao servidor NavalPlan. * Cliente: proporciona nova información sobre os recursos ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos recursos. * Servidor: procesa a petición do cliente incorporando a nova información dos recursos.
Precondicións Precondicións
* É necesario que as referencias aos criterios que cumpren os recursos estean dispoñibles na aplicación. * É necesario que as referencias aos criterios que cumpren os recursos estean dispoñibles na aplicación.
* Débense cumprir as restricións temporais da aplicación dos criterios nos casos dos criterios que só poden ter un único valor no mesmo instante do tempo. * Débense cumprir as restricións temporais da aplicación dos criterios nos casos dos criterios que só poden ter un único valor no mesmo instante do tempo.
* É necesario que as categorías de custo ás que pertencen os recursos xa foran importadas previamente en NavalPlan. * É necesario que as categorías de custo ás que pertencen os recursos xa foran importadas previamente en LibrePlan.
* Un recurso só pode pertencer a unha categoría de custo nun momento do tempo. * Un recurso só pode pertencer a unha categoría de custo nun momento do tempo.
* Se se incorpora un calendario de traballo para o recurso, este deberá estar dado de alta na aplicación no momento da importación. * Se se incorpora un calendario de traballo para o recurso, este deberá estar dado de alta na aplicación no momento da importación.
@ -682,12 +682,12 @@ Postcondicións
* As instancias que existían previamente no sistema: * As instancias que existían previamente no sistema:
* os seus campos propios serán actualizados coa nova información. * os seus campos propios serán actualizados coa nova información.
* as relacións con novos criterios e categorías de custo serán incorporadas. Nunca se borrarán categorías nin criterios se non son incorporados na aplicación xa que poden ter sido dados de alta a través da interface web de NavalPlan. En caso de incoherencia nunca se borrará a información de NavalPlan e reportarase a existencia de inconsistencias para que sexan emendadas. * as relacións con novos criterios e categorías de custo serán incorporadas. Nunca se borrarán categorías nin criterios se non son incorporados na aplicación xa que poden ter sido dados de alta a través da interface web de LibrePlan. En caso de incoherencia nunca se borrará a información de LibrePlan e reportarase a existencia de inconsistencias para que sexan emendadas.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/resources.png .. image:: images/resources.png
:width: 350 :width: 350
:alt: Diagrama de Clases do dominio de Recursos en NavalPlan :alt: Diagrama de Clases do dominio de Recursos en LibrePlan
Descrición do fluxo Descrición do fluxo
@ -699,7 +699,7 @@ Descrición do fluxo
Información de realización da chamada Información de realización da chamada
* *URL Servizo*: BASE_SERVICE_URL/resources * *URL Servizo*: BASE_SERVICE_URL/resources
* *Exemplo URL*:http://www.navalplan.org/navalplanner-webapp/ws/rest/services/resources * *Exemplo URL*:http://www.libreplan.org/libreplan-webapp/ws/rest/services/resources
* *Método POST* * *Método POST*
Descrición do formato do ficheiro XML:: Descrición do formato do ficheiro XML::
@ -708,14 +708,14 @@ Descrición do formato do ficheiro XML::
* Nodo machine: representa un recurso máquina. * Nodo machine: representa un recurso máquina.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia a unha máquina. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia a unha máquina.
* Atributo name (String): nome que identifica a máquina. * Atributo name (String): nome que identifica a máquina.
* Atributo description (String): describe a máquina. * Atributo description (String): describe a máquina.
* Nodo criterion-satisfaction-list: inclúe a lista de satisfacción de criterios. Pode conter un ou varios nodos de tipo criterion-satisfaction. * Nodo criterion-satisfaction-list: inclúe a lista de satisfacción de criterios. Pode conter un ou varios nodos de tipo criterion-satisfaction.
* Nodo criterion-satisfaction: representa que un recurso cumpre un criterio nun momento do tempo. * Nodo criterion-satisfaction: representa que un recurso cumpre un criterio nun momento do tempo.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia a un criterio. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia a un criterio.
* Atributo criterion-type-name (String): nome descritivo do tipo de criterio ao que pertence o criterio en cuestión. * Atributo criterion-type-name (String): nome descritivo do tipo de criterio ao que pertence o criterio en cuestión.
* Atributo criterion-name (String): nome descritivo do criterio que se aplica neste nodo criterion-satisfaction. * Atributo criterion-name (String): nome descritivo do criterio que se aplica neste nodo criterion-satisfaction.
* Atributo start-date (String): data de inicio do cumprimento do criterio polo recurso en formato ISO 8601 (YYYY-MM-DD). * Atributo start-date (String): data de inicio do cumprimento do criterio polo recurso en formato ISO 8601 (YYYY-MM-DD).
@ -725,14 +725,14 @@ Descrición do formato do ficheiro XML::
* Nodo resources-cost-category-assignment: representa que un recurso pertence a unha categoría de custo nun momento do tempo. * Nodo resources-cost-category-assignment: representa que un recurso pertence a unha categoría de custo nun momento do tempo.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia a unha categoría de custo. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia a unha categoría de custo.
* Atributo cost-category-name (String): nome descritivo da categoría de custo a que pertence o recurso. * Atributo cost-category-name (String): nome descritivo da categoría de custo a que pertence o recurso.
* Atributo start-date (String): data de inicio da pertenza á categoría de custo en formato ISO 8601 (YYYY-MM-DD). * Atributo start-date (String): data de inicio da pertenza á categoría de custo en formato ISO 8601 (YYYY-MM-DD).
* Atributo end-date (String): data de finalización da pertenza á categoría de custo en formato ISO 8601 (YYYY-MM-DD). * Atributo end-date (String): data de finalización da pertenza á categoría de custo en formato ISO 8601 (YYYY-MM-DD).
* Nodo worker: representa un recurso humano. * Nodo worker: representa un recurso humano.
* Atributo code (String): código único compartido entre NavalPlan e outras aplicacións que referencia a un traballador. * Atributo code (String): código único compartido entre LibrePlan e outras aplicacións que referencia a un traballador.
* Atributo first-name (String): nome do traballador. * Atributo first-name (String): nome do traballador.
* Atributo surname (String): apelidos do traballador. * Atributo surname (String): apelidos do traballador.
* Atributo nif (String): nif do traballador. * Atributo nif (String): nif do traballador.
@ -744,7 +744,7 @@ Exemplo de ficheiro de importación
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<resource-list xmlns="http://rest.ws.navalplanner.org"> <resource-list xmlns="http://rest.ws.libreplan.org">
<!-- [It assumes existence of "TestLocationGroupCriterion" and <!-- [It assumes existence of "TestLocationGroupCriterion" and
"TestCostCategory"] OK. --> "TestCostCategory"] OK. -->
<machine code="machineA" name="name" description="desc"> <machine code="machineA" name="name" description="desc">
@ -801,7 +801,7 @@ Descrición
* Exemplo: O operario Xavier dedicou 3 horas extras o 2 de xaneiro de 2010 na orde de traballo C5232. * Exemplo: O operario Xavier dedicou 3 horas extras o 2 de xaneiro de 2010 na orde de traballo C5232.
Roles Roles
* Cliente: proporciona nova información sobre os partes de traballo ao servidor NavalPlan. * Cliente: proporciona nova información sobre os partes de traballo ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos partes de traballo. * Servidor: procesa a petición do cliente incorporando a nova información dos partes de traballo.
Precondicións Precondicións
@ -812,10 +812,10 @@ Postcondicións
* Os novos partes de traballo serán incorporados ao sistema. * Os novos partes de traballo serán incorporados ao sistema.
* Os partes xa existentes verán actualizada a súa información. * Os partes xa existentes verán actualizada a súa información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/workreports.png .. image:: images/workreports.png
:width: 400 :width: 400
:alt: Diagrama de Clases do dominio de Partes de Traballo en NavalPlan :alt: Diagrama de Clases do dominio de Partes de Traballo en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado.
@ -830,7 +830,7 @@ Descrición do fluxo
Exemplo de ficheiro de importación: Exemplo de ficheiro de importación:
:: ::
<work-report-list xmlns="http://rest.ws.navalplanner.org"> <work-report-list xmlns="http://rest.ws.libreplan.org">
<work-report code="312321" work-report-type="30" @date="2009-10-21" @resource="121" work-order="4323"> <work-report code="312321" work-report-type="30" @date="2009-10-21" @resource="121" work-order="4323">
<label-list> <label-list>
<label code="adfsdf" value="urxente" type="prioridade"/> <label code="adfsdf" value="urxente" type="prioridade"/>
@ -876,12 +876,12 @@ Descrición
* A estructura de traballo pode incorporar a información do número de horas de traballo presupuestadas para cada elemento. Esta etimación será realizada nos nodos folla. * A estructura de traballo pode incorporar a información do número de horas de traballo presupuestadas para cada elemento. Esta etimación será realizada nos nodos folla.
Roles Roles
* Cliente: proporciona nova información sobre os pedidos ao servidor NavalPlan. * Cliente: proporciona nova información sobre os pedidos ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos pedidos. * Servidor: procesa a petición do cliente incorporando a nova información dos pedidos.
Precondicións Precondicións
* Os pedidos e os elementos do pedido terán unha codificación unica dentro da empresa. * Os pedidos e os elementos do pedido terán unha codificación unica dentro da empresa.
* Os materiais, etiquetas e criterios referenciados deberán ter sido previamente importados a NavalPlan. * Os materiais, etiquetas e criterios referenciados deberán ter sido previamente importados a LibrePlan.
* Un pedido previamente importado permitirá a incorporación de novos nodos sempre e cando non se modifique a estructura dos nodos existentes previamente. * Un pedido previamente importado permitirá a incorporación de novos nodos sempre e cando non se modifique a estructura dos nodos existentes previamente.
@ -889,13 +889,13 @@ Postcondicións
* Os novos pedidos serán incorporados ao sistema. * Os novos pedidos serán incorporados ao sistema.
* Os pedidos xa existentes verán actualizada a súa información. * Os pedidos xa existentes verán actualizada a súa información.
* Non se eliminarán referencias a materiais, etiquetas ou criterios no proceso de actualización, xa que estas poideron ser creadas dentro de NavalPlan. * Non se eliminarán referencias a materiais, etiquetas ou criterios no proceso de actualización, xa que estas poideron ser creadas dentro de LibrePlan.
* Actualizarase a información dos elementos do pedido. * Actualizarase a información dos elementos do pedido.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/orders.png .. image:: images/orders.png
:width: 350 :width: 350
:alt: Diagrama de Clases do dominio de Pedidos en NavalPlan :alt: Diagrama de Clases do dominio de Pedidos en LibrePlan
Descrición do fluxo Descrición do fluxo
@ -909,7 +909,7 @@ Exemplo de ficheiro de importación
:: ::
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<order-lists xmlns="http://rest.ws.navalplanner.org"> <order-lists xmlns="http://rest.ws.libreplan.org">
<order code="ORDER-1" name="Order" init-date="2010-01-01" deadline="2010-05-30"> <order code="ORDER-1" name="Order" init-date="2010-01-01" deadline="2010-05-30">
<label-list> <label-list>
<label code="10" name="low" type="priority" /> <label code="10" name="low" type="priority" />
@ -1003,7 +1003,7 @@ Descrición
* Os calendarios empréganse para determinar a dispoñinibilidade dos traballadores na aplicación. * Os calendarios empréganse para determinar a dispoñinibilidade dos traballadores na aplicación.
Roles Roles
* Cliente: proporciona nova información sobre os calendarios ao servidor NavalPlan. * Cliente: proporciona nova información sobre os calendarios ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos calendarios. * Servidor: procesa a petición do cliente incorporando a nova información dos calendarios.
Precondicións Precondicións
@ -1013,10 +1013,10 @@ Postcondicións
* Os novos calendarios serán incorporados ao sistema. * Os novos calendarios serán incorporados ao sistema.
* Os calendarios xa existentes verán actualizada a súa información. * Os calendarios xa existentes verán actualizada a súa información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/calendars.png .. image:: images/calendars.png
:width: 450 :width: 450
:alt: Diagrama de Clases do dominio de Calendarios en NavalPlan :alt: Diagrama de Clases do dominio de Calendarios en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado.
@ -1029,7 +1029,7 @@ Exemplo de ficheiro de importación
:: ::
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<base-calendar-list xmlns="http://rest.ws.navalplanner.org"> <base-calendar-list xmlns="http://rest.ws.libreplan.org">
<base-calendar name="Spanish Calendar" code="000-001"> <base-calendar name="Spanish Calendar" code="000-001">
<calendar-exception-list> <calendar-exception-list>
<calendar-exception calendar-exception-type-code="BANK_HOLIDAY" <calendar-exception calendar-exception-type-code="BANK_HOLIDAY"
@ -1108,7 +1108,7 @@ Descrición
* Os tipos de horas de traballo empréganse para determinar as categorías de coste na aplicación. * Os tipos de horas de traballo empréganse para determinar as categorías de coste na aplicación.
Roles Roles
* Cliente: proporciona nova información sobre os tipos de horas de traballo ao servidor NavalPlan. * Cliente: proporciona nova información sobre os tipos de horas de traballo ao servidor LibrePlan.
* Servidor: procesa a petición do cliente incorporando a nova información dos tipos de horas de traballo. * Servidor: procesa a petición do cliente incorporando a nova información dos tipos de horas de traballo.
Precondicións Precondicións
@ -1118,10 +1118,10 @@ Postcondicións
* Os novos tipos de horas de traballo serán incorporados ao sistema. * Os novos tipos de horas de traballo serán incorporados ao sistema.
* Os tipos de horas xa existentes verán actualizada a súa información. * Os tipos de horas xa existentes verán actualizada a súa información.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/costcategories.png .. image:: images/costcategories.png
:width: 150 :width: 150
:alt: Diagrama de Clases do dominio de Tipos de Horas de Traballo en NavalPlan :alt: Diagrama de Clases do dominio de Tipos de Horas de Traballo en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación cliente que se integra xerará un ficheiro seguindo o formato detallado.
@ -1134,7 +1134,7 @@ Exemplo de ficheiro de importación
:: ::
<?xml version="1.0" encoding="utf-8" standalone="yes"?> <?xml version="1.0" encoding="utf-8" standalone="yes"?>
<type-work-hours-list xmlns="http://rest.ws.navalplanner.org"> <type-work-hours-list xmlns="http://rest.ws.libreplan.org">
<!-- Ok--> <!-- Ok-->
<type-work-hours enabled="true" defaultPrice="8.00" name="Hora Extra" code="t1" /> <type-work-hours enabled="true" defaultPrice="8.00" name="Hora Extra" code="t1" />
@ -1175,7 +1175,7 @@ Descrición
* O servizo permitirá unha consulta particular que mostrará a información do recursos particular nun periodo de tempo. * O servizo permitirá unha consulta particular que mostrará a información do recursos particular nun periodo de tempo.
Roles Roles
* Cliente: pide a aplicación NavalPlan indicando un periodo de tempo, e opcionalmente o código dun recurso, o dato de horas traballadas. * Cliente: pide a aplicación LibrePlan indicando un periodo de tempo, e opcionalmente o código dun recurso, o dato de horas traballadas.
* Servidor: procesa a petición do cliente xerando un ficheiro XML coa información das horas traballadas por cada un dos recursos da empresa ou dun recurso particular. * Servidor: procesa a petición do cliente xerando un ficheiro XML coa información das horas traballadas por cada un dos recursos da empresa ou dun recurso particular.
Precondicións Precondicións
@ -1185,10 +1185,10 @@ Postcondicións
* Obtense o sumatorio para cada recurso do número de horas traballadas nun periodo de tempo. * Obtense o sumatorio para cada recurso do número de horas traballadas nun periodo de tempo.
* Se a consulta é particular, obtense únicamente o número de horas traballadas por ese recurso. * Se a consulta é particular, obtense únicamente o número de horas traballadas por ese recurso.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/workedhours.png .. image:: images/workedhours.png
:width: 150 :width: 150
:alt: Diagrama de Clases do dominio de Recursos en NavalPlan :alt: Diagrama de Clases do dominio de Recursos en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra fara unha petición ao servizo indicando o periodo de tempo e opcionalmente o código do recurso. 1. A aplicación cliente que se integra fara unha petición ao servizo indicando o periodo de tempo e opcionalmente o código do recurso.
@ -1201,7 +1201,7 @@ Descrición do fluxo
Exemplo de ficheiro de exportación: Exemplo de ficheiro de exportación:
:: ::
<resource-worked-hours-list xmlns="http://rest.ws.navalplanner.org" start-date="2009-10-01" end-date="2009-10-31"> <resource-worked-hours-list xmlns="http://rest.ws.libreplan.org" start-date="2009-10-01" end-date="2009-10-31">
<resource-worked-hours resource="321" hours="160" > <resource-worked-hours resource="321" hours="160" >
<resource-worked-hours resource="322" hours="165" > <resource-worked-hours resource="322" hours="165" >
<resource-worked-hours resource="323" hours="142" > <resource-worked-hours resource="323" hours="142" >
@ -1216,16 +1216,16 @@ Descrición
* O servizo de exportación dos tipos de excepción permite consultar os diferentes tipos de excepcións do calendario definidos na aplicación. * O servizo de exportación dos tipos de excepción permite consultar os diferentes tipos de excepcións do calendario definidos na aplicación.
Roles Roles
* Cliente: pide a aplicación NavalPlan sen necesidade de pasar ningún argumento. * Cliente: pide a aplicación LibrePlan sen necesidade de pasar ningún argumento.
* Servidor: procesa a petición do cliente xerando un ficheiro XML coa información dos tipos de excepcións do calendario. * Servidor: procesa a petición do cliente xerando un ficheiro XML coa información dos tipos de excepcións do calendario.
Postcondicións Postcondicións
* Obtense a lista de tipos de excepcións do calendario definidos na aplicación. * Obtense a lista de tipos de excepcións do calendario definidos na aplicación.
Clases involucradas en NavalPlan Clases involucradas en LibrePlan
.. image:: images/calendars.png .. image:: images/calendars.png
:width: 450 :width: 450
:alt: Diagrama de Clases do dominio de Calendarios en NavalPlan :alt: Diagrama de Clases do dominio de Calendarios en LibrePlan
Descrición do fluxo Descrición do fluxo
1. A aplicación cliente que se integra fara unha petición ao servizo. 1. A aplicación cliente que se integra fara unha petición ao servizo.
@ -1238,7 +1238,7 @@ Descrición do fluxo
Exemplo de ficheiro de exportación: Exemplo de ficheiro de exportación:
:: ::
<calendar-exception-type-list xmlns="http://rest.ws.navalplanner.org"> <calendar-exception-type-list xmlns="http://rest.ws.libreplan.org">
<calendar-exception-type over-assignable="false" color="red" <calendar-exception-type over-assignable="false" color="red"
name="BANK_HOLIDAY" code="BANK_HOLIDAY" /> name="BANK_HOLIDAY" code="BANK_HOLIDAY" />
<calendar-exception-type over-assignable="false" color="red" <calendar-exception-type over-assignable="false" color="red"
@ -1254,14 +1254,14 @@ Exemplo de ficheiro de exportación:
</calendar-exception-type-list> </calendar-exception-type-list>
Fluxos con outras instancias de NavalPlan Fluxos con outras instancias de LibrePlan
----------------------------------------- -----------------------------------------
Exportación-importación de Pedidos entre empresas Cliente-Proveedor Exportación-importación de Pedidos entre empresas Cliente-Proveedor
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Descrición Descrición
* A incorporación de pedidos permitirá a importación da información dos pedidos dende a aplicación navalplan dunha empresa subcontratante. * A incorporación de pedidos permitirá a importación da información dos pedidos dende a aplicación libreplan dunha empresa subcontratante.
* Os pedidos reflexan unha estructura do traballo que e preciso realizar dunha forma xerarquica. * Os pedidos reflexan unha estructura do traballo que e preciso realizar dunha forma xerarquica.
* Os cada elemento do pedido está codificado, e estes códigos serán os empregados para reportar os avances a empresa subcontratante. * Os cada elemento do pedido está codificado, e estes códigos serán os empregados para reportar os avances a empresa subcontratante.
* Os elementos do pedido poderán incorporar etiquetas que poderán ser empregadas para a realización de filtrados. * Os elementos do pedido poderán incorporar etiquetas que poderán ser empregadas para a realización de filtrados.
@ -1269,7 +1269,7 @@ Descrición
* A estructura de traballo pode incorporar a información do número de horas de traballo presupuestadas para cada elemento. Esta estimación será realizada nos nodos folla. * A estructura de traballo pode incorporar a información do número de horas de traballo presupuestadas para cada elemento. Esta estimación será realizada nos nodos folla.
Roles Roles
* Cliente: aplicación NavalPlan que remite un novo pedido a outra empresa cunha instalación de NavalPlan. * Cliente: aplicación LibrePlan que remite un novo pedido a outra empresa cunha instalación de LibrePlan.
* Servidor: procesa a petición do cliente incorporando o novo pedido * Servidor: procesa a petición do cliente incorporando o novo pedido
Precondicións Precondicións
@ -1280,11 +1280,11 @@ Precondicións
Postcondicións Postcondicións
* O novo pedido será incorporados ao sistema. * O novo pedido será incorporados ao sistema.
* Se o pedido xa estaba no sistema actualizaránse os datos. * Se o pedido xa estaba no sistema actualizaránse os datos.
* Non se eliminarán referencias a materiais ou etiquetas no proceso de actualización, xa que estas poideron ser creadas dentro de NavalPlan. * Non se eliminarán referencias a materiais ou etiquetas no proceso de actualización, xa que estas poideron ser creadas dentro de LibrePlan.
* Actualizarase a información dos elementos do pedido. * Actualizarase a información dos elementos do pedido.
Descrición do fluxo Descrición do fluxo
1. A aplicación NavalPlan cliente (a empresa subcontratante) que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación LibrePlan cliente (a empresa subcontratante) que se integra xerará un ficheiro seguindo o formato detallado.
#. A aplicación cliente realiza a chamada ao servizo web (da empresa subcontratista) cos datos de autorización. #. A aplicación cliente realiza a chamada ao servizo web (da empresa subcontratista) cos datos de autorización.
#. O servizo web procesa a alta de pedidos e actualiza os datos dos xa existentes. #. O servizo web procesa a alta de pedidos e actualiza os datos dos xa existentes.
#. O servizo web devolve nun XML a saída de erros ou a correcta execución do servizo. #. O servizo web devolve nun XML a saída de erros ou a correcta execución do servizo.
@ -1294,7 +1294,7 @@ Exemplo de ficheiro de importación
:: ::
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<subcontracted-task-data xmlns="http://rest.ws.navalplanner.org" work-description="Pedido de 100 puertas" <subcontracted-task-data xmlns="http://rest.ws.libreplan.org" work-description="Pedido de 100 puertas"
subcontracted-code="REFERENCE-CODE-1" subcontracted-price="152200.03" external-company-nif="B15323232"> subcontracted-code="REFERENCE-CODE-1" subcontracted-price="152200.03" external-company-nif="B15323232">
<materials> <materials>
<material code="MAT-1" material-reference="MATERIAL-1" name="Tuercas 2x20" descripcion="Tuercas moi resistentes" unit-price="10.5"/> <material code="MAT-1" material-reference="MATERIAL-1" name="Tuercas 2x20" descripcion="Tuercas moi resistentes" unit-price="10.5"/>
@ -1345,7 +1345,7 @@ Descrición
* O avance remitido será o que teña a empresa subcontratista de tipo *subcontractor*. Este avance sempre terá tipo porcentual. * O avance remitido será o que teña a empresa subcontratista de tipo *subcontractor*. Este avance sempre terá tipo porcentual.
Roles Roles
* Cliente: aplicación NavalPlan que remite as medicións de avances dun pedido comunicado previamente por outra empresa usuaria de NavalPlan. * Cliente: aplicación LibrePlan que remite as medicións de avances dun pedido comunicado previamente por outra empresa usuaria de LibrePlan.
* Servidor: procesa a petición do cliente incorporando as novas medicións de avance. * Servidor: procesa a petición do cliente incorporando as novas medicións de avance.
Precondicións Precondicións
@ -1358,7 +1358,7 @@ Postcondicións
* A empresa subcontratante incorpora as medicións de avance proporciondas pola emrpesa subcontratista. * A empresa subcontratante incorpora as medicións de avance proporciondas pola emrpesa subcontratista.
Descrición do fluxo Descrición do fluxo
1. A aplicación NavalPlan cliente (a empresa subcontratista) que se integra xerará un ficheiro seguindo o formato detallado. 1. A aplicación LibrePlan cliente (a empresa subcontratista) que se integra xerará un ficheiro seguindo o formato detallado.
#. A aplicación cliente realiza a chamada ao servizo web (da empresa subcontratante) cos datos de autorización. #. A aplicación cliente realiza a chamada ao servizo web (da empresa subcontratante) cos datos de autorización.
#. O servizo web procesa as medicións de avances e actualiza os datos dos xa existentes. #. O servizo web procesa as medicións de avances e actualiza os datos dos xa existentes.
#. O servizo web devolve nun XML a saída de erros ou a correcta execución do servizo. #. O servizo web devolve nun XML a saída de erros ou a correcta execución do servizo.
@ -1368,7 +1368,7 @@ Exemplo de ficheiro de importación de avances.
:: ::
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<subcontracted-task-data xmlns="http://rest.ws.navalplanner.org" work-description="Pedido de 100 puertas" <subcontracted-task-data xmlns="http://rest.ws.libreplan.org" work-description="Pedido de 100 puertas"
subcontracted-code="REFERENCE-CODE-1" subcontracted-price="152200.03" external-company-nif="B15323232"> subcontracted-code="REFERENCE-CODE-1" subcontracted-price="152200.03" external-company-nif="B15323232">
<children> <children>
<order-line-group code="ORDER-1-OE-1" name="Order element 1" description="Descripcion"> <order-line-group code="ORDER-1-OE-1" name="Order element 1" description="Descripcion">
@ -1411,8 +1411,8 @@ O seguinte script permite interactuar co servizo de importación de recursos emp
#!/bin/sh #!/bin/sh
DEVELOPMENT_BASE_SERVICE_URL=http://localhost:8080/navalplanner-webapp/ws/rest DEVELOPMENT_BASE_SERVICE_URL=http://localhost:8080/libreplan-webapp/ws/rest
PRODUCTION_BASE_SERVICE_URL=http://www.navalplan.org/navalplanner-webapp/ws/rest PRODUCTION_BASE_SERVICE_URL=http://www.libreplan.org/libreplan-webapp/ws/rest
DEVELOPMENT_CERTIFICATE="" DEVELOPMENT_CERTIFICATE=""
PRODUCTION_CERTIFICATE=-k PRODUCTION_CERTIFICATE=-k
@ -1454,8 +1454,8 @@ O seguinte código de exemplo fai unha petición por GET que nos devolve o lista
#!/bin/sh #!/bin/sh
DEVELOPMENT_BASE_SERVICE_URL=http://localhost:8080/navalplanner-webapp/ws/rest DEVELOPMENT_BASE_SERVICE_URL=http://localhost:8080/libreplan-webapp/ws/rest
PRODUCTION_BASE_SERVICE_URL=http://www.navalplan.org/navalplanner-webapp/ws/rest PRODUCTION_BASE_SERVICE_URL=http://www.libreplan.org/libreplan-webapp/ws/rest
DEVELOPMENT_CERTIFICATE="" DEVELOPMENT_CERTIFICATE=""
PRODUCTION_CERTIFICATE=-k PRODUCTION_CERTIFICATE=-k

View file

@ -1,4 +1,4 @@
How To Create A New Report In NavalPlan How To Create A New Report In LibrePlan
======================================= =======================================
.. sectnum:: .. sectnum::
@ -11,20 +11,20 @@ How To Create A New Report In NavalPlan
Commons Attribution-ShareAlike 3.0 licence, available in Commons Attribution-ShareAlike 3.0 licence, available in
http://creativecommons.org/licenses/by-sa/3.0/. http://creativecommons.org/licenses/by-sa/3.0/.
:Abstract: :Abstract:
NavalPlan uses **JasperReports** [1]_ to create reports in the application. This LibrePlan uses **JasperReports** [1]_ to create reports in the application. This
document tries to explain how to create a new report in NavalPlan. document tries to explain how to create a new report in LibrePlan.
During this tutorial you are going to create a report that will show the list of During this tutorial you are going to create a report that will show the list of
resources in NavalPlan. resources in LibrePlan.
.. contents:: Table of Contents .. contents:: Table of Contents
Add an entry on NavalPlan menu Add an entry on LibrePlan menu
------------------------------ ------------------------------
First of all, you are going to add a new entry on *Reports* menu in NavalPlan, First of all, you are going to add a new entry on *Reports* menu in LibrePlan,
this option will link to a new ``.zul`` file inside this option will link to a new ``.zul`` file inside
``navalplanner-webapp/src/main/webapp/reports/`` that will be the basic ``libreplan-webapp/src/main/webapp/reports/`` that will be the basic
interface for users before generate the report. interface for users before generate the report.
Steps: Steps:
@ -36,30 +36,30 @@ Steps:
"/reports/resourcesListReport.zul", "/reports/resourcesListReport.zul",
"15-informes.html") "15-informes.html")
You will see the new entry if you run NavalPlan, but the link is not going to You will see the new entry if you run LibrePlan, but the link is not going to
work as ``.zul`` page still does not exist. work as ``.zul`` page still does not exist.
.. TIP:: .. TIP::
If you want to run NavalPlan in development mode you need to follow the next If you want to run LibrePlan in development mode you need to follow the next
instructions: instructions:
* Create a PostgreSQL database called ``navaldev`` with permissions for a * Create a PostgreSQL database called ``navaldev`` with permissions for a
user ``naval`` with password ``naval`` (see ``INSTALL`` file for other user ``naval`` with password ``naval`` (see ``INSTALL`` file for other
databases and more info). databases and more info).
* Compile NavalPlan with the following command from project root folder:: * Compile LibrePlan with the following command from project root folder::
mvn -DskipTests -P-userguide clean install mvn -DskipTests -P-userguide clean install
* Launch Jetty from ``navalplanner-webapp`` directory:: * Launch Jetty from ``libreplan-webapp`` directory::
cd navalplanner-webapp cd libreplan-webapp
mvn -P-userguide jetty:run mvn -P-userguide jetty:run
* Access with a web browser to the following URL and login with default * Access with a web browser to the following URL and login with default
credentials (user ``admin`` and password ``admin``): credentials (user ``admin`` and password ``admin``):
http://localhost:8080/navalplanner-webapp/ http://localhost:8080/libreplan-webapp/
Create basic HTML interface Create basic HTML interface
@ -73,12 +73,12 @@ a very basic interface, copying some parts from other reports.
Steps: Steps:
* Create a new file ``resourcesListReport.zul`` in * Create a new file ``resourcesListReport.zul`` in
``navalplanner-webapp/src/main/webapp/reports/``. With the following content: ``libreplan-webapp/src/main/webapp/reports/``. With the following content:
:: ::
<!-- <!--
This file is part of NavalPlan This file is part of LibrePlan
Copyright (C) 2011 Igalia Copyright (C) 2011 Igalia
@ -96,26 +96,26 @@ Steps:
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
--> -->
<?page title="${i18n:_('NavalPlan: Resources List')}" id="reports"?> <?page title="${i18n:_('LibrePlan: Resources List')}" id="reports"?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template.zul"?> <?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template.zul"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan.css"?> <?link rel="stylesheet" type="text/css" href="/common/css/libreplan.css"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan_zk.css"?> <?link rel="stylesheet" type="text/css" href="/common/css/libreplan_zk.css"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?> <?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?component name="combobox_output_format" macroURI="combobox_output_format.zul" <?component name="combobox_output_format" macroURI="combobox_output_format.zul"
class="org.navalplanner.web.reports.ComboboxOutputFormat" ?> class="org.libreplan.web.reports.ComboboxOutputFormat" ?>
<?component name="extendedjasperreport" <?component name="extendedjasperreport"
class="org.navalplanner.web.common.components.ExtendedJasperreport" class="org.libreplan.web.common.components.ExtendedJasperreport"
extends="jasperreport" ?> extends="jasperreport" ?>
<zk> <zk>
<window self="@{define(content)}" <window self="@{define(content)}"
apply="org.navalplanner.web.reports.ResourcesListReportController" apply="org.libreplan.web.reports.ResourcesListReportController"
title="${i18n:_('Resources List')}" title="${i18n:_('Resources List')}"
border="normal" > border="normal" >
@ -167,20 +167,20 @@ 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 charge to manage users interaction with report interface and call the proper
methods to generate the report itself and show it to the user. methods to generate the report itself and show it to the user.
There is already a controller called ``NavalplannerReportController`` which There is already a controller called ``LibrePlanReportController`` which
implements most of the stuff needed for report controllers. So, controllers for 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. new reports are going to extend this class and re-implement some methods.
Steps: Steps:
* Create a new file ``ResourcesListReportController.java`` in * Create a new file ``ResourcesListReportController.java`` in
``navalplanner-webapp/src/main/java/org/navalplanner/web/reports/`` with the ``libreplan-webapp/src/main/java/org/libreplan/web/reports/`` with the
following content: following content:
:: ::
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2011 Igalia, S.L. * Copyright (C) 2011 Igalia, S.L.
* *
@ -198,7 +198,7 @@ Steps:
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.navalplanner.web.reports; package org.libreplan.web.reports;
import net.sf.jasperreports.engine.JRDataSource; import net.sf.jasperreports.engine.JRDataSource;
import net.sf.jasperreports.engine.JREmptyDataSource; import net.sf.jasperreports.engine.JREmptyDataSource;
@ -210,7 +210,7 @@ Steps:
* *
* @author Manuel Rego Casasnovas <mrego@igalia.com> * @author Manuel Rego Casasnovas <mrego@igalia.com>
*/ */
public class ResourcesListReportController extends NavalplannerReportController { public class ResourcesListReportController extends LibrePlanReportController {
private static final String REPORT_NAME = "resourcesListReport"; private static final String REPORT_NAME = "resourcesListReport";
@ -232,7 +232,7 @@ Steps:
} }
Now if you run NavalPlan and access to the new menu entry you will see the Now if you run LibrePlan 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 simple form allowing you to choose the output format for the report and also the
button to show it (that will not work yet). button to show it (that will not work yet).
@ -251,13 +251,13 @@ name.
Steps: Steps:
* Create a new file ``ResourcesListReportDTO.java`` in * Create a new file ``ResourcesListReportDTO.java`` in
``navalplanner-business/src/main/java/org/navalplanner/business/reports/dtos/`` ``libreplan-business/src/main/java/org/libreplan/business/reports/dtos/``
with the following content: with the following content:
:: ::
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2011 Igalia, S.L. * Copyright (C) 2011 Igalia, S.L.
* *
@ -275,7 +275,7 @@ Steps:
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.navalplanner.business.reports.dtos; package org.libreplan.business.reports.dtos;
/** /**
* DTO for Resources List report data. * DTO for Resources List report data.
@ -330,9 +330,9 @@ Steps:
cd iReport-3.7.0/ cd iReport-3.7.0/
./bin/ireport ./bin/ireport
* Open some existent NavalPlan report (e.g. * Open some existent LibrePlan report (e.g.
``hoursWorkedPerWorkerInAMonthReport.jrxml``) under ``hoursWorkedPerWorkerInAMonthReport.jrxml``) under
``navalplanner-webapp/src/main/jasper`` to use as template to keep the same ``libreplan-webapp/src/main/jasper`` to use as template to keep the same
layout and save it with the name of the new report layout and save it with the name of the new report
``resourcesListReport.jrxml`` in the same folder. ``resourcesListReport.jrxml`` in the same folder.
@ -378,7 +378,7 @@ Steps:
``$F{code}`` and ``$F{name}``. ``$F{code}`` and ``$F{name}``.
Now you have defined a very basic report layout using some common elements 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 with other LibrePlan reports like header and footer. The result in iReport would
be something similar to the screenshot. be something similar to the screenshot.
.. figure:: ireport-resources-list-report.png .. figure:: ireport-resources-list-report.png
@ -502,9 +502,9 @@ directory to put there translation files related with report strings.
Steps: Steps:
* Create directory called ``resourcesList_Bundle`` in * Create directory called ``resourcesList_Bundle`` in
``navalplanner-webapp/src/main/jasper/``:: ``libreplan-webapp/src/main/jasper/``::
mkdir navalplanner-webapp/src/main/jasper/resourcesList_Bundle mkdir libreplan-webapp/src/main/jasper/resourcesList_Bundle
You can check bundle folders of other reports in the same directory to see 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 more examples, but it basically contains the properties files with different
@ -525,10 +525,10 @@ Steps:
in ``Report bundle directories`` section:: in ``Report bundle directories`` section::
<resource> <resource>
<directory>../navalplanner-webapp/src/main/jasper/resourcesList_Bundle/</directory> <directory>../libreplan-webapp/src/main/jasper/resourcesList_Bundle/</directory>
</resource> </resource>
Now jun can run NavalPlan and see the report already working, but as you are not Now jun can run LibrePlan and see the report already working, but as you are not
sending it any data (currently you are using ``JREmptyDataSource``) the report sending it any data (currently you are using ``JREmptyDataSource``) the report
will appear empty but you can see header with title and footer. will appear empty but you can see header with title and footer.
@ -561,10 +561,10 @@ Steps:
return new JRBeanCollectionDataSource(resourcesListDTOs); return new JRBeanCollectionDataSource(resourcesListDTOs);
} }
Then if you run NavalPlan and go to the new menu entry called *Resources List* Then if you run LibrePlan and go to the new menu entry called *Resources List*
in *Reports* you will be able to generate a report with the resources added as 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 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 are able to see how the basic functionality of JasperReports in LibrePlan is
integrated. The next step will be to show real data in the report getting it integrated. The next step will be to show real data in the report getting it
from database. from database.
@ -579,7 +579,7 @@ Show real data from database
---------------------------- ----------------------------
Now you need to query database and get information about resources. In order to Now you need to query database and get information about resources. In order to
follow NavalPlan architecture you are going to create a model that will be in follow LibrePlan architecture you are going to create a model that will be in
charge to retrieve information from database, process it if needed and return charge to retrieve information from database, process it if needed and return
the information to the controller. Then controller will send this information to the information to the controller. Then controller will send this information to
JasperReports in order to generate the report with real data. JasperReports in order to generate the report with real data.
@ -595,13 +595,13 @@ Steps:
} }
* Create a file ``IResourcesListReportModel.java`` in * Create a file ``IResourcesListReportModel.java`` in
``navalplanner-webapp/src/main/java/org/navalplanner/web/reports/`` with the ``libreplan-webapp/src/main/java/org/libreplan/web/reports/`` with the
following content: following content:
:: ::
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2011 Igalia, S.L. * Copyright (C) 2011 Igalia, S.L.
* *
@ -619,11 +619,11 @@ Steps:
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.navalplanner.web.reports; package org.libreplan.web.reports;
import java.util.List; import java.util.List;
import org.navalplanner.business.reports.dtos.ResourcesListReportDTO; import org.libreplan.business.reports.dtos.ResourcesListReportDTO;
/** /**
* Interface for {@link ResourcesListReportModel}. * Interface for {@link ResourcesListReportModel}.
@ -642,7 +642,7 @@ Steps:
:: ::
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2011 Igalia, S.L. * Copyright (C) 2011 Igalia, S.L.
* *
@ -660,14 +660,14 @@ Steps:
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
package org.navalplanner.web.reports; package org.libreplan.web.reports;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import org.navalplanner.business.reports.dtos.ResourcesListReportDTO; import org.libreplan.business.reports.dtos.ResourcesListReportDTO;
import org.navalplanner.business.resources.daos.IResourceDAO; import org.libreplan.business.resources.daos.IResourceDAO;
import org.navalplanner.business.resources.entities.Resource; import org.libreplan.business.resources.entities.Resource;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition; import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope; import org.springframework.context.annotation.Scope;
@ -719,7 +719,7 @@ Steps:
} }
At this moment, you are going to be able to generate report with the list of all At this moment, you are going to be able to generate report with the list of all
resources currently stored in NavalPlan database. resources currently stored in LibrePlan database.
Filter information on report Filter information on report
@ -819,7 +819,7 @@ Send parameters to report
Sometimes you need to send parameters to be printed in the report. You are Sometimes you need to send parameters to be printed in the report. You are
already doing it without noticing, for example, you are sending logo path. You already doing it without noticing, for example, you are sending logo path. You
can check ``getParameters`` method in ``NavalplannerReportController``. can check ``getParameters`` method in ``LibrePlanReportController``.
Now you are going to send a parameter to print a message specifying if you are Now you are going to send a parameter to print a message specifying if you are
printing all the resources or just workers or machines using the filter. printing all the resources or just workers or machines using the filter.
@ -870,7 +870,7 @@ Steps:
Now if you generate the report you will see the type of report you are Now if you generate the report you will see the type of report you are
generating, you can see more examples about how to send parameters in some of generating, you can see more examples about how to send parameters in some of
the other reports already implemented in NavalPlan. the other reports already implemented in LibrePlan.
.. [1] http://jasperforge.org/jasperreports .. [1] http://jasperforge.org/jasperreports

View file

@ -1,5 +1,5 @@
-------------------------------------- --------------------------------------
How To Develop A Use Case In NavalPlan How To Develop A Use Case In LibrePlan
-------------------------------------- --------------------------------------
.. sectnum:: .. sectnum::
@ -12,7 +12,7 @@ How To Develop A Use Case In NavalPlan
Commons Attribution-ShareAlike 3.0 licence, available in Commons Attribution-ShareAlike 3.0 licence, available in
http://creativecommons.org/licenses/by-sa/3.0/. http://creativecommons.org/licenses/by-sa/3.0/.
:Abstract: :Abstract:
This is a guide about how to develop a use case in NavalPlan_. Following the This is a guide about how to develop a use case in LibrePlan_. Following the
different sections of this document you will end up developing a complete different sections of this document you will end up developing a complete
CRUD_ (create, read, update and delete) use case in the project. CRUD_ (create, read, update and delete) use case in the project.
@ -31,10 +31,10 @@ Introduction
This manual is a kind of practical exercise that will be solved throughout the This manual is a kind of practical exercise that will be solved throughout the
different sections. It is required to have basic knowledge about Java software different sections. It is required to have basic knowledge about Java software
platform in order to properly follow the document. Moreover, knowledge in platform in order to properly follow the document. Moreover, knowledge in
different Java frameworks used in NavalPlan like Hibernate, Spring, ZK, JUnit, different Java frameworks used in LibrePlan like Hibernate, Spring, ZK, JUnit,
etc. would be a nice addition. etc. would be a nice addition.
The goal of this document is develop a **complete CRUD use case in NavalPlan**. The goal of this document is develop a **complete CRUD use case in LibrePlan**.
The idea consists of create a new entity called ``StretchesFunctionTemplate`` The idea consists of create a new entity called ``StretchesFunctionTemplate``
that will be managed from application interface, just like any other entity in that will be managed from application interface, just like any other entity in
the project. the project.
@ -67,7 +67,7 @@ define different stretches in order to do resource allocations.
Where, for example, *Stretch 1* means that half of the work to be done in the Where, for example, *Stretch 1* means that half of the work to be done in the
task will be ready by the end of May 2nd (20% of task duration). task will be ready by the end of May 2nd (20% of task duration).
Then NavalPlan will be perform different resource allocations according to Then LibrePlan will be perform different resource allocations according to
function defined by user. function defined by user.
Thanks to the new class ``StretchesFunctionTemplate`` users will have the chance Thanks to the new class ``StretchesFunctionTemplate`` users will have the chance
@ -79,32 +79,32 @@ this behaviour and use it in all the tasks they want.
.. TIP:: .. TIP::
If you want to run NavalPlan in development mode you need to follow the next If you want to run LibrePlan in development mode you need to follow the next
instructions: instructions:
* Create a PostgreSQL database called ``navaldev`` with permissions for a * Create a PostgreSQL database called ``navaldev`` with permissions for a
user ``naval`` with password ``naval`` (see ``HACKING`` file for other user ``naval`` with password ``naval`` (see ``HACKING`` file for other
databases and more info). databases and more info).
* Compile NavalPlan with the following command from project root folder:: * Compile LibrePlan with the following command from project root folder::
mvn -DskipTests -P-userguide clean install mvn -DskipTests -P-userguide clean install
* Launch Jetty from ``navalplanner-webapp`` directory:: * Launch Jetty from ``libreplan-webapp`` directory::
cd navalplanner-webapp cd libreplan-webapp
mvn -P-userguide jetty:run mvn -P-userguide jetty:run
* Access with a web browser to the following URL and login with default * Access with a web browser to the following URL and login with default
credentials (user ``admin`` and password ``admin``): credentials (user ``admin`` and password ``admin``):
http://localhost:8080/navalplanner-webapp/ http://localhost:8080/libreplan-webapp/
Domain entities Domain entities
=============== ===============
First of all you need to create the new entity ``StretchesFunctionTemplate`` in First of all you need to create the new entity ``StretchesFunctionTemplate`` in
NavalPlan **business layer**. LibrePlan **business layer**.
Domain entities encapsulate application business data and part of their logic. Domain entities encapsulate application business data and part of their logic.
They are Hibernate_ entities, and therefore are retrieved and stored in a data They are Hibernate_ entities, and therefore are retrieved and stored in a data
@ -156,7 +156,7 @@ used to implement concurrency control method called `Optimistic Locking`_.
Entities instantiation Entities instantiation
---------------------- ----------------------
In NavalPlan domain entities are never instantiated directly, but entities will In LibrePlan domain entities are never instantiated directly, but entities will
expose a **static method ``create()``** which will be responsible to return a expose a **static method ``create()``** which will be responsible to return a
new instance. The rest of classes must call ``create()`` method of new instance. The rest of classes must call ``create()`` method of
``BaseEntity`` when they want to create a new instance of any entity. This is ``BaseEntity`` when they want to create a new instance of any entity. This is
@ -183,13 +183,13 @@ classes use it.
.. WARNING:: .. WARNING::
In NavalPlan a lot of entities extends ``IntegrationEntity`` instead of In LibrePlan a lot of entities extends ``IntegrationEntity`` instead of
``BaseEntity``, anyway ``IntegrationEntity`` also extends ``BaseEntity``. ``BaseEntity``, anyway ``IntegrationEntity`` also extends ``BaseEntity``.
``IntegrationEntity`` is a base class for all domain entities that are going ``IntegrationEntity`` is a base class for all domain entities that are going
to be available via web services in the project. These entities have a to be available via web services in the project. These entities have a
``code`` attribute, which unlike ``id`` is unique among the applications to be ``code`` attribute, which unlike ``id`` is unique among the applications to be
integrated (``id`` is only unique inside one NavalPlan instance). integrated (``id`` is only unique inside one LibrePlan instance).
In order to know if an object is new or not you will use method In order to know if an object is new or not you will use method
``isNewObject()`` of ``BaseEntity``, you will never directly check if ``id`` ``isNewObject()`` of ``BaseEntity``, you will never directly check if ``id``
@ -199,7 +199,7 @@ attribute is ``null`` (transient entity).
Transient Transient
An object out of Hibernate session instantiated with ``new()``. Actually, in An object out of Hibernate session instantiated with ``new()``. Actually, in
NavalPlan the method used is ``create()`` that calls ``new()`` at some LibrePlan the method used is ``create()`` that calls ``new()`` at some
point. point.
Persistent Persistent
@ -233,7 +233,7 @@ shown):
:: ::
package org.navalplanner.business.planner.entities; package org.libreplan.business.planner.entities;
... ...
@ -276,7 +276,7 @@ shown):
in application UI. It defines the method ``getHumanId`` that returns a text in application UI. It defines the method ``getHumanId`` that returns a text
identifier of the entity. identifier of the entity.
As this entity is going to be edited from NavalPlan web interface, it As this entity is going to be edited from LibrePlan web interface, it
implements ``IHumanIdentifiable``. implements ``IHumanIdentifiable``.
@ -284,7 +284,7 @@ shown):
:: ::
package org.navalplanner.business.planner.entities; package org.libreplan.business.planner.entities;
... ...
@ -316,7 +316,7 @@ shown):
.. IMPORTANT:: .. IMPORTANT::
You should not forget to add license header in your new files specifying the You should not forget to add license header in your new files specifying the
license as explained in documentation section at `NavalPlan wiki`_. You can license as explained in documentation section at `LibrePlan wiki`_. You can
copy it from other files and modify year and copyright holder accordingly. copy it from other files and modify year and copyright holder accordingly.
Moreover, always remember to add, at least, a general comment explaining the Moreover, always remember to add, at least, a general comment explaining the
@ -326,7 +326,7 @@ shown):
Model View Controller pattern Model View Controller pattern
============================= =============================
NavalPlan architecture follows MVC_ (Model-view-controller) pattern, which LibrePlan architecture follows MVC_ (Model-view-controller) pattern, which
isolates business logic from user interface allowing separation of different isolates business logic from user interface allowing separation of different
layers in the application. View and controller will be explained later, now it layers in the application. View and controller will be explained later, now it
is time to explain **model layer** that is in charge of implement application is time to explain **model layer** that is in charge of implement application
@ -388,7 +388,7 @@ Then you will have the following files:
:: ::
package org.navalplanner.business.planner.daos; package org.libreplan.business.planner.daos;
... ...
@ -406,7 +406,7 @@ Then you will have the following files:
:: ::
package org.navalplanner.business.planner.daos; package org.libreplan.business.planner.daos;
... ...
@ -429,7 +429,7 @@ Then you will have the following files:
oriented programming principle: "develop in terms of interfaces and oriented programming principle: "develop in terms of interfaces and
functionality instead of concrete implementation details". functionality instead of concrete implementation details".
In NavalPlan for each DAO class there is an interface class `IXXXDAO`. Models In LibrePlan for each DAO class there is an interface class `IXXXDAO`. Models
always use these interface classes. Spring framework instantiates a class for always use these interface classes. Spring framework instantiates a class for
each interface type and injects it in the corresponding variable. each interface type and injects it in the corresponding variable.
@ -446,7 +446,7 @@ Then you will have the following files:
Summarizing, persistence layer encapsulates all operations related to Hibernate Summarizing, persistence layer encapsulates all operations related to Hibernate
communication for retrieving, querying and storing entities on database. communication for retrieving, querying and storing entities on database.
Therefore, you will not need to use Hibernate API directly in NavalPlan source Therefore, you will not need to use Hibernate API directly in LibrePlan source
code in order to perform operations like: start transaction, commit code in order to perform operations like: start transaction, commit
transaction, rollback, etc. transaction, rollback, etc.
@ -485,11 +485,11 @@ create a new one if needed)::
However, this is not enough in order to store the new entity on database, However, this is not enough in order to store the new entity on database,
because of tables are not created yet. Usually, tables are automatically created because of tables are not created yet. Usually, tables are automatically created
by Hibernate, but this is disabled in NavalPlan, and Hibernates just validates by Hibernate, but this is disabled in LibrePlan, and Hibernates just validates
that database structure matches with mapping specifications in ``hbm.xml`` that database structure matches with mapping specifications in ``hbm.xml``
files. The reason to disable automatic schema creation is for having a proper files. The reason to disable automatic schema creation is for having a proper
control over `database refactorings`_, this allows that application manage control over `database refactorings`_, this allows that application manage
migrations between databases of different NavalPlan versions. Only testing migrations between databases of different LibrePlan versions. Only testing
database is created automatically in the project. database is created automatically in the project.
Liquibase_ is the tool used to manage these **database refactorings**. Liquibase_ is the tool used to manage these **database refactorings**.
@ -556,7 +556,7 @@ Interface
Let's move to **view layer**, now that you already know how is the new entity, Let's move to **view layer**, now that you already know how is the new entity,
which attributes it has and so on. You are ready to start developing the which attributes it has and so on. You are ready to start developing the
interface and start to see something working in the application. NavalPlan uses interface and start to see something working in the application. LibrePlan uses
ZK_ framework for UI development. ZK_ framework for UI development.
Menu entry Menu entry
@ -577,31 +577,31 @@ the ``topItem`` *Administration / Management*::
This option will link to a new ``.zul`` file that will be interface for This option will link to a new ``.zul`` file that will be interface for
application users in order to manage ``StretchesFunctionTemplate`` entity. When application users in order to manage ``StretchesFunctionTemplate`` entity. When
you click the new entry, NavalPlan will the load ``.zul`` file (but, at this you click the new entry, LibrePlan will the load ``.zul`` file (but, at this
moment, the link is not going to work as ``.zul`` page does not exist yet). moment, the link is not going to work as ``.zul`` page does not exist yet).
Main ``.zul`` page Main ``.zul`` page
------------------ ------------------
Then you will create the file ``stretchesFunctionTemplate.zul`` inside Then you will create the file ``stretchesFunctionTemplate.zul`` inside
``navalplanner-webapp/src/main/webapp/planner/`` folder with the following ``libreplan-webapp/src/main/webapp/planner/`` folder with the following
content: content:
:: ::
<?page id="exceptionDayTypesList" title="${i18n:_('NavalPlan: Stretches Function Templates')}" ?> <?page id="exceptionDayTypesList" title="${i18n:_('LibrePlan: Stretches Function Templates')}" ?>
<?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?> <?init class="org.zkoss.zkplus.databind.AnnotateDataBinderInit" ?>
<?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template.zul"?> <?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template.zul"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan.css"?> <?link rel="stylesheet" type="text/css" href="/common/css/libreplan.css"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalplan_zk.css"?> <?link rel="stylesheet" type="text/css" href="/common/css/libreplan_zk.css"?>
<?component name="list" inline="true" macroURI="_listStretchesFunctionTemplates.zul"?> <?component name="list" inline="true" macroURI="_listStretchesFunctionTemplates.zul"?>
<?component name="edit" inline="true" macroURI="_editStretchesFunctionTemplate.zul"?> <?component name="edit" inline="true" macroURI="_editStretchesFunctionTemplate.zul"?>
<zk> <zk>
<window self="@{define(content)}" <window self="@{define(content)}"
apply="org.navalplanner.web.planner.allocation.streches.StretchesFunctionTemplateCRUDController"> apply="org.libreplan.web.planner.allocation.streches.StretchesFunctionTemplateCRUDController">
<vbox id="messagesContainer"/> <vbox id="messagesContainer"/>
<list id="listWindow"/> <list id="listWindow"/>
<edit id="editWindow"/> <edit id="editWindow"/>
@ -613,7 +613,7 @@ window to list (``list``) elements and another for editing them (``edit``).
:: ::
<?page id=”” title=”${i18n:_('NavalPlan: Exception Days')}” ?> <?page id=”” title=”${i18n:_('LibrePlan: Exception Days')}” ?>
This line define that the document is a page. This line define that the document is a page.
@ -679,7 +679,7 @@ The basis for implementing MVC pattern in ZK is ``apply`` attribute.
Your page defines a component ``Window`` with an ``apply`` attribute assigned:: Your page defines a component ``Window`` with an ``apply`` attribute assigned::
<window self="@{define(content)}" <window self="@{define(content)}"
apply="org.navalplanner.web.planner.allocation.streches.StretchesFunctionTemplateCRUDController"> apply="org.libreplan.web.planner.allocation.streches.StretchesFunctionTemplateCRUDController">
It links this ``Window`` component with a ``.java`` file, thereby the Java class It links this ``Window`` component with a ``.java`` file, thereby the Java class
will be able to access and manipulate components defined inside ``window`` tag. will be able to access and manipulate components defined inside ``window`` tag.
@ -693,7 +693,7 @@ the same identifier in ``.zul`` and Java. For example:
:: ::
package org.navalplanner.web.common; package org.libreplan.web.common;
... ...
@ -765,7 +765,7 @@ For this example you will create a new controller
:: ::
package org.navalplanner.web.planner.allocation.streches; package org.libreplan.web.planner.allocation.streches;
... ...
@ -926,7 +926,7 @@ For the moment you just have the code needed for the main page
``stretchesFunctionTemplate.zul``. At this point you are going to create the ``stretchesFunctionTemplate.zul``. At this point you are going to create the
list view interface in a file called ``_listStretchesFunctionTemplates.zul`` list view interface in a file called ``_listStretchesFunctionTemplates.zul``
(in the same folder than main page file (in the same folder than main page file
``navalplanner-webapp/src/main/webapp/planner/``). This file will have the ``libreplan-webapp/src/main/webapp/planner/``). This file will have the
following content: following content:
:: ::
@ -1179,7 +1179,7 @@ entity are called **conversation**.
Every conversation has a starting point and an ending one. Class ``XXXModel`` is Every conversation has a starting point and an ending one. Class ``XXXModel`` is
in charge of implement the conversation. Similar to what happens in DAOs case, in charge of implement the conversation. Similar to what happens in DAOs case,
models will always implement an interface ``IXXXModel``, which will define models will always implement an interface ``IXXXModel``, which will define
conversation steps. In NavalPlan there are some kind of naming conventions in conversation steps. In LibrePlan there are some kind of naming conventions in
order to implement conversations. order to implement conversations.
.. ADMONITION:: Conversation naming conventions .. ADMONITION:: Conversation naming conventions
@ -1247,12 +1247,12 @@ Following the approach explained before, in this use case you are going to
have a model ``StretchesFunctionTemplateModel`` and its interface called have a model ``StretchesFunctionTemplateModel`` and its interface called
``IStretchesFunctionTemplateModel``. That means that you will have two new files ``IStretchesFunctionTemplateModel``. That means that you will have two new files
inside inside
``navalplanner-webapp/src/main/java/org/navalplanner/web/planner/allocation/streches/`` ``libreplan-webapp/src/main/java/org/libreplan/web/planner/allocation/streches/``
folder: folder:
* ``IStretchesFunctionTemplateModel.java``:: * ``IStretchesFunctionTemplateModel.java``::
package org.navalplanner.web.planner.allocation.streches; package org.libreplan.web.planner.allocation.streches;
... ...
@ -1262,7 +1262,7 @@ folder:
* ``StretchesFunctionTemplateModel.java``:: * ``StretchesFunctionTemplateModel.java``::
package org.navalplanner.web.planner.allocation.streches; package org.libreplan.web.planner.allocation.streches;
... ...
@ -1649,7 +1649,7 @@ model::
As you can see, now ``@Transactional`` is used in ``confirmSave`` method without As you can see, now ``@Transactional`` is used in ``confirmSave`` method without
read only attribute as this operation is going to store entity on database. read only attribute as this operation is going to store entity on database.
All these steps will carry out a complete conversation in NavalPlan. In this All these steps will carry out a complete conversation in LibrePlan. In this
case this conversation will allow users to create new case this conversation will allow users to create new
``StretchesFunctionTemplate`` entities and store them on database (if they do ``StretchesFunctionTemplate`` entities and store them on database (if they do
not cancel the operation). not cancel the operation).
@ -1705,7 +1705,7 @@ message:
.. pull-quote:: .. pull-quote::
Run-time error: failed to lazily initialize a collection of role: Run-time error: failed to lazily initialize a collection of role:
org.navalplanner.business.planner.entities.StretchesFunctionTemplate.stretches, org.libreplan.business.planner.entities.StretchesFunctionTemplate.stretches,
no session or session was closed . Error was registered and it will be fixed as no session or session was closed . Error was registered and it will be fixed as
soon as possible. soon as possible.
@ -1741,7 +1741,7 @@ then select the other option.
Testing Testing
======= =======
NavalPlan uses JUnit_ testing framework, as a tool to check application LibrePlan uses JUnit_ testing framework, as a tool to check application
behaviour based on **unit tests**. The main classes tested are: entities, models behaviour based on **unit tests**. The main classes tested are: entities, models
and DAOs. These tests are executed automatically when project is compiled, thus and DAOs. These tests are executed automatically when project is compiled, thus
allow developers check that their changes do not break other parts of allow developers check that their changes do not break other parts of
@ -1766,11 +1766,11 @@ An example of unit test
For example, in order to test that defined mapping is right you can define a For example, in order to test that defined mapping is right you can define a
test for your DAO. Simply create the following file called test for your DAO. Simply create the following file called
``StretchesFunctionTemplateDAOTest.java`` in ``StretchesFunctionTemplateDAOTest.java`` in
``navalplanner-business/src/test/java/org/navalplanner/business/test/planner/daos/``: ``libreplan-business/src/test/java/org/libreplan/business/test/planner/daos/``:
:: ::
package org.navalplanner.business.test.planner.daos; package org.libreplan.business.test.planner.daos;
... ...
@ -1817,7 +1817,7 @@ Validation
In all applications you usually need to validate different data in several In all applications you usually need to validate different data in several
situations. In order to avoid duplicate validations in different layers, situations. In order to avoid duplicate validations in different layers,
validation logic should take place in domain model. NavalPlan uses `Hibernate validation logic should take place in domain model. LibrePlan uses `Hibernate
Validator`_ for this task. Validator`_ for this task.
Basic validations Basic validations
@ -1906,7 +1906,7 @@ Complex validations
Sometimes you need more complex validations than simply check if a field is Sometimes you need more complex validations than simply check if a field is
empty or it has some value, in this case you will have to use ``@AssertTrue`` empty or it has some value, in this case you will have to use ``@AssertTrue``
annotation. There is a convention in NavalPlan for methods annotated with annotation. There is a convention in LibrePlan for methods annotated with
``@AssertTrue`` that names should start with ``checkConstraint`` prefix. ``@AssertTrue`` that names should start with ``checkConstraint`` prefix.
For example, maybe you want to check that inside a ``StretchesFunctionTemplate`` For example, maybe you want to check that inside a ``StretchesFunctionTemplate``
@ -1991,7 +1991,7 @@ database, this constraint will be checked in order to avoid save wrong data.
For example, if you are testing that a value could not be ``null`` and it is For example, if you are testing that a value could not be ``null`` and it is
defined with a ``not-null`` constraint in database mapping. You will add defined with a ``not-null`` constraint in database mapping. You will add
``@NotNull`` annotation and create a test expecting a ``ValidationException``. ``@NotNull`` annotation and create a test expecting a ``ValidationException``.
However, as NavalPlan is not able to store in database the entity (because of However, as LibrePlan is not able to store in database the entity (because of
a database constraint) you will always get a a database constraint) you will always get a
``DataIntegrityViolationException``. ``DataIntegrityViolationException``.
@ -2038,16 +2038,16 @@ right data ``BaseCRUDController`` uses ``ConstraintChecker`` utility in default
Web services Web services
============ ============
NavalPlan provides **web services** as integration tool for third party LibrePlan provides **web services** as integration tool for third party
applications that want to get/send data from/to application. Project applications that want to get/send data from/to application. Project
implementation to perform this task is based in REST_ (Representational State implementation to perform this task is based in REST_ (Representational State
Transfer) services with the following behaviour: Transfer) services with the following behaviour:
* All integration entities will have a code that will allow them to be * All integration entities will have a code that will allow them to be
identified for both NavalPlan and third party application. It is important to identified for both LibrePlan and third party application. It is important to
stress that this ``code`` attribute will be different to Hibernate ``id`` stress that this ``code`` attribute will be different to Hibernate ``id``
attribute, which is an internal identifier for the database and could be attribute, which is an internal identifier for the database and could be
repeated in different instances of NavalPlan. repeated in different instances of LibrePlan.
* When the application receive an entity via web service, it follows the next * When the application receive an entity via web service, it follows the next
steps: steps:
@ -2060,7 +2060,7 @@ Transfer) services with the following behaviour:
database. database.
* Delete operation is not going to be allowed, because of remove some entity * Delete operation is not going to be allowed, because of remove some entity
could take side effects in other schedules done in NavalPlan. Anyway, it is could take side effects in other schedules done in LibrePlan. Anyway, it is
possible that some entities provide an attribute to deactivate them in the possible that some entities provide an attribute to deactivate them in the
system, this could be changed with a modification operation. system, this could be changed with a modification operation.
@ -2143,7 +2143,7 @@ It is very convenient to use these common classes as you will have a lot of
functionalities automatically added to your entity. Now, you are ready to functionalities automatically added to your entity. Now, you are ready to
implement ``getIntegrationEntityDAO`` in the entity. Just one more problem, you implement ``getIntegrationEntityDAO`` in the entity. Just one more problem, you
need to know how to access DAO from an entity, when entities are not in a Spring need to know how to access DAO from an entity, when entities are not in a Spring
context. For this purpose a class called ``Registry`` exists in NavalPlan, so context. For this purpose a class called ``Registry`` exists in LibrePlan, so
before modifying entity you will add the following lines to ``Registry``:: before modifying entity you will add the following lines to ``Registry``::
@Autowired @Autowired
@ -2170,7 +2170,7 @@ facilities for this entity.
Integration entities usually will show ``code`` attribute in the interface, in Integration entities usually will show ``code`` attribute in the interface, in
order that users could uniquely reference to one entity. Moreover, this code order that users could uniquely reference to one entity. Moreover, this code
usually follows some kind of sequence prefixed with entity name, these usually follows some kind of sequence prefixed with entity name, these
sequences are managed in *Configuration* window at NavalPlan. sequences are managed in *Configuration* window at LibrePlan.
So, if you want ``StretchesFunctionTemplate`` entity will be a common So, if you want ``StretchesFunctionTemplate`` entity will be a common
integration entity in the application you will need to do something similar to integration entity in the application you will need to do something similar to
@ -2192,7 +2192,7 @@ Now you are going to implement the **export service** for
``StretchesFunctionTemplate`` entity. Thanks to this service, third party ``StretchesFunctionTemplate`` entity. Thanks to this service, third party
applications could access to the list of ``StretchesFunctionTemplate`` defined applications could access to the list of ``StretchesFunctionTemplate`` defined
in the system. Web services classes are under in the system. Web services classes are under
``navalplanner-webapp/src/main/java/org/navalplanner/ws/`` folder, inside it you ``libreplan-webapp/src/main/java/org/libreplan/ws/`` folder, inside it you
should create a new directory ``stretchesfunctiontemplates`` with two should create a new directory ``stretchesfunctiontemplates`` with two
subdirectories ``api`` and ``impl``. subdirectories ``api`` and ``impl``.
@ -2207,7 +2207,7 @@ First of all, you will create an interface inside ``api`` folder. This interface
will define a method to export all ``StretchesFunctionTemplate`` entities stored will define a method to export all ``StretchesFunctionTemplate`` entities stored
in application database:: in application database::
package org.navalplanner.ws.stretchesfunctiontemplates.api; package org.libreplan.ws.stretchesfunctiontemplates.api;
... ...
@ -2232,7 +2232,7 @@ Then you are going to define all DTOs (inside ``api`` folder), needed for
:: ::
package org.navalplanner.ws.stretchesfunctiontemplates.api; package org.libreplan.ws.stretchesfunctiontemplates.api;
... ...
@ -2256,7 +2256,7 @@ Then you are going to define all DTOs (inside ``api`` folder), needed for
:: ::
package org.navalplanner.ws.stretchesfunctiontemplates.api; package org.libreplan.ws.stretchesfunctiontemplates.api;
... ...
@ -2298,7 +2298,7 @@ Then you are going to define all DTOs (inside ``api`` folder), needed for
:: ::
package org.navalplanner.ws.stretchesfunctiontemplates.api; package org.libreplan.ws.stretchesfunctiontemplates.api;
... ...
@ -2321,7 +2321,7 @@ Then you are going to define all DTOs (inside ``api`` folder), needed for
} }
In these classes you can see that NavalPlan uses JAXB_ for XML bindings. This In these classes you can see that LibrePlan uses JAXB_ for XML bindings. This
makes really easy mapping between Java classes and XML representations providing makes really easy mapping between Java classes and XML representations providing
annotations like ``@XmlAttribute``, ``@XmlElement``, etc. annotations like ``@XmlAttribute``, ``@XmlElement``, etc.
@ -2333,8 +2333,8 @@ content::
elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED, elementFormDefault=javax.xml.bind.annotation.XmlNsForm.QUALIFIED,
namespace=WSCommonGlobalNames.REST_NAMESPACE namespace=WSCommonGlobalNames.REST_NAMESPACE
) )
package org.navalplanner.ws.stretchesfunctiontemplates.api; package org.libreplan.ws.stretchesfunctiontemplates.api;
import org.navalplanner.ws.common.api.WSCommonGlobalNames; import org.libreplan.ws.common.api.WSCommonGlobalNames;
Extending ``GenericRESTService`` Extending ``GenericRESTService``
................................ ................................
@ -2344,7 +2344,7 @@ will extend ``GenericRESTService``. This class provides generic stuff for
implementing new REST services. So, you are going to create the following class implementing new REST services. So, you are going to create the following class
inside ``impl`` folder this time:: inside ``impl`` folder this time::
package org.navalplanner.ws.stretchesfunctiontemplates.impl; package org.libreplan.ws.stretchesfunctiontemplates.impl;
... ...
@ -2410,7 +2410,7 @@ application it is the entity name in lowercase and plural usually.
Another JAX-RS annotation which indicates the media type for a method. In this Another JAX-RS annotation which indicates the media type for a method. In this
case it is used at class level, which means that all methods for this web case it is used at class level, which means that all methods for this web
service produce XML results. This is true in NavalPlan, as even methods to service produce XML results. This is true in LibrePlan, as even methods to
import data will return an XML with the list of errors during the operation or import data will return an XML with the list of errors during the operation or
an empty list if it was performed successfully. an empty list if it was performed successfully.
@ -2420,7 +2420,7 @@ an empty list if it was performed successfully.
In this case it is a Spring annotation which indicates that the class is a In this case it is a Spring annotation which indicates that the class is a
service. Then you will need to add it in service. Then you will need to add it in
``navalplanner-webapp-spring-config.xml`` file:: ``libreplan-webapp-spring-config.xml`` file::
<jaxrs:serviceBeans> <jaxrs:serviceBeans>
... ...
@ -2519,7 +2519,7 @@ entity to a DTO.
This is a simply class that will be inside ``impl`` folder and will have the This is a simply class that will be inside ``impl`` folder and will have the
following content:: following content::
package org.navalplanner.ws.stretchesfunctiontemplates.impl; package org.libreplan.ws.stretchesfunctiontemplates.impl;
... ...
@ -2548,7 +2548,7 @@ following content::
} }
Now you are ready to test your web service. If you go to this URL Now you are ready to test your web service. If you go to this URL
http://localhost:8080/navalplanner-webapp/ws/rest/stretchesfunctiontemplates/, http://localhost:8080/libreplan-webapp/ws/rest/stretchesfunctiontemplates/,
and login with a user that has permission to access web services (e.g. user and login with a user that has permission to access web services (e.g. user
``wsreader`` with password ``wsreader``) you will get a XML with the list of ``wsreader`` with password ``wsreader``) you will get a XML with the list of
``StretchesFunctionTemplate`` stored in the application. ``StretchesFunctionTemplate`` stored in the application.
@ -2599,7 +2599,7 @@ Conclusion
========== ==========
Proposed exercise, even when not fully resolved, allows navigate through basic Proposed exercise, even when not fully resolved, allows navigate through basic
architecture of NavalPlan and know better different elements involved in each architecture of LibrePlan and know better different elements involved in each
layer. layer.
Project view is implemented with ZK web framework. Views are stored in files Project view is implemented with ZK web framework. Views are stored in files
@ -2627,7 +2627,7 @@ part of Hibernate API. Every DAOs and entities inherit from these two classes
respectively. Every domain entities must to have Hibernate mapping. Mapping is respectively. Every domain entities must to have Hibernate mapping. Mapping is
done in ``.hbm.xml`` files. done in ``.hbm.xml`` files.
NavalPlan uses testing framework JUnit. Moreover, Hibernate Validator is used to LibrePlan uses testing framework JUnit. Moreover, Hibernate Validator is used to
validate business logic. Business logic is always tested and validated in model validate business logic. Business logic is always tested and validated in model
layer, where entities are responsible to validate their own data. layer, where entities are responsible to validate their own data.
@ -2637,11 +2637,11 @@ developing new web services. For each web service, some test scripts are
provided in order to check implementation. provided in order to check implementation.
.. _NavalPlan: http://www.navalplan.org/en/ .. _LibrePlan: http://www.libreplan.org/en/
.. _CRUD: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete .. _CRUD: http://en.wikipedia.org/wiki/Create,_read,_update_and_delete
.. _Hibernate: http://www.hibernate.org/ .. _Hibernate: http://www.hibernate.org/
.. _`Optimistic Locking`: http://en.wikipedia.org/wiki/Optimistic_locking .. _`Optimistic Locking`: http://en.wikipedia.org/wiki/Optimistic_locking
.. _`NavalPlan wiki`: http://wiki.navalplan.org/ .. _`LibrePlan wiki`: http://wiki.libreplan.org/
.. _MVC: http://en.wikipedia.org/wiki/Model_view_controller .. _MVC: http://en.wikipedia.org/wiki/Model_view_controller
.. _DAO: http://en.wikipedia.org/wiki/Data_Access_Object .. _DAO: http://en.wikipedia.org/wiki/Data_Access_Object
.. _DDD: http://en.wikipedia.org/wiki/Domain_driven_design .. _DDD: http://en.wikipedia.org/wiki/Domain_driven_design

View file

@ -59,14 +59,14 @@ aparecerán los proyectos que lo conforman y se aceptarán todos para su
importación pulsando sobre la opción Finish. importación pulsando sobre la opción Finish.
Lo siguiente será ejecutar la aplicación desde el entorno, para ello será Lo siguiente será ejecutar la aplicación desde el entorno, para ello será
preciso seleccionar con el botón derecho el proyecto navalplanner-webapp y preciso seleccionar con el botón derecho el proyecto libreplan-webapp y
en la opción Run As seleccionar Run Configurations.... en la opción Run As seleccionar Run Configurations....
se crea una nueva como Maven Build haciendo doble click sobre el ratón se crea una nueva como Maven Build haciendo doble click sobre el ratón
como nombre a esta New_configuracion podemos poner Maven Xestion Producion como nombre a esta New_configuracion podemos poner Maven Xestion Producion
Como base directory se podrá selecionar Browse WorkSpace y allí la aplicación Como base directory se podrá selecionar Browse WorkSpace y allí la aplicación
navalplanner-webapp libreplan-webapp
Como Goals se marcará: jetty:stop jetty:run Como Goals se marcará: jetty:stop jetty:run
@ -75,7 +75,7 @@ También es posible marcar la opción Offline si queremos que maven no
acceda a internet para descargar los paquetes. acceda a internet para descargar los paquetes.
Pulsamos sobre la opción Run. Y nos realizará una primera ejecución y Pulsamos sobre la opción Run. Y nos realizará una primera ejecución y
la aplicación ya estará disponible en http://localhost:8080/navalplanner-webapp/ la aplicación ya estará disponible en http://localhost:8080/libreplan-webapp/
A partir de este momento la opción por defecto de ejecuución será la que acabamos de ejecutar y será accesible desde la barra de herramientas de Eclipse. A partir de este momento la opción por defecto de ejecuución será la que acabamos de ejecutar y será accesible desde la barra de herramientas de Eclipse.
También la depuración ejecutará esta opción por defecto. También la depuración ejecutará esta opción por defecto.

View file

@ -1,18 +1,18 @@
Lista de comandos para la instalación de pruebas de la aplicación navalplan sobre una ubuntu-karmic i386 recien instalada: Lista de comandos para la instalación de pruebas de la aplicación libreplan sobre una ubuntu-karmic i386 recien instalada:
sudo apt-get install postgresql postgresql-client dbconfig-common tomcat6 openjdk-6-jre-headless openjdk-6-jre libpg-java sudo apt-get install postgresql postgresql-client dbconfig-common tomcat6 openjdk-6-jre-headless openjdk-6-jre libpg-java
sudo apt-get install libqt4-webkit libqt4-svg xvfb sudo apt-get install libqt4-webkit libqt4-svg xvfb
wget http://navalplan.org/downloads/cutycapt_20100108_i386.deb wget http://libreplan.org/downloads/cutycapt_20100108_i386.deb
sudo dpkg -i cutycapt_20100108_i386.deb sudo dpkg -i cutycapt_20100108_i386.deb
sudo ln -s /usr/share/java/postgresql-jdbc3-8.2.jar /usr/share/tomcat6/lib sudo ln -s /usr/share/java/postgresql-jdbc3-8.2.jar /usr/share/tomcat6/lib
wget wget http://navalplan.org/downloads/navalplan_20100415_all.deb wget wget http://libreplan.org/downloads/libreplan_20100415_all.deb
sudo dpkg -i navalplan_20100415_all.deb sudo dpkg -i libreplan_20100415_all.deb
Configurar base de datos: Si Configurar base de datos: Si
Usuario base de datos: escribir el nombre que interese, por ejemplo "navalplan" Usuario base de datos: escribir el nombre que interese, por ejemplo "libreplan"
Password base de datos: escribir una contraseña, por ejemplo "navalplan" Password base de datos: escribir una contraseña, por ejemplo "libreplan"
sudo /etc/init.d/tomcat6 restart sudo /etc/init.d/tomcat6 restart
Poner en el Navegador Firefox la dirección: http://localhost:8080/navalplanner-webapp/ Poner en el Navegador Firefox la dirección: http://localhost:8080/libreplan-webapp/

View file

@ -21,7 +21,7 @@ $ sudo apt-get install libqt4-webkit libqt4-svg xvfb
Descargamos a utilidade CutyCapt Descargamos a utilidade CutyCapt
$ wget http://navalplan.org/downloads/cutycapt_20100108_i386.deb $ wget http://libreplan.org/downloads/cutycapt_20100108_i386.deb
Instalamos CutyCapt Instalamos CutyCapt
@ -37,7 +37,7 @@ para permitir o acceso a base de datos
---------------------- context.xml ----------------------------- ---------------------- context.xml -----------------------------
<Context> <Context>
... ...
<Resource name="jdbc/navalplanner-ds" auth="Container" <Resource name="jdbc/libreplan-ds" auth="Container"
type="javax.sql.DataSource" type="javax.sql.DataSource"
maxActive="100" maxIdle="30" maxWait="10000" maxActive="100" maxIdle="30" maxWait="10000"
username="naval" password="naval" username="naval" password="naval"
@ -47,11 +47,11 @@ para permitir o acceso a base de datos
</Context> </Context>
---------------------- --------------------------------------- ---------------------- ---------------------------------------
incluimos a seguintes directivas en un nuevo fichero /etc/tomcat6/policy.d/51navalplan.policy incluimos a seguintes directivas en un nuevo fichero /etc/tomcat6/policy.d/51libreplan.policy
-------------------------- 51navalplan.policy----------------------- -------------------------- 51libreplan.policy-----------------------
grant codeBase "file:/var/lib/tomcat6/webapps/navalplanner-webapp/-" { grant codeBase "file:/var/lib/tomcat6/webapps/libreplan-webapp/-" {
permission java.security.AllPermission; permission java.security.AllPermission;
}; };
@ -63,7 +63,7 @@ dentro dos permisos de "tomcat-juli.jar"
---------------------------03catalina.policy ---------------------- ---------------------------03catalina.policy ----------------------
permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}navalplanner-webapp${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read"; permission java.io.FilePermission "${catalina.base}${file.separator}webapps${file.separator}libreplan-webapp${file.separator}WEB-INF${file.separator}classes${file.separator}logging.properties", "read";
------------------------------------------------------------------- -------------------------------------------------------------------
@ -83,15 +83,15 @@ Instalamos a librería de acceso a jdbc a postgresql en tomcat, o jar está no p
Instalamos a última versión da aplicación no tomcat Instalamos a última versión da aplicación no tomcat
$ cd /var/lib/tomcat6/webapps $ cd /var/lib/tomcat6/webapps
$ sudo wget http://navalplan.org/downloads/navalplanner-webapp.war $ sudo wget http://libreplan.org/downloads/libreplan-webapp.war
$ sudo chown tomcat6.tomcat6 navalplanner-webapp.war $ sudo chown tomcat6.tomcat6 libreplan-webapp.war
Reiniciamos o tomcat para que recolla todas as modificacións da configuración: Reiniciamos o tomcat para que recolla todas as modificacións da configuración:
$ sudo /etc/init.d/tomcat6 restart $ sudo /etc/init.d/tomcat6 restart
Neste intre a aplicación debería estar accesible en : http://localhost:8080/navalplanner-webapp/ Neste intre a aplicación debería estar accesible en : http://localhost:8080/libreplan-webapp/
------------------------------------------------------------------------ ------------------------------------------------------------------------
Se quixeramos facer un volcado da base de datos so precisariamos empregar o seguinte comando, isto non é necesario para a instalación. Se quixeramos facer un volcado da base de datos so precisariamos empregar o seguinte comando, isto non é necesario para a instalación.

View file

@ -100,7 +100,7 @@ Ejercicio 3.- Medición de progreso del proyecto
Ejercicio 4.- Simulación de duración del proyecto siguiendo el método de Montecarlo Ejercicio 4.- Simulación de duración del proyecto siguiendo el método de Montecarlo
=================================================================================== ===================================================================================
* Acceder la ventana de Configuración de NavalPlan y habilitar el método de * Acceder la ventana de Configuración de LibrePlan y habilitar el método de
Montecarlo. Montecarlo.
* Acceder al proyecto *Proyecto 1 - Programa de contabilidad*. * Acceder al proyecto *Proyecto 1 - Programa de contabilidad*.
@ -118,7 +118,7 @@ Ejercicio 5 .- Subcontratación de tareas
======================================== ========================================
Para poder subcontratar una tarea, antes es necesario contar con una empresa Para poder subcontratar una tarea, antes es necesario contar con una empresa
dada de alta con *NavalPlan* instalado. Crear dicha empresa: dada de alta con *LibrePlan* instalado. Crear dicha empresa:
* Nombre: Empresa subcontratada * Nombre: Empresa subcontratada
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -126,7 +126,7 @@ dada de alta con *NavalPlan* instalado. Crear dicha empresa:
* Subcontratista: Sí. * Subcontratista: Sí.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Sí. * Interactúa con aplicaciones: Sí.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -282,7 +282,7 @@ El alumno tiene que crear un tipo de parte de trabajo con los siguientes datos:
que tenga un tamaño de 20 caracteres. que tenga un tamaño de 20 caracteres.
Ejercicio 13 .- Introducir los siguientes tipos de horas en NavalPlan Ejercicio 13 .- Introducir los siguientes tipos de horas en LibrePlan
===================================================================== =====================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -1,11 +1,11 @@
##################################################### #####################################################
Ejercicios Curso Formativo para usuarios de NavalPlan Ejercicios Curso Formativo para usuarios de LibrePlan
##################################################### #####################################################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
*NavalPlan* es una aplicación web para la planificación, monitorización y control de proyectos representados mediante *diagramas de Gantt*. Entre sus funcionalidades más importantes se destaca: *LibrePlan* es una aplicación web para la planificación, monitorización y control de proyectos representados mediante *diagramas de Gantt*. Entre sus funcionalidades más importantes se destaca:
* Que es multiproyecto. * Que es multiproyecto.
* Asignación de recursos por grupos: grupos dinámicos basados en criterios. * Asignación de recursos por grupos: grupos dinámicos basados en criterios.
@ -13,7 +13,7 @@ Ejercicios Curso Formativo para usuarios de NavalPlan
* Descomposición estructurada de trabajo para los proyectos. * Descomposición estructurada de trabajo para los proyectos.
* Control de la sobrecarga de asignación de recursos. * Control de la sobrecarga de asignación de recursos.
* Análise de costes basado en partes de trabajo. * Análise de costes basado en partes de trabajo.
* Integración con otras instancias de *NavalPlan* y software de terceros. * Integración con otras instancias de *LibrePlan* y software de terceros.
Este guía de formación tiene copyright de Igalia S.L. y se publica con una Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España. Este guía de formación tiene copyright de Igalia S.L. y se publica con una Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España.

View file

@ -41,7 +41,7 @@ C) Comprobar diferentes tipos de avances:
E) Método de Montecarlo: E) Método de Montecarlo:
* Acceder a NavalPlan Configuración e habilitar o método de Montecarlo. * Acceder a LibrePlan Configuración e habilitar o método de Montecarlo.
* Acceder ó pedido do grupo 1. * Acceder ó pedido do grupo 1.
@ -57,7 +57,7 @@ E) Método de Montecarlo:
Exercicio 2 .- Subcontratación de tarefas (10m) Exercicio 2 .- Subcontratación de tarefas (10m)
================================================ ================================================
Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con NavalPlan instalado. Crear dita empresa: Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con LibrePlan instalado. Crear dita empresa:
* Nome: Empresa subcontratada grupo 1 * Nome: Empresa subcontratada grupo 1
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -65,7 +65,7 @@ Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa
* Subcontractor: Si. * Subcontractor: Si.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Si. * Interactúa con aplicaciones: Si.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -184,7 +184,7 @@ O alumno ten que crear un tipo de parte de traballo cos seguintes datos:
* Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo". * Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo".
Exercicio 11.- Introducir os seguintes tipos de horas en NavalPlan (10m) Exercicio 11.- Introducir os seguintes tipos de horas en LibrePlan (10m)
======================================================================== ========================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -41,7 +41,7 @@ C) Comprobar diferentes tipos de avances:
E) Método de Montecarlo: E) Método de Montecarlo:
* Acceder a NavalPlan Configuración e habilitar o método de Montecarlo. * Acceder a LibrePlan Configuración e habilitar o método de Montecarlo.
* Acceder ó pedido do grupo 2. * Acceder ó pedido do grupo 2.
@ -57,7 +57,7 @@ E) Método de Montecarlo:
Exercicio 2 .- Subcontratación de tarefas (10m) Exercicio 2 .- Subcontratación de tarefas (10m)
================================================ ================================================
Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con NavalPlan instalado. Crear dita empresa: Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con LibrePlan instalado. Crear dita empresa:
* Nome: Empresa subcontratada grupo 2 * Nome: Empresa subcontratada grupo 2
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -65,7 +65,7 @@ Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa
* Subcontractor: Si. * Subcontractor: Si.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Si. * Interactúa con aplicaciones: Si.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -184,7 +184,7 @@ O alumno ten que crear un tipo de parte de traballo cos seguintes datos:
* Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo". * Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo".
Exercicio 11.- Introducir os seguintes tipos de horas en NavalPlan (10m) Exercicio 11.- Introducir os seguintes tipos de horas en LibrePlan (10m)
======================================================================== ========================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -41,7 +41,7 @@ C) Comprobar diferentes tipos de avances:
E) Método de Montecarlo: E) Método de Montecarlo:
* Acceder a NavalPlan Configuración e habilitar o método de Montecarlo. * Acceder a LibrePlan Configuración e habilitar o método de Montecarlo.
* Acceder ó pedido do grupo 3. * Acceder ó pedido do grupo 3.
@ -57,7 +57,7 @@ E) Método de Montecarlo:
Exercicio 2 .- Subcontratación de tarefas (10m) Exercicio 2 .- Subcontratación de tarefas (10m)
=============================================== ===============================================
Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con NavalPlan instalado. Crear dita empresa: Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con LibrePlan instalado. Crear dita empresa:
* Nome: Empresa subcontratada grupo 3 * Nome: Empresa subcontratada grupo 3
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -65,7 +65,7 @@ Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa
* Subcontractor: Si. * Subcontractor: Si.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Si. * Interactúa con aplicaciones: Si.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -184,7 +184,7 @@ O alumno ten que crear un tipo de parte de traballo cos seguintes datos:
* Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo". * Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo".
Exercicio 11.- Introducir os seguintes tipos de horas en NavalPlan (10m) Exercicio 11.- Introducir os seguintes tipos de horas en LibrePlan (10m)
============================================================================ ============================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -41,7 +41,7 @@ C) Comprobar diferentes tipos de avances:
E) Método de Montecarlo: E) Método de Montecarlo:
* Acceder a NavalPlan Configuración e habilitar o método de Montecarlo. * Acceder a LibrePlan Configuración e habilitar o método de Montecarlo.
* Acceder ó pedido do grupo 4. * Acceder ó pedido do grupo 4.
@ -57,7 +57,7 @@ E) Método de Montecarlo:
Exercicio 2 .- Subcontratación de tarefas (10m) Exercicio 2 .- Subcontratación de tarefas (10m)
=============================================== ===============================================
Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con NavalPlan instalado. Crear dita empresa: Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con LibrePlan instalado. Crear dita empresa:
* Nome: Empresa subcontratada grupo 4 * Nome: Empresa subcontratada grupo 4
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -65,7 +65,7 @@ Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa
* Subcontractor: Si. * Subcontractor: Si.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Si. * Interactúa con aplicaciones: Si.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -184,7 +184,7 @@ O alumno ten que crear un tipo de parte de traballo cos seguintes datos:
* Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo". * Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo".
Exercicio 11.- Introducir os seguintes tipos de horas en NavalPlan (10m) Exercicio 11.- Introducir os seguintes tipos de horas en LibrePlan (10m)
============================================================================ ============================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -41,7 +41,7 @@ C) Comprobar diferentes tipos de avances:
E) Método de Montecarlo: E) Método de Montecarlo:
* Acceder a NavalPlan Configuración e habilitar o método de Montecarlo. * Acceder a LibrePlan Configuración e habilitar o método de Montecarlo.
* Acceder ó pedido do grupo 5. * Acceder ó pedido do grupo 5.
@ -57,7 +57,7 @@ E) Método de Montecarlo:
Exercicio 2 .- Subcontratación de tarefas (10m) Exercicio 2 .- Subcontratación de tarefas (10m)
=============================================== ===============================================
Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con NavalPlan instalado. Crear dita empresa: Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa dada de alta con LibrePlan instalado. Crear dita empresa:
* Nome: Empresa subcontratada grupo 5 * Nome: Empresa subcontratada grupo 5
* NIF: COMPANY_CODE * NIF: COMPANY_CODE
@ -65,7 +65,7 @@ Para poder subcontratar unha tarefa, antes é necesario contar con unha empresa
* Subcontractor: Si. * Subcontractor: Si.
* Usuario: wswriter * Usuario: wswriter
* Interactúa con aplicaciones: Si. * Interactúa con aplicaciones: Si.
* URI: http://localhost:8080/navalplanner-webapp/ * URI: http://localhost:8080/libreplan-webapp/
* Login: wswriter * Login: wswriter
* Contraseña: wswriter * Contraseña: wswriter
@ -184,7 +184,7 @@ O alumno ten que crear un tipo de parte de traballo cos seguintes datos:
* Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo". * Crear un campo de tipo de etiqueta a nivel de cabeceira que inclúa o centro de custo. Incluír como etiqueta por defecto "CC Vigo".
Exercicio 11.- Introducir os seguintes tipos de horas en NavalPlan (10m) Exercicio 11.- Introducir os seguintes tipos de horas en LibrePlan (10m)
============================================================================ ============================================================================
* **Tipo de hora:** * **Tipo de hora:**

View file

@ -1,13 +1,13 @@
##################################################### #####################################################
Exercicios Curso Formativo para Usuarios de NavalPlan Exercicios Curso Formativo para Usuarios de LibrePlan
##################################################### #####################################################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
NavalPlan é unha aplicación de xestión da produción para o sector da auxilar do naval galego desenvolvida pola Fundación Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia, dependente da Consellería de Economía e Indutria da Xunta de Galicia. LibrePlan é unha aplicación de xestión da produción para o sector da auxilar do naval galego desenvolvida pola Fundación Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia, dependente da Consellería de Economía e Indutria da Xunta de Galicia.
Este documento é a guía de exercicios empregada nas sesións de formación de NavalPlan para o sector naval. Os seguintes exercicios estan pensados para que poidan ser desenvoltos por 5 usuarios simultaneamente sobre unha instalación de NavalPlan. Este documento é a guía de exercicios empregada nas sesións de formación de LibrePlan para o sector naval. Os seguintes exercicios estan pensados para que poidan ser desenvoltos por 5 usuarios simultaneamente sobre unha instalación de LibrePlan.
Este guía de formación ten copyright da Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia publicase cunha Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España. Este guía de formación ten copyright da Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia publicase cunha Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España.

View file

@ -3,8 +3,8 @@ Introducción
------------ ------------
El objetivo de este curso formativo es capacitar a los futuros usuarios de El objetivo de este curso formativo es capacitar a los futuros usuarios de
NavalPlan para que obtengan el máximo rendimiento de las características del LibrePlan para que obtengan el máximo rendimiento de las características del
software NavalPlan desarrollado por la Fundación para el Fomento de la Calidad software LibrePlan desarrollado por la Fundación para el Fomento de la Calidad
Industrial y Desarrollo Tecnológico de Galicia para la gestión de la producción Industrial y Desarrollo Tecnológico de Galicia para la gestión de la producción
en el sector naval. en el sector naval.
@ -20,10 +20,10 @@ Los asistentes al curso al final de la primera sesión serán capaces de:
Para esto: Para esto:
* Trabajarán los conceptos necesarios para la realización de planificaciones con NavalPlan. * Trabajarán los conceptos necesarios para la realización de planificaciones con LibrePlan.
* Conocerán las distintas pantallas de NavalPlan y aplicarán sus funcionalidades en casos prácticos. * Conocerán las distintas pantallas de LibrePlan y aplicarán sus funcionalidades en casos prácticos.
Estarán en disposición de utilizar NavalPlan para **realizar planificaciones reales en sus empresas**. Estarán en disposición de utilizar LibrePlan para **realizar planificaciones reales en sus empresas**.
--------------------------------------------- ---------------------------------------------
Módulo de administración de entidades básicas Módulo de administración de entidades básicas
@ -86,7 +86,7 @@ También es posible realizar las siguientes operaciones sobre criterios:
* Modificación de los datos de un tipo de criterio * Modificación de los datos de un tipo de criterio
* Reorganización de la estructura de criterios * Reorganización de la estructura de criterios
Sobre estas operaciones se puede encontrar más documentación en la sección de la ayuda de *NavalPlan* Sobre estas operaciones se puede encontrar más documentación en la sección de la ayuda de *LibrePlan*
Administración de etiquetas Administración de etiquetas
=========================== ===========================
@ -203,7 +203,7 @@ Para facilitar el empleo y configuración de los calendarios en la aplicación,
Para su selección hay que seguir los siguientes pasos: Para su selección hay que seguir los siguientes pasos:
* Entrar en la sección de **Administración / Gestión > NavalPlan: Configuración** del menú principal. * Entrar en la sección de **Administración / Gestión > LibrePlan: Configuración** del menú principal.
* Seleccionar en el campo *Calendario por defecto*, el calendario deseado. * Seleccionar en el campo *Calendario por defecto*, el calendario deseado.
* Presionar en el botón *Guardar* * Presionar en el botón *Guardar*
@ -217,10 +217,10 @@ Conceptos teóricos
Los recursos son las entidades que realizan los trabajos necesarios para completar los proyectos. Los proyectos en la planificación se representan mediante diagramas de Gantt que disponen en el tiempo las actividades. Los recursos son las entidades que realizan los trabajos necesarios para completar los proyectos. Los proyectos en la planificación se representan mediante diagramas de Gantt que disponen en el tiempo las actividades.
En *NavalPlan* existen tres tipos de recursos capaces de realizar trabajo. Estos tres tipos son: En *LibrePlan* existen tres tipos de recursos capaces de realizar trabajo. Estos tres tipos son:
* *Trabajadores*. Los trabajadores son los recursos humanos de la empresa. * *Trabajadores*. Los trabajadores son los recursos humanos de la empresa.
* *Máquinas*. Las máquinas son capaces también de desarrollar tareas y tienen existencia en *NavalPlan*. * *Máquinas*. Las máquinas son capaces también de desarrollar tareas y tienen existencia en *LibrePlan*.
* *Recursos virtuales*. Los recursos virtuales son como grupos de trabajadores que no tienen existencia real en la empresa, es decir, no se corresponden con trabajadores reales, con nombre y apellidos, de la empresa. * *Recursos virtuales*. Los recursos virtuales son como grupos de trabajadores que no tienen existencia real en la empresa, es decir, no se corresponden con trabajadores reales, con nombre y apellidos, de la empresa.
Utilidad de los recursos virtuales Utilidad de los recursos virtuales
@ -228,7 +228,7 @@ Utilidad de los recursos virtuales
Los recursos virtuales son, como se explicó, como grupos de trabajadores pero que no se corresponden con trabajadores concretos con nombre y apellidos. Los recursos virtuales son, como se explicó, como grupos de trabajadores pero que no se corresponden con trabajadores concretos con nombre y apellidos.
Se dotó a *NavalPlan* la posibilidad de usar recursos virtuales debido a dos escenarios de uso: Se dotó a *LibrePlan* la posibilidad de usar recursos virtuales debido a dos escenarios de uso:
* Usar recursos virtuales para simular contrataciones futuras por necesidades de proyectos. Puede ocurrir que para satisfacer proyectos futuros las empresas necesiten contratar trabajadores en un momento futuro del tiempo. Para prever y simular cuantos trabajadores pueden necesitar los usuarios de la aplicación pueden usar los recursos virtuales. * Usar recursos virtuales para simular contrataciones futuras por necesidades de proyectos. Puede ocurrir que para satisfacer proyectos futuros las empresas necesiten contratar trabajadores en un momento futuro del tiempo. Para prever y simular cuantos trabajadores pueden necesitar los usuarios de la aplicación pueden usar los recursos virtuales.
* También pueden existir empresas que deseen gestionar las aplicación sin tener que llevar una gestión de los recursos con respeto los datos de los trabajadores reales de la empresa. Para estos casos, los usuario pueden usar también los recursos virtuales. * También pueden existir empresas que deseen gestionar las aplicación sin tener que llevar una gestión de los recursos con respeto los datos de los trabajadores reales de la empresa. Para estos casos, los usuario pueden usar también los recursos virtuales.
@ -246,7 +246,7 @@ Para crear un trabajador hay que realizar los siguientes pasos:
* Cubrir los campos del formulario: *Nombre*, *Apellidos*. * Cubrir los campos del formulario: *Nombre*, *Apellidos*.
* Presionar el botón *Guardar* o bien *Guardar y continuar*. * Presionar el botón *Guardar* o bien *Guardar y continuar*.
A partir diera momento existirá un nuevo trabajador en *NavalPlan*. A partir diera momento existirá un nuevo trabajador en *LibrePlan*.
Como nota decir que existe una comprobación que impide la grabación de dos trabajadores con el incluso nombre, apellidos y NIF. Todos estos campos son, además, obligatorios. Como nota decir que existe una comprobación que impide la grabación de dos trabajadores con el incluso nombre, apellidos y NIF. Todos estos campos son, además, obligatorios.
@ -348,14 +348,14 @@ Los trabajadores tienen un calendario propio. Sin embargo, no es un calendario q
El hecho de derivar de un calendario significa que, sino se configura, hereda completamente la definiciones del calendario del cual deriva: hereda la definición de la semana de trabajo, los días festivos, etc. El hecho de derivar de un calendario significa que, sino se configura, hereda completamente la definiciones del calendario del cual deriva: hereda la definición de la semana de trabajo, los días festivos, etc.
*NavalPlan*, sin embargo, además de hacer que sus recursos deriven del calendario de la empresa, permite la definición de particularidades del calendario. Esto implica que las vacaciones del trabajador o casos especiales de jornada de trabajo como el número de horas de que consta el contrato de trabajo, sea contemplado en la planificación. *LibrePlan*, sin embargo, además de hacer que sus recursos deriven del calendario de la empresa, permite la definición de particularidades del calendario. Esto implica que las vacaciones del trabajador o casos especiales de jornada de trabajo como el número de horas de que consta el contrato de trabajo, sea contemplado en la planificación.
Asignación de calendario padre a trabajadores en creación de trabajador Asignación de calendario padre a trabajadores en creación de trabajador
----------------------------------------------------------------------- -----------------------------------------------------------------------
En la creación de un trabajador se crea un calendario al trabajador que deriva, por defecto, del calendario configurado por defecto en la aplicación. En la creación de un trabajador se crea un calendario al trabajador que deriva, por defecto, del calendario configurado por defecto en la aplicación.
La configuración de la aplicación se puede consultar en *Administracion* > *NavalPlan: Configuracion*. La configuración de la aplicación se puede consultar en *Administracion* > *LibrePlan: Configuracion*.
Para cambiar el calendario del cual deriva un recurso en el momento de la creación hay que dar los siguientes pasos: Para cambiar el calendario del cual deriva un recurso en el momento de la creación hay que dar los siguientes pasos:
@ -417,7 +417,7 @@ Los dos primeros conceptos, es decir, la jornada semanal de trabajo y las excepc
Dicho lo anterior, los calendarios de los recursos tienen una particularidad con respeto al calendario de la empresa. Esta peculiaridad son los *períodos de activación*. Dicho lo anterior, los calendarios de los recursos tienen una particularidad con respeto al calendario de la empresa. Esta peculiaridad son los *períodos de activación*.
Los *períodos de activación* son intervalos en los cuáles los trabajadores se encuentran disponibles para la planificación. Conceptualmente se corresponden con aquellos períodos en los cuáles el trabajador se encuentra contratado por la empresa. Un trabajador puede ser contratado por un tiempo, después abandonar la entidad a la que pertenece y reincorporarse posteriormente. *NavalPlan* guarda la historia de planificación de todos los recursos y utiliza la información de activación para impedir que se le asigne trabajo cuando no se encuentran contratados. Los *períodos de activación* son intervalos en los cuáles los trabajadores se encuentran disponibles para la planificación. Conceptualmente se corresponden con aquellos períodos en los cuáles el trabajador se encuentra contratado por la empresa. Un trabajador puede ser contratado por un tiempo, después abandonar la entidad a la que pertenece y reincorporarse posteriormente. *LibrePlan* guarda la historia de planificación de todos los recursos y utiliza la información de activación para impedir que se le asigne trabajo cuando no se encuentran contratados.
En el momento de la creación de un trabajador, por defecto, se configura con un período de activación que va desde el momento del alta hasta el infinito. Si se desea cambiar esta información no es posible realizarlo en el momento de la creación y esta operación tiene que ser hecha con una edición posterior del recurso. En el momento de la creación de un trabajador, por defecto, se configura con un período de activación que va desde el momento del alta hasta el infinito. Si se desea cambiar esta información no es posible realizarlo en el momento de la creación y esta operación tiene que ser hecha con una edición posterior del recurso.
@ -453,7 +453,7 @@ Básicamente existen dos tipos de nodos:
* *Nodos contenedores*. Un nodo contenedor es un agregador y actúa como clasificador de elementos. No introduce trabajo por él mismo, sino que el trabajo por él representado es la suma de todas las horas de sus nodos descendientes. * *Nodos contenedores*. Un nodo contenedor es un agregador y actúa como clasificador de elementos. No introduce trabajo por él mismo, sino que el trabajo por él representado es la suma de todas las horas de sus nodos descendientes.
* *Nodos hoja*. Un nodo hoja es un nodo que no tiene hijos y que está constituido por uno o más conjuntos de horas. * *Nodos hoja*. Un nodo hoja es un nodo que no tiene hijos y que está constituido por uno o más conjuntos de horas.
En *NavalPlan*, por tanto, se permite el trabajo con proyectos estructurados según los tipos de nodos precendentes. En *LibrePlan*, por tanto, se permite el trabajo con proyectos estructurados según los tipos de nodos precendentes.
Acceso a vista global de la empresa Acceso a vista global de la empresa
=================================== ===================================
@ -481,10 +481,10 @@ Para la creación de un proyecto hay que acometer los siguientes pasos:
* Acceder al opción *Planificación > Proyectos*. * Acceder al opción *Planificación > Proyectos*.
* Presionar en el botón situado en la barra de botón con el texto *Crear proyecto nuevo*. * Presionar en el botón situado en la barra de botón con el texto *Crear proyecto nuevo*.
* *NavalPlan* muestra una ventana donde se solicitan los datos básicos del proyecto: * *LibrePlan* muestra una ventana donde se solicitan los datos básicos del proyecto:
* *Nombre*. Cadena identificativa del proyecto. Obligatorio. * *Nombre*. Cadena identificativa del proyecto. Obligatorio.
* *Código del proyecto*. Código para identificar el proyecto. Deber ser único. Se puede no cubrir si se tiene marcado el checkbox *Generar código*. En ese caso se encarga *NavalPlan* de crear el código correspondiente. Obligatorio. * *Código del proyecto*. Código para identificar el proyecto. Deber ser único. Se puede no cubrir si se tiene marcado el checkbox *Generar código*. En ese caso se encarga *LibrePlan* de crear el código correspondiente. Obligatorio.
* *Fecha de inicio*. Esta fecha es la fecha a partir de la cual se comenzará la planificación del proyecto. Obligatorio. * *Fecha de inicio*. Esta fecha es la fecha a partir de la cual se comenzará la planificación del proyecto. Obligatorio.
* *Fecha límite*. Este campo es opcional e indica cuál es el deadline. * *Fecha límite*. Este campo es opcional e indica cuál es el deadline.
* *Cliente*. Campo para seleccionar cuales de los clientes de la empresa es el contratista del proyecto. * *Cliente*. Campo para seleccionar cuales de los clientes de la empresa es el contratista del proyecto.
@ -494,7 +494,7 @@ Para la creación de un proyecto hay que acometer los siguientes pasos:
* Los datos generales pueden ser editados presionando en la pestaña *Datos generales*. Los datos que se pueden introducir son: * Los datos generales pueden ser editados presionando en la pestaña *Datos generales*. Los datos que se pueden introducir son:
* *Nombre del proyecto*. Cadena identificativa del proyecto. Obligatorio. * *Nombre del proyecto*. Cadena identificativa del proyecto. Obligatorio.
* *Código del proyecto*. Código para identificar el proyecto. Deber ser único. No cubrirlo y mantener marcado el checkbox *Generar código*. Si éste está cubierto se encarga NavalPlan de crear el código correspondiente. Obligatorio. * *Código del proyecto*. Código para identificar el proyecto. Deber ser único. No cubrirlo y mantener marcado el checkbox *Generar código*. Si éste está cubierto se encarga LibrePlan de crear el código correspondiente. Obligatorio.
* *Código externo*. Campo utilizado para la integración con terceras aplicaciones. * *Código externo*. Campo utilizado para la integración con terceras aplicaciones.
* *Modo de planificación*: Adelante o atrás. La planificación hacia delante es aquella en la que las tareas se van colocando desde la fecha de inicio y se mueven hacia delante según se establecen dependencias. La planificación hacia atrás es aquella que las tareas se colocan con fin en la fecha de entrega y las dependencias entre ellas se gestionan hacia atrás. * *Modo de planificación*: Adelante o atrás. La planificación hacia delante es aquella en la que las tareas se van colocando desde la fecha de inicio y se mueven hacia delante según se establecen dependencias. La planificación hacia atrás es aquella que las tareas se colocan con fin en la fecha de entrega y las dependencias entre ellas se gestionan hacia atrás.
* *Fecha de inicio*. Esta fecha es la fecha a partir de la cual se comenzará la planificación del proyecto. Obligatorio. * *Fecha de inicio*. Esta fecha es la fecha a partir de la cual se comenzará la planificación del proyecto. Obligatorio.
@ -616,7 +616,7 @@ Conceptos teóricos
Una vez los proyectos está introducidos con un conjunto de horas el siguiente paso es determinar cómo se planifican. Una vez los proyectos está introducidos con un conjunto de horas el siguiente paso es determinar cómo se planifican.
*NavalPlan* es flexible para determinar la granularidad de lo que se quiere planificar y para ello introduce el concepto de puntos de planificación. Esto permite a los usuarios tener flexibilidad a la hora de decidir si un proyecto interesa planificarlo con mucho detalle o bien se interesa gestionarlo más globalmente. *LibrePlan* es flexible para determinar la granularidad de lo que se quiere planificar y para ello introduce el concepto de puntos de planificación. Esto permite a los usuarios tener flexibilidad a la hora de decidir si un proyecto interesa planificarlo con mucho detalle o bien se interesa gestionarlo más globalmente.
Los puntos de planificación son marcas que se realizan sobre los árboles de tareas de un proyecto para indicar a que nivel se desea planificar. Si se marca una tarea como punto de planificación significa que se va a crear una actividad de planificación a ese nivel que agrupa el trabajo de todas las tareas situados por debajo de él. Si este punto de planificación se corresponde con una tarea que no es raíz, lo que ocurre con las tareas por encima de él, es que estas se convierten en tareas contenedoras en planificación. Los puntos de planificación son marcas que se realizan sobre los árboles de tareas de un proyecto para indicar a que nivel se desea planificar. Si se marca una tarea como punto de planificación significa que se va a crear una actividad de planificación a ese nivel que agrupa el trabajo de todas las tareas situados por debajo de él. Si este punto de planificación se corresponde con una tarea que no es raíz, lo que ocurre con las tareas por encima de él, es que estas se convierten en tareas contenedoras en planificación.
@ -807,7 +807,7 @@ En la **vista de proyecto** existen cuatro perspectivas disponibles:
* *Uso de recursos*: muestra la visión de los recursos asignados al proyecto en el tiempo con su carga de trabajo tanto en tareas de este proyecto como las pertenecientes a otros proyectos por asignaciones genéricas o específicas. * *Uso de recursos*: muestra la visión de los recursos asignados al proyecto en el tiempo con su carga de trabajo tanto en tareas de este proyecto como las pertenecientes a otros proyectos por asignaciones genéricas o específicas.
* *Detalles de proyecto*: permite acceder a toda la información del proyecto, organización del trabajo, asignación de criterios, materiales, etc. Ya fue tratada dentro de la edición de proyectos. * *Detalles de proyecto*: permite acceder a toda la información del proyecto, organización del trabajo, asignación de criterios, materiales, etc. Ya fue tratada dentro de la edición de proyectos.
* *Asignación avanzada*: muestra la asignación numérica con diversos niveles de granularidad (día,semana,mes) de los recursos en las tareas del proyecto. Permite modificar las asignaciones de recursos en ellas. * *Asignación avanzada*: muestra la asignación numérica con diversos niveles de granularidad (día,semana,mes) de los recursos en las tareas del proyecto. Permite modificar las asignaciones de recursos en ellas.
* *Si se habilitó el "método de Monte Carlo"*: Con este método se puede simular la duración de las planificaciones basándose en una estimación, optimista, pesimista y realista de las duraciones de las tareas del camino crítico y probabilidades de ocurrencia de cada duración. A partir de la anterior información, *NavalPlan* ofrece la probabilidad de finalización del proyecto en una fecha o una semana concreta. * *Si se habilitó el "método de Monte Carlo"*: Con este método se puede simular la duración de las planificaciones basándose en una estimación, optimista, pesimista y realista de las duraciones de las tareas del camino crítico y probabilidades de ocurrencia de cada duración. A partir de la anterior información, *LibrePlan* ofrece la probabilidad de finalización del proyecto en una fecha o una semana concreta.
Vista de planificación de empresa Vista de planificación de empresa
================================= =================================
@ -882,7 +882,7 @@ Asignación de dependencias
-------------------------- --------------------------
Una dependencia es una relación entre dos tareas por la cual una *tarea A* no Una dependencia es una relación entre dos tareas por la cual una *tarea A* no
puede comenzar o terminar hasta que una *tarea B* comience o final. *Navalplan* puede comenzar o terminar hasta que una *tarea B* comience o final. *LibrePlan*
implementa las siguientes relaciones de dependencias entre tareas entre dos implementa las siguientes relaciones de dependencias entre tareas entre dos
tareas llamadas A y B. tareas llamadas A y B.
@ -954,8 +954,8 @@ Para realizar cualquiera de las dos asignaciones de recursos es necesario dar l
* Introducir el nombre del recurso o criterio deseado en el campo *Seleccione criterios o recursos*. También es posible presionar en *Búsqueda avanzada* para realizar una búsqueda avanzada. * Introducir el nombre del recurso o criterio deseado en el campo *Seleccione criterios o recursos*. También es posible presionar en *Búsqueda avanzada* para realizar una búsqueda avanzada.
* Si el usuario utiliza el selector de búsqueda simple: El sistema mostrará un listado que cumpla con las condiciones de búsqueda. El usuario debe elegir el recurso o criterio que desea y presionar en *Añadir*. * Si el usuario utiliza el selector de búsqueda simple: El sistema mostrará un listado que cumpla con las condiciones de búsqueda. El usuario debe elegir el recurso o criterio que desea y presionar en *Añadir*.
* Si el usuario elige un recurso, *NavalPlan* realizará una asignación específica. Ver sección **Asignación específica** para conocer que significa elegir esta opción. * Si el usuario elige un recurso, *LibrePlan* realizará una asignación específica. Ver sección **Asignación específica** para conocer que significa elegir esta opción.
* Si el usuario elige un criterio, *NavalPlan* realizará una asignación * Si el usuario elige un criterio, *LibrePlan* realizará una asignación
* genérica. Ver sección **Asignación genérica** para conocer que significa elegir esta opción. * genérica. Ver sección **Asignación genérica** para conocer que significa elegir esta opción.
* Si se eligió la opción de búsqueda avanzada para realizar la asignación: La aplicación muestra una nueva pantalla formada por un árbol de criterios y un listado a la derecha de los trabajadores que cumplen los criterios seleccionados: * Si se eligió la opción de búsqueda avanzada para realizar la asignación: La aplicación muestra una nueva pantalla formada por un árbol de criterios y un listado a la derecha de los trabajadores que cumplen los criterios seleccionados:
@ -1210,14 +1210,14 @@ Módulo de progresos
Conceptos teóricos Conceptos teóricos
================== ==================
El progreso o avance es una medida que indica en que grado está hecho un trabajo. En NavalPlan los progresos se gestionan a dos niveles: El progreso o avance es una medida que indica en que grado está hecho un trabajo. En LibrePlan los progresos se gestionan a dos niveles:
* *Tarea*. Una tarea representa un trabajo a ser realizado y, consecuentemente, es posible en el programa medir el progreso de ese trabajo. * *Tarea*. Una tarea representa un trabajo a ser realizado y, consecuentemente, es posible en el programa medir el progreso de ese trabajo.
* *Proyecto*. Los proyectos de forma global también tienen un estado de progreso según el grado de completitud que tienen. * *Proyecto*. Los proyectos de forma global también tienen un estado de progreso según el grado de completitud que tienen.
El progreso tiene que ser medido manualmente por las personas encargadas de la planificación en la empresa porque es un juicio que se lleva en base a una valoración del estado de los trabajos. El progreso tiene que ser medido manualmente por las personas encargadas de la planificación en la empresa porque es un juicio que se lleva en base a una valoración del estado de los trabajos.
Las características más importantes del sistema de progresos en *NavalPlan* es el siguiente: Las características más importantes del sistema de progresos en *LibrePlan* es el siguiente:
* Es posible tener varias maneras de medir el progreso sobre una determinada tarea. Debido a ello, los progresos se pueden medir en diferentes unidades. Son administrables los distintos tipos de progresos. * Es posible tener varias maneras de medir el progreso sobre una determinada tarea. Debido a ello, los progresos se pueden medir en diferentes unidades. Son administrables los distintos tipos de progresos.
* Se programó un sistema de propagación de progresos. Según el mismo, cuando se mide a un determinado nivel del árbol de proyectos, a continuación, el sistema calcula en el nivel superior cual es el progreso en función de las horas representadas por los hijos que hayan medido ese tipo de progreso. * Se programó un sistema de propagación de progresos. Según el mismo, cuando se mide a un determinado nivel del árbol de proyectos, a continuación, el sistema calcula en el nivel superior cual es el progreso en función de las horas representadas por los hijos que hayan medido ese tipo de progreso.
@ -1243,7 +1243,7 @@ La administración de tipos de progreso permite al usuario definir las distintas
Borrado de tipo de progreso Borrado de tipo de progreso
--------------------------- ---------------------------
El borrado de un tipo de progreso sólo tiene sentido en caso de que no haya sido asignado nunca. Además, existen tipos de progreso predefinidos en *NavalPlan* necesarios para su funcionamiento. Estos tipos de progreso predefinidos tampoco se pueden borrar. El borrado de un tipo de progreso sólo tiene sentido en caso de que no haya sido asignado nunca. Además, existen tipos de progreso predefinidos en *LibrePlan* necesarios para su funcionamiento. Estos tipos de progreso predefinidos tampoco se pueden borrar.
Si este es el caso hay que dar los siguientes pasos: Si este es el caso hay que dar los siguientes pasos:
@ -1383,7 +1383,7 @@ Otros conceptos avanzados
Recursos limitantes Recursos limitantes
=================== ===================
Los recursos limitantes son recursos no sobreasignables que admiten la asignación de tareas únicamente a jornada completa. Ello conlleva que sólo aceptan tareas de manera secuencial. Por esta razón, el modo de funcionamiento es como si fueran colas. *NavalPlan* permite la gestión de dichas colas. Los recursos limitantes son recursos no sobreasignables que admiten la asignación de tareas únicamente a jornada completa. Ello conlleva que sólo aceptan tareas de manera secuencial. Por esta razón, el modo de funcionamiento es como si fueran colas. *LibrePlan* permite la gestión de dichas colas.
Para gestionarlas es necesario disponer de tareas asignadas con recursos limitantes, es decir, tareas de tipo *Asignación de recursos limitantes*. Para realizar una asignación a recursos limitantes para una tarea hay que seguir los siguientes pasos: Para gestionarlas es necesario disponer de tareas asignadas con recursos limitantes, es decir, tareas de tipo *Asignación de recursos limitantes*. Para realizar una asignación a recursos limitantes para una tarea hay que seguir los siguientes pasos:
@ -1395,7 +1395,7 @@ Para gestionarlas es necesario disponer de tareas asignadas con recursos limitan
* Elegir en el selector asociado a la etiqueta anterior la opción *Asignación de recursos limitantes*. * Elegir en el selector asociado a la etiqueta anterior la opción *Asignación de recursos limitantes*.
* Pulsar tras ello en la pestaña denominada *Asignación de recursos limitantes*. * Pulsar tras ello en la pestaña denominada *Asignación de recursos limitantes*.
Una vez en dicha pestaña, *NavalPlan* ofrece la posibilidad de asignar: Una vez en dicha pestaña, *LibrePlan* ofrece la posibilidad de asignar:
* Un recurso limitante específico. * Un recurso limitante específico.
* Uno o más criterios. En este caso sería una asignación a recursos limitantes genérica. Como advertencia, destacar que es importante asignar un criterio que se sepa satisfarán los recursos limitantes. * Uno o más criterios. En este caso sería una asignación a recursos limitantes genérica. Como advertencia, destacar que es importante asignar un criterio que se sepa satisfarán los recursos limitantes.
@ -1437,18 +1437,18 @@ Para entender la consolidación de progreso, es necesario analizar dos supuestos
* **Ejemplo 1**: En este supuesto está introducido un progreso del 60% en el segundo día y se solicita la consolidación de esta medida: * **Ejemplo 1**: En este supuesto está introducido un progreso del 60% en el segundo día y se solicita la consolidación de esta medida:
* *NavalPlan* busca cuantas horas se hicieron hasta el día en el que se introdujo el progreso. En el ejemplo, 16 horas correspondientes a las asignaciones de 2 días de 8 horas cada día. * *LibrePlan* busca cuantas horas se hicieron hasta el día en el que se introdujo el progreso. En el ejemplo, 16 horas correspondientes a las asignaciones de 2 días de 8 horas cada día.
* A continuación calcula cuanto quedaría para finalizar (en el ejemplo, un 40% de la tarea). En este caso, un 40% de las 40 horas, esto es, 16 horas. * A continuación calcula cuanto quedaría para finalizar (en el ejemplo, un 40% de la tarea). En este caso, un 40% de las 40 horas, esto es, 16 horas.
* El sistema entonces marca cómo consolidadas las horas que calculó en el primero punto (16h) y marca cómo que quedan 16 horas calculadas en el segundo punto. En consecuencia, la tarea tiene ahora una duración de 32h. * El sistema entonces marca cómo consolidadas las horas que calculó en el primero punto (16h) y marca cómo que quedan 16 horas calculadas en el segundo punto. En consecuencia, la tarea tiene ahora una duración de 32h.
* *NavalPlan*, con las horas que quedan por hacer, las últimas 16h, recalcula el ratio de recursos por día que se necesitan para poder finalizar en la fecha inicialmente planificada para el fin de la tarea. * *LibrePlan*, con las horas que quedan por hacer, las últimas 16h, recalcula el ratio de recursos por día que se necesitan para poder finalizar en la fecha inicialmente planificada para el fin de la tarea.
* Posteriormente, el usuario puede establecer un ratio de recursos por día diferente para el tramo no consolidado. Con ello sí que se recalculan las fechas de finalización. En este ejemplo, si se establece 1 recurso por día lo que resta de la tarea se acabaría con 1 día de adelanto. * Posteriormente, el usuario puede establecer un ratio de recursos por día diferente para el tramo no consolidado. Con ello sí que se recalculan las fechas de finalización. En este ejemplo, si se establece 1 recurso por día lo que resta de la tarea se acabaría con 1 día de adelanto.
* **Ejemplo 2**: Se introdujo un progreso del 40% en el cuarto día y se consolida: * **Ejemplo 2**: Se introdujo un progreso del 40% en el cuarto día y se consolida:
* *NavalPlan* busca cuantas horas se hicieron hasta el día en el que se introdujo el progreso. En el ejemplo, 32 horas correspondientes a las asignaciones de 4 días de 8 horas cada día. * *LibrePlan* busca cuantas horas se hicieron hasta el día en el que se introdujo el progreso. En el ejemplo, 32 horas correspondientes a las asignaciones de 4 días de 8 horas cada día.
* El sistema, a continuación, calcula cuanto quedaría por finalizar (en el ejemplo, quedaría un 60% de la tarea). En consecuencia quedan un 60% de las 40 horas, lo cual se traduce en 24 horas. * El sistema, a continuación, calcula cuanto quedaría por finalizar (en el ejemplo, quedaría un 60% de la tarea). En consecuencia quedan un 60% de las 40 horas, lo cual se traduce en 24 horas.
* Acto seguido, se marca cómo consolidadas las horas que calcularon en el primero punto (32h) y retiene que hay que reasignar 24 horas. La tarea queda, por tanto, con un número total de horas de 56h. * Acto seguido, se marca cómo consolidadas las horas que calcularon en el primero punto (32h) y retiene que hay que reasignar 24 horas. La tarea queda, por tanto, con un número total de horas de 56h.
* Por último, *NavalPlan*, con las últimas 24 horas recalcula el ratio de recursos por día que se necesitan para poder finalizar en la fecha inicial. * Por último, *LibrePlan*, con las últimas 24 horas recalcula el ratio de recursos por día que se necesitan para poder finalizar en la fecha inicial.
* En este ejemplo, si se establece 1 recurso por día al que resta de la tarea se contaría con 2 día de retraso. * En este ejemplo, si se establece 1 recurso por día al que resta de la tarea se contaría con 2 día de retraso.
@ -1470,6 +1470,6 @@ Las operaciones básicas de operación entre escenarios son:
* Creación de proyecto en escenario * Creación de proyecto en escenario
* Envío de proyecto de un escenario a otro. Esta operación copia toda la información de un proyecto de un escenario a otro, excepto las asignaciones de horas. * Envío de proyecto de un escenario a otro. Esta operación copia toda la información de un proyecto de un escenario a otro, excepto las asignaciones de horas.
Los escenarios son gestionados desde la opción de menú *Escenarios* donde es posible administrar los escenarios existentes y crear nuevos. Por otro lado, existe un botón de acceso rápido a escenario en la zona derecha superior de *NavalPlan* en el caso de que el módulo se encuentre habilitado. Los escenarios son gestionados desde la opción de menú *Escenarios* donde es posible administrar los escenarios existentes y crear nuevos. Por otro lado, existe un botón de acceso rápido a escenario en la zona derecha superior de *LibrePlan* en el caso de que el módulo se encuentre habilitado.
Las operaciones de escenarios sólo se muestran se se configura en la sección *Administración* > *NavalPlan: Configuración* que se muestren estas operaciones. Las operaciones de escenarios sólo se muestran se se configura en la sección *Administración* > *LibrePlan: Configuración* que se muestren estas operaciones.

View file

@ -1,11 +1,11 @@
########################################## ##########################################
Curso Formativo para Usuarios de NavalPlan Curso Formativo para Usuarios de LibrePlan
########################################## ##########################################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
*NavalPlan* es una aplicación web para la planificación, monitorización y control de proyectos representados mediante *diagramas de Gantt*. Entre sus funcionalidades más importantes se destaca: *LibrePlan* es una aplicación web para la planificación, monitorización y control de proyectos representados mediante *diagramas de Gantt*. Entre sus funcionalidades más importantes se destaca:
* Que es multiproyecto. * Que es multiproyecto.
* Asignación de recursos por grupos: grupos dinámicos basados en criterios. * Asignación de recursos por grupos: grupos dinámicos basados en criterios.
@ -13,7 +13,7 @@ Curso Formativo para Usuarios de NavalPlan
* Descomposición estructurada de trabajo para los proyectos. * Descomposición estructurada de trabajo para los proyectos.
* Control de la sobrecarga de asignación de recursos. * Control de la sobrecarga de asignación de recursos.
* Análise de costes basado en partes de trabajo. * Análise de costes basado en partes de trabajo.
* Integración con otras instancias de *NavalPlan* y software de terceros. * Integración con otras instancias de *LibrePlan* y software de terceros.
Este guía de formación tiene copyright de Igalia S.L. y se publica con una Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España. Este guía de formación tiene copyright de Igalia S.L. y se publica con una Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España.

View file

@ -2,7 +2,7 @@
Introdución Introdución
----------- -----------
O obxetivo deste curso formativo é **capacitar aos futuros usuarios de NavalPlan** para que obteñan o máximo rendemento das características do software NavalPlan desenvolvido pola Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia para a xestión da producción no sector naval. O obxetivo deste curso formativo é **capacitar aos futuros usuarios de LibrePlan** para que obteñan o máximo rendemento das características do software LibrePlan desenvolvido pola Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia para a xestión da producción no sector naval.
Os asistentes ao curso ao final da primeira sesión serán capaces de: Os asistentes ao curso ao final da primeira sesión serán capaces de:
@ -15,10 +15,10 @@ Os asistentes ao curso ao final da primeira sesión serán capaces de:
Para isto: Para isto:
* Traballarán os conceptos necesarios para a realización de planificacións con NavalPlan. * Traballarán os conceptos necesarios para a realización de planificacións con LibrePlan.
* Coñecerán as distintas pantallas de NavalPlan e aplicarán as súas funcionalidades en casos prácticos. * Coñecerán as distintas pantallas de LibrePlan e aplicarán as súas funcionalidades en casos prácticos.
Estarán en disposición de utilizar NavalPlan para **realizar planificacións reais nas súas empresas**. Estarán en disposición de utilizar LibrePlan para **realizar planificacións reais nas súas empresas**.
--------------------------------------------- ---------------------------------------------
Módulo de administración de entidades básicas Módulo de administración de entidades básicas
@ -76,7 +76,7 @@ Sera posible a realización das seguintes operacións sobre criterios:
* Modificación dos datos dun tipo de criterio * Modificación dos datos dun tipo de criterio
* Reorganización da estrutura de criterios * Reorganización da estrutura de criterios
Máis documentación na sección da axuda da documentación de NavalPlan Máis documentación na sección da axuda da documentación de LibrePlan
Administración de etiquetas Administración de etiquetas
=========================== ===========================
@ -193,7 +193,7 @@ Para facilitar o emprego e configuración dos calendarios na aplicación é posi
Para a súa selección seguense os seguintes pasos: Para a súa selección seguense os seguintes pasos:
* Entrar na sección de **Administración / Xestión > NavalPlan: Configuración** do menú principal. * Entrar na sección de **Administración / Xestión > LibrePlan: Configuración** do menú principal.
* Seleccionar no campo *Calendario por defecto* o calendario desexado. * Seleccionar no campo *Calendario por defecto* o calendario desexado.
* Premer no botón *Gardar* * Premer no botón *Gardar*
@ -207,10 +207,10 @@ Conceptos teóricos
Os recursos son as entidades que realizan os traballos necesarios para completar os proxectos. Os proxectos na planificación represéntanse mediante diagramas de Gantt que dispoñen no tempo as diferentes actividades. Os recursos son as entidades que realizan os traballos necesarios para completar os proxectos. Os proxectos na planificación represéntanse mediante diagramas de Gantt que dispoñen no tempo as diferentes actividades.
En NavalPlan existen tres tipos de recursos capaces de realizar traballo. Estos tres tipos son: En LibrePlan existen tres tipos de recursos capaces de realizar traballo. Estos tres tipos son:
* Traballadores. Os traballadores son os recursos humanos da empresa. * Traballadores. Os traballadores son os recursos humanos da empresa.
* Máquinas. As máquinas son capaces tamén de desenvolver tarefas e teñen existencia en NavalPlan. * Máquinas. As máquinas son capaces tamén de desenvolver tarefas e teñen existencia en LibrePlan.
* Recursos virtuais. Os recursos virtuais son como grupos de traballadores que non teñen existencia real na empresa, é dicir, non se corresponden con traballadores reais, con nome e apelidos, da empresa. * Recursos virtuais. Os recursos virtuais son como grupos de traballadores que non teñen existencia real na empresa, é dicir, non se corresponden con traballadores reais, con nome e apelidos, da empresa.
Utilidade dos recursos virtuais Utilidade dos recursos virtuais
@ -218,7 +218,7 @@ Utilidade dos recursos virtuais
Os recursos virtuais son, como se explicou, como grupos de traballadores pero que non se corresponden con traballadores concretos con nome e apelidos. Os recursos virtuais son, como se explicou, como grupos de traballadores pero que non se corresponden con traballadores concretos con nome e apelidos.
Dotouse a NavalPlan a posibilidade de usar recursos virtuais debido a dous escenario de uso: Dotouse a LibrePlan a posibilidade de usar recursos virtuais debido a dous escenario de uso:
* Usar recursos virtuais para simular contratacións futuras por necesidades de proxectos. Pode ocorrer que para satisfacer proxectos futuros as empresas necesiten contratar traballadores nun momento futuro do tempo. Para prever e simular cantos traballadores poden necesitar os usuarios da aplicación poden usar os recursos virtuais. * Usar recursos virtuais para simular contratacións futuras por necesidades de proxectos. Pode ocorrer que para satisfacer proxectos futuros as empresas necesiten contratar traballadores nun momento futuro do tempo. Para prever e simular cantos traballadores poden necesitar os usuarios da aplicación poden usar os recursos virtuais.
* Pode existir empresas que dexesen xestionar as aplicación sen ter que levar unha xestión dos recursos con respecto os datos dos traballadores reais da empresa. Para estes casos, os usuario poden usar tamén os recursos virtuais. * Pode existir empresas que dexesen xestionar as aplicación sen ter que levar unha xestión dos recursos con respecto os datos dos traballadores reais da empresa. Para estes casos, os usuario poden usar tamén os recursos virtuais.
@ -236,7 +236,7 @@ Para crear un traballador hai que realizar os seguintes pasos:
* Cubrir os campos do formulario: Nome, Apelidos. * Cubrir os campos do formulario: Nome, Apelidos.
* Premer o botón "Gardar" ou ben "Gardar e continuar". * Premer o botón "Gardar" ou ben "Gardar e continuar".
A partir dese momento existirá un novo traballador en NavalPlan. A partir dese momento existirá un novo traballador en LibrePlan.
Como nota dicir que existe unha comprobación que impide a gravación de dous traballadores co mesmo nome, apelidos e NIF. Todos estos campos son, ademais, obrigatorios. Como nota dicir que existe unha comprobación que impide a gravación de dous traballadores co mesmo nome, apelidos e NIF. Todos estos campos son, ademais, obrigatorios.
@ -338,14 +338,14 @@ Os traballadores teñen un calendario propio. Sen embargo, non é un calendario
O feito de derivar dun calendario significa que, senón se configura, herda completamente a definicións do calendario do cal deriva: herda a definición da semana de traballo, os días festivos, etc. O feito de derivar dun calendario significa que, senón se configura, herda completamente a definicións do calendario do cal deriva: herda a definición da semana de traballo, os días festivos, etc.
NavalPlan, sen embargo, ademais de facer que os seus recursos deriven do calendario da empresa, permite a definición de particularidades do calendario. Isto implica que as vacacións do traballador, particularidades da súa xornada de traballo como o número de horas de que consta o seu contrato de traballo, sexa contemplado na planificación. LibrePlan, sen embargo, ademais de facer que os seus recursos deriven do calendario da empresa, permite a definición de particularidades do calendario. Isto implica que as vacacións do traballador, particularidades da súa xornada de traballo como o número de horas de que consta o seu contrato de traballo, sexa contemplado na planificación.
Asignación de calendario pai a traballadores en creación de traballador Asignación de calendario pai a traballadores en creación de traballador
----------------------------------------------------------------------- -----------------------------------------------------------------------
Na creación dun traballador créase un calendario ao traballador que deriva, por defecto, do calendario configurado por defecto na aplicación. Na creación dun traballador créase un calendario ao traballador que deriva, por defecto, do calendario configurado por defecto na aplicación.
A configuración da aplicación pódese consultar en *Administracion* > *NavalPlan: Configuracion*. A configuración da aplicación pódese consultar en *Administracion* > *LibrePlan: Configuracion*.
Para cambiar o calendario do cal deriva un recurso no momento da creación hai que dar os seguintes pasos: Para cambiar o calendario do cal deriva un recurso no momento da creación hai que dar os seguintes pasos:
@ -407,7 +407,7 @@ Os dous primeiros conceptos, é dicir, a xornada semanal de traballo e as excepc
Agora ben, os calendarios dos recursos teñen unha particularidade con respecto ao calendario da empresa. Esta peculariedade son os períodos de activación. Agora ben, os calendarios dos recursos teñen unha particularidade con respecto ao calendario da empresa. Esta peculariedade son os períodos de activación.
Os períodos de activación son intervalos nos cales os traballadores se encontran dispoñibles para a planificación. Conceptualmente correspóndense con aqueles períodos nos cales o traballador se atopa contratado pola empresa. Un traballador pode ser contratado por un tempo, despois abandonar a empresa e reincorporarse posteriormente. NavalPlan garda a historia de planificación de todos os recursos, utiliza a información de activación para impedir que se lle asigne traballo. Os períodos de activación son intervalos nos cales os traballadores se encontran dispoñibles para a planificación. Conceptualmente correspóndense con aqueles períodos nos cales o traballador se atopa contratado pola empresa. Un traballador pode ser contratado por un tempo, despois abandonar a empresa e reincorporarse posteriormente. LibrePlan garda a historia de planificación de todos os recursos, utiliza a información de activación para impedir que se lle asigne traballo.
No momento da creación dun traballador configúrase con un período de activación que vai dende o momento da alta ata o infinito. Neste momento non é posible cambialo e esta operación ten que ser feita cunha edición posterior do recurso. No momento da creación dun traballador configúrase con un período de activación que vai dende o momento da alta ata o infinito. Neste momento non é posible cambialo e esta operación ten que ser feita cunha edición posterior do recurso.
@ -442,7 +442,7 @@ Básicamente existen dous tipos de nodos:
* Nodos contedores. Un nodo contedor é un agregador e actúa como clasificador de elementos. Non introduce traballo por el mesmo, senón que o traballo por el representado e a suma de todalas horas dos nodos descendentes do mesmo. * Nodos contedores. Un nodo contedor é un agregador e actúa como clasificador de elementos. Non introduce traballo por el mesmo, senón que o traballo por el representado e a suma de todalas horas dos nodos descendentes do mesmo.
* Nodos folla. Un nodo folla é un nodo que non ten fillos e que que está constituido por un ou máis conxuntos de horas. * Nodos folla. Un nodo folla é un nodo que non ten fillos e que que está constituido por un ou máis conxuntos de horas.
En NavalPlan, por tanto, permítese o traballo con proxectos estruturados según os tipos de nodos precendentes. En LibrePlan, por tanto, permítese o traballo con proxectos estruturados según os tipos de nodos precendentes.
Acceso a vista global da empresa Acceso a vista global da empresa
================================ ================================
@ -470,10 +470,10 @@ Para a creación dun proxecto hai que acometer os seguintes pasos:
* Acceder ao opción Planificación > Proxectos. * Acceder ao opción Planificación > Proxectos.
* Premer no botón situado na barra de botón co texto *Crear proxecto novo*. * Premer no botón situado na barra de botón co texto *Crear proxecto novo*.
* NavalPlan amosa una ventá onde se solicitan os datos básicos do proxecto: * LibrePlan amosa una ventá onde se solicitan os datos básicos do proxecto:
* Nome. Cadena identificativa do proxecto. Obligatorio. * Nome. Cadena identificativa do proxecto. Obligatorio.
* Código do proxecto. Código para identificar o proxecto. Deber ser único. Non cubrilo e manter marcado o checkbox Autoxeneración de código. Se éste está cuberto encárgase NavalPlan de crear o código correspondente. Obligatorio. * Código do proxecto. Código para identificar o proxecto. Deber ser único. Non cubrilo e manter marcado o checkbox Autoxeneración de código. Se éste está cuberto encárgase LibrePlan de crear o código correspondente. Obligatorio.
* Data de inicio. Esta data é a data a partir da cal se comenzará a planificación do proxecto. Obligatorio. * Data de inicio. Esta data é a data a partir da cal se comenzará a planificación do proxecto. Obligatorio.
* Data límite. Este campo é opcional e indica cal é o deadline. * Data límite. Este campo é opcional e indica cal é o deadline.
* Cliente. Campo para seleccionar cales dos clientes da empresa é o contratista do proxecto. * Cliente. Campo para seleccionar cales dos clientes da empresa é o contratista do proxecto.
@ -483,7 +483,7 @@ Para a creación dun proxecto hai que acometer os seguintes pasos:
* Os datos xerais poden ser editados premendo na pestana *Datos xerais*. Os datos que se poden introducir son: * Os datos xerais poden ser editados premendo na pestana *Datos xerais*. Os datos que se poden introducir son:
* Nome do proxecto. Cadena identificativa do proxecto. Obligatorio. * Nome do proxecto. Cadena identificativa do proxecto. Obligatorio.
* Código do proxecto. Código para identificar o proxecto. Deber ser único. Non cubrilo e manter marcado o checkbox Autoxeneración de código. Se éste está cuberto encárgase NavalPlan de crear o código correspondente. Obligatorio. * Código do proxecto. Código para identificar o proxecto. Deber ser único. Non cubrilo e manter marcado o checkbox Autoxeneración de código. Se éste está cuberto encárgase LibrePlan de crear o código correspondente. Obligatorio.
* Código externo: Campo utilizado para integración con terceiras aplicacións. * Código externo: Campo utilizado para integración con terceiras aplicacións.
* Modo de planificación: Adiante ou atrás. A planificación cara adiante é aquela que as tarefas se van colocando dende a tarefa de inicio e se moven cara adiante segundo se establecen dependencias. A planificación cara atrás é aquela que as tarefas se colocan con fin na data de entrega e as dependencias entre elas se xestionan cara atrás. * Modo de planificación: Adiante ou atrás. A planificación cara adiante é aquela que as tarefas se van colocando dende a tarefa de inicio e se moven cara adiante segundo se establecen dependencias. A planificación cara atrás é aquela que as tarefas se colocan con fin na data de entrega e as dependencias entre elas se xestionan cara atrás.
* Data de inicio. Esta data é a data a partir da cal se comenzará a planificación do proxecto. Obligatorio. * Data de inicio. Esta data é a data a partir da cal se comenzará a planificación do proxecto. Obligatorio.
@ -603,7 +603,7 @@ Conceptos teóricos
Unha vez os proxectos está introducidos cun conxunto de horas o seguinte paso e determinar como se planifican. Unha vez os proxectos está introducidos cun conxunto de horas o seguinte paso e determinar como se planifican.
NavalPlan é flexible para determinar a granularidade do que se quere planificar e para elo introduce o concepto de puntos de planificación. Isto permite aos usuarios ter flexibilidade á hora de decidir se un proxecto interesa planificalo con moito detalle ou ben se interesa xestionalo máis globalmente. LibrePlan é flexible para determinar a granularidade do que se quere planificar e para elo introduce o concepto de puntos de planificación. Isto permite aos usuarios ter flexibilidade á hora de decidir se un proxecto interesa planificalo con moito detalle ou ben se interesa xestionalo máis globalmente.
Os puntos de planificación son marcas que se realizan sobre as árbores de tarefas dun proxecto para indicar a que nivel se desexa planificar. Se se marca unha tarefa como punto de planificación significa que se vai a crear unha tarea de planificación a ese nivel que agrupa o traballo de tódalas tarefas situados por debaixo del. Se este punto de planificación se corresponde cunha tarefa que non é raíz o que se fai é que as tarefas por enriba del se converten en tareas contedoras en planificación. Os puntos de planificación son marcas que se realizan sobre as árbores de tarefas dun proxecto para indicar a que nivel se desexa planificar. Se se marca unha tarefa como punto de planificación significa que se vai a crear unha tarea de planificación a ese nivel que agrupa o traballo de tódalas tarefas situados por debaixo del. Se este punto de planificación se corresponde cunha tarefa que non é raíz o que se fai é que as tarefas por enriba del se converten en tareas contedoras en planificación.
@ -794,7 +794,7 @@ Na **vista de proxecto** existen catro perspectivas dispoñibles:
* Uso de recursos: amosa a visión dos recursos asignados ao proxecto no tempo coa súa carga de traballo tanto en tarefas deste proxecto coma as pertencentes a outros proxectos por asignacións xenéricas ou específicas. * Uso de recursos: amosa a visión dos recursos asignados ao proxecto no tempo coa súa carga de traballo tanto en tarefas deste proxecto coma as pertencentes a outros proxectos por asignacións xenéricas ou específicas.
* Detalles de proxecto: permite acceder a toda a información do proxecto, organización do traballo, asignación de criterios, materiais, etc. Xa foi tratada dentro da edición de proxectos. * Detalles de proxecto: permite acceder a toda a información do proxecto, organización do traballo, asignación de criterios, materiais, etc. Xa foi tratada dentro da edición de proxectos.
* Asignación avanzada: amosa a asignación numérica con diversos niveles de granularidade (dia,semana,mes) dos recursos nas tarefas do proxecto. Permite modificar as asignacións de recursos no tempo as distintas tarefas do mesmo. * Asignación avanzada: amosa a asignación numérica con diversos niveles de granularidade (dia,semana,mes) dos recursos nas tarefas do proxecto. Permite modificar as asignacións de recursos no tempo as distintas tarefas do mesmo.
* Se se habilitou o "método de Montecarlo": método que permite recorrer as planificacións baseándose nunha estimación, optimista, pesimista e realista das duracións das tarefas e unhas probabilidades de ocorrencia. A partir da anterior información, NavalPlan ofrece a probabilidade de finalización do proxecto nunha data ou unha semana concreta. * Se se habilitou o "método de Montecarlo": método que permite recorrer as planificacións baseándose nunha estimación, optimista, pesimista e realista das duracións das tarefas e unhas probabilidades de ocorrencia. A partir da anterior información, LibrePlan ofrece a probabilidade de finalización do proxecto nunha data ou unha semana concreta.
Vista de planificación de empresa Vista de planificación de empresa
================================= =================================
@ -858,7 +858,7 @@ Na vista de planificación dun proxecto pódese facer as seguintes operacións d
Asignación de dependencias Asignación de dependencias
-------------------------- --------------------------
Unha dependencia é una relación entre dúas tarefas pola cal unha tarefa A non pode comezar ou terminar ata que unha tarefa B comece ou remate. Navalplan implementa as seguintes relacións de dependencias entre tarefas entre dúas tarefas chamadas A e B. Unha dependencia é una relación entre dúas tarefas pola cal unha tarefa A non pode comezar ou terminar ata que unha tarefa B comece ou remate. LibrePlan implementa as seguintes relacións de dependencias entre tarefas entre dúas tarefas chamadas A e B.
* Fin - Inicio: A tarefa B non pode comezar ata que a tarefa A remate. Esta e a relación de dependencia máis común. * Fin - Inicio: A tarefa B non pode comezar ata que a tarefa A remate. Esta e a relación de dependencia máis común.
* Inicio - Inicio: A tarefa B non pode comezar ata que a tarefa A teña comezado. * Inicio - Inicio: A tarefa B non pode comezar ata que a tarefa A teña comezado.
@ -915,8 +915,8 @@ Para realizar calquera das dúas asignacións de recursos é necesario dar os s
* Introducir o nome do recurso ou criterio desexado no campo "Seleccione criterios ou recursos". Tamén é posible premer en "Búsqueda avanzada" para realizar unha procura avanzada. * Introducir o nome do recurso ou criterio desexado no campo "Seleccione criterios ou recursos". Tamén é posible premer en "Búsqueda avanzada" para realizar unha procura avanzada.
* Se se elixiu a primeira opción: O sistema amosará un listado que cumpra coas condicións de procura. O usuario debe elixir o recurso ou criterio que desexa e premer en "Engadir". * Se se elixiu a primeira opción: O sistema amosará un listado que cumpra coas condicións de procura. O usuario debe elixir o recurso ou criterio que desexa e premer en "Engadir".
* Se o usuario elixe un recurso, NavalPlan realizará unha asignación específica. Ver sección "Asignación específica" para coñecer que significa elixir esta opción. * Se o usuario elixe un recurso, LibrePlan realizará unha asignación específica. Ver sección "Asignación específica" para coñecer que significa elixir esta opción.
* Se o usuario elixe un criterio, NavalPlan realizará unha asignación xenérica. Ver sección "Asignación xenérica" para coñecer que significa elixir esta opción. * Se o usuario elixe un criterio, LibrePlan realizará unha asignación xenérica. Ver sección "Asignación xenérica" para coñecer que significa elixir esta opción.
* Se se elixiu a segunda opción: A aplicación amosa unha nova pantalla formada por unha árbore de criterios e un listado á dereita dos traballadores que cumpren os criterios seleccionados: * Se se elixiu a segunda opción: A aplicación amosa unha nova pantalla formada por unha árbore de criterios e un listado á dereita dos traballadores que cumpren os criterios seleccionados:
* Seleccionar o tipo de asignación a realizar: * Seleccionar o tipo de asignación a realizar:
@ -1095,14 +1095,14 @@ Módulo de progresos
Conceptos teóricos Conceptos teóricos
================== ==================
O progreso ou avance é unha medida que indica en que grao está feito un traballo. En NavalPlan os progresos se xestionan a dous niveis: O progreso ou avance é unha medida que indica en que grao está feito un traballo. En LibrePlan os progresos se xestionan a dous niveis:
* Tarefa. unha tarefa representa un traballo a ser realizado e, consecuentemente, é posible no programa medir o progreso dese traballo. * Tarefa. unha tarefa representa un traballo a ser realizado e, consecuentemente, é posible no programa medir o progreso dese traballo.
* Proxecto, equivalencia de proxecto. Os proxectos de forma global tamén teñen un estado de progreso según o grao de completitude que teñen. * Proxecto, equivalencia de proxecto. Os proxectos de forma global tamén teñen un estado de progreso según o grao de completitude que teñen.
O progreso ten que ser medido manualmente polas persoas encargadas da planificación na empresa porque é un xuízo que se leva en base a unha valoración do estado dos traballos. O progreso ten que ser medido manualmente polas persoas encargadas da planificación na empresa porque é un xuízo que se leva en base a unha valoración do estado dos traballos.
As características máis importantes do sistema de progresos en NavalPlan é o seguinte: As características máis importantes do sistema de progresos en LibrePlan é o seguinte:
* É posible ter varias maneiras de medir o progreso sobre unha determinada tarefa. Debido a elo, os progresos caracterízanse por ser medidos en diferentes unidades e son administrables os distintos tipos de progresos. * É posible ter varias maneiras de medir o progreso sobre unha determinada tarefa. Debido a elo, os progresos caracterízanse por ser medidos en diferentes unidades e son administrables os distintos tipos de progresos.
* Programouse un sistema de propagación de progresos de maneira que se un progreso se mide a un determinado nivel da árbore de proxectos, entón calcúlase no nivel superior automáticamente cal debería ser o progreso en función das horas representadas polos fillos que teñan medido ese tipo de progreso. * Programouse un sistema de propagación de progresos de maneira que se un progreso se mide a un determinado nivel da árbore de proxectos, entón calcúlase no nivel superior automáticamente cal debería ser o progreso en función das horas representadas polos fillos que teñan medido ese tipo de progreso.
@ -1128,7 +1128,7 @@ A administración de tipos de progreso permite ao usuario definir as distintas m
Borrado de tipo de progreso Borrado de tipo de progreso
--------------------------- ---------------------------
O borrado dun tipo de progreso só ten sentido no caso de que non fora asignado nunca. Ademais, existen tipos de progreso predefinidos en NavalPlan necesarios para o seu funcionamento. Esto tipos de progreso predefinidos tampouco se poden borrar. O borrado dun tipo de progreso só ten sentido no caso de que non fora asignado nunca. Ademais, existen tipos de progreso predefinidos en LibrePlan necesarios para o seu funcionamento. Esto tipos de progreso predefinidos tampouco se poden borrar.
Se este é o caso hai que dar os seguintes pasos: Se este é o caso hai que dar os seguintes pasos:
@ -1265,11 +1265,11 @@ Outros conceptos avanzados
Recursos limitantes Recursos limitantes
=================== ===================
Os recursos limitantes son recursos que limitan a planificación, de xeito que só aceptan tarefas de xeito secuencial. Por esta razón, o modo de funcionamento é en modo de colas. Un recurso declarado como limitante aceptará planificación de tarefas encoladas. NavalPlan permite a xestión de ditas colas. Os recursos limitantes son recursos que limitan a planificación, de xeito que só aceptan tarefas de xeito secuencial. Por esta razón, o modo de funcionamento é en modo de colas. Un recurso declarado como limitante aceptará planificación de tarefas encoladas. LibrePlan permite a xestión de ditas colas.
Para xestionar ditas colas é necesario contar con tarefas de tipo "Asignación de recursos limitantes". Para conseguir tarefas deste tipo accederase ás propiedades da tarefa (dende Planificación > Planificación de proxectos) e no combo de selección "Asignación de tipos de recursos" seleccionar "Asignación de recursos limitantes". Para xestionar ditas colas é necesario contar con tarefas de tipo "Asignación de recursos limitantes". Para conseguir tarefas deste tipo accederase ás propiedades da tarefa (dende Planificación > Planificación de proxectos) e no combo de selección "Asignación de tipos de recursos" seleccionar "Asignación de recursos limitantes".
Unha vez unha tarefa é do tipo anterior, NavalPlan ofrece a posibilidade de asignar: Unha vez unha tarefa é do tipo anterior, LibrePlan ofrece a posibilidade de asignar:
* Un recurso limitante específico. * Un recurso limitante específico.
* Un criterio xenérico. É importante asignar un criterio que se saiba satisfarán os recursos limitantes. * Un criterio xenérico. É importante asignar un criterio que se saiba satisfarán os recursos limitantes.
@ -1307,18 +1307,18 @@ Para entender a consolidación de progreso, é necesario analizar dous supostos.
* Exemplo 1: Introducíuse un progreso do 60% no segundo día e consolídase: * Exemplo 1: Introducíuse un progreso do 60% no segundo día e consolídase:
* NavalPlan busca cantas horas se fixeron ata o día no que se introduxo o progreso. No exemplo, 16 horas correspondentes ás asignacións de 2 días de 8 horas cada día. * LibrePlan busca cantas horas se fixeron ata o día no que se introduxo o progreso. No exemplo, 16 horas correspondentes ás asignacións de 2 días de 8 horas cada día.
* O sistema calcula canto quedaría por finalizar (no exemplo, quedaría un 40% da tarefa). En consecuencia quedan un 40% das 40 horas, o cal significa que quedan 16 horas. * O sistema calcula canto quedaría por finalizar (no exemplo, quedaría un 40% da tarefa). En consecuencia quedan un 40% das 40 horas, o cal significa que quedan 16 horas.
* O sistema entón marca como consolidadas as horas que calculou no primeiro punto (16h) e marca como que quedan 16 horas calculadas no segundo punto. En consecuencia, a tarefa ten agora unha duración de 32h. * O sistema entón marca como consolidadas as horas que calculou no primeiro punto (16h) e marca como que quedan 16 horas calculadas no segundo punto. En consecuencia, a tarefa ten agora unha duración de 32h.
* NavalPlan, coas horas que quedan por facer, ás últimas 16h, non recalcula datas, senón que recalcula o ratio de recursos por día que se necesitan para poder finalizar na data inicial. É o usuario quen pode establecer o ratio orixinal de recursos por día para que se recalculen as asignacións e en consecuencia as datas de finalización. * LibrePlan, coas horas que quedan por facer, ás últimas 16h, non recalcula datas, senón que recalcula o ratio de recursos por día que se necesitan para poder finalizar na data inicial. É o usuario quen pode establecer o ratio orixinal de recursos por día para que se recalculen as asignacións e en consecuencia as datas de finalización.
* Neste exemplo, se se establece 1 recurso por día ó que resta da tarefa contaríase con 1 día de adianto. * Neste exemplo, se se establece 1 recurso por día ó que resta da tarefa contaríase con 1 día de adianto.
* Exemplo 2: Introducíuse un progreso do 40% no cuarto día e consolídase: * Exemplo 2: Introducíuse un progreso do 40% no cuarto día e consolídase:
* NavalPlan busca cantas horas se fixeron ata o día no que se introduxo o progreso. No exemplo, 32 horas correspondentes ás asignacións de 4 días de 8 horas cada día. * LibrePlan busca cantas horas se fixeron ata o día no que se introduxo o progreso. No exemplo, 32 horas correspondentes ás asignacións de 4 días de 8 horas cada día.
* O sistema calcula canto quedaría por finalizar (no exemplo, quedaría un 60% da tarefa). En consecuencia quedan un 60% das 40 horas, o cal significa que quedan 24 horas. * O sistema calcula canto quedaría por finalizar (no exemplo, quedaría un 60% da tarefa). En consecuencia quedan un 60% das 40 horas, o cal significa que quedan 24 horas.
* O sistema entón marca como consolidadas as horas que calculou no primeiro punto (32h) e marca como que quedan 24 horas calculadas no segundo punto. En consecuencia, a tarefa ten agora unha duración de 56h. * O sistema entón marca como consolidadas as horas que calculou no primeiro punto (32h) e marca como que quedan 24 horas calculadas no segundo punto. En consecuencia, a tarefa ten agora unha duración de 56h.
* NavalPlan, coas horas que quedan por facer, ás últimas 24h, non recalcula datas, senón que recalcula o ratio de recursos por día que se necesitan para poder finalizar na data inicial. É o usuario quen pode establecer o ratio orixinal de recursos por día para que se recalculen as asignacións e en consecuencia as datas de finalización. * LibrePlan, coas horas que quedan por facer, ás últimas 24h, non recalcula datas, senón que recalcula o ratio de recursos por día que se necesitan para poder finalizar na data inicial. É o usuario quen pode establecer o ratio orixinal de recursos por día para que se recalculen as asignacións e en consecuencia as datas de finalización.
* Neste exemplo, se se establece 1 recurso por día ó que resta da tarefa contaríase con 2 día de atraso. * Neste exemplo, se se establece 1 recurso por día ó que resta da tarefa contaríase con 2 día de atraso.
@ -1340,6 +1340,6 @@ As operacións básicas de operación entre escenarios son:
* Creación de proxecto en escenario * Creación de proxecto en escenario
* Envío de proxecto de un escenario a outro. Esta operación copia toda a información de un proxecto de un escenario a outro, excepto as asignacións de horas. * Envío de proxecto de un escenario a outro. Esta operación copia toda a información de un proxecto de un escenario a outro, excepto as asignacións de horas.
Os escenarios son xestionados dende a opción de menú "Escenarios" onde é posible administrar os escenarios existentes e crear novos. Por outro lado existe un botón de acceso rápido a escenario na zona dereita superior de NavalPlan. Os escenarios son xestionados dende a opción de menú "Escenarios" onde é posible administrar os escenarios existentes e crear novos. Por outro lado existe un botón de acceso rápido a escenario na zona dereita superior de LibrePlan.
As operacións de escenarios só se amosan se se configura na sección *Administración* > *NavalPlan: Configuración* que se amosen estas operacións. As operacións de escenarios só se amosan se se configura na sección *Administración* > *LibrePlan: Configuración* que se amosen estas operacións.

View file

@ -1,13 +1,13 @@
########################################## ##########################################
Curso Formativo para Usuarios de NavalPlan Curso Formativo para Usuarios de LibrePlan
########################################## ##########################################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
NavalPlan é unha aplicación de xestión da produción para o sector da auxilar do naval galego desenvolvida pola Fundación Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia, dependente da Consellería de Economía e Indutria da Xunta de Galicia. LibrePlan é unha aplicación de xestión da produción para o sector da auxilar do naval galego desenvolvida pola Fundación Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia, dependente da Consellería de Economía e Indutria da Xunta de Galicia.
Este documento é unha guía práctica para a realización das operacións explicadas nas sesións de formación de NavalPlan para o sector naval. Este documento é unha guía práctica para a realización das operacións explicadas nas sesións de formación de LibrePlan para o sector naval.
Este guía de formación ten copyright da Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia publicase cunha Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España. Este guía de formación ten copyright da Fundación para o Fomento da Calidade Industrial e Desenvolvemento Tecnolóxico de Galicia publicase cunha Licencia Creative Commons Recoñecemento-CompartirIgual 3.0 España.

View file

@ -3,10 +3,10 @@ Introduction
.. contents:: .. contents::
The purpose of this document is to describe the features of NavalPlan and provide user information on how to configure and use the application. The purpose of this document is to describe the features of LibrePlan and provide user information on how to configure and use the application.
NavalPlan is an opensource web application for project planning. Its main goal is to provide a complete solution for company project management. LibrePlan is an opensource web application for project planning. Its main goal is to provide a complete solution for company project management.
For any specific information you may need about this software, please contact the development team at http://www.navalplan.org/en/contact For any specific information you may need about this software, please contact the development team at http://www.libreplan.org/en/contact
.. figure:: images/company_view.png .. figure:: images/company_view.png
@ -52,19 +52,19 @@ The program has the following views for an order:
* Editing order view. View where the user can change the details of the order. See the *Orders* section for more information. * Editing order view. View where the user can change the details of the order. See the *Orders* section for more information.
* Advanced resource allocation view. View where the user can allocate resources including advanced options: choosing hours per day or the allocated functions to be carried out. See the *Resource allocation* section for more information. * Advanced resource allocation view. View where the user can allocate resources including advanced options: choosing hours per day or the allocated functions to be carried out. See the *Resource allocation* section for more information.
What makes NavalPlan useful? What makes LibrePlan useful?
============================ ============================
NavalPlan is an application that has been developed as a general purpose planning tool. It is based on a series of concepts discovered by analysing problems in industrial project planning that were not fully covered by any existing planning tool. Also the motivations for the development of NavalPlan were based on providing a free software alternative, and completely web, for existing privative plannig tools. LibrePlan is an application that has been developed as a general purpose planning tool. It is based on a series of concepts discovered by analysing problems in industrial project planning that were not fully covered by any existing planning tool. Also the motivations for the development of LibrePlan were based on providing a free software alternative, and completely web, for existing privative plannig tools.
The essential concepts used for the program are as follows: The essential concepts used for the program are as follows:
* Company and multi-project overview: NavalPlan is a program that has been developed specifically to provide information about projects that are being carried out in a company to users, therefore it is a multi-project program. It was decided that the program's focus would not be individual to each project. However, it is also possible to have several specific views, individual projects among them. * Company and multi-project overview: LibrePlan is a program that has been developed specifically to provide information about projects that are being carried out in a company to users, therefore it is a multi-project program. It was decided that the program's focus would not be individual to each project. However, it is also possible to have several specific views, individual projects among them.
* View management: The company overview or multi-project view comes with the views on the information that is stored. For example, the company overview enables users to view orders and compare their status, view the company's general resource load and process orders. Users can also view the planning, the resource load, the advanced resource allocation view and the editing order view on the project view. * View management: The company overview or multi-project view comes with the views on the information that is stored. For example, the company overview enables users to view orders and compare their status, view the company's general resource load and process orders. Users can also view the planning, the resource load, the advanced resource allocation view and the editing order view on the project view.
* Criteria: Criteria are a system entity that enables resources (both humans and machines) and tasks to be classified. Resources must fulfil criteria and tasks require criteria to be fulfilled. These are one of the program's most important aspects, as criteria are the basis of generic allocation in the program and resolve one of the most important problems for the sector: the long time taken in human resources and the difficulty in having long-term company load estimations. * Criteria: Criteria are a system entity that enables resources (both humans and machines) and tasks to be classified. Resources must fulfil criteria and tasks require criteria to be fulfilled. These are one of the program's most important aspects, as criteria are the basis of generic allocation in the program and resolve one of the most important problems for the sector: the long time taken in human resources and the difficulty in having long-term company load estimations.
* Resources: There are two different kinds: humans and machines. Human resources are workers in a company that are used to plan, monitor and control the company's load. On the other hand, machines, dependent on the people that manage them, are resources that act in a similar way to human resources. * Resources: There are two different kinds: humans and machines. Human resources are workers in a company that are used to plan, monitor and control the company's load. On the other hand, machines, dependent on the people that manage them, are resources that act in a similar way to human resources.
* Resource allocation: One of the key points of the program is having the possibility of two kinds of designation: specific and generic. Generic allocation is based on criteria that are required to carry out a task and must be fulfilled by resources that are capable of performing them. In order to understand generic allocation, the following case must be understood: John Smith is a welder. Generally, John Smith is allocated to the planned task, but "NavalPlan" offers the possibility of choosing a resource in general among welders in the company, not worrying if John Smith is the person who has been allocated the task. * Resource allocation: One of the key points of the program is having the possibility of two kinds of designation: specific and generic. Generic allocation is based on criteria that are required to carry out a task and must be fulfilled by resources that are capable of performing them. In order to understand generic allocation, the following case must be understood: John Smith is a welder. Generally, John Smith is allocated to the planned task, but "LibrePlan" offers the possibility of choosing a resource in general among welders in the company, not worrying if John Smith is the person who has been allocated the task.
* Company load control: The program offers the possibility of controlling the company's resource load easily. The control is carried out in the mid and long term as current projects and future projects can be managed by the program. "NavalPlan" has graphics that indicate the use of resources. * Company load control: The program offers the possibility of controlling the company's resource load easily. The control is carried out in the mid and long term as current projects and future projects can be managed by the program. "LibrePlan" has graphics that indicate the use of resources.
* Labels: These are elements that are used to label project tasks. With these labels, the user of the program can group tasks together according to concept, which can then be checked at a later date as a group or after being filtered. * Labels: These are elements that are used to label project tasks. With these labels, the user of the program can group tasks together according to concept, which can then be checked at a later date as a group or after being filtered.
* Filters: As the system naturally has elements that label or characterise tasks and resources, criteria filters or labels can be used. This is very useful to check categorised information or to get specific reports based on criteria or labels. * Filters: As the system naturally has elements that label or characterise tasks and resources, criteria filters or labels can be used. This is very useful to check categorised information or to get specific reports based on criteria or labels.
* Calendars: Calendars determine the available productive hours for different resources. The user may create general calendars for the company or input characteristics for more specific calendars, meaning that calendars for resources and tasks can be made. * Calendars: Calendars determine the available productive hours for different resources. The user may create general calendars for the company or input characteristics for more specific calendars, meaning that calendars for resources and tasks can be made.

View file

@ -13,7 +13,7 @@ The following sections will describe the operations that users can carry out wit
Order Order
====== ======
An order is a project or work that a client requests from a company. The order for the planned works identifies the project in the company. The difference with comprehensive management programs such as "NavalPlan" is that they only need to use certain order details. These details are: An order is a project or work that a client requests from a company. The order for the planned works identifies the project in the company. The difference with comprehensive management programs such as "LibrePlan" is that they only need to use certain order details. These details are:
* Order name * Order name
* Order code * Order code

View file

@ -8,7 +8,7 @@ Task planning
Task planning Task planning
============= =============
Planning in "NavalPlan" is a process that has been described throughout all of the chapters of the user guide, the chapters on orders and the assigning of resources being particularly important in this respect. This chapter describes basic planning procedures after the order and the Gantt charts have been configured properly. Planning in "LibrePlan" is a process that has been described throughout all of the chapters of the user guide, the chapters on orders and the assigning of resources being particularly important in this respect. This chapter describes basic planning procedures after the order and the Gantt charts have been configured properly.
.. figure:: images/planning-view.png .. figure:: images/planning-view.png
:scale: 35 :scale: 35

View file

@ -8,7 +8,7 @@ Users
Managing users Managing users
============== ==============
"NavalPlan"'s system enables users to manage profiles, authorisations and users. Users belong to user profiles, which may have a series of predefined roles to access the program. Roles are defined authorisations in "NavalPlan". Examples of roles: "LibrePlan"'s system enables users to manage profiles, authorisations and users. Users belong to user profiles, which may have a series of predefined roles to access the program. Roles are defined authorisations in "LibrePlan". Examples of roles:
* Administration: A role to which administrators must be assigned in order to be able to carry out administration operations. * Administration: A role to which administrators must be assigned in order to be able to carry out administration operations.
* Web service reader: A role that users need to be able to consult the program's web services. * Web service reader: A role that users need to be able to consult the program's web services.

View file

@ -8,7 +8,7 @@
Reports Reports
======= =======
"NavalPlan" is integrated with *JasperReports* to manage reports, which allows users to enter various reports to analyse available data in the program. "LibrePlan" is integrated with *JasperReports* to manage reports, which allows users to enter various reports to analyse available data in the program.
The defined reports are: The defined reports are:

View file

@ -43,7 +43,7 @@ Written by
Public funding Public funding
================================ ================================
Inside the global scope that NavalPlan is designed for regarding planning management, a project was developed to solve some common polanning problems. This project is partially financed by Xunta de Galicia, Ministerio de Industria, Turismo e Comercio, and by the European Union, Fondo Europeo de Desenvolvemento Rexional. Inside the global scope that LibrePlan is designed for regarding planning management, a project was developed to solve some common polanning problems. This project is partially financed by Xunta de Galicia, Ministerio de Industria, Turismo e Comercio, and by the European Union, Fondo Europeo de Desenvolvemento Rexional.
.. figure:: images/logos.png .. figure:: images/logos.png
:scale: 100 :scale: 100

View file

@ -1,16 +1,16 @@
############################# #############################
Navalplan: User documentation LibrePlan: User documentation
############################# #############################
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
Following document contains necessary help for using Navalplan, the opensource web application for project planning. Following document contains necessary help for using LibrePlan, the opensource web application for project planning.
This document is divided in three main sections: This document is divided in three main sections:
First, global goals and behaviour. First, global goals and behaviour.
Second, basic entities to understand the minimum concepts to use Navalplan. Second, basic entities to understand the minimum concepts to use LibrePlan.
Finally, complete processes description to create orders, projects, project planning, resources assignment, advance assignment and result extraction. Finally, complete processes description to create orders, projects, project planning, resources assignment, advance assignment and result extraction.

View file

@ -3,16 +3,16 @@ Introducción
.. contents:: .. contents::
El propósito de este documento es describir las características de NavalPlan y El propósito de este documento es describir las características de LibrePlan y
proporcionar información a los usuarios sobre cómo configurar y utilizar la proporcionar información a los usuarios sobre cómo configurar y utilizar la
aplicación. aplicación.
NavalPlan es una aplicación web de código abierto para la planificación de LibrePlan es una aplicación web de código abierto para la planificación de
proyectos. Su objetivo principal es proporcionar una solución completa para la proyectos. Su objetivo principal es proporcionar una solución completa para la
gestión de los proyectos de la empresa. gestión de los proyectos de la empresa.
Para cualquier información específica que necesites sobre este software, por Para cualquier información específica que necesites sobre este software, por
favor ponte en contacto con el equipo de desarrollo en favor ponte en contacto con el equipo de desarrollo en
http://www.navalplan.org/es/contacto http://www.libreplan.org/es/contacto
.. figure:: images/company_view.png .. figure:: images/company_view.png
@ -58,25 +58,25 @@ Sobre un pedido, la aplicación muestra las siguientes perspectivas:
* Vista de edición de pedido. Vista en la que el usuario puede administrar los datos del pedido. Ver sección de *Pedidos* para más información. * Vista de edición de pedido. Vista en la que el usuario puede administrar los datos del pedido. Ver sección de *Pedidos* para más información.
* Vista de asignación avanzada de recursos. Vista en la que el usuario puede asignar recursos de manera avanzada, seleccionando las horas por día o las funciones de asignación que desea aplicar. Ver sección de *Asignación de recursos* para más información. * Vista de asignación avanzada de recursos. Vista en la que el usuario puede asignar recursos de manera avanzada, seleccionando las horas por día o las funciones de asignación que desea aplicar. Ver sección de *Asignación de recursos* para más información.
¿Por que es útil NavalPlan? ¿Por que es útil LibrePlan?
=========================== ===========================
NavalPlan es una aplicación que se ha desarrollado como una herramienta de LibrePlan es una aplicación que se ha desarrollado como una herramienta de
planificación de propósito general. Se basa en una serie de conceptos planificación de propósito general. Se basa en una serie de conceptos
descubiertos mediante el análisis de problemas en la planificación de proyectos descubiertos mediante el análisis de problemas en la planificación de proyectos
industriales que no estaban completamente cubiertos por ninguna herramienta de industriales que no estaban completamente cubiertos por ninguna herramienta de
planificación existente. Otras de las motivaciones para el desarrollo de planificación existente. Otras de las motivaciones para el desarrollo de
NavalPlan se basaban en proporcionar una alternativa de software libre, y LibrePlan se basaban en proporcionar una alternativa de software libre, y
complétamente web, a las herramientas de planficación privativas existentes. complétamente web, a las herramientas de planficación privativas existentes.
Los conceptos esenciales que se utilizan para el programa son los siguientes: Los conceptos esenciales que se utilizan para el programa son los siguientes:
* Vista global de empresa y multiproyecto: NavalPlan es una aplicación orientada específicamente a dotar de información a los usuarios sobre proyectos que se llevan a cabo en una empresa, por lo que la base es multiproyecto. No se determinó que el enfoque del proyecto sea orientado individualmente a cada proyecto. Sin embargo, también é posible posible disponer de varias vistas específicas, entre ellas la de proyectos individuales. * Vista global de empresa y multiproyecto: LibrePlan es una aplicación orientada específicamente a dotar de información a los usuarios sobre proyectos que se llevan a cabo en una empresa, por lo que la base es multiproyecto. No se determinó que el enfoque del proyecto sea orientado individualmente a cada proyecto. Sin embargo, también é posible posible disponer de varias vistas específicas, entre ellas la de proyectos individuales.
* Gestión de perspectivas: La vista global de empresa o vista multiproyecto se ve complementada con las perspectivas sobre la información que se almacena. Por ejemplo, la vista global de empresa permite visualizar los pedidos y contrastar el estado de los mismos, visualizar la carga general de recursos de la empresa y administrar los pedidos. Por otro lado, en la vista de proyecto, es posible visualizar la planificación, la carga de recursos, la vista de asignación de recursos avanzada y la edición del pedido relacionado. * Gestión de perspectivas: La vista global de empresa o vista multiproyecto se ve complementada con las perspectivas sobre la información que se almacena. Por ejemplo, la vista global de empresa permite visualizar los pedidos y contrastar el estado de los mismos, visualizar la carga general de recursos de la empresa y administrar los pedidos. Por otro lado, en la vista de proyecto, es posible visualizar la planificación, la carga de recursos, la vista de asignación de recursos avanzada y la edición del pedido relacionado.
* Criterios: Los criterios son una entidad del sistema que permiten clasificar los recursos (tanto humanos como máquinas) y las tareas. Desde el punto de vista de los recursos, estos deben satisfacer criterios y, desde el punto de vista de las tareas, estas requiren criterios a ser satisfechos. Se corresponden con uno de los aspectos más importantes de la aplicación, ya que los criterios forman parte de la base de las asignaciones genéricas en la aplicación, resolviendo uno de los problemas más importantes para el sector, la alta temporalidad de los recursos humanos y la dificultad para tener estimaciones de carga de la empresa a largo plazo. * Criterios: Los criterios son una entidad del sistema que permiten clasificar los recursos (tanto humanos como máquinas) y las tareas. Desde el punto de vista de los recursos, estos deben satisfacer criterios y, desde el punto de vista de las tareas, estas requiren criterios a ser satisfechos. Se corresponden con uno de los aspectos más importantes de la aplicación, ya que los criterios forman parte de la base de las asignaciones genéricas en la aplicación, resolviendo uno de los problemas más importantes para el sector, la alta temporalidad de los recursos humanos y la dificultad para tener estimaciones de carga de la empresa a largo plazo.
* Recursos: Son de dos tipos diferentes: humanos y máquinas. Los recursos humanos son los trabajadores de la empresa que se utilizan para planificar, monitorizar y controlar la carga de la empresa. Y, por outro lado, las máquinas, dependientes de las persoas que las gestionan, son otros recursos que actúan de modo similar a los recursos humanos. * Recursos: Son de dos tipos diferentes: humanos y máquinas. Los recursos humanos son los trabajadores de la empresa que se utilizan para planificar, monitorizar y controlar la carga de la empresa. Y, por outro lado, las máquinas, dependientes de las persoas que las gestionan, son otros recursos que actúan de modo similar a los recursos humanos.
* Asignación de recursos: Una de las claves es el hecho de ofrecer la posibilidade de dos tipos de asignación: asignación específica y asignación genérica. La genérica es una asignación basada en los criterios que se requieren para realizar una tarea, y que deben ser satisfechos por recursos que tienen la capacidad de realizarlas. Para entender la asignación genérica es necesario entender el siguiente caso: Jonh Smith es soldador, generalmente el propio Jonh Smith es asignado a la tarea planificada, pero "NavalPlan" ofrece la posibilidad de elegir un recurso en general entre los soldadores da empresa, sin preocuparse de si Jonh Smith es el asignado a la tarea. * Asignación de recursos: Una de las claves es el hecho de ofrecer la posibilidade de dos tipos de asignación: asignación específica y asignación genérica. La genérica es una asignación basada en los criterios que se requieren para realizar una tarea, y que deben ser satisfechos por recursos que tienen la capacidad de realizarlas. Para entender la asignación genérica es necesario entender el siguiente caso: Jonh Smith es soldador, generalmente el propio Jonh Smith es asignado a la tarea planificada, pero "LibrePlan" ofrece la posibilidad de elegir un recurso en general entre los soldadores da empresa, sin preocuparse de si Jonh Smith es el asignado a la tarea.
* Control de carga de la empresa: La aplicación da la posibilidad de tener un control sencillo de la carga de los recursos de la empresa. Este control se realiza a medio y largo plazo ya que se pueden controlar tanto los proyectos presentes como los potenciales proyectos a futuro. "NavalPlan" ofrece gráficos de uso de recursos. * Control de carga de la empresa: La aplicación da la posibilidad de tener un control sencillo de la carga de los recursos de la empresa. Este control se realiza a medio y largo plazo ya que se pueden controlar tanto los proyectos presentes como los potenciales proyectos a futuro. "LibrePlan" ofrece gráficos de uso de recursos.
* Etiquetas: Son elementos que se usan para lo etiquetado de las tareas de los proyectos. Con estas etiquetas el usuario de la aplicación puede realizar agrupaciones conceptuales de las tareas para posteriormente poder consultarlas de manera agrupada y filtrada. * Etiquetas: Son elementos que se usan para lo etiquetado de las tareas de los proyectos. Con estas etiquetas el usuario de la aplicación puede realizar agrupaciones conceptuales de las tareas para posteriormente poder consultarlas de manera agrupada y filtrada.
* Filtrados: Dado que el sistema dispone de manera natural de elementos que etiquetan o caracterízan tareas y recursos, es posible utilizar filtrado de criterios o etiquetas, lo cual dota de una gran potencia para poder consultar información categorizada o extraer informes específicos en base a criterios o etiquetas. * Filtrados: Dado que el sistema dispone de manera natural de elementos que etiquetan o caracterízan tareas y recursos, es posible utilizar filtrado de criterios o etiquetas, lo cual dota de una gran potencia para poder consultar información categorizada o extraer informes específicos en base a criterios o etiquetas.
* Calendarios: Los calendarios determinan las horas productivas disponibles de los diferentes recursos. El usuario puede crear calendarios generales de la empresa y derivar las características para calendarios más concretos, llegando hasta a nivel de calendario por recurso o tarea. * Calendarios: Los calendarios determinan las horas productivas disponibles de los diferentes recursos. El usuario puede crear calendarios generales de la empresa y derivar las características para calendarios más concretos, llegando hasta a nivel de calendario por recurso o tarea.

View file

@ -13,7 +13,7 @@ En las siguientes secciones se describirán las operaciones que un usuario puede
Pedido Pedido
====== ======
Un pedido es un proyecto o trabajo que un cliente le solicita a una empresa. El pedido para lo planificador identifica la entidad de proyecto dentro de la empresa. La diferencia de las aplicaciones de gestión globales, "NavalPlan" sólo necesita utilizar ciertos datos de los pedidos. Estos datos son: Un pedido es un proyecto o trabajo que un cliente le solicita a una empresa. El pedido para lo planificador identifica la entidad de proyecto dentro de la empresa. La diferencia de las aplicaciones de gestión globales, "LibrePlan" sólo necesita utilizar ciertos datos de los pedidos. Estos datos son:
* Nombre del pedido * Nombre del pedido
* Código del pedido. * Código del pedido.

View file

@ -8,7 +8,7 @@ Planificación de tareas
Planificación de tareas Planificación de tareas
======================== ========================
La planificación en "NavalPlan" es un proceso que se describe a lo largo de todos los capítulos del documento de usuario, entre los cuales destacan los capítulos de pedidos y de asignación de recursos. En este capítulo se tratan las operaciones básicas de planificación, una vez el pedido está correctamente configurado y la interacción con los diagramas de Gantt. La planificación en "LibrePlan" es un proceso que se describe a lo largo de todos los capítulos del documento de usuario, entre los cuales destacan los capítulos de pedidos y de asignación de recursos. En este capítulo se tratan las operaciones básicas de planificación, una vez el pedido está correctamente configurado y la interacción con los diagramas de Gantt.
.. figure:: images/planning-view.png .. figure:: images/planning-view.png
:scale: 35 :scale: 35

View file

@ -8,7 +8,7 @@ Usuarios
Administración de usuarios Administración de usuarios
========================== ==========================
El sistema de usuarios de "NavalPlan" permite gestionar perfiles, permisos y usuarios. Un usuario pertenece a un perfil de usuario y por otro lado los perfiles pueden tener una serie de roles predefinidos para el acceso a la aplicación. Los roles son los permisos definidos sobre "NavalPlan". Ejemplos de roles: El sistema de usuarios de "LibrePlan" permite gestionar perfiles, permisos y usuarios. Un usuario pertenece a un perfil de usuario y por otro lado los perfiles pueden tener una serie de roles predefinidos para el acceso a la aplicación. Los roles son los permisos definidos sobre "LibrePlan". Ejemplos de roles:
* Administración: Rol que los usuarios administradores deben tener asignados para poder realizar operaciones de administración. * Administración: Rol que los usuarios administradores deben tener asignados para poder realizar operaciones de administración.
* Lector de servicios web: Rol que los usuarios necesitan para poder consultar servicios web de la aplicación. * Lector de servicios web: Rol que los usuarios necesitan para poder consultar servicios web de la aplicación.

View file

@ -8,7 +8,7 @@ Informes
Informes Informes
======== ========
"NavalPlan" está integrado con *JasperReports* para la gestión de informes lo cual permite implantar diversos informes que analiza datos existentes en la aplicación. "LibrePlan" está integrado con *JasperReports* para la gestión de informes lo cual permite implantar diversos informes que analiza datos existentes en la aplicación.
Los informes definidos son: Los informes definidos son:

View file

@ -39,7 +39,7 @@ Escrito por
Financiación pública Financiación pública
======================== ========================
Dentro del marco global de NavalPlan y la gestión de la planificación, se desarrolló un proyecto que pretende resolver Dentro del marco global de LibrePlan y la gestión de la planificación, se desarrolló un proyecto que pretende resolver
una serie de problemas comunes de planificación. una serie de problemas comunes de planificación.
Este proyecto fue cofinanciado por la Xunta de Galicia, el Ministerio de Industria, Turismo y Comercio, y la Este proyecto fue cofinanciado por la Xunta de Galicia, el Ministerio de Industria, Turismo y Comercio, y la
Unión Europea, Fondo Europeo de Desarrollo Regional. Unión Europea, Fondo Europeo de Desarrollo Regional.

View file

@ -5,12 +5,12 @@ Documentación de usuario da aplicación
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
En el siguiente documento se proporciona la documentación de ayuda necesaria para utilizar NavalPlan, la aplicación web de código abierto para la planificación de proyectos. En el siguiente documento se proporciona la documentación de ayuda necesaria para utilizar LibrePlan, la aplicación web de código abierto para la planificación de proyectos.
Esta documentación está organizada del siguiente modo: Esta documentación está organizada del siguiente modo:
En primer lugar se describen los objetivos principales de la aplicación, comportamiento global y contextualización general del uso y necesidades de la misma. En primer lugar se describen los objetivos principales de la aplicación, comportamiento global y contextualización general del uso y necesidades de la misma.
A continuación se introducen las entidades básicas que será necesario conocer para utilizar las funcionalidades de Navalplan. A continuación se introducen las entidades básicas que será necesario conocer para utilizar las funcionalidades de LibrePlan.
Finalmente, se detallan los procesos completos de creación de pedidos, proyectos, planificación de proyectos, asignación de recursos, imputación de avances y extracción de resultados. Finalmente, se detallan los procesos completos de creación de pedidos, proyectos, planificación de proyectos, asignación de recursos, imputación de avances y extracción de resultados.

View file

@ -3,16 +3,16 @@ Introdución
.. contents:: .. contents::
O propósito deste documento é describir as características de NavalPlan e O propósito deste documento é describir as características de LibrePlan e
proporcionar información ós usuarios sobre como configurar e utilizar a proporcionar información ós usuarios sobre como configurar e utilizar a
aplicación. aplicación.
NavalPlan é unha aplicación web de código aberto para a planificación de LibrePlan é unha aplicación web de código aberto para a planificación de
proxectos. O seu obxectivo principal é proporcionar unha solución completa para a proxectos. O seu obxectivo principal é proporcionar unha solución completa para a
xestión dos proxectos da empresa. xestión dos proxectos da empresa.
Para calquera información específica que necesites sobre este software, por Para calquera información específica que necesites sobre este software, por
favor ponte en contacto co equipo de desenvolvemento en favor ponte en contacto co equipo de desenvolvemento en
http://www.navalplan.org/contacto http://www.libreplan.org/contacto
.. figure:: images/company_view.png .. figure:: images/company_view.png
@ -56,25 +56,25 @@ Sobre un pedido, a aplicación amosa as seguintes perspectivas:
* Vista de edición de pedido. Vista na que o usuario pode administrar os datos do pedido. Ver sección de *Pedidos* para máis información.. * Vista de edición de pedido. Vista na que o usuario pode administrar os datos do pedido. Ver sección de *Pedidos* para máis información..
* Vista de asignación avanzada de recursos. Vista na que o usuario pode asignar os recursos de xeito avanzado, seleccionando as horas por día ou as funcións de asignación que desexa aplicar. Ver sección de *Asignación de recursos* para máis información. * Vista de asignación avanzada de recursos. Vista na que o usuario pode asignar os recursos de xeito avanzado, seleccionando as horas por día ou as funcións de asignación que desexa aplicar. Ver sección de *Asignación de recursos* para máis información.
¿Por que me é útil NavalPlan? ¿Por que me é útil LibrePlan?
============================= =============================
NavalPlan é unha aplicación desenvolvida como unha ferramenta de LibrePlan é unha aplicación desenvolvida como unha ferramenta de
planificación de propósito xeral. Baséase nunha serie de conceptos planificación de propósito xeral. Baséase nunha serie de conceptos
descubertos mediante o análisis de problemas na planificación de proxectos descubertos mediante o análisis de problemas na planificación de proxectos
industriais que non estaban completamente cubertos por ningunha ferramenta de industriais que non estaban completamente cubertos por ningunha ferramenta de
planificación existente. Outras das motivacións para o desenvolvemento de planificación existente. Outras das motivacións para o desenvolvemento de
NavalPlan se baseaban en proporcionar unha alternativa de software libre, e LibrePlan se baseaban en proporcionar unha alternativa de software libre, e
completamente web, ás ferramentas de planficación privativas existentes. completamente web, ás ferramentas de planficación privativas existentes.
Os conceptos esenciais que se utilizan para o programa son os seguintes: Os conceptos esenciais que se utilizan para o programa son os seguintes:
* Vista global de empresa e multiproxecto: NavalPlan é unha aplicación orientada especificamente a dotar de información ós usuarios dos proxectos que se levan a cabo nunha empresa, polo que a base é multiproxecto. Non se determinou que o enfoque do proxecto sexa orientado individualmente a cada proxecto. Sen embargo, tamén será posible dispoñer de varias vistas específicas, entre elas a de proxectos individuais. * Vista global de empresa e multiproxecto: LibrePlan é unha aplicación orientada especificamente a dotar de información ós usuarios dos proxectos que se levan a cabo nunha empresa, polo que a base é multiproxecto. Non se determinou que o enfoque do proxecto sexa orientado individualmente a cada proxecto. Sen embargo, tamén será posible dispoñer de varias vistas específicas, entre elas a de proxectos individuais.
* Xestión de perspectivas: A vista global de empresa ou vista multiproxecto vese complementada coas perspectivas sobre a información que se almacena. Por exemplo, a vista global de empresa permite visualizar os pedidos e contrastar o estado dos mesmos, visualizar a carga xeral de recursos da empresa e administrar os pedidos. Por outro lado, na vista de proxecto, é posible visualizar a planificación, a carga de recursos, a vista de asignación de recursos avanzada e a edición do pedido relacionado. * Xestión de perspectivas: A vista global de empresa ou vista multiproxecto vese complementada coas perspectivas sobre a información que se almacena. Por exemplo, a vista global de empresa permite visualizar os pedidos e contrastar o estado dos mesmos, visualizar a carga xeral de recursos da empresa e administrar os pedidos. Por outro lado, na vista de proxecto, é posible visualizar a planificación, a carga de recursos, a vista de asignación de recursos avanzada e a edición do pedido relacionado.
* Criterios: Os criterios son unha entidade do sistema que permitirán clasificar os recursos (tanto humanos como máquinas) e as tarefas. Dende o punto de vista dos recursos, estes satisfarán criterios e, dende o punto de vista das tarefas, estas requirirán criterios a ser satisfeitos. Correspóndense con un dos aspectos máis importantes da aplicación, xa que os criterios formarán parte da base das asignacións xenéricas na aplicación, resolvendo un dos problemas máis importantes para o sector, a alta temporalidade dos recursos humanos e a dificultade para ter estimacións de carga da empresa a longo prazo. * Criterios: Os criterios son unha entidade do sistema que permitirán clasificar os recursos (tanto humanos como máquinas) e as tarefas. Dende o punto de vista dos recursos, estes satisfarán criterios e, dende o punto de vista das tarefas, estas requirirán criterios a ser satisfeitos. Correspóndense con un dos aspectos máis importantes da aplicación, xa que os criterios formarán parte da base das asignacións xenéricas na aplicación, resolvendo un dos problemas máis importantes para o sector, a alta temporalidade dos recursos humanos e a dificultade para ter estimacións de carga da empresa a longo prazo.
* Recursos: Son de dous tipos diferentes: humanos e máquinas. Os recursos humanos son os traballadores da empresa que se utilizan para planificar, monitorizar e controlar a carga da empresa. E por outro lado, as máquinas, dependentes das persoas que as xestionan, son outros recursos que actúan de xeito similar ós recursos humanos. * Recursos: Son de dous tipos diferentes: humanos e máquinas. Os recursos humanos son os traballadores da empresa que se utilizan para planificar, monitorizar e controlar a carga da empresa. E por outro lado, as máquinas, dependentes das persoas que as xestionan, son outros recursos que actúan de xeito similar ós recursos humanos.
* Asignación de recursos: Unha das claves é o feito de ofrecer a posibilidade de dous tipos diferentes de asignación: asignación específica e asignación xenérica. A xenérica é unha asignación baseada nos criterios que se requiren para realizar a unha tarefa, e que deben ser satisfeitos polos recursos que teñen a capacidade de realizala. Para entender a asignación xenérica, é necesario, imaxinarse o seguinte caso: Jonh Smith é soldador, xeralmente o propio Jonh Smith é asignado á tarefa planificada, pero "NavalPlan" ofrece a posibilidade de elixir un recurso en xeral entre os soldadores da empresa, sen preocuparse de se Jonh Smith é o asignado á tarefa. * Asignación de recursos: Unha das claves é o feito de ofrecer a posibilidade de dous tipos diferentes de asignación: asignación específica e asignación xenérica. A xenérica é unha asignación baseada nos criterios que se requiren para realizar a unha tarefa, e que deben ser satisfeitos polos recursos que teñen a capacidade de realizala. Para entender a asignación xenérica, é necesario, imaxinarse o seguinte caso: Jonh Smith é soldador, xeralmente o propio Jonh Smith é asignado á tarefa planificada, pero "LibrePlan" ofrece a posibilidade de elixir un recurso en xeral entre os soldadores da empresa, sen preocuparse de se Jonh Smith é o asignado á tarefa.
* Control de carga da empresa: a aplicación da a posibilidade de ter un control sinxelo da carga dos recursos da empresa. Este control realízase a medio e longo prazo xa que se poden controlar tanto os proxectos presentes como os potenciais proxectos. "NavalPlan" ofrece gráficos de uso de recursos. * Control de carga da empresa: a aplicación da a posibilidade de ter un control sinxelo da carga dos recursos da empresa. Este control realízase a medio e longo prazo xa que se poden controlar tanto os proxectos presentes como os potenciais proxectos. "LibrePlan" ofrece gráficos de uso de recursos.
* Etiquetas: Son elementos que se usan para o etiquetado das tarefas dos proxectos. Con estas etiquetas o usuario da aplicación pode realizar agrupacións conceptuais das tarefas para posteriormente poder consultalas de xeito agrupado e filtrado. * Etiquetas: Son elementos que se usan para o etiquetado das tarefas dos proxectos. Con estas etiquetas o usuario da aplicación pode realizar agrupacións conceptuais das tarefas para posteriormente poder consultalas de xeito agrupado e filtrado.
* Filtrados: Dado que o sistema dispón de xeito natural de elementos que etiquetan ou caracterízan tarefas e recursos, é posible utilizar filtrado de criterios ou etiquetas, o cal dota de unha gran potencia para poder consultar información categorizada ou extraer informes específicos en base a criterios ou etiquetas. * Filtrados: Dado que o sistema dispón de xeito natural de elementos que etiquetan ou caracterízan tarefas e recursos, é posible utilizar filtrado de criterios ou etiquetas, o cal dota de unha gran potencia para poder consultar información categorizada ou extraer informes específicos en base a criterios ou etiquetas.
* Calendarios: Os calendarios determinan as horas produtivas dispoñibles dos diferentes recursos. O usuario pode crear calendarios xerais da empresa e derivar as características para calendarios máis concretos, chegando ata a nivel de calendario por recurso ou tarefa. * Calendarios: Os calendarios determinan as horas produtivas dispoñibles dos diferentes recursos. O usuario pode crear calendarios xerais da empresa e derivar as características para calendarios máis concretos, chegando ata a nivel de calendario por recurso ou tarefa.

View file

@ -13,7 +13,7 @@ Nas seguintes seccións describiranse as operacións que un usuario pode realiza
Pedido Pedido
====== ======
Un pedido é un proxecto ou traballo que un cliente lle solicita a unha empresa. O pedido para o planificador identifica a entidade de proxecto dentro da empresa. A diferencia das aplicacións de xestión globais, "NavalPlan" só necesita utilizar certos datos dos pedidos. Estes datos son: Un pedido é un proxecto ou traballo que un cliente lle solicita a unha empresa. O pedido para o planificador identifica a entidade de proxecto dentro da empresa. A diferencia das aplicacións de xestión globais, "LibrePlan" só necesita utilizar certos datos dos pedidos. Estes datos son:
* Nome do pedido * Nome do pedido
* Código do pedido. * Código do pedido.

View file

@ -8,7 +8,7 @@ Planificación de tarefas
Planificación de tarefas Planificación de tarefas
======================== ========================
A planificación en "NavalPlan" é un proceso que se describe ó longo de todos os capítulos do documento de usuario, entre os cales destacan os capítulos de pedidos e asignación de recursos. Neste capítulo trátanse as operacións básicas de planificación, unha vez o pedido está correctamente configurado e á interacción cos diagramas de Gantt. A planificación en "LibrePlan" é un proceso que se describe ó longo de todos os capítulos do documento de usuario, entre os cales destacan os capítulos de pedidos e asignación de recursos. Neste capítulo trátanse as operacións básicas de planificación, unha vez o pedido está correctamente configurado e á interacción cos diagramas de Gantt.
.. figure:: images/planning-view.png .. figure:: images/planning-view.png
:scale: 35 :scale: 35

View file

@ -8,7 +8,7 @@ Usuarios
Administración de usuarios Administración de usuarios
========================== ==========================
O sistema de usuarios de "NavalPlan" permite xestionar perfiles, permisos e usuarios. Un usuario pertence a un perfil de usuario e por outro lado os perfiles poden ter unha serie de roles predefinidos para o acceso á aplicación. Os roles son os permisos definidos sobre "NavalPlan". Exemplos de roles: O sistema de usuarios de "LibrePlan" permite xestionar perfiles, permisos e usuarios. Un usuario pertence a un perfil de usuario e por outro lado os perfiles poden ter unha serie de roles predefinidos para o acceso á aplicación. Os roles son os permisos definidos sobre "LibrePlan". Exemplos de roles:
* Administración: Rol que os usuarios administradores deben ter asignados para poder realizar operacións de administración. * Administración: Rol que os usuarios administradores deben ter asignados para poder realizar operacións de administración.
* Lector de servizos web: Rol que os usuarios necesitan para poder consultar servizos web da aplicación. * Lector de servizos web: Rol que os usuarios necesitan para poder consultar servizos web da aplicación.

View file

@ -8,7 +8,7 @@ Informes
Informes Informes
======== ========
"NavalPlan" está integrado con *JasperReports* para a xestión de informes o cal permite implantar diversos informes que analiza datos existentes na aplicación. "LibrePlan" está integrado con *JasperReports* para a xestión de informes o cal permite implantar diversos informes que analiza datos existentes na aplicación.
Os informes definidos son: Os informes definidos son:

View file

@ -39,7 +39,7 @@ Escrito por
Financiación pública Financiación pública
======================== ========================
Dentro do marco global de NavalPlan e a xestión da planificación, desenvolveuse un proxecto que pretende resolver unha serie de problemas comúns de planificación. Este proxecto foi cofinanciado pola Xunta de Galicia, o Ministerio de Industria, Turismo e Comercio, e pola Unión Europea, Fondo Europeo de Desenvolvemento Rexional. Dentro do marco global de LibrePlan e a xestión da planificación, desenvolveuse un proxecto que pretende resolver unha serie de problemas comúns de planificación. Este proxecto foi cofinanciado pola Xunta de Galicia, o Ministerio de Industria, Turismo e Comercio, e pola Unión Europea, Fondo Europeo de Desenvolvemento Rexional.
.. figure:: images/logos.png .. figure:: images/logos.png

View file

@ -5,13 +5,13 @@ Documentación de usuario da aplicación
.. image:: images/logo.png .. image:: images/logo.png
:align: left :align: left
No seguinte documento proporciónase a documentación de axuda necesaria para utilizar NavalPlan, a aplicación web de código aberto para a planificación de proxectos. No seguinte documento proporciónase a documentación de axuda necesaria para utilizar LibrePlan, a aplicación web de código aberto para a planificación de proxectos.
Esta documentación está organizada do seguinte modo: Esta documentación está organizada do seguinte modo:
En primeiro lugar descrébense os obxectivos fundamentais da aplicación e o comportamento global da mesma a modo introductorio e como contextualización xeral do uso da mesma. En primeiro lugar descrébense os obxectivos fundamentais da aplicación e o comportamento global da mesma a modo introductorio e como contextualización xeral do uso da mesma.
A continuación introdúcense as entidades básicas que será necesario administrar para poder empregar todas as funcionalidades de NavalPlan e que se mencionarán nas seguintes seccións da documentación. A continuación introdúcense as entidades básicas que será necesario administrar para poder empregar todas as funcionalidades de LibrePlan e que se mencionarán nas seguintes seccións da documentación.
Posteriormente, detállanse os procesos completos de creación de pedidos e proxectos, planificación, asignación de recursos, imputación de avances e extración de resultados. Posteriormente, detállanse os procesos completos de creación de pedidos e proxectos, planificación, asignación de recursos, imputación de avances e extración de resultados.

View file

@ -4,13 +4,13 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <parent>
<groupId>org.navalplanner</groupId> <groupId>org.libreplan</groupId>
<artifactId>navalplanner</artifactId> <artifactId>libreplan</artifactId>
<version>1.1.3</version> <version>1.1.3</version>
</parent> </parent>
<artifactId>ganttzk</artifactId> <artifactId>ganttzk</artifactId>
<packaging>jar</packaging> <packaging>jar</packaging>
<name>NavalPlan ZK Components Module</name> <name>LibrePlan ZK Components Module</name>
<build> <build>
<plugins> <plugins>

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2010-2011 Igalia, S.L. * Copyright (C) 2010-2011 Igalia, S.L.
* *

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

View file

@ -1,5 +1,5 @@
/* /*
* This file is part of NavalPlan * This file is part of LibrePlan
* *
* Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e * Copyright (C) 2009-2010 Fundación para o Fomento da Calidade Industrial e
* Desenvolvemento Tecnolóxico de Galicia * Desenvolvemento Tecnolóxico de Galicia

Some files were not shown because too many files have changed in this diff Show more