Skip to main content Help Control Panel

YACS CMS : Open source !

YACS «   Releases «  

YACS 6.12: gettext, anonymous interactions, user interface, overlays

A huge effort has been made with this release to enable internationalization and localization. YACS fully supports the gettext approach, which is the de-facto standard for such a thing. Moreover, YACS has a built-in parser for .mo files, meaning it is able to read translated strings without the help of some external library. Some modules have been fully internationalized, and we are now ready to move forward for the whole software.

It is now more easy for anonymous surfers to interact with a YACS server. For example, a random number is associated with any page created anonymously and provided to the surfer. Anonymous pages can be modified at any time by clicking on links from within surfer mail box, providing a high-level of interactions without the need for registration. Also, anonymous surfers are challenged only once with random strings, a feature aiming to stop spamming robots. Moreover, name and e-mail address provided at any form are stored and re-used throughout the session, providing a feeling of being "at home" without any registration. We believe that anonymous usability is key to viral marketing and fast-growing communities.

A number of adjustments have been made to improve the user experience while browsing a YACS server. For example, comments have been pushed to the bottom of article pages for a number of common layouts. During interactive presentations (based on S5 technology) you can switch the screen off by pressing the 'B' key, like in Powerpoint. The nicetitle library has been modified to limit information provided. Also, the information page for files that have no description is skipped, leading to direct download or streaming. A new Flash player has been added for the fast rendering of Freemind files. New codes have been introduced to implement simple Wiki tagging rules, and other codes have been added to create dynamic lists where necessary. At the end of the day, we are aiming to provide a faster and richer interface to all surfers.

New overlays have been added to demonstrate the full power of YACS as a programmable platform: contact for the capture of customer or prospect information, issue for the tracking of bugs and problems. Both of them integrate smoothly into any section, and update a back-end database that can be queried separately.
363 files have been modified or created since the release 6.9. YACS is now made of 469 reference scripts for more than 152,000 lines of PHP code.

The new release is available for immediate download. If you are already running a YACS server we highly recommend you to smoothly upgrade your server.

Here is a list of new or updated features coming with this release:

-  The script i18n/i18n.php has been greatly extended to integrate a parser of .mo files similar to the one integrated into the gettext library. A test page has been provided as well, in i18n/test.php, as per eXtreme Programming recommendations.

-  With any YACs release, starting on version 6.12, original strings will be provided in .pot files placed into the directory i18n/templates, to allow anybody translate or localize the software.

-  English and French locales are also provided in i18n/locale/en and i18n/locale/fr respectively. To add your own locale, create a directory below i18n/locale and add some manifest.php file to have it recognized by YACS (look at examples in other locales).

-  All root scripts (i.e. placed at the top-level of the installation directory) have been fully internationalized, including some you would like to adapt to your specific need, such as about.php, help.php, privacy.php, query.php, search.php and error.php

-  The modules for actions, agents, shared scripts and skins have been fully internationalized.

-  Of course, .mo, .po and .pot are now accepted as valid extensions for uploaded files. This will be useful for the next translation factory build at yetanother... See files/files.php.

-  The system configuration panel has been adapted to list all available locales. See control/configure.php.

-  In order to avoid anonymous spam most forms have been secured and challenge surfers with random strings. See query.php for an example of this feature. The usage of random challenges against anonymous surfers can be disabled on intranets, through a global parameter set in the configuration panel for users (users/configure.php).

-  With this new release, successful challenge of some anonymous surfer is remembered in session data, and surfer is not challenged again on successive form. This simple feature improves greatly the experience of people that start interacting with a site without being formally registered. See shared/surfer.php.

-  In the past, YACS used to link anonymous surfers to a special user profile. This was necessary to define adequate access rights on pages created anonymously. This has been replaced in the new release with the sole usage of random handles communicated to surfers through e-mail messages. This means that anonymous surfers are recognized as page authors without the need for actual registration to the site. See query.php

-  On contribution to an article posted anonymously YACS always sent a message for the initial poster, if an address has been provided. This means that even a non-registered surfer will be able to track a thread started anonymously.

-  On article modification, YACS does not link the form to locations for anonymous surfers. This streamlines the interface for anonymous people, and add on membership benefits. See articles/edit.php.

