September-27, charsets, backup, folding panels and other optimizations
From time to time even well-designed pieces of software
need to be reviewed for optimization and debugging. This week we have improved the support of web character sets, we have compressed backup data, we have introduced folding capabilities to the user interface. Also, the user interface has been streamlined at several scripts, the rendering engine has been profiled to save CPU cycles, and RSS feeders have been enhanced as well.
need to be reviewed for optimization and debugging. This week we have improved the support of web character sets, we have compressed backup data, we have introduced folding capabilities to the user interface. Also, the user interface has been streamlined at several scripts, the rendering engine has been profiled to save CPU cycles, and RSS feeders have been enhanced as well.About one hundred files have been modified from the previous release five days ago. This number is quite high because of the introduction of new global variables used almost everywhere.
YACS now processes the accepted charset directive submitted by user agents. If utf-8 is accepted, it will be used. Else YACS will degrade smoothly to iso8859-1. See shared/global.php.
The backup script now uses gzip files for backup and for restauration. As a result, it is able to handle larger databases than before. For example, you can use it to transfer several thousands of articles from one server to another one, and still stay below the common 2 Mbytes limitation for HTTP uploads.
YACS uses DOM and javascript to fold and unfold panels on screen. This is used in edit forms to mask advanced options. This is used in user profiles to mask/show contect information. See users/view.php. A YACS code has been created as well to embed folded blocks into regular pages. See blocks.php. The test page for skins now has a folded box for visual feed-back. See skins/test.php.
The 'silent update' label has been changed to a more explicit 'Do not change the modification date of...' in several edit forms.
Access keys have been added to the edit form for categories (categories/edit.php), files (files/edit.php), etc.
Shortcuts have been added to the control panel and to the index page for agents (agents/index.php).
More information is provided through comment feeds. See comments/feed.php
YACS makes a better usage of
A single smart handler has been designed to take care of character set transcoding, compression, and setting of Content-Length attribute. See
Pages created through the query form are now visible from associates only. See query.php
A new function
A
A new variable
Agents that are executed in the background, or at the end of regular scripts, could face timeouts on the database connection. Therefore we have added some
Skin::cap(), the function aiming to limit the size of any HTML snippet. As a result, page content provided in RSS feeds look better than when we were using Skin::strip().yacs_handler() in shared/global.php. Previously we had 3 or 4 different handlers to manage. As a result, code used in newsfeeders has been reduced to a very minimum.
Codes::initialize() has been created in codes/codes.php to enhance the generation of table of contents and of tables of questions.$context['page_footer'] variable has been created to host every components that come after the main text. All templates have been modified in the skins directory. The very first usage of this variable is for the insertion of pieces of Javascript code that used to be embedded randomly.$context['url_to_root'] now also contains the protocol scheme and the server name. Previously we had to combine several variables from the $context array.$context['self_script'] has been created to be used for self-referencing in forms. mysql_ping() to take care of such situations. See scripts in the agents directory.Rate this page
Posted by Bernard on Sep. 27 2004, (popular)