<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>Apis Networks Community Updates</title>
	<atom:link href="http://updates.apisnetworks.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://updates.apisnetworks.com</link>
	<description>Your one-stop place for Apis Networks web hosting updates</description>
	<pubDate>Mon, 22 Jun 2009 03:43:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>esprit Update - Toolboxes, modals, and bindless proxies - oh my!</title>
		<link>http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/</link>
		<comments>http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 01:37:42 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=298</guid>
		<description><![CDATA[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 [...]]]></description>
			<content:encoded><![CDATA[<p>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!</p>
<div id="attachment_301" class="wp-caption alignleft" style="width: 160px"><a href="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090613-toolbox.png" rel="lightbox[298]"><img class="size-thumbnail wp-image-301" title="Toolbox - DNS Manager" src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090613-toolbox-150x150.png" alt="20090613-toolbox" width="150" height="150" /></a><p class="wp-caption-text">Early toolbox and underlay demonstration</p></div>
<p><strong>Toolboxes</strong>: 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.</p>
<div id="attachment_303" class="wp-caption alignright" style="width: 160px"><a href="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090619-popin-modal.png" rel="lightbox[298]"><img class="size-thumbnail wp-image-303" title="Slide-down dialog" src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090619-popin-modal-150x147.png" alt="20090619-popin-modal" width="150" height="147" /></a><p class="wp-caption-text">A simple slide-down dialog in MDM reminding you to click it and don&#39;t file a ticket.</p></div>
<p><strong>Dialogs</strong>: Two new dialogs have been added as less disruptive (and obstructive) variations of the 100%-opaque-can&#8217;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.</p>
<p><strong>Bindless-proxies</strong>: 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.</p>
<ul>
<li>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)</li>
<li>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)</li>
<li>Added: two new less obtrusive modal dialog forms- slide-ins from the top and modal dialogs will transparent underlay</li>
<li>Added: apnscp.cmd()- AJAX API dispatcher</li>
<li>Added: create new folders from within modal browser (Modal File Browser)</li>
<li>Fixed: IE6- active folder lacks background style (Modal File Browser)</li>
<li>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)</li>
<li>Fixed: omitting permitted exit codes and including process options results in options interpreted as permitted exit codes (Process)</li>
<li>Fixed: inline file browser missing icons in IE6</li>
<li>Fixed: attempting to overwrite an e-mail address results in a duplicate error message (Email)</li>
<li>Fixed: performing an edit, revert, then edit operation in succession resulted in empty destination field (Manage Mailboxes)</li>
<li>Changed: reuse modal file browser</li>
<li>Changed: warn user to activate changes (Multiple Domain Manager)</li>
<li>Changed: update file uploader style</li>
<li>Changed: vertically align modal dialog content</li>
<li>Changed: display selected file size/count in summary footer (File Manager)</li>
<li>Changed: find_quota_files()- include file size on disk (User)</li>
<li>Changed: use packed JavaScript and CSS where possible.  Packing occurs nightly on the client following an applicable file update</li>
<li>Changed: rewrote jTip, updated style properties (Tooltip)</li>
<li>Changed: warn client on ineffective DNS modification if domain is using foreign nameservers (DNS Manager)</li>
<li>Changed: mute error reports stemming from nightly backend service refresh (Error Reporter)</li>
<li>Changed: add_alias(), modify_mailbox()- enforce consistent alias formatting (Email)</li>
<li>Changed: format forwarded e-mail addresses (Manage Mailboxes)</li>
<li>Changed: split Mailbox Routes into add/edit components</li>
<li>Changed: use exponentially diminishing weighted averages for quota overage forecasting, add daily growth rate statistic (Disk Usage Watcher)</li>
<li>Changed: add placeholder variables to Vacation Auto-Responder documentation</li>
<li>Changed: permit an infinite number of data points on a graph legend (pChart)</li>
<li>Removed: htaccess Ensim application, decouple Ensim authentication from login (Auth)</li>
</ul>

