Real Project Management for Real Businesses

Browsing Posts in FAQ

One of the most common configurations out there is related to allowing web2project users to have access to only specific companies. While it’s not as simple as saying “users should only see things from their own company,” it’s not as complicated as you might think. Here’s how I’ve done it for various groups.

If you start with the basic roles, here are the step by step directions:

Role: Project Worker

Non-Admin Modules – Allow – Access, Add, Delete, Edit, View
Companies – Deny – Access, Add, Delete, Edit, View
Reports – Allow – Access, Add, Delete, Edit, View

Explanation: This gives access for a User to do anything they want on any of the non-admin modules *except* for Company. But since all of my Projects are assigned to a company, they can’t actually see anything other than the navigation menu and empty screens.

Results: I just created a new User with *only* this Role. The only Nav options visible are Projects, Tasks, Calendar, Files, Contacts, SmartSearch, Links, Reports. Under each, there is no data visible other than information not associated with any Company… for example, some of the Contacts.

Now, I got back and add permissions to individual users:

Companies – CaseySoftware, LLC – Allow – Access, View

Results: The User can now view all the information associated with my Company. This includes all of its Projects, Files, Contacts, etc. This user could even create new projects if they wanted, but only for this Company.

Now, since this is a ficticious contractor user, I add the following permissions:
Companies – Acme Anvil Corporation – Allow – Access, View

Results: The User can now view all the information associated with this additional Company. Everything they could do/see for CaseySoftware, LLC now applies here too. Now, if they were working on this company’s projects, they could log time against tasks, whatever.

Now let’s say I have a single Project within CaseySoftware, LLC that the person shouldn’t see, so I add these permissions:

Projects – Secret Anvil Development – Deny – Access, View, Add, Edit, Delete

Results: This prevents the User from seeing *anything* involved with this project. No Tasks, no Files, no Calendar Events.

You’ve updated the Project Status to “Complete” and you expected the Project to disappear, but it’s still showing up all over the place. Go back and Edit the Project again. To the right of the Status dropdown, you’ll see a checkbox labeled “Active?” Simply uncheck that and save. Your project is now Inactive and will only appear on the “All Projects” and “Archived” tabs.

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.

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.

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