Real Project Management for Real Businesses

Browsing Posts tagged Releases

A few weeks ago, I spent a week at Microsoft Headquarters in Redmond, Washington representing web2project and working on SQL Server support. During the week, many people asked me variations of:

Why? What are you thinking? Are you dropping MySQL support? What in the world are you doing?

In some cases, their questions seemed more panicked that anything. To clarify what is going here, let me explain:

First of all, no, we are not dropping MySQL support. To be blunt, that would be dumb of us. Our community knows and loves MySQL. It’s installed on something like 103% of the web servers out there. For years, it has served as the foundation of web2project and we don’t plan to drop it.

Next, with respect to Microsoft.. their relationship with the Open Source community has ranged somewhere between global thermonuclear war and that awkward guy on the wall at prom. In some places, they’re doing good work while in other places, people are still aiming missiles. Regardless, some groups within Microsoft have worked hard to build positive, productive relationships with the PHP community.

Therefore, our goal is obvious. The goal was SQL Server Compatibility.

Our Vision for web2project is that we take over the world it can be installed into any company’s infrastructure and *poof* it works. Our users shouldn’t worry that their IT staff only supports SQL Server or prefers Apache over IIS or runs Ubuntu instead of Redhat. They just want their tools to work and we want web2project to be one of those tools, so the need was clear.

With that, I’m proud to announce that as a result of this week’s efforts, we believe we have full SQL Server support in the core system. I don’t (and won’t) know the compatibility of the Add On Modules, but if they’ve followed our suggestions in the Module Building Guide, they should be pretty close already.

My personal goal is to have SQL Server support ready for production use in the web2project v3.0 release this winter with at least one beta and one release candidate before then. If you know how to run SQL Server and would be willing to test, please contact me at caseydk [at] web2project.net and let me know. Any and all feedback is appreciated.


Disclosure: I have worked for Microsoft numerous times in the last few years and I continue to work with them in both paid and unpaid roles. Regardless, when they do something right, I applaud them. And when they do something dumb, I challenge them.

As of yesterday 30 March 2011, web2project v2.3 has hit the street. You can download it from Sourceforge now.

While under development, we didn’t fully realize what all this release would entail. As this development cycle began, we had a perfect storm of events: a holiday break, a particularly motivated project team, a few moments of clarity, and an engaged community. These things gave us significantly more updates for v2.3 than we ever expected.

For this release, a few specific people stood out within an already great community:

  • CasN has done an outstanding job in the forums in reporting & debugging issues, helping other users on the forums, and some Add On module work;
  • Eureka has submitted great bug reports, the occasional core patch, an updated French translation, and shared quite a bit of work on a number of Add On Modules;
  • Opto has contributed detailed and useful bug reports, good patches, and insight on the forums;
  • RobertBasic appeared out of nowhere to contribute patches related to better UTF/Unicode handling, translations, character encoding in general, and even a complete rework of the PDF-generation.

As a result of all of this activity, we have a variety of new features, updates, and fixes. While the full v2.3 Release Notes are too long to cover in detail in this post, here are some items I consider particularly useful:

For the Project Managers:

  • We further cleaned up the Project List screen – before one of the slowest in the system – and added support for configurable columns. Any core field from a project can now be displayed, formatted properly, and even sorted on.
  • We updated the Gantt Charts to ensure that project ordering is consistent and represents the standard waterfall layout.
  • We made all milestones in the Gantt Charts color-coded to distinguish upcoming, overdue, and complete.
  • We updated all user-specific task pages to include both the Task Priority and the User Priority to make sure everyone has a clear indication of goals, priorities, etc.

For General Users:

  • We rewired some of the post-save redirects. Now after saving many types of items – contacts, events, and files – instead of being sent to the list page of that module, you’re redirected to view the item.
  • We added a simple “password strength checker” to encourage strong passwords.
  • We made major improvements to the Calendar to ensure that private events and tasks are only visible to the proper people, that all events – both recurring and one-time – render in the Day, Week, or Month views appropriately, and that the tooltips have all the necessary information.
  • We eliminated upwards of 80% of the XHTML/CSS validation issues. As a result, the system is better behaved in all modern browsers.

