Re: CustomerMan redesign

Cory Petkovsek <cory-jQzc/[email protected]>
Newsgroups gmane.comp.isp.ispman.devel
Message-ID <[email protected]>
The requirements and specs where in the last email.  Here is a draft design.
Again, please point out any problems.  I'm also posting this in cvs under
docs/devel.

----------------

Design
------

- CustomerMan does not provide any functions for other modules, thus does not
  need it's own package.  Functions used throughout ispman should be in the
  ispman library (ie /lib and in the package).  CustomerMan should therefore
  utilize this library as much as possible.

Templates in cgi-bin/tmpl/customerMan/*.tmpl have all non-data output
CGI: htdocs/control_panel/index.cgi
Support functions: lib/*


User connects control_panel/index.cgi:
[5] A counter is retreived from /tmp/ispman-sessions.
    If it is >=100 expired session files /tmp/ispman-session-* are removed.

[10] System checks for an authorized session id in a cookie upon each page
access.
    If the session is valid, commands are carried out [15].  
    Else is the user logging in? [20].
    Else the login screen is shown from template.
Script exits.  

[20] The supplied domain and password are verified against the ldap tree.
    If the credentials are valid
	A random number is generated.
	The connecting ip address is retreived.
	The date, ip and domain are written to /tmp/ispman-session-########
	    where # is the random number.
	The number is given back to the browser in a 1 hour cookie.
	Browser is forwarded to the script again.
	Return.
    Else a templated error message is displayed.
    Return.

[15]
What are the category and command requested? (One indent is category, two
indents is action, three indents if any are pseudo code.  Each action returns.
All data is stored in ldap tree.)
    default
	    Show templated summary screen[50].
	    Return.
    Misc
	Logout
	    /tmp/ispman-session-######## is removed.
	    Cookie is removed from client.
	    Browser is forwarded to the script again.
	    Return.
    Domain Accounts (email/ftp)
	Add account
	Modify name, password, (email*)
	Delete account
	Add/Modify/Delete alias
	Add/Modify/Delete forward
    Lists
	Add/Delete list
	Modify list members
    VHosts
	Add/Delete vhost
	Modify permission settings
	Add/Modify/Delete web alias
	Add/Modify/Delete web redirect
	Add/Modify/Delete web access accounts
	Add/Modify/Delete web access control lists
	Access Log files
    Domain signature  (does this actually work, currently?)
	Add/Modify/Delete signature
    DNS
	Add/Modify/Delete NS/MX/A/CNAME/other? records 
    
    
[50] Overview information:
Server statistics: perl/php, versions and paths
quotas: Number of email accounts, web users, vhosts, amount of space
Web statistics: webalizer/awstats



----

* Email: In another release, modification of email address and moving of
  underlying files should be supported.


----------------

Cory

-- 
Cory Petkovsek                                       Adapting Information
Adaptable IT Consulting                                Technology to Your
(858) 705-1655                                                   Business
cory-p3//[email protected]                                  www.AdaptableIT.com


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.