The latest batch of esprit updates provides two major UI enhancements, in addition to the standard slew of updates.  An AJAX API dispatcher has added, providing a way of communicating with the control panel through JavaScript.  This gives a nice foundation to build upon, with postback errors seamlessly slipping in through the top of the application.  Enjoy!

20090613-toolbox
Early toolbox and underlay demonstration

Toolboxes: In its infant stage, toolboxes provide macro collections for applications.  The first implementation makes its debut in DNS Manager giving clients the capability to reset and manipulate MX settings.  MX records provide control of e-mail routing with one-click settings to assign e-mail to a hosted GMail account, clone custom MX settings (before changing nameservers to ns1/2.apisnetworks.com), and reset  DNS settings if necessary.  Macros are executed server-side over AJAX, but can easily be integrated client-side with the new JavaScript API accessor.

20090619-popin-modal
A simple slide-down dialog in MDM reminding you to click it and don't file a ticket.

Dialogs: Two new dialogs have been added as less disruptive (and obstructive) variations of the 100%-opaque-can’t-see-a-damn-thing-beneath-the-300px-x-100px-modal dialog.  Popins and slide-downs.  Simple names, simple ideas, simple approach.  Popins reduce the opaque background to a 10 pixel border and slide-downs slide into view from the top of the screen.

Bindless-proxies: every API called during a form submission is handled by the application error handler – the dialog that slides down and fades background colors.  Yes, that annoying feature.  This behavior was implemented as a quick fix for the poor error handling in earlier versions of the control panel (early as in more than a year old), which has become more problematic as the control panel evolves.  Commands that return bools – user exists, e-mail exists, domain exists, etc, require wrappers to prevent the error handler from storing the value in the error buffer, which transforms innocuous code into spaghetti without meatballs, but with macros.  Lots and lots of macros.  Bindless proxies call the commands and mute the response without the unsightly no_warn()/no_error()/resume_warn()/resume_error()  macros.

  • Added: Toolbox concept, a collection of task-specific macros per app.  The macro set for DNS Manager features hosted GMail MX provisioning, DNS reset, and MX cloning (apnscp)
  • Added: Bind-free proxy- afi liaison that processes commands without triggering an error/warning during postback – atomic process of do_bind()/unbind() macros (Page Controller)
  • Added: two new less obtrusive modal dialog forms- slide-ins from the top and modal dialogs will transparent underlay
  • Added: apnscp.cmd()- AJAX API dispatcher
  • Added: create new folders from within modal browser (Modal File Browser)
  • Fixed: IE6- active folder lacks background style (Modal File Browser)
  • Fixed: all except IE6- successive progress updates create memory leak during upload progress.  Remove iterative function approach by animating background position.  Works in all browsers except IE6 (File Manager)
  • Fixed: omitting permitted exit codes and including process options results in options interpreted as permitted exit codes (Process)
  • Fixed: inline file browser missing icons in IE6
  • Fixed: attempting to overwrite an e-mail address results in a duplicate error message (Email)
  • Fixed: performing an edit, revert, then edit operation in succession resulted in empty destination field (Manage Mailboxes)
  • Changed: reuse modal file browser
  • Changed: warn user to activate changes (Multiple Domain Manager)
  • Changed: update file uploader style
  • Changed: vertically align modal dialog content
  • Changed: display selected file size/count in summary footer (File Manager)
  • Changed: find_quota_files()- include file size on disk (User)
  • Changed: use packed JavaScript and CSS where possible.  Packing occurs nightly on the client following an applicable file update
  • Changed: rewrote jTip, updated style properties (Tooltip)
  • Changed: warn client on ineffective DNS modification if domain is using foreign nameservers (DNS Manager)
  • Changed: mute error reports stemming from nightly backend service refresh (Error Reporter)
  • Changed: add_alias(), modify_mailbox()- enforce consistent alias formatting (Email)
  • Changed: format forwarded e-mail addresses (Manage Mailboxes)
  • Changed: split Mailbox Routes into add/edit components
  • Changed: use exponentially diminishing weighted averages for quota overage forecasting, add daily growth rate statistic (Disk Usage Watcher)
  • Changed: add placeholder variables to Vacation Auto-Responder documentation
  • Changed: permit an infinite number of data points on a graph legend (pChart)
  • Removed: htaccess Ensim application, decouple Ensim authentication from login (Auth)
esprit Update – Toolboxes, modals, and bindless proxies – oh my!