For System Admins:

  • We added warnings in the Modules and Translations Admin to ensure that you know if any tweaks are necessary.
  • We eliminated over a dozen joins to speed performance and reduce memory use.
  • We updated many of the underlying libraries including ADODb, PHPMailer, and Xajax.
  • We adjusted the system configuration to automatically save known-safe values if they were previously unset.

For Developers:

  • We added a the ability to specify “preferred” values in dropdowns to simplify long option lists like Country.
  • We removed all references to soon-to-be deprecated classes and added deprecation warnings. If you develop Add On modules, please review your error logs to use the proper classes.
  • We refactored most of the controllers into a w2p_Base_Controller class to support Dependency Injection for Unit Testing.
  • We added over 50 Unit Tests since the v2.2 release in December.

From here forward, we can focus on the v3.0 release for June. You can review our agenda in the Issue Tracker (select v3.0 in the dropdown), but the top two things on my agenda are finishing the web2project license change and merging in my latest development on Project Budgeting.. more on both of those later.

You can download web2project v2.3 from Sourceforge now.

As of 19 December 2010, web2project v2.2 is officially live. You can download it from SourceForge now.

While in many releases we might focus on cleanup or functionality or developer aspects or similar, this one is a mishmash of a bunch of useful updates on numerous fronts. This isn’t all the updates but a bunch of the important ones:

For the Project Managers:

  • We reworked much of the Gantt Chart logic. We’ve added a few icons to better represent the status of tasks and milestones. Further, to make the charts easier to read and understand, we’ve added a legend and shaded alternate lines.
  • Gantt Charts are now exportable as single-page PDFs. You can print, email, share, or whatever with just a click.
  • We updated Token Tasks – which represent Subprojects – to prevent direct editing. Further, more of the Subproject data synchronizes as expected.
  • Dependency Tracking is now ON by default. This provides for better cascading updates as their predecessors move.

For System Admins:

  • If System Timezone or System Admin Email are not set, the system provides warning messages with links to the specific fields in the System Admin screens.
  • If filesystem permissions are properly configured, the Module screen supports direct uploading.
  • The Reports module has a permissions check applied. Previously, it did not.. though the underlying data was filtered appropriately.
  • The core system supports configurable pagination for the Project List screen and a few others.

For Developers:

  • We replaced our old Javascript library (Mootools) with jQuery. It’s faster, easier to use, and widely supported.
  • Added approximately 40 Unit Tests covering areas such as CDate and other classes.
  • Added a call in the Calendar Module to display arbitrary date-related information. A reference implementation is coming in the next release.

For General Users:

  • We’ve added Czech and Russian translations. If the dice rolls work out, we’ll move to Kamchatka next.
  • We’ve set the field focus to the first text box on each screen.
  • Private Tasks are now respected on all screens including Gantt Charts.
  • We fixed a number of visual issues.

Finally, special thanks goes to community member Opto who consistently submits great bug reports, shares useful patches, and provides random insights that help and speed things along. Thanks!

And that wraps our releases for 2010.

This year we managed 1 Major Release, 3 Minor Releases, and 1 Patch Release. Most of the releases were a week or two later than we wanted but we managed to get all of them out on schedule. More importantly, each and every release has managed to provide new functionality and close bugs while collecting and responding to community feedback.

And in case you missed our recent coverage on SourceForge, check it out!

You can download web2project v2.2 from SourceForge now.

web2project homepage As of 22 September 2010, web2project v2.1 is officially released! You can download it from SourceForge now.

For Project Managers, there are not a huge number of tangible improvements. This was mostly a cleanup release:

  • The most important part is that now a User can add Tasklogs for people other than themselves. When you create or edit a Task, you can denote “Allow users to add task logs for others” which allows just that. Users can add hours for anyone currently assigned to work on the Task. The system tracks who logged the time for audit purposes.

For Developers, we had a significant number of cleanups related to timezones, Gantt chart creation, and miscellaneous things here and there:

  • The most important part are some cleanups related to the contact_methods refactoring. There were a number of issues that made it into the v2.0 release that are now closed.
  • More useful in general was a complete refactoring of the Gantt chart creation. One of our goals for v2.2 is to supplement the current image-based (jpGraph) Gantt charts with both a jQuery and a Flex/Flash-based option.
  • We added a significant number of Unit Tests for the system in general but focused on the PEAR/Date and CDate classes specifically. We hope to replace PEAR/Date with core PHP functionality in coming releases.
  • We resolved a number of browser compatibility issues for IE 8.
  • iCalendar generation has been updated to create VEVENTS that pass validation as per the formal specification.
  • We moved a number of duplicate and oddball functions into the deprecation area for refactoring and eventual removal.

