yacs 8.2: Forms, calendars, shaped mails
The interactive support of forms has been a long-lasting request, and starting with version 8.2 it is becoming a native feature of YACS. As usual, we have started with rock-solid building blocks, and you will find in this version an easy-to-use form editor that leverages the AJAX technology. This will be expanded over time with next monthly releases, thank you to test YACS forms and to provide feed-back to the development team.
Support of on-line calendars has been streamlined as well, and the addition of the overlay 'day' to a section is the only configuration step required to build monthly views of next events. Previous users of this overlay may have to add some parameters to switch back to the previous behaviour.
Another important feature coming with this release is the shaping of mail bursts. Initially this is imposed by limits set by Internet service providers. YACS is now smart enough to delay the transmission of mail messages to stay below the threshold of 50 mail messages per hour or so.
Support of on-line calendars has been streamlined as well, and the addition of the overlay 'day' to a section is the only configuration step required to build monthly views of next events. Previous users of this overlay may have to add some parameters to switch back to the previous behaviour.
Another important feature coming with this release is the shaping of mail bursts. Initially this is imposed by limits set by Internet service providers. YACS is now smart enough to delay the transmission of mail messages to stay below the threshold of 50 mail messages per hour or so.
326 files have been modified or added since the previous release.
Here is a list of new or updated features coming with this release:
Forms are described in a new table of the database, abstracted in forms/forms.php
Forms can be created, changed (forms/edit.php) or deleted (forms/delete.php), but only by associates.
The form editor makes full usage of AJAX, thanks to the library
The test script for Ajax, tools/ajax.php shows how to open a populated window, how to manage item properties, and how to create a sortable list.
All available forms are listed in a single index page, at forms/index.php[/php], using layout [script]forms/layout_forms.php
When a surfer selects a form from the index, he is driven to a new page to actually fill it, in forms/view.php
Named forms can be accessed through the selector. If you create a form named "my_form", then drive your users to "yacs/go/my_form" to actually enter data. See go.php.
The Control Panel now reports the number of forms in the database. See control/index.php.
The overlay
The script now accepts following parameters:
The overlay interface has been extended with a new function
Most queries to the database made in dates/dates.php have been extended to include more of article attributes in resulting layouts.
And of course, most date layouts have been changed to benefit from this new capability. See dates/layout_dates.php for example.
The function Dates::duplicate_for_anchor() has been removed from dates/dates.php
Submitted mails are all recorded in the table yacs_messages, and actually processed asynchronously afterwards. The objective is to shape bursts of outbound messages, to stay below limits set by Internet service providers. The value 'mailer.last.outbound' gives the title of the last submitted message, and the value 'mailer.last.processed' reports on the last actual post. See shared/mailer.php
The Control Panel now reports the number of pending messages in the database. See control/index.php.
A new hook has been added to include mail sending in background processing: shared/mailer_hook.php
The invite-by-mail feature has been disallowed for locked pages. See articles/mail.php.
A link received by e-mail will not break an ongoing session anymore, this has been fixed in users/login.php
The output of the last background processing is now recorded in the database, in the value named 'cron.tick'. See shared/global.php
An efficient optimization achieved in this version, suggested by Thierry, is that the jsCalendar library is now loaded only if it is used on screen. See skins/skin_skeleton.php
Bookmarking links have been reduced to the service provided by AddThis, and button to NetVibes, MyYahoo and Newsgator have been removed in skins/skin_skeleton.php
The handling of stored values has been enhanced in shared/values.php. Separate functions are now available to get the actual value, the date of last modification, or the full record.
Thanks to Nuxwin suggestion, YACS now better supports FastCGI interfaces in shared/safe.php
The PHP interface (SAPI) is now described in the script for system test, control/test.php
The mapping of extended entities to ASCII character set has been improved in shared/utf8.php
Usage of nick names has been introduced in dynamic links built for sections, with the kind help of Thierry. See sections/layout_sections.php
Page creators have been granted additional rights to add files and links to their pages, in files/files.php[/scritp] and [script]links/links.php
Link spamming has been prevented into links/click.php. Submitted links are not accepted anymore when referrer is not set.
The library
YACS now always uses its own JSON library because of some inconstancy in native JSON support by PHP. See included/json.php
The layout of download pages has been changed to clearly separate the download and the detach commands. See files/view.php
A new code,
Flash video files can now be streamed in a separate window, thanks to extensions to files/stream.php.
To play a Flash object YACS now adds the parameter 'base'. This gives some context to the running Flash software to locate related files, if required.
Two new tables have been added to the database: one to store pending messages (see shared/mailer.php) and another one to store permanent forms (see forms/forms.php). This is checked in control/setup.php.
The Content Assistant now properly sets access restrictions to new sections and articles, if any. See control/populate.php
Content of the table 'yacs_values' is now displayed in agents/index.php instead of control/index.php. The list of values is the preferred mean to monitor background processing.
Mot recent versions of PHP have changed the way the database is structured, and the backup script has been made compatible with the new numeric types. See control/backup.php
The cron script now captures text generated during its execution, and saves it into the database for further control. See cron.php
Yacs has been tested with PHP 5.2.5, and scripts have been adapted to new run-time bevavior. The impact is mainly in the decoding of UTC date strings, and in the processing of empty arrays. Small changes, but many scripts have been changed because of them.
The full-text search does not look in comments nor in links, because this may expose private information. See search.php
The setup assistant generates a warning instead of an error when the PHP zip library has not been activated. See setup.php
More visibility has been given to background processing in the index page of agents. Also, a cron tick can be activated directly from this page. See agents/index.php
The background agent that processes inbound e-mail messages has been modified to better cope with run-time errors. Some errors were inducing multiple copies of the same message. See agents/messages.php.
Global SQL queries to the database have been optimised, thanks to some tuning done on the web site from AnsteYer. See articles/articles.php.
A new 'reverse_rank' scheme has been introduced to order articles.
Thanks to efforts from ThierryP, we have started to introduce nick names in dynamic links built by YACS. The idea is that nick names may be more precise than titles, which is good to SEO. See articles/layout_articles.php for example.
A preliminary version of articles/layout_articles_as_admin.php has been submitted by Tof, and included in the standard distribution.
A bug that prevented navigation between successive pages of threads has been fixed in articles/layout_articles_as_yabb.php
The script used to edit a category has been extensively reviewed, see categories/edit.php. Duplicated fields for advanced options have been suppressed. The default layout for categories is now 'decorated', like articles.
Here is a list of new or updated features coming with this release:
forms/forms.js, to drag-and-drop forms elements, and to change field properties as well.day now displays a monthly calendar by default. Up to 11 previous months, and 8 upcoming months are displayed. layout_as_list to have a list instead, and with_past_dates to also include pas events. See overlays/day.phprender_list_for_anchor(). This allows sections overlaid with day to render properly in the site map, with events nicely ordered by date.included/browser/document_write.js is more straightforward to detect the absence of the document.write() function.[flash=123, window], has been introduced to play a Flash in a separate window. This complements the code [flash=123, width, height] that we had previously.
See codes/codes.phpRate this page
Posted by Bernard on Mar. 16, (popular)