4.3 Superior Admin Panel Configuration

advertisement
Superior Admin Panel
An Open Source Alternative
Table of Contents
1.
2.
Introduction .......................................................................................................................................... 6
1.0
Goals and Objectives ................................................................................................................... 6
1.1
Statement of Scope ..................................................................................................................... 6
1.2
Software Context ......................................................................................................................... 6
1.3
Major Constraints ........................................................................................................................ 6
Usage Scenario ...................................................................................................................................... 6
2.0
2.0.1
2.1
2.1.1
2.2
3.
Administrator .......................................................................................................................... 6
Use-Cases..................................................................................................................................... 6
Use-Case Diagram ................................................................................................................... 7
Special Usage Considerations ...................................................................................................... 7
Data Model and Description ................................................................................................................. 8
3.0
4.
User Profiles................................................................................................................................. 6
Data Description .......................................................................................................................... 8
3.0.1
Data Objects ............................................................................................................................ 8
3.0.2
Relationships ........................................................................................................................... 8
3.0.3
Complete Data Model ............................................................................................................. 8
3.0.4
Data Dictionary........................................................................................................................ 8
Functional Model and Description ........................................................................................................ 8
4.1
General Functions........................................................................................................................ 8
4.1.1
User Login................................................................................................................................ 8
4.1.2
Forgotten Password ................................................................................................................ 9
4.1.3
Log Out .................................................................................................................................. 10
4.2
Management ............................................................................................................................. 11
4.3
Superior Admin Panel Configuration ......................................................................................... 11
4.4
MYSQL Management ................................................................................................................. 11
4.4.1
Create MYSQL User ............................................................................................................... 11
4.4.2
Delete MYSQL User ............................................................................................................... 11
4.4.3
Modify MYSQL User .............................................................................................................. 12
4.4.4
Create MYSQL Database ....................................................................................................... 13
4.4.5
Delete MYSQL Database........................................................................................................ 14
4.4.6
Modify MYSQL Database....................................................................................................... 15
4.5
4.5.1
Create Domain ...................................................................................................................... 16
4.5.2
Delete Domain ...................................................................................................................... 16
4.5.3
Restart Apache ...................................................................................................................... 17
4.5.4
Reload Apache....................................................................................................................... 18
4.5.5
Server Online Check .............................................................................................................. 19
4.6
Statistics Viewer ........................................................................................................................ 20
4.7
Server Information .................................................................................................................... 20
4.8
Git Repositories ......................................................................................................................... 20
4.9
Svn Repositories ........................................................................................................................ 20
4.10
WebDAV Support....................................................................................................................... 20
4.11
Logs ............................................................................................................................................ 20
4.12
User Preferences ....................................................................................................................... 20
4.13
Htaccess Creation ...................................................................................................................... 20
4.14
Software Interface Description ................................................................................................. 20
4.14.1.1
External Machine Interfaces ............................................................................................. 20
4.14.1.2
External System Interfaces ............................................................................................... 20
4.14.1.3
Human Interface ............................................................................................................... 20
4.15
5
Apache2 ..................................................................................................................................... 16
Control Flow Description ........................................................................................................... 20
Behavioral Model and Description ..................................................................................................... 20
5.1
Description for Software Behavior ............................................................................................ 20
5.1.1
Events .................................................................................................................................... 20
5.1.2
States ..................................................................................................................................... 20
5.2
State Transition Diagrams ......................................................................................................... 20
5.3
Control Specification (CSPEC) .................................................................................................... 20
6
Restrictions, Limitations, and Constraints .......................................................................................... 20
7
Validation Criteria ............................................................................................................................... 20
7.1
Classes of Tests .......................................................................................................................... 21
7.2
Expected Software Response .................................................................................................... 21
7.3
Performance Bounds ................................................................................................................. 21
8
Appendices .......................................................................................................................................... 21
8.1
System Traceability Matrix ........................................................................................................ 21
8.2
Product Strategies ..................................................................................................................... 21
8.3
Analysis Metric to be Used ........................................................................................................ 21
8.4
Supplementary Information (as required) ................................................................................ 21
1. Introduction
1.0 Goals and Objectives
1.1 Statement of Scope
1.2 Software Context
1.3 Major Constraints
2. Usage Scenario
This section provides a usage scenario for the software. It organized information collected
during requirements elicitation into use-cases.
2.0 User Profiles
2.0.1 Administrator
This user will maintain the server, and be the only user. They require access to
everything on the UI, and will have individual preference settings per user account.
2.1 Use-Cases
2.1.1
Use-Case Diagram
2.2 Special Usage Considerations
The Superior Admin Panel will have several requirements of the users before it can be used. It
will require: root access to the server, and the systems that each module control (if enabled) to
already be installed on the server. Failure to not have the software required before the install
will result in the module not working as intended.
3. Data Model and Description
3.0 Data Description
3.0.1
Data Objects
3.0.2
Relationships
3.0.3
Complete Data Model
3.0.4
Data Dictionary
4. Functional Model and Description
A description of each major software function, along with data flow or class hierarchy (OO) is presented.
4.1
General Functions
The user login function will allow system users to login to their profile to view and administer
their system.
4.1.1 User Login
Description:
Inputs:
This function allows the user to login to their profile on System
Admin Panel to view and administer the system
Username
Password
Source of Input:
Any user
Outputs:
Valid Credentials
Destination:
Any user
Processing:
Input his username and password.
Validate username
Validate password
Login to system
Requirements:
Valid user database
Pre-condition:
User must have a valid username and password
Account must not be locked out
Post-condition:
User must have a valid username and password
User can access specified areas based on account status
Last login time is updated
Side Effects:
None
Responses:
Invalid username/password. “Please re-enter your username
and password, or try the forgotten password option.”
Stability:
Stable
Necessity:
Mandatory
4.1.2 Forgotten Password
Description:
This function allows the user to request that their username and
password be sent to the email address already existing in the
user database via email.
Inputs:
Username
Email Address
Source of Input:
Any user
Outputs:
Emailed Password and Username
Message informing user of the email that was sent
Destination:
Any user
Processing:
Input username or email address
Validate username
Look up email address
Send email with password and email
Requirements:
Valid user database
Pre-condition:
User must have a valid username and password
Post-condition:
User can access their profile
User can access the Superior Admin Panel system
Last login time is updated
Side Effects:
None
Responses:
Invalid email address/username. “Invalid username or
password; please try re-entering your information.”
Stability:
Stable
Necessity:
Mandatory
4.1.3 Log Out
Description:
This function allows the user to log out of Superior Admin Panel
Inputs:
None
Source of Input:
Any user
Outputs:
Superior Admin Panel Home Page
Destination:
Any user
Processing:
Clear user’s session data
Take user to the home page
Requirements:
Valid user database
Pre-condition:
User must be logged in
Post-condition:
User can not access any of the site features, other than login.
Side Effects:
None
Responses:
None
Stability:
Stable
Necessity:
Mandatory
4.2
Management
4.3
Superior Admin Panel Configuration
4.4
MYSQL Management
4.4.1 Create MYSQL User
Description:
This function allows the user to create a new MYSQL user
Inputs:
Username for new MYSQL user
Password for new MYSQL user
Source of Input:
Any user
Outputs:
MYSQL Usernames List
Destination:
Any user
Processing:
Get the new MYSQL username and password
Check for existing username
Requirements:
Valid MYSQL setup
Pre-condition:
New MYSQL user must not exist
Post-condition:
New MYSQL user can access certain MYSQL databases
Side Effects:
User already exists
Responses:
User already exists. Display a message, “That username is
already in use, please try a different username.”
Stability:
Stable
Necessity:
Mandatory
4.4.2 Delete MYSQL User
Description:
This function allows the user to delete an existing MYSQL user
Inputs:
Username of MYSQL user to delete
Source of Input:
Any user
Outputs:
MYSQL Usernames List
Destination:
Any user
Processing:
Get username to delete
Check for username
Delete MYSQL user
Requirements:
Valid MYSQL setup
Pre-condition:
MYSQL user must exist
Post-condition:
MYSQL user can access certain MYSQL databases
Side Effects:
None
Responses:
User does not already exist. Display a message, “That MYSQL
username could not be found, please try a different username.”
Stability:
Stable
Necessity:
Mandatory
4.4.3 Modify MYSQL User
Description:
This function allows the user to modify an existing MYSQL user’s
password.
Inputs:
Username of MYSQL user
New Password
Old Password
Source of Input:
Any user
Outputs:
MYSQL Usernames List
Destination:
Any user
Processing:
Get MYSQL username
Get old MYSQL password
Get new MYSQL password
Check for username
Check old MYSQL password
Change MYSQL user’s password to the new MYSQL password
Requirements:
Valid MYSQL setup
Pre-condition:
MYSQL user must exist
MYSQL user’s old password must match the current password
Post-condition:
MYSQL user’s password is change to the new MYSQL password
Side Effects:
None
Responses:
User does not already exist. Display a message, “That MYSQL
username could not be found, please try a different username.”
User’s old password did not match. Display a message, “Your
old password did not match your current password.”
User’s new password was not confirmed. Display a message,
“Your new password was not typed the same in both boxes.”
Stability:
Stable
Necessity:
Mandatory
4.4.4 Create MYSQL Database
Description:
This function allows the user to create a MYSQL database and
give access to specific user. The function will also allow the
creation of a new user if needed.
Inputs:
Name of database
MYSQL username
Permissions for username inside of the database
Source of Input:
Any user
Outputs:
MYSQL Database List
Destination:
Any user
Processing:
Get MYSQL database name
Select MYSQL user
Create new MYSQL user (if needed)
Check that MYSQL database name does not exist
Create MYSQL database
Requirements:
Valid MYSQL setup
Pre-condition:
MYSQL database must not exist
Post-condition:
MYSQL database exists
MYSQL user is given access to MYSQL database
Side Effects:
None
Responses:
MYSQL database already exists. Display a message, “That
MYSQL database already exists.”
Stability:
Stable
Necessity:
Mandatory
4.4.5 Delete MYSQL Database
Description:
This function allows the user to delete an existing MYSQL
database.
Inputs:
Name of database
Source of Input:
Any user
Outputs:
MYSQL Database List
Destination:
Any user
Processing:
Get MYSQL database name
Confirm deletion with user.
Check that the MYSQL database exists.
Delete MYSQL database
Requirements:
Valid MYSQL setup
Pre-condition:
MYSQL database must exist
Post-condition:
MYSQL database does not exist.
Side Effects:
None
Responses:
MYSQL database does not exist. Display a message, “That
MYSQL database does not exist.”
Stability:
Stable
Necessity:
Mandatory
4.4.6 Modify MYSQL Database
Description:
This function allows the user to modify a selected MYSQL
database. The user will be able to modify the users with access,
the access permissions for that user, and the comment for the
database.
Inputs:
Name of database
MYSQL users
MYSQL user permissions
Database comment (description)
Source of Input:
Any user
Outputs:
MYSQL Database List
Destination:
Any user
Processing:
Get MYSQL database name
Confirm deletion with user.
Check that the MYSQL database exists.
Delete MYSQL database
Requirements:
Valid MYSQL setup
Pre-condition:
MYSQL database must exist
Post-condition:
MYSQL database does not exist.
Side Effects:
None
Responses:
MYSQL database does not exist. Display a message, “That
MYSQL database does not exist.”
Stability:
Stable
Necessity:
Mandatory
4.5
Apache2
4.5.1 Create Domain
Description:
This function allows the user to create a new domain or subdomain on the server.
Inputs:
Domain Name
Source of Input:
Any user
Outputs:
Domain List
Destination:
Any user
Processing:
Get domain name
Check for duplicate domain name
Create virtual host file for Apache
Reload Apache service
Java Applet detects that the server is back up
Display Domain List
Requirements:
Valid Apache setup
Pre-condition:
Domain must not exist.
Post-condition:
Domain exists.
Side Effects:
Apache service is reloaded
Responses:
Domain already exists. Display a message, “That domain
already exists.”
Apache never comes back up. Display “The apache service did
not restart appropriately. Please manually look at your server
to try to resolving the issues.”
Stability:
Stable
Necessity:
Mandatory
4.5.2 Delete Domain
Description:
This function allows the user to delete a domain or sub-domain
on the server.
Inputs:
Domain Name
Source of Input:
Any user
Outputs:
Domain List
Destination:
Any user
Processing:
Get domain name to delete
Confirm deletion with user
Check for domain name
Delete Apache virtual host file
Load Java applet to check apache service
Reload Apache service
Java Applet detects that the server is back up
Display Domain List
Requirements:
Valid Apache setup
Pre-condition:
Domain must exist.
Post-condition:
Domain does not exist.
Side Effects:
Apache is reloaded
Responses:
Domain does not exist. Display a message, “That domain does
not exist.”
Apache never comes back up. Display “The apache service did
not restart appropriately. Please manually look at your server
to try to resolving the issues.”
Stability:
Stable
Necessity:
Mandatory
4.5.3 Restart Apache
Description:
This function allows the user to easily restart the apache service
on the server.
Inputs:
None
Source of Input:
Any user
Outputs:
Domain List
Destination:
Any user
Processing:
Load Java applet to check apache service
Restart Apache service
Java Applet detects that the server is back up
Requirements:
Valid Apache setup
Pre-condition:
None
Post-condition:
None
Side Effects:
Apache is restarted
Responses:
Apache never comes back up. Display “The apache service did
not restart appropriately. Please manually look at your server
to try to resolving the issues.”
Stability:
Stable
Necessity:
Mandatory
4.5.4 Reload Apache
Description:
This function allows the user to easily reload the apache service
on the server.
Inputs:
None
Source of Input:
Any user
Outputs:
Domain List
Destination:
Any user
Processing:
Load Java applet to check apache service
Reload Apache service
Java Applet detects that the server is back up
Requirements:
Valid Apache setup
Pre-condition:
None
Post-condition:
None
Side Effects:
Apache is reloaded
Responses:
Apache never comes back up. Display “The apache service did
not reload appropriately. Please manually look at your server to
try to resolving the issues.”
Stability:
Stable
Necessity:
Mandatory
4.5.5 Server Online Check
Description:
This java function will load on to a user’s computer and detect
when the server is ready to be used again (after an apache
restart).
Inputs:
Destination
Source of Input:
Function Call
Outputs:
Server Status
Destination:
Any user
Processing:
Load Java applet to check apache service
Java Applet detects that the server is back up
Takes user to destination
Requirements:
Valid Apache setup
Java
Pre-condition:
None
Post-condition:
None
Side Effects:
None
Responses:
None
Stability:
Stable
Necessity:
Mandatory
4.6
Statistics Viewer
4.7
Server Information
4.8
Git Repositories
4.9
Svn Repositories
4.10 WebDAV Support
4.11 Logs
4.12 User Preferences
4.13 Htaccess Creation
4.14 Software Interface Description
4.14.1.1
External Machine Interfaces
4.14.1.2
External System Interfaces
4.14.1.3
Human Interface
4.15 Control Flow Description
5 Behavioral Model and Description
5.1
Description for Software Behavior
5.1.1
Events
5.1.2
States
5.2
State Transition Diagrams
5.3
Control Specification (CSPEC)
6 Restrictions, Limitations, and Constraints
7 Validation Criteria
The approach to software validation is described
7.1
Classes of Tests
We will test mainly on Ubuntu Linux to gather full support of the Ubuntu (Debian) server. This
smaller focus will allow us to be realistic in what we are trying to support as far as testing
different versions of Linux. We will focus heavily on the testing of each module individually, and
check to make sure that they do each task they are supposed to do.
We will test the results by setting up a dummy server in which we will attempt to configure the
site using various modules. We will then use the site and see if the changes took place.
7.2
Expected Software Response
We expect that the changes the user ask to be done will be completed by the software and that
the user will be notified, and be able to see the changes when he is using the website or server.
7.3
Performance Bounds
The performance bounds will be how many domains we test with and the number of servers we
test with. Also limited will be the type of distribution of Linux that is used, as we will only test
on Ubuntu Server.
8 Appendices
8.1
System Traceability Matrix
8.2
Product Strategies
8.3
Analysis Metric to be Used
8.4
Supplementary Information (as required)
Download