For anyone who might be interested, the big time sink during this release was of a legal nature. After the battle between WordPress and the Thesis theme played out and how the GPL could be interpretted, we investigated what it would take to change to a BSD-based license. The good news is that it will be possible – more to follow – and the bad news is the amout of effort involved.

Once again, some great community members stepped up and did a great job in reporting issues, testing fixes, and generally offering insight and sanity checks. Special thanks goes to opto and figgles.

In summary, we closed 38 issues including 3 crash-level issues, 20 minor issues, and 4 features. As always, these are just the formally reported issues and don’t include smaller items that were reported via Twitter, the web2project forums, and other means. If you want to explore everything of interest, check out the web2project v2.1 Release Notes. And of course, if you’re looking for ways to collaborate with us more easily, you should check out our web2project git repository.

You can download web2project v2.1 from SourceForge now.

* And yes, I always wait a few days to announce the releases in case we have to make a patch release. ;)

web2project homepage As of 29 June 2010, web2project v2.0 is officially released! You can download it from SourceForge now.

Although this release had lots of bug fixes, the primary focus was on a few specific new features and major pieces of functionality. You can read the full v2.0 Release Notes, but in my opinion, the six most important items are:

  • User-based Timezones: Everywhere a time is used or displayed within the system, it’s now stored in GMT/UTC and presented in the user’s local timezone. If you set a meeting for 5pm America/New_York, someone with America/Chicago timezone will automatically see it at 4pm. If you have team members spread across timezones, this is vital. Lots of thanks to Derick Rethans – the master of all things time-related in PHP – on his numerous presentations on DateTime and Timezones. His information made it possible.
  • Unit Tests have come a long way since the v1.0 release. We had zero at that time but Trevor Morse – founder of the Halifax, NS PHP Group and core web2project member – has led the way to 240+ tests focused on the Tasks and Projects classes.
  • Subprojects are now Useful: Previously you could denote one project as a subproject as another but it didn’t really do anything, it was just presented a bit differently. With this release, when you assign a project as a subproject, now it creates a token task within the parent project. This token task takes on the start/end dates, duration, hours worked, and percent complete of the subproject. As the subproject updates, the token task updates. Even more usefully, you can use the Token Task as a dependency for other tasks in the parent project. That all sounds complicated, so just try it out.
  • The class structure has been completely restructured: While this won’t be relevant to 99% of our users, it makes it much easier to add standalone frameworks – like the Zend Framework or whatever – to the system for other functionality. On a related point, web2project now supports the naming conventions put forth in the Framework Interoperability Group. This will also allow easier third-party authenticators for systems like Drupal, Joomla, or WordPress.
  • Audit Logs – We cleaned up the core system objects to provide historical logging of all CRUD operations. Any Add On modules that use the core objects will get this functionality by default.
  • Added an ‘update checker’This is a regular script which runs to notify the System Administrator that a new release is available and collects basic system information. This was modeled after Drupal’s update functionality. No sensitive information is collected and this can be opted out of via the System Configuration.

A number of community members stepped up and did a great job in reporting issues, helping test fixes and release candidates, and generally being insightful. Special thanks goes to opto, adolfo, zbyszek, and egemme. Without them, v2.0 would not be as solid, useful, and generally as bug-free as it is.

In summary, we closed about 79 items with ranging from 15 crash-level issues to 42 minor bugs. Once again, those are just the formally reported issues. If you want to explore everything of interest, check out the web2project v2.0 Release Notes on our wiki. And of course, if you’re looking for ways to share your code more easily, you should check out our web2project git repository.

You can download web2project v2.0 from SourceForge now.

* And yes, I always wait a few days to announce the releases in case we have to make a patch release. ;)

Powered by WordPress © 2013 web2Project Design by SRS Solutions

Get web2Project at SourceForge.net. Fast, secure and Free Open Source software downloads
LiveZilla Live Help