Skip to main content Help Control Panel

Login   A+   A-

YACS «   Releases «  

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.
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 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().

-  A single smart handler has been designed to take care of character set transcoding, compression, and setting of Content-Length attribute. See 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.
-  Pages created through the query form are now visible from associates only. See query.php

-  A new function Codes::initialize() has been created in codes/codes.php to enhance the generation of table of contents and of tables of questions.

-  A $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.

-  A new variable $context['self_script'] has been created to be used for self-referencing in forms.

-  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 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)