<a href='http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/20090613-toolbox/' title='20090613-toolbox'><img src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090613-toolbox-150x150.png" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/20090617-fileupload/' title='20090617-fileupload'><img src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090617-fileupload-150x150.png" width="150" height="150" class="attachment-thumbnail" alt="" /></a>
<a href='http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/20090619-popin-modal/' title='20090619-popin-modal'><img src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090619-popin-modal-150x147.png" width="150" height="147" class="attachment-thumbnail" alt="" /></a>
<a href='http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/20090620-fm-directorycreation/' title='20090620-fm-directorycreation'><img src="http://updates.apisnetworks.com/wp-content/uploads/2009/06/20090620-fm-directorycreation-150x150.png" width="150" height="150" class="attachment-thumbnail" alt="" /></a>

]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/06/21/esprit-update-toolboxes-modals-and-bindless-proxies-oh-my/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update - Detailed bandwidth logging, MySQL Manager UI improvements</title>
		<link>http://updates.apisnetworks.com/2009/06/05/esprit-update-detailed-bandwidth-logging-mysql-manager-ui-improvements/</link>
		<comments>http://updates.apisnetworks.com/2009/06/05/esprit-update-detailed-bandwidth-logging-mysql-manager-ui-improvements/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 23:17:04 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=295</guid>
		<description><![CDATA[Following a wonderful vacation last week, Monday marked a return to the daily grind of control panel development.  The following is a list of accumulated changes from this week and while traveling last week to Florida [insert Florida driver joke].   Among the list of notable changes, the MySQL Manager interface has been cleaned-up and its [...]]]></description>
			<content:encoded><![CDATA[<p>Following a wonderful vacation last week, Monday marked a return to the daily grind of control panel development.  The following is a list of accumulated changes from this week and while traveling last week to Florida [insert Florida driver joke].   Among the list of notable changes, the MySQL Manager interface has been cleaned-up and its grant tables are now replaced by simplified read/write user options to make it less intimidating.  Bandwidth logging received a necessary facelift as well, with a detailed breakdown of usage by domain/subdomain and for control panel, SOAP, and WebDisk access- breakdowns by user.    CP breakdowns will appear on the accounts tomorrow morning.  Firefox and WebKit users will also see a minor UI enhancement to buttons, specifically - for all of the non-CSS3 users out there - rounded corners.</p>
<ul>
<li>Added: control panel, WebDisk, and SOAP bandwidth logging</li>
<li>Added: service grouping by HTTP host (Bandwidth Breakdown)</li>
<li>Added: formatted regular expressions with variable placeholders and backreferences (REGEX)</li>
<li>Added: additional PEAR channel support- list_pear_channels()/add_pear_channel(), API-only (Web)</li>
<li>Added: DNS resolver with independent timeout values used to expeditiously resolve IP addresses or fail without relying on a lengthy gethostbyaddr() OS timeout (Login History)</li>
<li>Fixed: teed output initialized by backend process with a persistentlock retained root ownership (Process)</li>
<li>Fixed: trac_installed()- regression: /usr/local/share/trac is not automatically populated on install (Verco)</li>
<li>Fixed: &#8220;Show Entries&#8221; broken on IE6 (Account Summary)</li>
<li>Fixed: get_debug_bt()- stack trace misformatted multi-dimensional arrays (Error Reporter)</li>
<li>Fixed: apppend_msg()- error string formatted regardless of format arguments (Error Reporter)</li>
<li>Fixed: LF control character not interpreted as line-break within IE (AJAX Engine)</li>
<li>Fixed: directory contents are duplicated to all siblings if the file browser automatically opens a directory that is one level below the root (File Browser</li>
<li>Fixed: modal overlay height in IE6</li>
<li>Changed: series of deprecated methods for MySQL privileges- add_mysql_user_permissions() -&gt; set_mysql_privileges(), delete_mysql_user_permissions() -&gt; revoke_from_mysql_db(), get_mysql_user_permissions() -&gt; get_mysql_privileges() (SQL)</li>
<li>Changed: detection of aborted connections while performing a file output tail - processes are reaped and the output file is truncated.  Experimental and presently available on the Traceroute application.</li>
<li>Changed: add_user()- force lowercase username (User)</li>
<li>Changed: MySQL Manager UI changes, introduce watered-down privilege system - read/write</li>
<li>Changed: consolidate &#8220;select all&#8221; feature to apnscp JS library</li>
<li>Changed: install_gem()- skip rdoc installation (Web)</li>
<li>Changed: jazz up the interface for Firefox/Webkit users through rounded borders</li>
<li>Changed: save user password in user options file (~/.my.cnf) on change.  This feature allows the user to use mysql from the commandline without entering the password every time.  Feature introduces set_mysql_option() and get_mysql_option() methods (SQL)</li>
<li>Changed: add browser and JavaScript status css classes to body</li>
<li>Changed: send the auth module used to service the request to CP bandwidth usage log (Auth)</li>
<li>Changed: provide a benign explanation in the event of an interrupted backend request if the server is performing a nightly code update at 3 AM (DataStream)</li>
<li>Changed: HTML clean-up, desaturated the veritable cornucopia of colors (UI)</li>
<li>Changed: attach size of all files within the directory, disk space free, and limit to bottom of directory output (File Manager)</li>
<li>Removed: colorful buttons</li>
<li>Removed: process stderr sent as warning, this was too ambiguous (Process)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/06/05/esprit-update-detailed-bandwidth-logging-mysql-manager-ui-improvements/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New: Global SpamAssassin Preferences (and some software updates)</title>
		<link>http://updates.apisnetworks.com/2009/05/21/new-global-spamassassin-preferences-and-some-software-updates/</link>
		<comments>http://updates.apisnetworks.com/2009/05/21/new-global-spamassassin-preferences-and-some-software-updates/#comments</comments>
		<pubDate>Thu, 21 May 2009 14:45:06 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Server Notices]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=291</guid>
		<description><![CDATA[Global SpamAssassin rules have been introduced after the idea was introduced by a user in a previous blog posting.  Global preferences provide a convenient way to change default scoring for users, adjust the spam threshold, modify how spam is conveyed, and even include new tests.   For the eager few ready to dive right in, global [...]]]></description>
			<content:encoded><![CDATA[<p>Global SpamAssassin rules have been introduced after the <a href="http://updates.apisnetworks.com/2009/04/02/designing-the-next-generation-server/#comment-3987">idea was introduced</a> by a user in a previous blog posting.  Global preferences provide a convenient way to change default scoring for users, adjust the spam threshold, modify how spam is conveyed, and even include new tests.   For the eager few ready to dive right in, global preferences are stored under <code>/etc/mail/spamassassin/global_prefs</code>.   For everyone else, I advise reading the wiki on <a href="http://wiki.apisnetworks.com/index.php/Spam_Filtering#Global_Preferences">Spam Filtering - Global Preferences</a> before making any changes.  Remember that these values may be overidden per-user.</p>
<p>In less exciting news, MySQL has been upgraded to 5.0.81 and Postfix from 2.5 to the new 2.6 branch.  Both are routine maintenance upgrades.</p>
<p>- Matt</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/05/21/new-global-spamassassin-preferences-and-some-software-updates/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update - HINFO RRs, form input hints, unit testing stub, live output</title>
		<link>http://updates.apisnetworks.com/2009/05/20/esprit-update-hinfo-rrs-form-input-hints-unit-testing-stub/</link>
		<comments>http://updates.apisnetworks.com/2009/05/20/esprit-update-hinfo-rrs-form-input-hints-unit-testing-stub/#comments</comments>
		<pubDate>Wed, 20 May 2009 19:49:18 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=287</guid>
		<description><![CDATA[A new esprit update has been pushed incrementally to the servers during the last two weeks.  Highlights include DNS support for HINFO resource records, change directory browser in File Manager, input text hinting to make those input fields less barren and confusing, and a CLI stub has been added for unit testing as well.  Another [...]]]></description>
			<content:encoded><![CDATA[<p>A new esprit update has been pushed incrementally to the servers during the last two weeks.  Highlights include DNS support for HINFO resource records, change directory browser in File Manager, input text hinting to make those input fields less barren and confusing, and a CLI stub has been added for unit testing as well.  Another neat change is that our live process output feature is cross-browser.  The control panel has the ability to send program output directly to the client as it happens, in real-time.  Previously this worked only with Firefox, but now works even with IE6.  Language Options (RoR installation), Package Manager, and Traceroute use this feature.</p>
<ul>
<li>Added: input text hints (Multiple Domain Manager, Add Subdomain, File Manager, DNS Manager)</li>
<li>Added: HINFO resource record support (DNS)</li>
<li>Added: interactive shell based loosely upon PHP_Shell (PEAR) + CLI authentication module to facilitate development and provide a driver for unit testing (CLI)</li>
<li>Added: Inline file browser &#8220;Change Directory&#8221; accessible through &#8220;Browse&#8230;&#8221; (File Manager)</li>
<li>Fixed: WebDAV delegation prevents original uid from writing to directory (File)</li>
<li>Fixed: connection error to primary domain lookup server triggers fatal() (DNS)</li>
<li>Fixed: named backreferences treated as separate conversion specifiers while parsing command and args (Process)</li>
<li>Fixed: multiple DAV improvements- pass updated class 1 Litmus test, collection compliance, error on bad content-type header, escape all URL entities in filenames, streamline current class 1 methods - ~ 40% improvement over last benchmark (75 seconds vs 45 seconds per 500 requests) (DAV)</li>
<li>Fixed: local file names with non-alphanumeric characters fail during &#8220;Download and Extract&#8221; operation in File Manager</li>
<li>Fixed: disk quota value of &#8216;none&#8217; interpreted verbatim (Manage Users, Add User)</li>
<li>Changed: respond with error if user is given e-mail privilege, but no domains are selected (Add User)</li>
<li>Changed: add package URL, minor CSS/JS changes (Package Manager)</li>
<li>Changed: remove disruptive fatal() macro on MySQL query errors (MySQL)</li>
<li>Changed: cache stat() responses - ~25% increase in file_stat() performance (File)</li>
<li>Changed: move highlight, rename, file browser operations to global script</li>
<li>Changed: cache previously expanded directories (Inline File Browser)</li>
<li>Changed: rewrite copy(), add fourth parameter (prune) to abort recursive copy on error (File)</li>
<li>Changed: rewrote unbuffered AJAX proxy since intercepting an XMLHttpRequest in interactive mode is neither encouraged nor widely supported.  Real-time traceroute and Rails installations are cross-browser. (ajax unbuffered)</li>
<li>Changed: add pale yellow glow on hover for password and text input types</li>
<li>Changed: minor HTML clean-up, convert category application listing to list (Page Template)</li>
<li>Changed: clean-up process output teeing code (Process)</li>
<li>Changed: tag last modified timestamp to CSS/JavaScript to encourage clients to honor expiry (Page Template)</li>
<li>Changed: remove select() timeout from process draining effectively promoting to blocking sockets - whether this produces disastrous process deadlocks remains to be seen (Process)</li>
<li>Removed: several disused JavaScript scripts</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/05/20/esprit-update-hinfo-rrs-form-input-hints-unit-testing-stub/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update - Spring Cleaning Edition</title>
		<link>http://updates.apisnetworks.com/2009/05/09/esprit-update-spring-cleaning-edition/</link>
		<comments>http://updates.apisnetworks.com/2009/05/09/esprit-update-spring-cleaning-edition/#comments</comments>
		<pubDate>Sat, 09 May 2009 16:04:43 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=285</guid>
		<description><![CDATA[A new esprit update has been pushed to the servers as of this morning.  This update cleans up a few remaining odds and ends with bugs, abnormal behavior, and begins a gradual transition to apnscp 2.

Added: DNS filter control (DNS Manager)
Added: subdomain_info(), domain_info()- return information on subdomain or domain (Web)
Fixed: delete()- glob returns pattern on [...]]]></description>
			<content:encoded><![CDATA[<p>A new esprit update has been pushed to the servers as of this morning.  This update cleans up a few remaining odds and ends with bugs, abnormal behavior, and begins a gradual transition to apnscp 2.</p>
<ul>
<li>Added: DNS filter control (DNS Manager)</li>
<li>Added: subdomain_info(), domain_info()- return information on subdomain or domain (Web)</li>
<li>Fixed: delete()- glob returns pattern on no match (File)</li>
<li>Fixed: missing SPF helper javascript (SPF)</li>
<li>Fixed: filter ignores full match on partial match when show restriction is in use (AJAX File Browser)</li>
<li>Fixed: SOAP session id is not restored on cache hit (Auth::SOAP)</li>
<li>Fixed: global subdomain triggers subdomain remap on postback (bug #105) (Manage Users)</li>
<li>Fixed: make_path()- symlink fixes: 1) invalid symlinks doubly-append site filesystem prefix 2) symlink pointing to existing file treated as regular file (File)</li>
<li>Fixed: get_acls()- cache check fail on symlink (File)</li>
<li>Fixed: create_mailing_list()- majordomo-owner alias always created (Majordomo)</li>
<li>Fixed: role permission mismatch produces similar copy of insufficient privileges error (afi)</li>
<li>Fixed: stat()- unaffiliated uid results in null entry for owner/group fields (File)</li>
<li>Changed: add_address()/add_alias()- error if address already exists (Email)</li>
<li>Changed: UI tweaks, gradually introduce new apnscp 2 input controls</li>
<li>Changed: rewrite inline file browser, add support for non-linear directory traversal</li>
<li>Changed: stat()- skip ACL lookup for symlink (File)</li>
<li>Changed: get_acls()- satisfy return data type for non-existent files by populating ACL cache with dummy entry (File)</li>
<li>Changed: hide write operations on directories that user does not have access to write files (File Manager)</li>
<li>Changed: rename_subdomain()- optional third parameter to change subdomain location (Web)</li>
<li>Changed: get_acl()- persist ACL cache across requests (File)</li>
<li>Changed: cache make_path()/unmake_path() translations (File)</li>
<li>Changed: reload module cache on permission/argument mismatch before attempting (afi)</li>
<li>Changed: add sorter to subdomain table, include owner/type attributes (List Subdomains)</li>
<li>Changed: introduce unhandled exception handler (Error Reporter)</li>
<li>Changed: improve delete() POSIX-compliance, use directory permissions exclusively instead of file permissions for tests;  rename() to move files is deprecated (File)</li>
<li>Changed: rename auth driver App to UI (Auth)</li>
<li>Removed: SOAP session persistence caused by unavoidable complications with static class members (SOAP)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/05/09/esprit-update-spring-cleaning-edition/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update- faster page loads, less fluff, and session auto-resume</title>
		<link>http://updates.apisnetworks.com/2009/04/24/esprit-update-faster-page-loads-less-fluff-and-session-auto-resume/</link>
		<comments>http://updates.apisnetworks.com/2009/04/24/esprit-update-faster-page-loads-less-fluff-and-session-auto-resume/#comments</comments>
		<pubDate>Sat, 25 Apr 2009 03:33:53 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=283</guid>
		<description><![CDATA[An esprit update has been pushed to the servers, scheduled for release later this evening.  This update is focuses on page load improvements within the control panel.  Pages will load noticeably faster, especially the dashboard, once the new code is live on the servers.

Added: auto-save session if expires; resume page/form action after logging in
Added: subdomain_exists()- [...]]]></description>
			<content:encoded><![CDATA[<p>An esprit update has been pushed to the servers, scheduled for release later this evening.  This update is focuses on page load improvements within the control panel.  Pages will load noticeably faster, especially the dashboard, once the new code is live on the servers.</p>
<ul>
<li>Added: auto-save session if expires; resume page/form action after logging in</li>
<li>Added: subdomain_exists()- query if global/local/fallthrough subdomain is configured (Web)</li>
<li>Fixed: disallow updating billing information if account has expired (Change Account Billing)</li>
<li>Fixed: display_application()- postback severity compared to PB_ERROR (Page Container)</li>
<li>Fixed: null response printed on ajax output (Ajax)</li>
<li>Changed: Rewrite of session and authentication handlers composed of three separate authentication layers (App, SOAP, DAV).  Latency improvements are as follow (throughput ratio, (rendering latency)) :
<ul>
<li>Login: 1.6X (38%)</li>
<li>Dashboard: 21X (95.4%)</li>
<li>App Rendering: 16X (93.8%)</li>
<li>DAV: 6X (83.3%)</li>
<li>SOAP: 21X (95.3%)</li>
</ul>
</li>
<li>Changed: decrease garbage collector frequency from every page to 50%</li>
<li>Changed: disable always_populate_raw_post_data PHP directive</li>
<li>Changed: [add,remove,modify]_record()- add .25 second sleep after DNS modifications to provide ns time to catchup (DNS)</li>
<li>Changed: delete()- improve permission algorithm (File)</li>
<li>Changed: improved error handling verbosity (Error Reporter)</li>
<li>Changed: add login error if account is disabled (Login)</li>
<li>Changed: prefer static invoice over domain name database lookups (Billing)</li>
<li>Changed: cache instantiated classes for SOAP clients (SOAP)</li>
<li>Changed: lazy load PostgreSQL, Process, Graph, Compression classes (apnscpFunction)</li>
<li>Changed: disambiguate subdomain interface, list primary domain first (Add Subdomain)</li>
<li>Changed: clean-up code, remove backend wrapper methods (File Manager, Add Subdomain, Module Skeleton, Page Container, Auth, Web, Common, etc)</li>
<li>Changed: clean-up schema, fix length primary keys (soap_keys, session_information)</li>
<li>Changed: cache navigation links/dashboard data (Template Engine)</li>
<li>Changed: use site id while validating SOAP key (Auth)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/04/24/esprit-update-faster-page-loads-less-fluff-and-session-auto-resume/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update - improved apache fs throughput, addon subdomain fallthrough, vacation messages</title>
		<link>http://updates.apisnetworks.com/2009/04/10/esprit-update-improved-apache-fs-throughput-addon-subdomain-fallthroughs-vacation-msg-support/</link>
		<comments>http://updates.apisnetworks.com/2009/04/10/esprit-update-improved-apache-fs-throughput-addon-subdomain-fallthroughs-vacation-msg-support/#comments</comments>
		<pubDate>Sat, 11 Apr 2009 02:19:41 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=276</guid>
		<description><![CDATA[A new esprit update has been scheduled for tonight.  Notable changes include a domain/subdomain document root rewrite from O(n) to O(1) lookups.  Subdomain filesystem lookups have improved by ~10%, while addon domain filesystem maps remain constant regardless of the number of domains on an account.  Memory usage decreases by 2.5 MB per process in addition [...]]]></description>
			<content:encoded><![CDATA[<p>A new esprit update has been scheduled for tonight.  Notable changes include a domain/subdomain document root rewrite from O(n) to O(1) lookups.  Subdomain filesystem lookups have improved by ~10%, while addon domain filesystem maps remain constant regardless of the number of domains on an account.  Memory usage decreases by 2.5 MB per process in addition to ~2 KB per addon domain resulting in a total savings of ~350 MB - 500 MB per server.  The new mapping system allows for document roots to be altered within <a href="http://wiki.apisnetworks.com/index.php/Multiple_Domain_Manager">Multiple Domain Manager</a> without submitting the &#8220;<em>Activate Changes</em>&#8221; option on every change.</p>
<p>Secondly, subdomain fallthrough support has been added for addon domains.  Select &#8216;*&#8217; for the subdomain in &#8220;<a href="http://wiki.apisnetworks.com/index.php/Add_Subdomain">Add Subdomain</a>&#8221; to add a fallthrough for the named domain.  Fallthroughs are used if the named subdomain is not found.  If a fallthrough subdomain is not set, then the global subdomain is used, if found, otherwise a 404 is returned.</p>
<p>Finally, vacation messages have been added for the primary user.  Visit E-mail -&gt; Vacation Messages to set.</p>
<p>Apache mapping changes require modification to account configurations.  Changes are scheduled to be made at 1 AM EDT (-0400 GMT) tongiht.  Addon domains may be temporarily unavailable for a 10 minute window during this time.</p>
<ul>
<li>Added: list_domains()- returns a list of domains and corresponding document roots (Web)</li>
<li>Added: abort transfer feature for file uploads (File Manager)</li>
<li>Added: vacation message support for the primary user (E-mail -&gt; Vacation Message)</li>
<li>Added: fallthrough subdomain support  for addon domains</li>
<li>Fixed: regression in vacation message controller generates failed postback if vacation not set (Vacation Message)</li>
<li>Fixed: miscellaneous code clean-up (File Manager)</li>
<li>Fixed: remove spurious resource closure (Curl Layer, DataStream)</li>
<li>Fixed: application dropdown fails to load script (webDisk)</li>
<li>Fixed: find_quota_files()- double-escaped metacharacters (User)</li>
<li>Fixed: get_quota()- match grace column hh:mm format (User)</li>
<li>Fixed: missing toolbox in empty directories (File Manager)</li>
<li>Fixed: regression on display body if warnings exist (Urchin)</li>
<li>Fixed: negative z-index on header/menu renders behind body in Firefox 2 (Page Template)</li>
<li>Fixed: add_user()- invalid method signature (User)</li>
<li>Fixed: parse_ini_file()- skip conversion if empty string (Common)</li>
<li>Fixed: &#8220;cannot access directory&#8221; message on empty directory (File Manager)</li>
<li>Fixed: postback calls filter if filter string is empty (Manage Users)</li>
<li>Changed: update chart to pChart (Bandwidth Breakdown)</li>
<li>Changed: refactor afi, reduce set_user_parameters() calls, cache argument reflection results (~ (Module Skeleton, apnscpFunctionInterceptor)</li>
<li>Changed: upgrade jQuery 1.3.2</li>
<li>Changed: upgrade SimpleModal 1.2.3</li>
<li>Changed: clean-up afi call routines (apnscpFunctionInterceptor)</li>
<li>Changed: clean-up login process, use error()/warn() wrappers (Login)</li>
<li>Changed: enhance login security by implementing random usleep() on invalid login (apnscp Session)</li>
<li>Changed: turn-off APC stat checks</li>
<li>Changed: introduce new domain mapping approach with O(1) lookups on addon domains, ~8% speed-up on subdomain lookups, and variable speed-up on primary domain fallthrough - O(n) -&gt; O(1)</li>
<li>Removed: blockUI replaced by SimpleModal (WebDAV, Add Subdomain, File Manager, Add User)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/04/10/esprit-update-improved-apache-fs-throughput-addon-subdomain-fallthroughs-vacation-msg-support/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Designing the next generation server</title>
		<link>http://updates.apisnetworks.com/2009/04/02/designing-the-next-generation-server/</link>
		<comments>http://updates.apisnetworks.com/2009/04/02/designing-the-next-generation-server/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 20:07:49 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Miscellaneous]]></category>

		<category><![CDATA[Server Notices]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=199</guid>
		<description><![CDATA[Server infrastructure is periodically updated to provide clients with the latest software and provide us an opportunity to implement hardware/architecture changes.  The Fourth Generation was introduced March 2007, which is beyond the target lifecycle of 24 months.  I would love to hear your input on what you want on the new server family.  Initial filesystem [...]]]></description>
			<content:encoded><![CDATA[<p>Server infrastructure is periodically updated to provide clients with the latest software and provide us an opportunity to implement hardware/architecture changes.  The <a href="http://forums.apisnetworks.com/showpost.php?p=840&amp;postcount=2">Fourth Generation</a> was introduced March 2007, which is beyond the target lifecycle of 24 months.  I would love to hear your input on what <em>you</em> want on the new server family.  Initial filesystem structure will be based from a mix of RHEL 5.3 and Fedora Core 10 packages with software upgrades as deemed necessary.  Beneath the OS there are a <a href="http://wiki.apisnetworks.com/index.php/Fifth_Generation">few other hardware and architectural changes</a> to improve performance and propel the phenomenal reliability to new levels.</p>
<p>My observations and notes only represent a small slice of deficiencies.  <strong>I want your help in identifying current short-comings to be addressed in the Fifth Generation.</strong> The most successful, forward-thinking businesses are those that are driven by its clients.  The Fifth Generation aims to be the most ambitious iteration yet, so let&#8217;s set the bar high and give me a challenge.  Here are some brainstorming questions:</p>
<ul>
<li>What software versions would you like to see?  Ruby 1.9 and Python 2.6 are planned.</li>
<li>Any layout changes, e.g. webmail locations, behaviors, subdomains, addon domains, etc?  Bear in mind these changes are more difficult to execute and possibly more disruptive.</li>
<li>If you could change one thing about apis, what would it be?</li>
<li>Ways to improve user experience?  How can we facilitate daily operations for you?  For example, is SpamAssassin inaccurate with tagging spam?  How would you like spam management change on the new family?</li>
</ul>
<p>Questions are very open-ended, because any form of feedback is invaluable at this stage.  Brainstorming is a stage when tangents run amok and somewhere from that chaos [<em>deceptively</em>] good ideas emerge.   Software version requests are posted within <a href="http://wiki.apisnetworks.com/index.php/Fifth_Generation">the wiki</a>.  Head on over to the forums and let&#8217;s hear not only what you need, but more importantly, what you want.  The Fifth Generation build is set to begin in May.</p>
<p><a href="http://forums.apisnetworks.com/showthread.php?p=2014#post2014">Discussion link</a><br />
<a href="http://guide.apisnetworks.com/index.php/Fifth_Generation">List of planned changes</a><br />
<a href="mailto:matt+feedback@apisnetworks.com">Send me</a> your ideas!</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/04/02/designing-the-next-generation-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New DNS Resolvers</title>
		<link>http://updates.apisnetworks.com/2009/03/26/new-dns-resolvers/</link>
		<comments>http://updates.apisnetworks.com/2009/03/26/new-dns-resolvers/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 21:44:13 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[Server Notices]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=196</guid>
		<description><![CDATA[Two new DNS resolvers have been established for all servers.  The resolvers are located within the subnet to minimize network latencies, which have plagued the previous DNS resolver over the past two days.  Hosting nameservers, ns1.apisnetworks.com and ns2.apisnetworks.com remain unaffected by the change.
]]></description>
			<content:encoded><![CDATA[<p>Two new DNS resolvers have been established for all servers.  The resolvers are located within the subnet to minimize network latencies, which have plagued the previous DNS resolver over the past two days.  Hosting nameservers, ns1.apisnetworks.com and ns2.apisnetworks.com remain unaffected by the change.</p>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/03/26/new-dns-resolvers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>esprit Update - Disk Usage Breakdown enhancements</title>
		<link>http://updates.apisnetworks.com/2009/03/21/esprit-update-disk-usage-breakdown-enhancements/</link>
		<comments>http://updates.apisnetworks.com/2009/03/21/esprit-update-disk-usage-breakdown-enhancements/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 13:05:18 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
		
		<category><![CDATA[apnscp esprit Updates]]></category>

		<guid isPermaLink="false">http://updates.apisnetworks.com/?p=194</guid>
		<description><![CDATA[A new esprit update has been pushed to the servers at this time focusing on improving Disk Usage Breakdown reporting.

Added: get_account_quota()- retrieve file/disk quota on group  (Site)
Added: estimate apache quota contribution, accessible with get_quota(&#8221;apache&#8221;) (User, Disk Usage Breakdown)
Added: find_quota_files()- generate list of files contributing towards quota (User, Disk Usage Breakdown)
Added: map_{sub,}domain()- addon subdomain and domain [...]]]></description>
			<content:encoded><![CDATA[<p>A new esprit update has been pushed to the servers at this time focusing on improving <a href="http://manual.apisnetworks.com/index.php/Disk_Usage_Breakdown">Disk Usage Breakdown</a> reporting.</p>
<ul>
<li>Added: get_account_quota()- retrieve file/disk quota on group  (Site)</li>
<li>Added: estimate apache quota contribution, accessible with get_quota(&#8221;apache&#8221;) (User, Disk Usage Breakdown)</li>
<li>Added: find_quota_files()- generate list of files contributing towards quota (User, Disk Usage Breakdown)</li>
<li>Added: map_{sub,}domain()- addon subdomain and domain links within the corresponding user&#8217;s home directory (Web, Aliases)</li>
<li>Fixed: delete()- symlinks not removed (File)</li>
<li>Fixed: format backreferences treated as separate format argument (Process)</li>
<li>Fixed: erroneous account quota usage (Dashboard)</li>
<li>Fixed: skip extraneous bandwidth values during bandwidth tabulation (Tabulate Bandwidth)</li>
<li>Fixed: backend -&gt; query() -&gt; backend call mangles arguments (Module Skeleton)</li>
<li>Fixed: custom FTP jail not set (FTP)</li>
<li>Fixed: get_mailbox() invalid filter type (Email)</li>
<li>Fixed: get_account_quota()- prefer quota limit response over account config diskquota,quota value (Site)</li>
<li>Changed: generate graph colors using random HSL values to produce unsaturated colors, include rgb/hsl/hsv conversions (Color, Disk Usage Breakdown)</li>
<li>Changed: pChart chart rendering (Disk Usage Breakdown)</li>
<li>Changed: upgrade tablesorter to 2.0.3</li>
<li>Removed: get_credit_card_information(): unnecessary join on credit card presence (Billing)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://updates.apisnetworks.com/2009/03/21/esprit-update-disk-usage-breakdown-enhancements/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
