Real Project Management for Real Businesses

Browsing Posts published by Keith Casey (caseydk)

Great question. The answer is best considered in stages:

  • The earliest versions were basically dotProject with a new theme, some performance improvements due to some database fixes, and a permissions caching layer.
  • By the time version 1.0 rolled around (June 2009), we had removed old/irrelevant code, added dozens of new features, added a module to core, and closed more issues than we care to consider.
  • By the time we reached version 1.2 (December 2009), the differences were more obvious: We had removed 35% of the codebase (~65,000 lines of code), added extensive Unit Testing, improved performance by 20-50x on many screens, and began a complete refactoring of the core API to make it uniform and more easily extensible.
  • More recently with the version 2.0 release (June 2010), the differences have grown further: Adding user-based timezone support, detailed subprojects functionality with data roll-ups, and extensive audit logging and security checking.
  • By the version 2.4 release (August 2011), task dependencies – including subprojects – auto-update as task end dates shift. Further, less than 10% of the web2project code is carried from dotProject.
  • In the coming version 3.0 release (est: early 2013), we have a full event-driven hook system to allow for modules to use pre/post- (create, update, load, and delete) actions. More importantly, we will support task/costcode-based budgeting and reporting. Finally, our GPL -> BSD license change will be complete.

So, is web2project just dotProject with a new theme?

We were… but now we’re something else entirely.

If you’ve made it this far, you’ve probably already noticed that we relaunched web2project.net recently. While the old site was functional, it lacked some key functionality like blogging that motivated a change. If you have comments, feedback, find a broken link, would like to add to the FAQ, or just want to send us piles of money in appreciation. Feel free to visit us on the forums, drop us a note, or Tweet us on Twitter.

Excellent. That sounds great. There are a few things you should do to get started:

  • First, explore the Module Builder Guide. Everything there should be correct and accurate as of the v2.0 release of web2project but if you find something incomplete or odd, don’t hesitate to ask on the Support Forums.
  • Next, as you work on your module, instead of writing your own functions for getting Project Lists or Active Users or other common things, check out the core system and use those functions instead. They’re useful, well-tested, and then you have less code to write.
  • Finally, when you run into trouble, visit the Support Forums. Our great community is knowledgeable and friendly.

When you create a new User, they start with no Roles or Permissions. Until they get at least one Role, they will be considered “Inactive” and unable to log in.

As of last week, we’ve released v1.1 of the Todos Module which is fully compatible with the latest and greatest features in web2project v2.0.

In addition, this closes a handful of issues:

  • Resolved an annoyance where deleting an item caused the browser to scroll to the top, now it stays in place as expected;
  • The Category List is now stored in the System Lookup Values as opposed to being hardcoded in the CTodo class (resolves #363);
  • Updated the main controller to match the existing basic controller structure;
  • Removed a method that could be replaced with a core function;
  • Updated the contact information lookup to use the new Contact Methods structure;

This module can be downloaded from the Web2project Modules project on SourceForge.