2.1 Release Notes

From web2Project.net
Jump to: navigation, search

Release Date: 22 September 2010

Downloading web2project

For the v2.1 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

  • When editing a Task, you can designate it as able to accept Tasklogs for other users. Specifically, when someone with Edit Task permissions adds a Tasklog, they can log the time for anyone currently assigned to the Task.
  • Beyond the normal development this time, we spent a great deal of time consulting legal professionals to research the possibility of converting from the GPL to the Clear BSD license. The good news is that it is possible, it's just quite difficult. Regardless, we are pursuing this for a later release.

Fixes/Bugs Closed

  • Applied some fixes to the contact_methods to eliminate some of the 'ambiguous contact_id' references that occur under Mysql 4.x
  • Corrected the GanttRenderer to display all dependencies
  • Fixed an incorrect permissions check in the CProjects class
  • Fixed the add/edit fields in the Contacts module for IE7/8
  • Fixed the missing Task Access array list in the Project Designer
  • Tweaked the admin configuration screen t hide the SMTP password by default
  • Updated the date handling in the email queuing to make sure they use the proper times
  • Updated the iCal generation to pass this validator: http://severinghaus.org/projects/icv/
  • Updated the CTasklog class to handle fractions, simple integers, and cast strings to integers (zero)
  • 287 - Reports - No data displayed on Overall Report
  • 401 - Files - View previous file versions
  • 501 - Project Designer - Expand/Collapse function is not working in final release 2.0
  • 502 - User Interface - Skin web2project "Snow Ball Style" has a wrong menu layout
  • 503 - Core Infrastructure - Some users pref TIMEZONE incorrect after upgrade to 2.0,resolved
  • 505 - Files - Upload folders are not deleted
  • 512 - Calendar - Incomplete view of detail
  • 513 - System Admin - Viewing System Admin causes php error
  • 514 - Reports - Project Statistics Report doesn't make match total task
  • 517 - Contacts - Bugs in Contacts - missing fields, unable to submit new contact...
  • 518 - Project Designer - Cannot assign user in IE8
  • 519 - Forums - Using forum generates some errors
  • 530 - Browser Compatibility - Forum buttons are displayed incorrectly in IE8
  • 531 - Resources - Unable to delete resource in Resources module
  • 534 - Links - edit icon/button does not work (IE8)
  • 535 - Links - URL handling
  • 545 - Permissions - Using department permission ADMIN can see a project listed "X" times
  • 550 - Reports - sort the tasks with task parent
  • 553 - Calendar - times mixed up
  • 554 - Calendar - Project and assigning to an event not working wel anymore
  • 558 - User Admin - User Email Defaults not saving
  • 561 - Calendar - Attendees failing to add to Events
  • 567 - Files - Email Notification not working when uploading/editing files
  • 569 - Calendar - Calendar event time doesn't correspond to email event time
  • 570 - Links - Duplicate links listed
  • 574 - Translation/Languages - Invalid character on email message
  • 575 - System Admin - Import from AD via LDAP fails
  • 577 - Calendar - Not possible to set time from 0:00 to 23:59
  • 579 - Contacts - Fail to export contacts to csv

Misc Changes/Improvements

  • Added extensive Unit Tests for the CDate class
  • Cleaned up some of the HTML templates to get closer to full XHTML support - mostly login, lostpass, headers, and footers
  • Implemented Unit Tests for the CTasklog class
  • Made all kinds of formatting updates to be better in line with the PEAR coding standard
  • Moved a number of functions out of hidden places into the deprecated_functions include for later removal
  • Refactored all Gantt Chart creation out of the individual gantt.php files into the GanttRenderer class
  • Simplified how some of the Reports are calculating data
  • Simplified some project queries to make less joins and subqueries when possible
  • Simplified the Department handling in the Projects module to be more consistent with our general form processing
  • Simplified the permissions check in SmartSearch
  • Started refactoring all the email templates into the EmailManager class
  • Updated numerous Task Unit Tests to reflect the new class structure
  • Updated the calendar to display the company and project name in the tooltip
  • Updated the CW2pObject constructor to support instantiation where a class name/module name/table name may not be consistent
  • Updated the order of the warning messages in the System Admin to be more logical
  • Updated the Portuguese translation file
  • 251 - User Interface - Display buttons for all views in calendar
  • 467 - Core Infrastructure - Rename sql directories of dP
  • 529 - System Admin - End dates do not calculate correctly using custom TaskDurationType system lookup value
  • 533 - Links - New link button in tasks (everywhere?) should preset project and task ID's
  • 549 - System Admin - Upon deinstalling a module the language for the module name is switched to English (for reinstall)
  • 555 - System Admin - Smtp password is displayed human readable
  • 565 - Tasks - showtask does not display priority if sysval is set to more than -1 0 +1

Open/Known Issues

  • 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.

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: 65326 (10347 of comments, 54979 of code)
  • Overall Cyclomatic Complexity/LoC: 0.09
  • Classes: 80 (80 Concrete, 0 Abstract)
    • Lines of Code/Class: 816
    • Class Constants: 6
    • Methods: 781 (41 static, 740 non-static)
    • Lines of Code/Method: 83
    • Cyclomatic Complexity/Number of Methods: 7.83
  • Functions: 208
  • Constants: 57
  • Test Classes: 11
    • Test Methods: 394
  • 2.63% duplicated lines of code (~1445)