Matt
06-23-2005, 05:39 PM
1) What is apnscp esprit?
apnscp esprit is the codename for the next generation apnscp, which is an acronym for "Apis Networks Control Panel". It's a proprietary control panel unique to Apis Networks that originally began as a Tcl/PHP framework, but is now being migrated strictly to PHP5 along with total modularity.
2) When is it expected to be released?
Prospectively, I'm gauging a late Q3 release, but the official statement is Q4 to ensure it passes through QA testing, has enough features to differentiate and dominate other hosting control panels, and warrants the nickname "esprit".
3) What's so great between apnscp and apnscp esprit?
apnscp was put together a little too hastily to meet my satisfaction of a "good" control panel. There's limited modularity, the Tcl-based backend is limited by its minute extensions, session verification between the front-end and back-end relies on a potentially error-prone lock file, and the functions are limited.
apnscp esprit aims to revolutionize the notion of a control panel by expanding its reach to more advanced features that a hosting account can exploit, but is rarely done because of lack of information. For example, access control lists ("ACLs") are a powerful way of permitting file access to users in the "other" permissions context, without sacrificing file access to everyone in the "other" context. Most people are unaware of this feature and it is rarely requested. Think of being able to add a new subuser to your control panel, then from there, granting your primary user access to the subuser's directory for file modifications. This is particularly useful if you're setting up a forums subdomain and would like to install it inside /home/forums/public_html/ without having to login as that user, then immediately switch over to say /home/someothersubdomain/public_html/ all in one fell swoop, without having to remember the individual login/password combinations for the users "forums" and "someothersubdomain". An ACL can permit this, but it is never seen as a control panel feature.
It doesn't just stop at ACLs though thanks to the new backbone of apnscp esprit. Every module has privileged commands that can be executed by a particular user of a particular privilege level. It's a simple operation of "write your function", "assign the privilege levels", "export it (make it an exposed function) to users", "tie the calls into a page", "let the user access the page".
Additionally frames will hopefully be removed in favor of a quick menu in the title bar of the control panel. That is still pending on whether the native Ensim pages can be successfully integrated into apnscp esprit without a high overhead.
4) Are there any demos yet for apnscp esprit?
There are no live demonstrations at this time; however though, once apnscp esprit begins maturing into alpha quality, there will be a live demonstration updated nightly probably at http://betacp.apisnetworks.com/ or some other location.
5) Is there going to be an API to access commands?
It wouldn't quite be clever if there were no API for apnscp esprit. There will be a SOAP-based API for sending requests available to everyone with an account. Anything that the control panel can do in terms of gathering and storing data for your domain will also be accessible through a SOAP call. Tentatively, there may be a native PHP5 API as well, the jury is still out on that one though. Hooking the SOAP transformation into apnscp esprit is still a couple months away though and will probably happen last.
6) Where is the documentation for using the commands?
Documentation will be released once the alpha is publically released.
7) Do you have any pre-development screenshots to look at?
I certainly do:
http://apisnetworks.com/images/esprit/dhtml/1.png (http://apisnetworks.com/images/esprit/concepts/concept-20050725.png)
This was taken back on June 16th and is considered a concept at this point. The design may (and probably will change) based upon user feedback of its usability and aesthetics.
8) Tenative module listings:
If you want a say in what apnscp esprit will offer and to what extent it will offer the functionality, please read this. The following provides a quick overview of what's going into apnscp and what each module will encompass:
Site Module:
Overview: This will provide non-service specific functionality to site administrators -- or the main user of an account in other words. Examples would include fetching enabled services, getting bandwidth/disk space quota, and so on.
User Module:
Overview: This will provide common non-service specific functionality to user administrators -- or a subuser of an account. Common operations would include getting enabled services, listing domain preview, and fetching disk quota usage.
Common Module:
Overview: This will provide common non-service specific functionality available to more than one class of users (possible roles: site, user, admin, reseller). Examples of this would include fetching load average, server uptime, checking service status, retrieving the e-mail address attached to an account (site and user only), returning the Perl binary location, MySQL version, and so on.
DNS Module:
Overview: Provides DNS operations such as adding a new record to your zone, modifying a record, and removing a record.
Mail Module:
Overview: May possibly house SpamAssassin-related functionality, but will certainly be responsible for adding a new e-mail alias, listing e-mail aliases, and so on.
ACL Module:
Overview: Permits assigning arbitrary permissions for users within your subdomain and the special user apache (Web server username), without opening file access to everyone of a group or everyone in general.
Stats Module:
Overview: It just wouldn't be an Apis Networks control panel without some statistics. Generally speaking, this will at the very least, provide confidence interval generations and averages/standard deviations.
Graph Module:
Overview: Potentially this may exist to aid in creation of graphs, I don't know whether graph generation will be strictly embedded within apnscp esprit as a function or as an open module. If it is a module open to everyone, it would generate a graph from the data and return the binary data from the image creation.
File Manager Module (suggested by chwilliam):
Overview: A replacement file manager for Ensim; this would be accessible to both the primary user ("Site Administrator") and sub-users ("User Administrator") of an account. Potential ideas for it, other than the stock features provided by Ensim, would be to include a text box for the user to plug in a directory to browse to instead of tediously clicking on each directory within a given path.
Crontab Module:
Overview: Originally everything site administrator-related was going to be crammed into the "site" module, but that proved to be an awful idea. Instead, things are getting further spread out to save on speed; enter the crontab module. This module facilitates adding, removing, and listing cronjobs for a user's account.
Billing Module:
Overview: This will pull up prior payment entries, permit credit card information changes, account billing changes, and house referral data. Of course that implies PayPal is getting axed, which in case you were curious, it is. The new credit card processor decision hasn't been finalized yet, but we're moving to one with API access. Of course for those still on PayPal, there will be a discount applied to your hosting charge if you switch out of PayPal to the new billing processor. More to come once esprit's beta is done.
CRM Module:
Overview: A generic name for trouble ticket methods. Right now it solely contains methods relevant to handling trouble ticket filing.
SQL Module:
Overview: Create and delete MySQL/PostgreSQL databases, add new users with limited permissions to databases you own, and also handle recovery of the MySQL/PostgreSQL password for use with logging into phpMyAdmin/phpPgAdmin. That's going to be encrypted via your account password, so even if the database were compromised, no one will know the MySQL/PostgreSQL password to your account without knowing your password.
Monitor Module:
Overview: Used in conjunction with EWNS (Early Warning Notification System). EWNS is designed right now around monitoring disk usage, bandwidth usage, domain expiration, and billing delinquencies.
Auth Module:
Overview: Handles password changes and password confirmations.
Backup Module:
Overview: Backup/restore functionality.
Demo Module:
Overview: Really this serves no other purpose than to test SOAP calls. It can return either a scalar, array, or exception depending on what you call.
10) Is that all the modules?
Hopefully not. This is where everyone else comes in. apnscp esprit won't be a definitive, ground-breaking control panel without your assistance. The general idea of this thread is to cultivate ideas; it doesn't matter how abstract your concept is, if it's a good idea and isn't entirely too cryptic/time consuming to implement, then it will make its way to apnscp esprit. If your idea does happen to be rejected, it's for the better, but don't let that dissuade you.
We're looking for ideas and freshminds, this is going to be your new control panel, so help craft it to fit your desires.
apnscp esprit is the codename for the next generation apnscp, which is an acronym for "Apis Networks Control Panel". It's a proprietary control panel unique to Apis Networks that originally began as a Tcl/PHP framework, but is now being migrated strictly to PHP5 along with total modularity.
2) When is it expected to be released?
Prospectively, I'm gauging a late Q3 release, but the official statement is Q4 to ensure it passes through QA testing, has enough features to differentiate and dominate other hosting control panels, and warrants the nickname "esprit".
3) What's so great between apnscp and apnscp esprit?
apnscp was put together a little too hastily to meet my satisfaction of a "good" control panel. There's limited modularity, the Tcl-based backend is limited by its minute extensions, session verification between the front-end and back-end relies on a potentially error-prone lock file, and the functions are limited.
apnscp esprit aims to revolutionize the notion of a control panel by expanding its reach to more advanced features that a hosting account can exploit, but is rarely done because of lack of information. For example, access control lists ("ACLs") are a powerful way of permitting file access to users in the "other" permissions context, without sacrificing file access to everyone in the "other" context. Most people are unaware of this feature and it is rarely requested. Think of being able to add a new subuser to your control panel, then from there, granting your primary user access to the subuser's directory for file modifications. This is particularly useful if you're setting up a forums subdomain and would like to install it inside /home/forums/public_html/ without having to login as that user, then immediately switch over to say /home/someothersubdomain/public_html/ all in one fell swoop, without having to remember the individual login/password combinations for the users "forums" and "someothersubdomain". An ACL can permit this, but it is never seen as a control panel feature.
It doesn't just stop at ACLs though thanks to the new backbone of apnscp esprit. Every module has privileged commands that can be executed by a particular user of a particular privilege level. It's a simple operation of "write your function", "assign the privilege levels", "export it (make it an exposed function) to users", "tie the calls into a page", "let the user access the page".
Additionally frames will hopefully be removed in favor of a quick menu in the title bar of the control panel. That is still pending on whether the native Ensim pages can be successfully integrated into apnscp esprit without a high overhead.
4) Are there any demos yet for apnscp esprit?
There are no live demonstrations at this time; however though, once apnscp esprit begins maturing into alpha quality, there will be a live demonstration updated nightly probably at http://betacp.apisnetworks.com/ or some other location.
5) Is there going to be an API to access commands?
It wouldn't quite be clever if there were no API for apnscp esprit. There will be a SOAP-based API for sending requests available to everyone with an account. Anything that the control panel can do in terms of gathering and storing data for your domain will also be accessible through a SOAP call. Tentatively, there may be a native PHP5 API as well, the jury is still out on that one though. Hooking the SOAP transformation into apnscp esprit is still a couple months away though and will probably happen last.
6) Where is the documentation for using the commands?
Documentation will be released once the alpha is publically released.
7) Do you have any pre-development screenshots to look at?
I certainly do:
http://apisnetworks.com/images/esprit/dhtml/1.png (http://apisnetworks.com/images/esprit/concepts/concept-20050725.png)
This was taken back on June 16th and is considered a concept at this point. The design may (and probably will change) based upon user feedback of its usability and aesthetics.
8) Tenative module listings:
If you want a say in what apnscp esprit will offer and to what extent it will offer the functionality, please read this. The following provides a quick overview of what's going into apnscp and what each module will encompass:
Site Module:
Overview: This will provide non-service specific functionality to site administrators -- or the main user of an account in other words. Examples would include fetching enabled services, getting bandwidth/disk space quota, and so on.
User Module:
Overview: This will provide common non-service specific functionality to user administrators -- or a subuser of an account. Common operations would include getting enabled services, listing domain preview, and fetching disk quota usage.
Common Module:
Overview: This will provide common non-service specific functionality available to more than one class of users (possible roles: site, user, admin, reseller). Examples of this would include fetching load average, server uptime, checking service status, retrieving the e-mail address attached to an account (site and user only), returning the Perl binary location, MySQL version, and so on.
DNS Module:
Overview: Provides DNS operations such as adding a new record to your zone, modifying a record, and removing a record.
Mail Module:
Overview: May possibly house SpamAssassin-related functionality, but will certainly be responsible for adding a new e-mail alias, listing e-mail aliases, and so on.
ACL Module:
Overview: Permits assigning arbitrary permissions for users within your subdomain and the special user apache (Web server username), without opening file access to everyone of a group or everyone in general.
Stats Module:
Overview: It just wouldn't be an Apis Networks control panel without some statistics. Generally speaking, this will at the very least, provide confidence interval generations and averages/standard deviations.
Graph Module:
Overview: Potentially this may exist to aid in creation of graphs, I don't know whether graph generation will be strictly embedded within apnscp esprit as a function or as an open module. If it is a module open to everyone, it would generate a graph from the data and return the binary data from the image creation.
File Manager Module (suggested by chwilliam):
Overview: A replacement file manager for Ensim; this would be accessible to both the primary user ("Site Administrator") and sub-users ("User Administrator") of an account. Potential ideas for it, other than the stock features provided by Ensim, would be to include a text box for the user to plug in a directory to browse to instead of tediously clicking on each directory within a given path.
Crontab Module:
Overview: Originally everything site administrator-related was going to be crammed into the "site" module, but that proved to be an awful idea. Instead, things are getting further spread out to save on speed; enter the crontab module. This module facilitates adding, removing, and listing cronjobs for a user's account.
Billing Module:
Overview: This will pull up prior payment entries, permit credit card information changes, account billing changes, and house referral data. Of course that implies PayPal is getting axed, which in case you were curious, it is. The new credit card processor decision hasn't been finalized yet, but we're moving to one with API access. Of course for those still on PayPal, there will be a discount applied to your hosting charge if you switch out of PayPal to the new billing processor. More to come once esprit's beta is done.
CRM Module:
Overview: A generic name for trouble ticket methods. Right now it solely contains methods relevant to handling trouble ticket filing.
SQL Module:
Overview: Create and delete MySQL/PostgreSQL databases, add new users with limited permissions to databases you own, and also handle recovery of the MySQL/PostgreSQL password for use with logging into phpMyAdmin/phpPgAdmin. That's going to be encrypted via your account password, so even if the database were compromised, no one will know the MySQL/PostgreSQL password to your account without knowing your password.
Monitor Module:
Overview: Used in conjunction with EWNS (Early Warning Notification System). EWNS is designed right now around monitoring disk usage, bandwidth usage, domain expiration, and billing delinquencies.
Auth Module:
Overview: Handles password changes and password confirmations.
Backup Module:
Overview: Backup/restore functionality.
Demo Module:
Overview: Really this serves no other purpose than to test SOAP calls. It can return either a scalar, array, or exception depending on what you call.
10) Is that all the modules?
Hopefully not. This is where everyone else comes in. apnscp esprit won't be a definitive, ground-breaking control panel without your assistance. The general idea of this thread is to cultivate ideas; it doesn't matter how abstract your concept is, if it's a good idea and isn't entirely too cryptic/time consuming to implement, then it will make its way to apnscp esprit. If your idea does happen to be rejected, it's for the better, but don't let that dissuade you.
We're looking for ideas and freshminds, this is going to be your new control panel, so help craft it to fit your desires.