Table of Contents
Table 1.
| Actor | Admin | |
|---|---|---|
|
The Admin/Administrator is the one user that has all administrative rights within the program. He could, theoretically change user settings and reseller settings, however the program's user interface should only provide him those administrative use cases that are likely to be performed by him, e.g. managing database rights and not e.g. changing a user's email address settings. |
||
Table 7.
| Use Case | create rails app scaffold | |
|---|---|---|
|
Creating a Rails application only requires the name of the application. It involves the creation of a three databases, one for each environment (production, testing and development). by default, only the development and testing environment are enabled, being restricted in their resource usage. Production environment can be enabled by an administrator after a client's request. |
||
Table 8.
| Use Case | rename application | |
|---|---|---|
|
Renaming the application involves changing the directory name, updating RAILS_ROOT/app/public/.htaccess and RAILS_ROOT/config/database.yml, renaming the database and updating the access rights to the database. The user should be able to specify which of these actions should actually be performed. |
||
Table 13.
| Use Case | create MVC scaffold | |
|---|---|---|
|
The user provides a set of methods and properties for a new entity via e.g. an online form. Consolvix then creates or updates the corresponding database table and runs "script/generate" to create the Model, View and Controller according to the specified properties (=database cols) and methods (=actions). |
||
Table 23.
| Use Case | create support ticket | |
|---|---|---|
|
A client/user/reseller opens a ticket by posting a request using a web based form. He includes some additional information that may help solving the problem, depending on what type of problem is to be solved. Also, depending on the type of the problem, the request is being forwarded to different personnel (i.e. technical, financial or generic support) |
||
Table 35.
| Class | Reseller | |
|---|---|---|
| Attributes: | ||
| visibility | type | name |
| protected | max_clients | |
| the maximum allowed clients the reseller may create | ||
| protected | max_traffic | |
| maximum total traffic, i.e. the sum of all clients's traffic for this reseller | ||
| protected | max_storage | |
| maximum sorage allowed for this reseller and this clients | ||
| protected | max_email_accounts | |
| maximum of total email accounts this reseller and his clients may use in total | ||
Table 44.
| Class | TimedProduct | |
|---|---|---|
|
Rented products like domains and webspace as well as working time have time dependant costs. Their prices are therefore calculated per time unit. |
||
| Attributes: | ||
| visibility | type | name |
| protected | type | |
| The type attribute with value 1 indicates class type "TimedProduct" in the database | ||
| protected | from | |
| protected | to | |
| protected | price_per_unit | |
| protected | time_unit | |
|
Operations: |
||
|
visibility |
return |
name |
| public |
void |
price |
| return this.quantity * this.price_per_unit * this.unit | ||
Table 47.
| Class | NSSUser | |
|---|---|---|
| Attributes: | ||
| visibility | type | name |
| protected | id | |
| protected | name | |
| protected | realname | |
| protected | shell | |
| protected | pasword | |
| protected | status | |
| protected | uid | |
| protected | gid | |
| protected | home_dir | |
| protected | last_change | |
| protected | min | |
| protected | max | |
| protected | warn | |
| protected | inact | |
| protected | expire | |
| protected | maildir | |
| protected | address | |
| protected | client_id | |