-  Anonymous visitors of pages posted anonymously were not counted properly. This has been fixed in articles/view.php thanks to the kind insistence of Guillaume... Also, hits are shown only to associates and editors, to improve caching capability of articles for other surfers.

-  Comments are displayed at the bottom of articles for layouts daily, decorated (which is the default), jive, manual, yabb and compact. Comments are put at another page for other layouts. Previously comments were put aside most of the time. Check articles/view.php and comments/list.php

-  A link has been added to jump directly to last comment in article. Save on the mouse wheel...

-  A section index can feature one full article at a time, thanks to the alistapart layout. This one has been enhanced dramatically to support progressive events, such as stages of the Transafricaine Classic, the last rallye from Patrick Zaniroli. Only the most recent published page is displayed, with attached files if any. Previous publications are listed at the bottom of the section index. For associates and editors, and only for them, articles under preparation are listed towards the top of the index page. See articles/layout_articles_as_alistapart.php

-  Compact lists of article now features the number of comments between brackets. Quite useful to locate active threads at first look. See articles/layout_articles_as_compact.php

-  Most layouts of articles, such asjive, manual, and table also list attached files, links and comments. Example at articles/layout_articles_as_jive.php

-  Section content can now be rendered as thumbnails at the top or at the bottom of the front page. Previously thumbnails were always pla
-  Most layouts of comments now alternate 'odd' and 'even' styles, to allow for further rendering richness.

-  Files attached to a page are now sorted by creation date, which has proven more handy than the edition date. See files/files.php

-  YACS already had a Java player for Freemind files. A Flash player, named visorFreemind.swf has been added to avoid the overhead of the Java run-time where possible.

-  In previous versions skin variants apply only to viewing pages. Now this has been extended to all handling scripts as well. This improves the surfer experience, because the look and feel or forms are always similar to those of ordinary pages. Example at articles/delete.php

-  Editors using w.bloggar will have the surprise to find the sections they are managing ahead the list of available blogging places. Also, YACS now lists up to three levels of the content tree, which means easier asynchronous operations.

-  The S5 presentations have been enhanced to support the 'B' key, that switch to/from a black screen. This makes YACS the first web system compatible with wireless devices used to control Powerpoint presentations...

-  A new P3P compact policy has been added, since it is the mean recommended by Microsoft to support cookie-based sessions on complicated layout using frames.

-  The parser used to validate proper XML input now better handles samples of software code.

-  The nicetitle library does not display hovered links anymore, to ensure a smooth end-user experience. See included/browser/nicetitle.js

-  14 new images have been added to the standard library of smileys included in YACS.

-  Two new images, shadow.gif and shadow_alpha.png, have been added to reference skins to allow for smart shadowed photo albums.

-  Cascaded style sheets for eference skins have been enhanced as well, most notably on styles related to images

-  A new field has been added to sections to store a title to be specifically used at the index page. See sections/view.php

-  Some new options will make your life easier: articles_by_title in sections for example.

-  Many options are not cascaded anymore from top sections to their children. The goal is to avoid security holes (e.g., anonymous_edit) or unsuitable scope (e.g., with_slideshow). More in sections/section.php.

-  Sections can be attached to categories, exactly like articles. This allows fast classification of all articles of one section at once.

-  New codes have been added to create compact dynamic lists of articles. For example, type [commented=section:123] to list articles most recently commented in given section. Visit misc.php to get an overview of these new codes.

-  Some Wiki codes have been implemented in the rendering engine. For example you can use ##...## instead of [code]...[/code]. Visit basic.php to view these in action, and see codes/codes.php for details.

-  A new code has been introduced to force file downloads. Previously, you could type the code [file=123] to link to an information page and, from there, download the target file. Now you can type [download=123] to get a link that starts the download directly.

-  Moreover, file records that have no descriptive text also lead to direct downloads. Actually, direct streaming or direct download, depending on file type.

-  The code used to insert CSV data can be customized to accomodate specific separator, such as [csv=;]...[/csv] for semi-colon.

-  Also, use [table=tiny]...[/table] if you have a lot of things to put in a single table, and want everything to fit in.

