In recent weeks, I've gotten quite a few emails about web2Project and its direction since the fork from dotProject. I've been relatively quiet about it to date as there wasn't much I could show publicly. Now that is beginning to change based on the efforts of the Mighty Pedro… below are a number of screenshots from the current development of web2Project. Click any of them for a larger view.
Most of this post is written with the assumption that you know a bit about dotProject and might have a criticism or two.
First, let's talk just a bit about performance. One of the biggest complaints in the past has been due to the performance of the system specifically the permissions (based on phpgacl). Due to the way phpgacl is structured and was used previously, every operation on an object resulted in a re-querying of the permissions based on the action and object. That makes quite a bit of sense, but if you simplify the logic in a few places and occasionally cache results, you can make some huge performance gains without negatively impacting the security of the system.
Next, let's talk about permissions themselves. Let me throw a crazy assumption out there. If you are not allowed to View a Project, is it reasonable to believe that you can't Delete it either? We think so. In fact, the permissions have been tuned to take that into account… if you can't view X, we assume you can't do anything else and immediately stop checking. There's also a bit of safety in this one. If you have accidentally allowed Delete or Edit permissions, as long as the User doesn't also have View, they can't do anything.
- First, there are a number of holes patched. No further information will be shared on this one at this time. These were previously reported within the dotProject community and we hope to pass them back once the changes are complete.
- Second, stop and ponder that screenshot to the above/left. Not sure what it is? I'll give you a clue… the single most common question I get it "how do I know who has access to Project X?" Still don't know? 😉
Next, let's talk about requirements. Odds are that if you're running dotProject, you're on shared host where you don't get to set permissions and definitely can't adjust your MySQL configuration… and often you can't grant "create temporary table" permissions. To make things easier for you, temporary tables have been removed. This is the application of a patch Pedro wrote quite a while ago, but now it it permenant.
Finally, let's take a look at the User Interface… in fact, let's talk about it in detail. Go refill your coffee and we'll get started. I'll wait.
Next, the first screenshot above demonstrates the replacement for Overlib. Overlib is that nasty little floating window that appears directly under your mouse when you mouseover a project or task name. If you still have sanity, you've probably turned it off or set it to a very long activation time (3.5 seconds for me). The replacement is significantly better. It's more polished, it doesn't appear beneath your mouse, and it disappears when you want it to.
Finally, and most importantly for designers, the styles have been cleaned up and completely segmented from one another. The images and css is now attached to the styles themselves. Overriding something with a custom theme is easier and can be done more quickly than ever before.
So… we (mostly Pedro) has been busy. We're getting ready for our first release and have the entire infrastructure in place to support it. Once the date gets closer, we'll announce our roadmap publicly, some endorsements and corporate support, and a few other tricks we have up our sleeves.
2008 is the year of web2project….