Customer Account
Status: high-level specs complete.
The project.net will be deployed to customers as both a hosted ASP service and on-premises Enterprise product. A Customer Account is needed to provide the following features:
- project portfolio management
- resource management
- application-wide roles
- organization-wide templates, forms, etc.
- ASP billing
- ASP account and user management
- Simplified application configuration for ASP customers.
- Additional compartmentalization and data security between accounts.
- Refactoring or removal of user licensing.
Definitions
- Customer Account -- contains billing information, usage policy, and global settings for an organization using the Project.net application. A Customer Account is associated with many users (User Accounts) and projects.
- User Account -- contains login credentials, contact info, and preferences for an individual user (person) of the project.net application. Every User also has a "personal" Customer Account.
Scope
- Introduce concept of Customer Account.
- Associate users, projects, businesses, portfolio, and resource pools with an Account.
- Remove Enterprise Space and replace with single Customer Account for Enterprise customers.
- Provide Customer Account management tools such as password reset, add user which are accessible from the top-right "Setup" link.
- Add Account-based roles and access permissions (Portfolio Manager, Resource Manager, Read-only, etc.)
- Simplify user registration and password reminder.
- Add resource skills (iteration 2 or 3?).
User Stories
- The user may register and create a User Account without being invited to a Customer Account. In this case, a new Customer Account is automatically created for the user and the user has "Account Administrator" access permission for this account.
- The user optionally invites other people to share the account. Users are invited using first name, last name and email. Only people in the Account Administrator role can add/invite new people to the account.
- The user's Customer Account Role(s) determines their user interface settings and high-level access rights.
- Each user can have one or more roles at the Customer Account level. Customer Account roles include: Read-only, Team Member, Project Manager, Portfolio Manager, Resource Manager, Account Administrator, etc.
- The user can import a CSV list of users to invite to the account. This CSV list is first-name, last-name, email-address.
- The invited user receives an invitation email with a URL to set their initial password. After the user sets their initial password, then enter the
- A project space, business space, project portfolio, resource pool are owned by ONE-AND-ONLY-ONE Customer Account.
- A user can be associated with only one Customer Account for now, however we should still use the pn_account_has_user table to support multiple accounts per user in the future.
- the project.net application administrator can move users, project spaces, and business spaces from one Customer Account to another Customer Account.
* The Project.net application administrator can view usage statistics for each Customer Account. These statistics include the number of users, number of project spaces, number business spaces, amount of document storage used for each Customer Account. This information should also be accessible by the Customer Account administrator from the top-right "Setup" link.
Model
See the attached data model. It is suggested that we add the following tables: pn_account, pn_account_has_user, pn_resource_pool, pn_pool_has_person (new tables are highlighted in green).
NOTE: The tables for person/resource skills are already in the PNET_USER schema, but the corresponding java classes have not been implemented yet.
NOTE: Design is needed for Customer Account Roles that tie in with current access security.
Related Changes
- simplify user registration and password reminder process. (bfd-3419)
- Change "Projects" tab to "Portfolios" and only visible if user has "Portfolio Manager" account role.
- Add "Resources" tab, only visible if user has "Resource Manager account role.
- Add Customer Account to provide a organizational-wide context within the project.net application (all users, project spaces, business spaces, resources, portfolios, templates, etc.)
- Remove Enterprise Space and replace with single Customer Account for Enterprise customers.
- Remove user licensing.
- Add Customer Account stats.
Attachments
- pnet_account.gif (54.5 kB) - added by dkassman on 06/26/07 19:41:38.
- pnet_account.vsd (0.7 MB) -
model visio file
, added by dkassman on 06/26/07 19:42:13.

