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.
- Added: input text hints (Multiple Domain Manager, Add Subdomain, File Manager, DNS Manager)
- Added: HINFO resource record support (DNS)
- Added: interactive shell based loosely upon PHP_Shell (PEAR) + CLI authentication module to facilitate development and provide a driver for unit testing (CLI)
- Added: Inline file browser “Change Directory” accessible through “Browse…” (File Manager)
- Fixed: WebDAV delegation prevents original uid from writing to directory (File)
- Fixed: connection error to primary domain lookup server triggers fatal() (DNS)
- Fixed: named backreferences treated as separate conversion specifiers while parsing command and args (Process)
- 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)
- Fixed: local file names with non-alphanumeric characters fail during “Download and Extract” operation in File Manager
- Fixed: disk quota value of ‘none’ interpreted verbatim (Manage Users, Add User)
- Changed: respond with error if user is given e-mail privilege, but no domains are selected (Add User)
- Changed: add package URL, minor CSS/JS changes (Package Manager)
- Changed: remove disruptive fatal() macro on MySQL query errors (MySQL)
- Changed: cache stat() responses – ~25% increase in file_stat() performance (File)
- Changed: move highlight, rename, file browser operations to global script
- Changed: cache previously expanded directories (Inline File Browser)
- Changed: rewrite copy(), add fourth parameter (prune) to abort recursive copy on error (File)
- 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)
- Changed: add pale yellow glow on hover for password and text input types
- Changed: minor HTML clean-up, convert category application listing to list (Page Template)
- Changed: clean-up process output teeing code (Process)
- Changed: tag last modified timestamp to CSS/JavaScript to encourage clients to honor expiry (Page Template)
- Changed: remove select() timeout from process draining effectively promoting to blocking sockets – whether this produces disastrous process deadlocks remains to be seen (Process)
- Removed: several disused JavaScript scripts
esprit Update – HINFO RRs, form input hints, unit testing stub, live output