2.2 Release Notes

From web2Project.net
Jump to: navigation, search

Release Date: 19 December 2010

Downloading web2project

For the v2.2 Release, the only official distribution site is SourceForge.

All Installation instructions have been moved to the Installation page. They will no longer be included in the Release Notes.

Reporting Problems

If you have any problems or think you've found a bug, please visit our Support Forums. We have a great community and most are willing to help in exchange for a simple "thank you". Remember, politeness goes a long way.

If you've been unlucky enough to discover an actual bug, please add it to our our Issue Tracking System. Please be as specific as possible, it will help us reproduce and determine the cause of problems more quickly. Though before submitting, please search to see if someone has already submitted it. Who knows? It might already be fixed by the time you find it!

Finally, please remember to mark Feature Requests as requests and not bugs.

New Features

  • Added a module uploader to allow for direct deployment of modules, applied various validations to uploaded modules;
  • Added jQuery (v1.4.2) as the default Javascript framework, Mootools deprecated and removed;
  • Added the Czech locales to core;
  • Added the Russian locale to core and reports;
  • Applied some major Gantt Chart improvements (major thanks to Zbigniew Kaminski for writing the first version and/or inspiring many of these):
    • Added new images to represent Milestones of various stages: planned, completed, in progress, and overdue;
    • Added a legend to describe the icons/notations;
    • Added alternating line shading for all tasks;
    • Added a one-page PDF export of any chart;
    • Applied task_access permissions to filter private tasks as appropriate;
    • Refactored all Gantt chart creation to the GanttRenderer class;
    • Resolved an issue where the headers were too small to display the project name;
  • 181 - User Interface - Standardize on a Single JS Library (jQuery)
  • 543 - Projects - Subproject token task improvements
  • 614 - Projects - Allow to edit project list length for project tabs

Fixes/Bugs Closed

  • Added a permissions check to the Reports module;
  • Fixed a minor visual glitch on the lost password screen in the base web2project theme;
  • Fixed an IE mini-calendar position bug;
  • Fixed the Bulk Task Processing in the Project Designer to update End Dates before Start Dates so we don't hit a "start date after end date" error;
  • Fixed the "Default Tabbed Subview" on Day View to honor the default tab as defined in the System Configuration;
  • Fixed the email handling to use the proper email body for each message;
  • Fixed the Task Count field on the Project List screen to make it sortable;
  • 516 - User Admin - Error in "contact_id" ambiguous displayed in several views and user admin not working
  • 556 - Tasks - Can't update child tasks
  • 586 - N/A - Viewing of projects ( in user mode) (dept not added)
  • 594 - Files - Unable to delete files in root folder
  • 599 - Tasks - WHITE SCREEN
  • 602 - Gantt Chart Generation - Javascript error on the projects page
  • 605 - Projects - Denial access to a project for anyone
  • 606 - User Admin - The problem is, in the process the Default User Preferences are not being imported.
  • 609 - Projects - Please select a color to identify this project
  • 610 - Tasks - Assiging tasks to user level
  • 613 - Forums - Add forum has a delete forum button, clicking it crashes w2p
  • 617 - Projects - On changing start date : Access Denied | You have attempted to access an item in web2Project without the sufficient permissions
  • 619 - Projects - New Project - Departments are not visible
  • 621 - Core Infrastructure - Class w2p_Core_BaseObject : wrong parameter in function canDelete
  • 622 - Projects - I can't open project which have empty field above name of department selected
  • 631 - Calendar - Thunderbird cannot display ical feed, incl. patch
  • 634 - Tasks - Blank page problem when I insert a dynamic task
  • 643 - Tasks - When tasks are listed, if two tasks have the same start_date order may be incorrect.
  • 647 - Projects - When importing tasks into new project tasks start/end dates are not recalculated based on new project's start date

Misc Changes/Improvements

  • Added anchor tags to the System Configuration screen to allow links directly to the important fields;
  • Added approximately 40 Unit Tests covering functionality in CDate among other classes;
  • Added hooks for the Calendar Module to display arbitrary date information;
  • Added Javascript to set the focus on the first (non-search) text box on the screen;
  • Added links for the Tasks and Tasklogs inside both Tasklogs reports (tasklogs.php and tasklogs_wp1.php);
  • Added Task Filters to the System Configuration to allow for defaults to be set;
  • Applied some miscellaneous code cleanup to better match the PEAR coding standard;
  • Applied some miscellaneous code cleanup to move to-be-deprecated functions to deprecated_functions.php;
  • Applied some UTF-8 fixes to jpgraph and Calendar module for Russian locale;
  • Removed the time from the Task Log Date format since it's never actually set;
  • Un-factored the change from v2.0 where contact_email and contact_phone were deprecated, both are back on the contacts table now;
  • Updated Dependency Tracking to be ON by default;
  • Updated the error display in the BaseObject to handle error arrays;
  • Updated the French locales;
  • Updated the Project Designer to display a Gantt Chart even if there are no tasks;
  • Updated the tooltips updated to use jQuery instead of Mootools, then minimized appropriately;
  • Updated the w2pgetConfig function to store the default value if the corresponding parameter doesn't exist;
  • 312 - Reports - Linking task logs in reports back to editing view for that task log
  • 359 - System Admin - Include SMTP From entry to replace fixed From address admin@site_domain for all mail sends
  • 481 - Departments - Dead end after adding department
  • 539 - Projects - Subproject name change not carried over to token task in parent
  • 588 - Project Designer - Allow task logs for other users
  • 589 - Tasks - Add notify option to task log edit
  • 629 - Translation/Languages - Czech localization
  • 641 - User Interface - Configurable link to a web2projectmaster Email

Open/Known Issues

  • As of 21 December, a small issue was found related to the Task Filters http://forums.web2project.net/viewtopic.php?p=8419&highlight=#8419.
  • The cascading dependencies are still not 100% but very close. Although long chains (A->B-C->D->E) work fine and tasks with multiple dependencies work fine, there are a limited number of scenarios where dependencies do not behave as expected.
    • One such scenario is when you have a Dynamic Task A with children chain (B->C-D->E) and Task F which is dependent on Task A. If B, C, D or E shift, they shift the rest of the chain as expected and the Dynamic Task (A) as expected but unfortunately F does not get updated.
  • If you upgrade from dotProject, you may have an oddity with your default theme/display as the name has changed. If this happens, edit your preferences, change to one of the existing themes, and save.
  • In Webkit browsers such as safari or chrome, in the Edit Task, Log Task, and a few other places, the clickable area of the tag is offset above the icon by half the icon height. Consequently, when clicking on an "edit task", about half the time, you would actually be clicking on the a tag for the next row's task; and thus go to THAT tasks's edit window. - This is already resolved for v2.3.

System Metrics

There are some core metrics that may be of interest to the geekier among us. By running the commands below, we get the metrics below (web2project-git is my base w2p directory):

php phploc.php --count-tests --exclude=../web2project-git/lib ../web2project-git/

php phpcpd.php --exclude=../web2project-git/lib/ --exclude=../web2project-git/unit_tests/ ../web2project-git/


  • Lines of Code: 67021 (10735 of comments, 56286 of code)
  • Overall Cyclomatic Complexity/LoC: 0.09
  • Classes: 81 (81 Concrete, 0 Abstract)
    • Lines of Code/Class: 827
    • Class Constants: 6
    • Methods: 786 (41 static, 745 non-static)
    • Lines of Code/Method: 85
    • Cyclomatic Complexity/Number of Methods: 8.02
  • Functions: 215
  • Constants: 62
  • Test Classes: 11
    • Test Methods: 434
  • 2.63% duplicated lines of code (~1472)