You will going to implement a php or perl web application
that will allow us to manage all the applications we
develop. Firts we have providers (where we host our servers),
then for each provider we have server farms, for each farm
we have multiple servers and for on each server we run
diffrent applications. You will make an application that will
allow us to tack all thos applicatins, servers, farms etc.
The application will have the following sections:
A) The settings page: this page will contain 3 main tabs:
Providers, Farms, Servers.
- Providers will be the first displayed and it will contain
2 columns, on the left, we will have 2 list form fields one
will contain all providers and the second one will be a
javascript powered list that will contain a list with the Farms
for the selected Provider. On the right we will have a similar
provider/farm pair, and bettween the two we will have
2 buttons "Move ->" and "<- Move". This will allow us to
move the farms from any provider to another in both directions.
This form can alos be implemeted with ajax.
- Farms tab: this will function the same as with the provider
except we will have Farms/Servers on left and Farm/Servers
on right. This means this form will allow us to move servers
from one farm to another in both directions.
- Servers tab: this will function the same as the other 2 except
we will have Servers/Applications on left and Servers/Applications
on the right, so we will be able to move applications from
one server to another.
B) The dashboard: this will display a list with all the records
we have into the system like this:
Provider 1
Farm1
Server 1
App 1 (since <date>)
App 2 (since <date>)
Server 2
[new] App 1
App 2
[new] App 3
Farm2
Server 1
App 1
App 2
[new] App 3
Server 2
App 1
[new] App 2
and soo on. For each application we will display 2 values,
the since date, this is the date when the request was completed
(see D for more details) and the "new" witch means that this
application is having a pending request added to it, see D) for
more details.
C) Add/Modify/Delete page: this is the most important page, it will
allow us to add/modify/delete all the main entities from this application:
providers, farms, servers, applications. You will have to find a visual
way to desing this form. Keep in mind that we have the followin relations:
a provider can have many farms, a farm can have many servers, a server
can have many applications. Also in this page we need a feature to define
custom fields for each of the main entities and add data to it like, for
example for Applications we may need to add a description filed, or a
Operating sistem filed etc. We also need that all the data from the custom
fileds shoud be displayed on screen B).
D) Tehnical requests page: Each time a modifications is made to the
table that is storing the applications (from C) we will have a new request
added to this page. This page will display a list with "requests" (this means
we will display the date of the modification, the name of the application) and
for each request we will have the following buttons: delete (this will
delete the request), done (it means that request was solved and if this is
trie then on the B) page we have to display the date when the last request
was solved for this application), and a button "Comment" and this will open
a small popup form that will allow us to add a comment to that request. If
that request alredy have commends it will be displayed on this table under the
line that contains the request.
E) Hitory page: this will keep a hitory for all the modifications made to
all the other tables: providers, farms, servers, applications, requests and
it will display it on screen. We also have a feature "export to XML" where
the histoey could saved in XML format and feeded to a diifrent application.
The application will have no login/logout module it will enough to have
simple httpd authentification.
See a small papermockup attached.