-  A new button has been added in the index page for feeds, at feeds/index.php to allow for straightforward access to the OPML feed.

-  HTTP authentication has been streamlined with the creation of function Users::authenticate() and this has allow us to extend its usage to a number of scripts. For example, this allows Winamp, VLC or the Windows Media Player to stream protected files or collections. These software will just ask for a name and password on play start. Previously, only public material could be streamed by YACS.

-  Tables are now reserved to associates, because of the risks related to direct access to database content.

-  The contact overlay allows for the creation of simple address books. The new overlay overlays/contact.php stores structured information related to a person. While it integrates into an article, which is unstructured text, this overlay captures structured data and save it into a separate table of the database. By applying queries to the database you can extract lists of contact based on your requirements. IT professionals will look at the provided code to derive more complex overlays of the same kind.

-  The issue overlay allows for the creation of simple tracker systems. Look at overlays/issue.php to understand how state information is managed by the overlay. Like the previous one, issue stores information in a separate table of the database. Searching for on-going cases is therefore really straightforward.

-  Also, overlays have now the power to change titles of their containers. For example, the issue tracker adds a suffix to titles such as [Fixed] when a problem has been solved. Previously we were doing that manually, now it has been integrated in the normal flow of processing. Look at the updated interface definition in overlays/overlay.php.

-  Overlays have been provided self-referencing information from articles on deletion or edition. The enlarges the sandbox in which overlay instances are placed, since they can use this information to reference their container.

-  Overlays are now extensively used in all layouts for articles, which means their content can be integrated in lists of articles as well.

-  The index page for overlays now properly filters out hooks, to list only regular scripts. See overlays/index.php

-  User profiles can now be overlaid. All you have to do it to set once the overlay to use in the configuration panel for users, in users/configure.php.

-  Run-once scripts extracted from the archive are purged on first installation (setup.php)

-  A number of constants have been moved to the skin, to enable further customization. For example, you may change ARTICLES_PER_PAGE or SECTIONS_PER_PAGE to adapt to content of your site.

-  Two new constants FORBIDDEN_CHARS_IN_NAMES and FORBIDDEN_CHARS_IN_URLS have been defined to streamline the filtering of data submitted in forms. See shared/global.php.

-  The function used to create a table, or to update its structure, in the database, has been moved to shared/sql.php.

-  The scope of the 'with_debug' parameter has been extended, to provide deeper insight to software developers working with YACS.

-  The logging facility has been extended to support structured debugging message. The idea is to replace Logger::debug() by Logger::remember() for any permanent debugging needs. Therefore Logger::debug() is used only during software development. See agents/logger.php for theses functions, and agents/messages.php for a example of use.

-  New functions have been created to get web address of images and related thumbnails, with the aim to simplify internal handling of this information. Look at articles/article.php for an example of that.

-  The locking of articles has become a separate field, similar to what exists for sections. Now locking is made of a radio button, where previously it was a string in a textual field for options. This change will help to streamline the user interface, and to achieve faster database requests. See articles/articles.php

-  Anchors has been implemented as two fields in following tables, with the aim to speed up queries: dates (dates/dates.php), decisions (decisions/decisions.php), files (files/files.php)

-  The system test page, at control/test.php now also displays server time, to allo straightforward check of this.

-  A bug has been fixed in categories/members.php. Now the watch list of a surfer reacting to a post is automatically updated again.

-  The function to create a new table has been moved from control/setup.php to SQL::setup_table() in shared/sql.php

-  The minimum PHP version required to support YACS has moved from 4.1 to 4.3. This has been reflected in the setup assistant (setup.php).

-  The staging script has been enhanced, and four different methods are now supported: individual staging through the network, direct upload of the main archive, indirect upload of the archive, or individual manual staging. See scripts/stage.php.

-  A syntax error has been fixed in heartbit.php, thanks to Innovatique

-  The configuration panel for files now actually saves additional extensions, if any. See files/configure.php

-  The validation scripts now skips run-once scripts, in scripts/validate.php.

-  The script that counts clicks to external links now properly decodes provided URLs. See links/click.php

 
Share
Information channels
Recent files