Preview on the upcoming version:
task | Type | progress |
---|---|---|
simplified plugin configuration | Update | [done] |
code rework to enhance standard's compatibility | Update | [done] |
XLIFF and UTF8 supprt | new Features | [done] |
simplify use of virtual drives | Update | [done] |
simplify event subscription | Update | [done] |
rework of form generator | Update | [done] |
expand manual | Update | [work in progress] |
update installation agent | Update | [planned] |
11/30/2016 - Version 3.0.2
stable version
updates
- Compatibility fix for PHP 5.6
- Switched whole application to UTF-8 as default encoding
- when upgrading, please ensure to switch your data files / database tables to UTF-8 to take full advantage of Unicode support
03/18/2015 - Version 3.0.1
stable version
Updates
- Bugfix database setup: solved a problem with auto-sync to database on deployment
- Bugfix user administration: searching for user-names now takes into account databases with non-case-insensitive collation settings
- Updated language files: duplicate translation for "Logout" removed.
- Set configuration for updates to "stable"-channel
- Fixed some deprecated-warnings. Files should still be backwards compatible.
- Removed deprecated calltime pass-by-reference as this would break compatibility with PHP 5.4 and up.
- Updated translation classes to fix a compatibility issue with the latest version of the PCRE-library
- Updated form-generator classe to allow foreign keys use scalar types instead of automatically resolving them to dropdowns
- Database structure files now allow columns of type "TIME" to extend element "DISPLAY" with a boolean element "WITH_TIME". If DISPLAY.WITH_TIME is "true" then editing the data-set will also provide a time-picker instead of just a date-picker. Defaults to "false".
- Bugfix for DbStream-class: Fixed a false-positive where function query() would detect a semicolon in a string as a potential sql-injection attempt. I guess we were a little too paranoid here.
- Updated DbCreator-class: For auto-deployments to MySQL it now uses the current MySQL-syntax "ENGINE=[name]" to select the database engine, instead of "TYPE=[name]" which was deprecated.
06/08/2011 - Version 4.0.0 Beta 2
for testing only
Updates
- NOTICE: this version requires PHP 5.3
- complete rework of code basis
- improved performance
- improved caching
- plugins may be controlled using annotations
- support for new XML format for modeling of databases
- support for OASIS XLIFF standard and UTF-8 for translations
Known issues
- currently only MySQL is supported
- documentation not yet completely updated
- installation wizard not yet available
- Plugin Db-Tools: import/export for DbDesigner and MDB2-Schema not yet available
- Plugin Calender: does not yet work with latest version of JQuery
01/04/2008 - version 3.0
stable version
Updates
- database setup: synchronization of databases is now optional (in expert mode)
- SDK: database tools have been exported to their own plugin (db_tools). This allows a cleaner user interface.
- changes on templates:
- Template 'entry.html' (guestbook): now shows the word "comment" and a graphic before comments.
- changes in language files:
- English language only:
- LANGUAGE.2 (guestbook.config) spelling
- LANGUAGE.4 (guestbook.config) phrasing
- LANGUAGE.26 (guestbook.config) phrasing
- LANGUAGE.28 (guestbook.config) spelling
- new:
- LANGUAGE.DATABASE.21 (admin.config)
- LANGUAGE.DATABASE.22 (admin.config)
- admin.config has been split, new: db_tools.config
- English language only:
- manual expanded and updated
12/24/2008 - version 3.0.0RC2
update only necessary if you encountered problems with the previous version
Updates
- manual, texts, figures and tutorials have been updated
- Code-templates for ConTEXT and PSPad have been updated
- upgrade to latest smarty version
- changes on templates:
- Template 'index.html': language menu now uses text instead of icons (some non-british users stated that users might feel offended by having to click a british flag to get the page in English)
- changes in language files:
- new: LANGUAGE.TITLE_LANG (default.config)
Bugfix / Maintenance
- Template function [%embeddedTags%] didn't have the value "smilies" in the list of standard tags. Note to developers: with this fix controls for embedding icons will be added to existing forms as well, if these are set to use the standard tag list. If this is not desirable, you may define an exclusion list by using the parameter "hide".
11/17/2008 - version 3.0.0RC1
update only necessary if you encountered problems with the previous version
new Features
- eased development of AJAX applications
- new guestbook plug-in (uses new AJAX functions)
- prefered language of user is detected automatically
- new, user-friendly administration menu
Updates
- Template function [%embeddedTags show="taglist"%] accepts a new parameter value: "smilies". So it is no longer required to add a seperate control element to insert smilies to forms.
- Forms have been adjusted so "smilies" are integrated in the menu bar by default.
- Default size of the AJAX "loading" symbol has benn reduced from "big" to "medium".
- The code for the framework's self-diagnostics have been exported to it's own plug-in. You now require administrator privileges to run a diagnose.
- The fallback option for the used language pack is no longer set via the profile management console of the administration menu. It has been moved to the system configuration file (system.config). The option is infrequently used and would provide an unnecessary overhead of information.
- JavaScript: new global variable window.yanaLanguage contains name of currently selected language pack.
- RSS plug-in: GUI has been improved
- SDK:
- Generator for AJAX-scripts has been updated.
- Handling of logos and icons has been updated
- changes on templates:
- Plug-in 'guestbook': all files
- Template 'message.html': changed naming of variables to fit with global convention. The template may now be used in just the same manner as 'stdout.html'
- Template 'configuration/index.html': new user interface for the system configuration menu
- All template themes have been updated. The themes "blue" and "natural" have been recreated from scratch.
- changes in language files:
- new:
- LANGUAGE.7 (guestbook.config)
- LANGUAGE.16 (guestbook.config)
- LANGUAGE.17 = (guestbook.config)
- LANGUAGE.PLUGIN.TITLE.DIAGNOSTICS = (default.config)
- LANGUAGE.PLUGIN.DESCRIPTION.DIAGNOSTICS = (about.config)
- LANGUAGE.ADMIN.9 = (admin.config)
- LANGUAGE.INDEX_14 = (admin.config)
- LANGUAGE.INDEX_15 = (admin.config)
- LANGUAGE.INDEX_16 = (admin.config)
- renamed: PROGRAM.TITLE = LANGUAGE.PROGRAM_TITLE (default.config)
- dropped:
- LANGUAGE.0 (default.config) is to be replaced by: LANGUAGE.OK
- LANGUAGE.INDEX_1 (admin.config)
- LANGUAGE.INDEX_2 (admin.config)
- LANGUAGE.TITLE_SHOW (guestbook.config)
- LANGUAGE.TITLE_NEW (guestbook.config)
- new:
- Installer has been updated.
Bugfix / Maintenance
- Fixed a typo in the reporting sub-system. This could cause error messages to unintentionally be suppressed.
- Blog plug-in: removed two obsolete data fields
- Form-generator: removed a GUI-bug in calendar control element
- removed bug concerning compatibility to PHP 4
- fixed a typo, changed default charset for mails from "8859-1" to "ISO-8859-1"
10/20/2008 - version 2.9.10
update only necessary if you encountered problems with the previous version
new Features
- online update checking
Updates
- manual updated
- changes on templates:
- global var $BESCHREIBUNG renamed to $DESCRIPTION (index.html)
- changes in language files:
- new: LANGUAGE.INDEX_13 = label for update link (admin.config)
- new constants:
- YANA_IS_STABLE = true for stable false for beta versions (library.php)
- DEFAULT.UPDATE_SERVER = URL to Yana update-server (system.config)
Bugfix / Maintenance
- DB Reverse Engineering
- corrected output of DDL via DBStream for MySQL databases (missing return value)
- using columns of type TinyInt(1) (which are interpreted as type boolean) together with using the property "unsigned" will no longer throw an E_USER_NOTICE
- Compatibility: File-Locking, CHMOD with UMask
- Improved compatibility for Linux systems without support for file-locking. This may have caused problems with running the program.
- Improved compatibility with Unix- and Linux systems, which use a UMask. This is a system specific setting, which has influence on user privileges.
- DB Query Builder API
- Resolved a problem with using ORDER BY on joined tables, when using ambiguous column names.
03/26/2008 - version 2.9.9
Update recommended
Updates
- upgrade to latest smarty version
- manual updated
Bugfix / Maintenance
- A change in the latest PHP 5 version has made a change of the smarty configuration necessary. Without this change the template engine will stop the program under PHP 5.2.5. The problem was fixed in versions 2.9.1 and 2.9.8 as well.
- import of projects from DBDesigner 4 has been improved
- various smaller fixes
11/11/2007 - version 2.9.8
test version
new Features
- DB-API:
- changes to database schema files are now possible at runtime
- changes to schema files are automatically logged
- it is now possible to set SQL statements for database initialization
- SDK:
- import of DBDesigner 4 - projects
- import of PEAR MDB2 - schema files
- installation updated
- PCL-ZIP module may be optionally installed as library
- form generator now offers calendar for database columns of type "time"
- new tutorial: use Yana PHP-Framework with Server2Go on CD/DVD
- license change: starting with version 2.9.8 the framework is available under the GNU GPL
Updates
- skins updated
- new functions:
- DbServer::getConnection() alias for DbServer::get()
- DbServer::getDsn() returns current connection settings
- DbStream::getDsn() returns current connection settings
- DbStream::getErrorMessage() returns text of last error message
- DbStructure::renameTable() rename a table of schema
- DbStructure::dropTable() remove table from schema
- DbStructure::renameColumn() rename column in schema
- DbStructure::dropColumn() remove column from schema
- DbStructure::setInit() set standard entries for a table in schema
- DbStructure::getInit() read standard entries of a table in schema
- DbStructure::getPrecision() number of digits of decimal fraction (types float/double only)
- DbStructure::setLength() sets number of digits of decimal fraction of a number of type float/double
- DbStructure::getListOfFiles() (static) returns list of all stored database schemes
- DbStructure::getChangelog() read (auto-created) change log of a database schema
- DbStructure::dropChangelog() empties the change log of a schema
- DbExtractor::createXML() creates backup of a database
- Skin::setLanguage() edits language files for a template
- Skin::setScript() edit standard scripts for a template
- Skin::setStyle() edit CSS stylesheets for a template
- Yana::clearCache() (statisch) alias of SmartTemplate::clearCache()
- changes in language files:
- new:
- LANGUAGE.ANY (default.config)
- LANGUAGE.TAGS.JS.BR (default.config)
- LANGUAGE.PLUGIN.TITLE.CATALOGUE (default.config)
- LANGUAGE.SDK.STEP5 (sdk.config)
- LANGUAGE.SDK.STEP5_3 (sdk.config)
- LANGUAGE.SDK.FIELD14 (sdk.config)
- LANGUAGE.SDK.FIELD15 (sdk.config)
- LANGUAGE.SDK.FIELD16 (sdk.config)
- LANGUAGE.SDK.FIELD17 (sdk.config)
- LANGUAGE.SDK.FIELD18 (sdk.config)
- LANGUAGE.HELP.11 (sdk.config)
- LANGUAGE.HELP.12 (sdk.config)
- LANGUAGE.HELP.13 (sdk.config)
- LANGUAGE.HELP.14 (sdk.config)
- updated:
- LANGUAGE.HELP.5 (sdk.config)
- new:
- new template functions:
- sizeOf() returns number of entries in an array
- urlEncode() encode parameter to use in an URL
- Please note: the function untaintInput() now has a new argument to set the number of digits of the decimal fraction of a number of type float or double. See the API documentation for details and examples.
- API documentation extended and updated
- DB-API:
- DbQuery::setWhere() now allows use of operator "REGEXP". Be warned! The supported syntax may vary with the used DBMS.
- DbServer now detects the MySQL-Port automatically when used with Server2Go
- DbStructure with improved database reverse engineering
- Dir::copy now allows use of adaptive directory filters, by option even as regular expressions
- CD/DVD installations: "blobs" (images and binaries) now remain on CD and are not copied to cache
- form generator now reports errors in input fields automatically - no more need to do this yourself
- improcved performance by ~ 5%
Bugfix / Maintenance
- AJAX Javascript class now does also work in the special case of having an AJAX page as start page (and not providing the script or parameter list) configured in "system.config"
- misc. fixes in form module
- automated SQL generator now produces correct length restriction for type float in MySQL
- error in PHP4-Version of function String::replace() fixes
- error with quoting of IDs in MSSQL fixed
- compatibility fix for "identity" feature in MSSQL Server 2005: now does also support IDENTITY_INSERT by default
version 2.9.7
closed (non-public) test version
08/16/2007 - version 2.9.6
test version
new Features
- SDK: new option to export the structure of a database to a SQL file
- templates: auto-generated vertical and (new) horizontal tree menus
- in forms the syntax of emb.Tags in your text is checked automatically on submit
- DB-API: improved automatic resolution of inheritance on the tables of a database.
- If one table inherits from another, all queries on the child will be treated as queries on a virtual, updateable view and include all ancestors of the queried table. The path of inheritance is auto-detected.
- It is no longer necessary to query all tables via a complex join statement and "wrap" the pieces together. Instead a function call like $db->get('foo') is enough to get the whole table including all inherited properties.
- Support was added for MySQL's "unsigned" and "zerofill" properties. Where not supported by the DBMS they are emulated by the framework.
- Support for the special datatype "set" was added. This feature may be emulated for any DBMS.
- DB-Backup: it is now possible to export and download databases including the data-structure as SQL via the administrator's menu.
Updates
- New system cache introduced. This reduces the start-up time for all core components by up to 90%. This may ammount to 0.3 s per request (of course depending on the system you use).
- Additional optimization improves over-all-performance by another 10%.
- SDK: improved reverse engineering capabilities for MySQL databases. This will now respect database prefixes and detect default values, foreign keys, profile constraints, comments and indexes.
- new JavaScript functions:
- yanaSmlDecode() enables AJAX applications to work with the much simpler SML-Strings as an alternative to XML.
- yanaAddEventListener() enables the developer to bind multiple event handling routines to a group of tags in a more comfortable way.
- yanaCheckEmbTags() checks values in textearea elements for faulty emb. tags and returns a detailed error description.
- yanaGetElementsByClassName() returns a list of all HTML nodes, whose class attribute match a certain value.
- new functions:
- String::htmlSpecialChars() implements the new arguments, which have been added in PHP 5.2.3, for use with PHP4 and previous versions of PHP5.
- DbQuery::getParent() where on table inherits from another, this function returns the parent for a given child.
- DbQuery::getParentByColumn() where a table inherits properties from a number of ancestors, this functions returns the name of the table, where an inherited property was specified.
- DbQuery::setColumns() sets the names of multiple columns to retrieve in a single call for a "select" statement.
- DbQuery::getColumns() returns a list of all currently chosen columns.
- DbStream::getTableInfo() returns detailed information on the structure of a table.
- New class DbExtractor enables users to create backups of databases easily.
- class "StructureFile" renamed to "DbStructure" to better comply with the naming convention of the framework (old class is still there for compatibility reasons, but it is "deprecated")
- changes in language files:
- Translations for plugin "sdk" have been updated.
- new:
- LANGUAGE.SDK.UTILITIES (sdk.config)
- LANGUAGE.SDK.STEP3_1_FORWARD (sdk.config)
- LANGUAGE.SDK.FIELD12 - LANGUAGE.SDK.FIELD17 (sdk.config)
- LANGUAGE.HELP.9 - LANGUAGE.HELP.13 (sdk.config)
- LANGUAGE.TAGS.JS
- LANGUAGE.HELP.26 (admin.config)
- LANGUAGE.DATABASE.15 - LANGUAGE.DATABASE.20 (admin.config)
- updated:
- LANGUAGE.HELP.5 (sdk.config)
- LANGUAGE.HELP.6 (admin.config)
- LANGUAGE.HELP.25 (admin.config)
- Updated template functions:
- printUnorderedList argument "layout" accepts value "3" to create horizontal menus.
- Template designers may take influence on the layout of horizontal tree menues using the following CSS classes:
- ul.hmenu
- ul.hmenu li.entry
- ul.hmenu li.entry a
- ul.hmenu li.hmenu
- ul.hmenu li.hmenu div.menu_head
- ul.hmenu li.hmenu ul.hmenu
- ul.hmenu li.menu_hover
- DbStructure:
- databases may not have the new element "description".
- manual updated
Bugfix / Maintenance
- Missing english translations added for the following texts: LANGUAGE.BUTTON_SAVEASNEW, TEXT.SUCCESS
- Typo in english translation corrected.
Notes
- The newly introduced system cache may be deactivated using the constant YANA_CACHE_ACTIVE where this is necessary.
- On virtual drives the allowed values for property "AUTOMOUNT" change from "yes", "no" to "true" and "false". Updated files for all virtual drives are included in this package. However, if you have defined custom drives, you might need to update their configuration.
- Template designers may use the following function call to create the new horizontal tree menus
[%printUnorderedList value=$foo keys_as_href=true layout=3%]
07/18/2007 - version 2.9.5
test version
new Features
- protocol: adminstrators may now let the system protocol be send to them by e-mail automatically
- search-engine:
- The script to create the index has been ported from Java to PHP and be started via a cronjob automatically. However: you may still use the offline java indexing tool, if you prefer it.
- index files created offline may be uploaded to the server using a form in the administration panel. An upload via FTP is no longer necessary.
- EmbTags: it is now possible to define your own EmbTags for each profile
- Extensions: to write your own plugins, there are two now extensions available for ConTEXT and PSPad, including keyboard shortcuts for all Yana functions and also PHPDoc comments. The extensions are included in the manual.
- Forms:
- all auto-generated forms now have a filter function
- Edit-forms now have an option, to save the currently edited entry under another name as a new data set.
- API documentation now includes descriptions for the JavaScript functions and classes provided by the framework.
Updates
- JS tree menu: open and closed menus are saved during a session, so menu keep their state on reload
- Database: it is now possible to extend the property "action", which creates a link on the data set, by the sub-properties "title" and "text", which let you define a text and tooltip on the link.
- updated extensions for ConTEXT and PSPad
- class "InputStream" renamed to "FileSystemResource"
- class "SecureInputStream" renamed to "FileReadonly" (old class is still there for compatibility reasons, but it is "deprecated")
- class "SecureFileStream" renamed to "File" (old class is still there for compatibility reasons, but it is "deprecated")
- class "DirStream" renamed to "Dir" (old class is still there for compatibility reasons, but it is "deprecated")
- class "DisplayUtility" renamed to "SmartUtility" (old class is still there for compatibility reasons, but it is "deprecated")
- class "Layout" renamed to "SmartUtility" (old class is still there for compatibility reasons, but it is "deprecated")
- Improved performance of synchronization method between DBS and FileDb makes the operation 0-30% faster, depending on the quantity and quality of the actions to take.
- API documentation with new layout
- new function DbStream->update()
- new function DbStream->insertOrUpdate()
- new function DbStream->updateOrInsert() (Alias: DbStream->insertOrUpdate())
- function DbStream->insert() changed. This function now only handles insert statements and does not automatically update a dataset anymore, in case it already exists.
- new function DbStream->commit() (Alias: DbStream->write())
- new function FormCreator->hasFilter()
- new function FormCreator->allowNewEntry()
- AJAX: simultane calls and handling of concurrent request with pairwise different functions for event handling operations are now possible. A new dispatching method coordinates the distribution of the response object to all requesting functions automatically. This new feature applies automatically to all code. It is not necessary to change the code yourself.
- Templates: documents in HTML 4.1 have been replaced by XHTML 1.0 documents
- improved support for IE 7
- Template designers may now layout each column of a table, created by the form generator, individually using CSS. For this purpose the program offers the following new CSS-classes:
- .gui_generator_even_row
- .gui_generator_odd_row
- .gui_generator_new_row
- .gui_generator_{table}_{column} (table= table name, column=column name)
- new JavaScript functions:
- yanaSetCookie()
- yanaGetCookie()
- yanaXmlDecode()
- changes in language files:
- new message: 'field_missing' with argument 'field'
- new message: 'field_invalid' with argument 'field'
- new:
- LANGUAGE.BUTTON_SAVEASNEW
- LANGUAGE.WHERE
- LANGUAGE.MENU
- updated translation for plugin "search"
- SDK: labels in the auto-generated side menu now provide an English and German translation: LANGUAGE.MENU.*
Bugfix / Maintenance
- function dirlist(): interpretation of argument $filter was unprecise when more than one file type was given
- template function preview(): interpretation of argument $width fixed
- function Dir->copy() now does also work with absolute path names in a Win32 environment
- CDROM version (only applies to Win32 systems), path names in virtual drives of plugins are now resolved correctly, even when using absolute path names on a windows system
Notes
- function DbStream->insert() changed. This function now only handles insert statements and does not automatically update a dataset anymore, in case it already exists. The original behavior of the function is now implemented within the function DbStream->insertOrUpdate(). However, there is a compatibility mode for older scripts, that will simulate the previous behavior of versions 2.9.4 and older. To activate it, open the file "library.php" and set YANA_DB_COMPAT_INSERT to true.
06/12/2007 - version 2.9.4
test version
new Features
- default skin has been renewed, improved look & feel
- forms, that are available in different layouts, now provide a list with previews
Updates
- improved the structure of the self-diagnosis file, by introducing XML and semantic tagging to provide an easier access for third-party applications
- columns of type 'url' are now presented as clickable links - clicking the link informs the user that he is leaving the current site and asks him to confirm the action (juristic reasons + avoid accidental clicks)
- HTML-code configuration panel menues (setup) has been cleaned up
- class "GuiCreator" has been renamed to "FormCreator", class "GuiCreator" is deprecated and remains in this package only for backwards-compatibility
- the constants GUI_*foo* have been renamed to FORM_*foo* to comply with the new class name, the old constants remain for backwards-compatibility, but they are deprecated
- new function FormCreator->createForm() - you can now create database forms with an OO-style API from within your PHP-Code and export them as HTML
- template function "create" now supports the argument "layout", that lets you (and your visitors) choose between various presentation of a form where available - thus the templates "view_seperated" and "view_details" became deprecated. Instead they can be found as layout values "1" and "2" of template "view" (layout "0" is the same as template "view"). In addition the new layout value "3" refers to a new list-style view, which presents summaries of all rows as a clickable list. Clicking the list items opens details.
- warnings for failed assertions now also have a backtrace (applies to debugging only)
- Database structure files now support the column-property 'action'. This property tells the form generator to produce a clickable link on the column. This feature can be used to ease browsing tables. E.g. clicking a foreign key opens the associated dataset(s) in another table.
- The SDK now autoappends the property 'action' on foreign keys.
- Database structure files now support the column-type 'reference'. References do not show up in forms created by the form generator, but can be combined with the new 'action' property. This allows developers to present n:m associations between tables as clickable links.
- The user administration panel now provides you with a renewed interface.
- Provided implementation of the PHP5 function "http_build_query()" to PHP4.
- The SDK now automatically adds sitemap icons to new plugins.
- new function DbQuery::resetQuery()
- some language strings have been renamed to better comply with naming conventions:
- TEXT.UNGENUEGENDE_RECHTE = TEXT.INSUFFICIENT_RIGHTS
- TEXT.FEHLER = TEXT.INPUT_MISSING
- TEXT.UNGUELTIGE_EINGABE = TEXT.INPUT_INVALID (old version remains for compatibility reasons, but is deprecated)
- TEXT.LOGIN_UNGUELTIG = TEXT.LOGIN_INVALID
- LANGUAGE.USER.OPTIONEN = LANGUAGE.USER.OPTION
- LANGUAGE.TITLE.KOMMENTAR_ERSETZEN = LANGUAGE.TITLE_UPDATE_COMMENT
- LANGUAGE.TITLE.KOMMENTAR = LANGUAGE.DESCR_COMMENT
- LANGUAGE.TITLE.DESCR_KOMMENTAR = LANGUAGE.DESCR_COMMENT
- LANGUAGE.TITLE_LOESCHEN (removed)
- LANGUAGE.DESCR_LOESCHEN (removed)
- LANGUAGE.TITLE_LISTE = LANGUAGE.TITLE_LIST
- LANGUAGE.TITLE_KOMMENTAR = LANGUAGE.TITLE_COMMENT
- LANGUAGE.TITLE_ABBRECHEN = LANGUAGE.TITLE_ABORT
- LANGUAGE.TITLE_ZURUECK = LANGUAGE.TITLE_PREVIOUS
- LANGUAGE.TITLE_VOR = LANGUAGE.TITLE_NEXT
- LANGUAGE.BESUCHER = LANGUAGE.VISITOR_COUNT
- LANGUAGE.DATUM = LANGUAGE.DATE_TIME
- LANGUAGE.LOESCHEN = LANGUAGE.BUTTON_DELETE_ONE
- LANGUAGE.SUCHE = LANGUAGE.BUTTON_SEARCH
- LANGUAGE.PFLICHTFELDER = LANGUAGE.MANDATORY
- LANGUAGE.JA = LANGUAGE.YES
- LANGUAGE.NEIN = LANGUAGE.NO
- LANGUAGE.ZURUECK = LANGUAGE.BUTTON_PREVIOUS
- LANGUAGE.VOR = LANGUAGE.BUTTON_NEXT
- LANGUAGE.SPEICHERN = LANGUAGE.BUTTON_SAVE
- LANGUAGE.ABSCHICKEN = LANGUAGE.BUTTON_SUBMIT
- LANGUAGE.ABBRECHEN = LANGUAGE.BUTTON_ABORT
- renamed skin vars:
- $BESUCHER = $VISITOR_COUNT
- some CSS classes have changed to better comply with naming conventions:
- .nachricht = .guestbook_message (and moved from global scope to local CSS for plugin guestbook)
- .text = .guestbook_value (and moved from global scope to local CSS for plugin guestbook)
- .kopfzeile = .guestbook_head (skin "minimal" only)
- .fusszeile = .guestbook_foot (skin "minimal" only)
- .eintrag = .guestbook_entry (skin "minimal" only)
- .embtag__space = .embtag_space (typo)
- .dataset (removed)
- .enrtyname = .guestbook_head (and moved from global scope to local CSS for plugin guestbook)
- .beschrifung = .label (old version remains for compatibility reasons, but is deprecated)
- .beschreibung = .description (old version remains for compatibility reasons, but is deprecated)
- .kommentar = .comment (old version remains for compatibility reasons, but is deprecated)
- .statistik1 = .search_stat1 (plugin "search" only)
- .statistik2 = .search_stat2 (plugin "search" only)
- .suchbegriff = .search_label (plugin "search" only)
- .highlight = .embtag_tag_h
- .emphasize = .embtag_tag_emp
- .kommentar = .embtag_tag_c
- .yanahide = .embtag_tag_hide
- new CSS classes:
- .embtag_tag_c
- .embtag_tag_b
- .embtag_tag_i
- .embtag_tag_u
- .embtag_tag_small
- .embtag_tag_big
- .embtag_tag_mark
- .embtag_tag_color
- Skin "tabular" has been removed
- Database: tables may now also have a property "description" in structure files (columns already had this feature before). The SDK and form generator will create names of menu items and forms according to this setting (if present).
- search-forms:
- FormGenerator now detects if a table does not have columns of type 'text' and automatically displays the extended view instead of the simple view (which would have been empty)
- now remembers user's last search even when switching between forms
- Profile setting PROFILE.GUESTBOOK.NOREPLY does no longer apply as default sender automatically. Instead the sender needs to be set explicitly for any other plugin than the "guestbook".
- Profile setting PROFILE.GUESTBOOK.PROFILE has been replaced by PROFILE.PROFILE_ID. Also the setting has moved from "guestbook setup" to "program setup".
Bugfix / Maintenance
- fixed function SML->getVar() (missing return value)
- the environment var 'QUERY_STRING' now encodes URL-parameters of type array correctly
- fixed bug where headers where sent to early (affects only UNIX plattforms)
- fixed inproper displaying of mail addresses in guestbook plugin (affects only UNIX plattforms)
- fixed problem with upper- / lower-cased column names in FileDb, which caused problems with check of unique constraints and removing array keys
- fixed links to PHP manual in error messages (for debugging)
- fixed implementation of database "includes" for FileDB driver
- Note: this feature has not currently been used - this is a hint for developers only
- improved support for MySQL's InnoDb driver, when foreign keys are present
- Note: this applies only to MySQL installations, where InnoDb is activated (InnoDb is deactivated by default)
- fixed some typo in manual
Notes
- The structure of tables associated with the user administration plugin have changed. Administrators may need to update their database.
- Some translation strings AND keys have changed. Translators and skin-designers may be affected by changes and should check their files.
- Some CSS classes have been renamed. Skin designers should check their templates.
05/03/2007 - version 2.9.3
test version
new Features
- bad-word filter and configuration tool for spam block plugin
Updates
- preview window now uses AJAX
- inclusion of previews has been eased
new template function [%preview%]
The JavaScript function "preview()" is deprecated and should no longer be called directly. - inclusion of Captchas has been eased. New template function [%captcha%].
- presentation of embedded tag [hide] has been switched to CSS
- optical layout of status logs improved
- manual updated
Bugfix / Maintenance
- guestbook plugin: a sorting parameter has been replaced (this simply improves the optical appearance)
- SQL generator: the default value for data-type "boolean" has been fixed
- the "deprecated" classes and functions BufferedDbStream, ConfigFile, SmlFile, TextFile, importConfigFile(), decodeConfigString(), getConfigFile() and makeConfig() have been removed
- function DbServer::test() has been renamed to DbServer::isAvailable()
- the new class "DbQuery" offers an OO-type wrapper for the query generator
- code cleanup of database API, improves performance by up to 10%
- form generator:
- search forms now remember previous settings
- columns of type 'file' and 'image' (binary large objects) are now automatically excluded from search forms
- you may now use the wildcards '*' and '?'
- FileDb: you are now able to search in columns of type 'array' (in keys and values)
- StructureFile: you may now also set the "display.hidden" and "display.readonly" properties to an integer of 0 through 100. If so, the property will evaluate to true, if the current user viewing the form has a security level of or above this value. This means, you may restrict the visibility of columns to certain groups of users.
Notes
- JavaScript function "preview()" is deprecated and should no longer be called directly. In case you designed skins, which use this function, please replace it with the new template function [%preview%]
- the following JavaScript function have been renamed to avoid naming conflicts:
- addEmbTag() => yanaAddEmbTag()
- addItem() => yanaAddItem()
- removeItem() => yanaRemoveItem()
- toggleOption() => yanaToggleOption()
- closeAll() => yanaCloseAll()
- Event handling function for class AjaxRequest now take two input arguments: a reference to the XMLHttpRequest object and a reference to the target node of the current document, in which the result shall be displayed (may be ignored if not needed). The state of the request does not need to be checked. The event handling function is called no sooner as the response is ready.
- In search forms the symbol '_' will be interpreted as the wildcard '?' and whitespaces as "*".
03/28/2007 - version 2.9.2
test version
new Features
- optical presentation of forms created by the form generator has been improved
- plugin "blog" now has a function to add comments and has an own microsummary
- new demo: plugin for project management
Updates
- DBDatatype: now issues an E_NOTICE, if the type of a column is undefined (makes debugging easier)
- update for lastest Smarty version 2.6.18
- token $INSERT_CONTENT_HERE has been replaced by [%import id=$SYSTEM_INSERT%], this is a cleaner approach which will ease implementation of caching methods in the future
- code cleanup of form generator has been made, resulting in a significant increase in performance when generating complex forms
- new class "DbBlob": represents contents of a column of type "file" in a database and offers functionality to copy, decode and download files from it
- new function "SmartTemplate::setFunction"
- new function "SmartTemplate::unsetFunction"
- manual updated
Notes
- because the token $INSERT_CONTENT_HERE has been replaced (see above), skins from versions previous to 2.9.2 do become incompatible. To update a skin to a newer version, please replace in all templates all entities of the string [%$INSERT_CONTENT_HERE%] with [%import id=$SYSTEM_INSERT%].
03/10/2007 - version 2.9.1
stable version
new Features
- new plugin: "blog" to write weblogs
- new tutorial (in German) demonstrating how to create custom plugins
Updates
- the arguemt "target " is no longer required for the template functions "embeddedTags" and "smilies"
- JavaScript function "preview()", the second argument "source" is no longer required
Bugfix / Maintenance
- DBStream: E_NOTICE by uninitialized var has been fixed
- guestbook plugin: faulty default value for names of visitors has been removed
- guestbook plugin: an error on the creation of the element "link" in RSS-Feeds has been corrected
03/06/2007 - version 2.9
stable version
new Features
- installation program now creates log file with results of the installation process
- syntax highlighting and code templates for "ConTEXT - Programmer's Editor" are included in the manual
- added a command line interface, for calling the framework from cron jobs
Updates
- Installer
- now uses Ajax to query the progress of the installation
- hook functions may now also use a string containing the name of a function to execute
- handling was simpliefied
- 100% valid HTML
- Code-Cleanup
- manual updated
- new function "StructureFile::addTable"
- new function "StructureFile::addColumn"
- new function "StructureFile::setNullable"
- new function "StructureFile::setAuto"
- new function "StructureFile::isAuto"
- new function "StructureFile::setIndex"
- new function "StructureFile::getProfile"
- new function "StructureFile::setProfile"
- new function "StructureFile::setUnique"
- new function "StructureFile::setDescription"
- new function "StructureFile::setLength"
- new function "StructureFile::setImageSettings"
- new function "StructureFile::setStrict"
- new function "StructureFile::setConstraint"
- new function "StructureFile::setTrigger"
- new function "StructureFile::setVisible"
- new function "StructureFile::setEditable"
- update of trigger - and constraint - handling
- documented the API for session- and user management
- new database constraint "profile_key"
- updated guestbook plugin (uses "profile_key" constraint)
- database installation process has been simplified
Bugfix / Maintenance
- FileDB: solved an issue with sorting of resultsets when querying a single column
known restrictions
- the experimental support for database prefixes is not activated in this version
02/18/2007 - Version 2.9 Release Candidate 3
test version
new Features
- package-management for installer
- file uploads with auto-compression
- automatic installation program:
- translations, plugins and skins to install can be selected during installation
- now offers hook points and translation files to allow easy extension and modification
- individual installers for your projects may be ordered in exchange for a small fee
Updates
- function "SecureFileStream::is_writeable" was renamed to "SecureFileStream::isWriteable"
- function "SecureFileStream::is_writeable" is "deprecated"
- new function "SML::getVar" (alias of "SML::get")
- new function "SML::setVar" (alias of "SML::insert")
- modified function "Image::uploadFile"
will not enlarge images smaller than the maximum size, unless $keepAspectRatio is set to false - function "Image::getFilename" was renamed to "Image::getPath"
- new function "StructureFile::getColumnsByType"
- new function "StructureFile::setType"
- function "SecureInputStream::checksum" was renamed to "SecureInputStream::getCrc32"
- function "SecureInputStream::md5checksum" was renamed to "SecureInputStream::getMd5"
- function "SecureInputStream::getFilename" was renamed to "SecureInputStream::getPath"
- function "SmartTemplate::getFilename" was renamed to "SmartTemplate::getPath"
- function "SmartTemplate::SetFilename" was renamed to "SmartTemplate::SetPath"
- function "DBStream::getFilename" was renamed to "DBStream::getPath"
- automatic installation program:
- now issues a warning if working directory is not writeable
- plugin "default_library":
- action "get_image" was renamed to "download_file"
- action "download_file" is overloaded to handle both: images AND files
- component "Database":
- return value of a query on an image- or file-column is now the complete path and filename
(affects actions "download_file" and "get_profile_image" in plugins "default_library" and "user_admin") - blobs are now stored in seperate folder and use randomized, very difficult to predict filenames
(affects previously uploaded images only)
- return value of a query on an image- or file-column is now the complete path and filename
Bugfix / Maintenance
- handling of unique-constraints in FileDB fixed
(no impact on any current official plugins - just a stability issue) - Indexes werden nun sofort regeneriert, falls die Datei aus Versehen oder
absichtlich gelöscht wurde
(hat keinen Einfluss auf Programmfunktionen - dient nur der Stabilität) - FileDB will now detect columns that breach a unique-constraint automatically and report them to the system-logs
(no impact on any current official plugins - just a stability issue) - DbAdmin-Plugin now synchronizes columns of types "image" and "file" correctly
(affects action "db_sync" in plugin "db_admin" only) - links to a user profile of a registered member in guestbook plugin are now only shown, if the plugin required to view user profiles ("user_admin") has been activiated
(no impact on functionality - just a cosmetic fix)
Notes
- if you use Release Candidate 2 and have previously uploaded images, you need to re-upload these
- if you are an author of a plugin, that queries image- or file-columns, as implemented in Release Candidates 2, you need to update the handling of these queries
- looking for translators (German to English) to translate articles and tutorials
02/02/2007 - Version 2.9 Release Candidate 2
test version
new Features
- new AJAX-class to support HTTP-Requests
- examples to handling of Image-class and graphic filters in documentation
- manual now has integrated keyword-search (german translation only)
Updates
- form-generator is now able to create GUI to edit columns of type "array" in databases
- manual updated
- function "Yana::message" has been replaced by "Yana::exitTo" and is now "deprecated"
- plugins updated and replaced calls to Yana::message with Yana::exitTo
- template-function "import" now has new parameter "id"
- language-files updated
- SDK now offers update-forms for SQL-files to all supported DBMS (not just MySQL)
Bugfix / Maintenance
- theoretical problem with possible false-positives in "AntiSpam"-plugin has been solved
- hitlist in search-form: missing argument added
- fixed typo and grammar in manual
01/25/2007 - Version 2.9 Release Candidate 1
test version
new Features
- password encryption changed from MD5 to the stronger SHA1 algorithm
Updates
- new class "DbQuery"
- new function "StructureFile::isVisible"
- new function "StructureFile::isEditable"
- new function "GuiCreator::getFormdata"
- manual updated
- guestbook: integration of new function of form-generator
- SDK: integration of new function of form-generator
Bugfix / Maintenance
- code checking and sanitation
- registration: reference to mail function corrected
- user management: done code checking
- RSS feeds: label of CDATA-segments corrected
- microsummaries: restore persistence of entries
- manual: done spell checking
- DB-API: added missing reference to prefix setting
- GUI-Generator: columns of type image are now hidden in search forms
01/21/2007 - version 2.8.9
test version
new Features
- DB-API and database schemes support table-columns of type "image"
- automated upload and automatic creation of thumbnails for table-columns of type "image"
- user management component offers upload of images for user profiles
- new component to create tree-menues from multi-dimensional arrays
- the selected language is saved on logout
Updates
- form-generator support table-columns of type "image"
- new function "SmartTemplate::getSmarty"
- new function "StructureFile::getImageSettings"
- structure files: new properties for definition of table-columns of type "image"
- "width", "height", "radio", "background"
- new function "StructureFile::getFiles"
- new function "StructureFile::setDefault"
- new function "Image::uploadFile"
- new event "get_profile_image" (user management)
- new event "show_image" (form-generator)
- new template-function "printUnorderedList"
- form-generator displays table-columns of type "array" automatically as tree-menue
- new columns in table "user":
- "user_image", "user_image_active", "user_language"
- column "photo" is dropped
- ~10% better performance for form-generator due to restructerd templates
- (german) documentation offers new articles
- new README-file cotaining quick installation guide in English
Bugfix / Maintenance
- multiple smaller fixes in DB-API and form-generator
- guestbook: check for access restrictions when accessing foreign profiles has been added (applies to hosting services only)
- data-model and handling of access restrictions for users have been updated
- some links in language selection menue corrected
01/02/2007 - version 2.8.8
test version
Updates
- class "Image" extended, tested and updated
- code-review of form generator
- providing ported version of PHP 5 and PHP 4.3 -functions and -constants for PHP 4.2,
for example:- file_get_contents(), file_put_contents()
- scandir()
- stripos(), strripos()
- substr_compare()
- array_combine()
- property_exists() ... and others
- ~5% better performance due to optimization
- ~20% less main memory usage due to optimized caching behaviour
Bugfix / Maintenance
- Bug in database installation routine of DB-Admin plugin has been fixed
- other small fixes for DB-API and Image class
12/10/2006 - version 2.8.7
test version
new Features
- now includes a OO-Wrapper for PHP'S image functions
Updates
- Constructor function for class "DBStream" now additionally excepts argument 1 to be an object of type "StructureFile"
- entries of virtual drive have been updated
- Plugin "DB_Admin" updated
- new class "Image"
- new class "Brush"
- Plugin "Default_Library" has been updatet and now uses the new class "Image"
Bugfix / Maintenance
- function "length()" of class "FileDB" now correctly returns the number of entries in a table (Bug in version 2.8.6)
12/02/2006 - version 2.8.5a, 2.8.6a
Bugfix
Bugfix / Maintenance
- fixes problems with display of CAPTCHAs
12/01/2006 - version 2.8.6
test version
new Features
- the installation of the database(s) now works automatically - it is no longer necessary to write SQL files by hand, instead the required SQL will be generated at runtime
Updates
- support of joins in Flat-File DB
- Names and descriptions of plugins and skins have been updated and translated to English
- new class "DbCreator"
- new functions "StructureFile::isNullable", "StructureFile::isAutonumber", "StructureFile::getDescription"
- class "BufferedDbStream" renamed to "DbStream" ("BufferedDbStream" is still there, but "deprecated")
- deprecated class "QueryBuilder" has been removed
11/23/2006 - version 2.8.5
stable version, users of version 2.8.1 should upgrade to 2.8.5
new Features
- RSS-Support for guestbook (10 latest entries as RSS feed)
- framework logs are readable online
- support of unique constraints in Flat-File DB
Updates
- Skin "Light" now supports viewing of comments
- the row of comments is now editable in backend
- class "String" now supports the "hash()" function, which was introduced in PHP 5.2 and the "xor" block chiffre
- the functions equals(), getClass(), toString(), copy() and the "magic" function which were introduced in PHP 5, __clone() and __toString() are now supported
- new function "cloneArray()"
- The use of "order by" clauses was reviewed and simplified. The Flat-File DB now supports sorting after multiple columns as well.
- the functions BufferedDbStream::getFilter() and BufferedDbStream::setFilter(), which already were marked "deprecated", now have been removed
- variable "PHPSESSID" was renamed to "ysid"
- class "SessionManager" now uses the more secure SHA1 encryption instead of MD5 to calculate session ids. Also improvements to prevent attacks via "session fixation" have been introduced in this version.
- class "SerializeableObject" was renamed to "Object"
- function "Object::copy" was renamed to "Object::cloneObject" (naming conflict)
- new function "Object::__clone"
- new function "Object::__toString"
- new function "Object::getClass"
- new function "SecureFileStream::copy"
- new function "SecureFileStream::getFilesize"
- class "String_type" was renamed to "String"
- class "Yana_log" was renamed to "Report"
- new class "SML"
- function "makeConfig" is superceeded by "SML::encode" and marked "deprecated"
- function "decodeConfigString" is superceeded by "SML::decode" and marked "deprecated"
- function "getConfigFile" is superceeded by "SML::getFile" and marked "deprecated")
- function "importConfigFile" has been marked "deprecated" and will be removed in version 2.9
- class "SmlFile" is superceeded by "SML" and marked "deprecated"
- Klasse "ConfigFile" is superceeded by "SML" and marked "deprecated"
- new class "FileDb_index"
- new class "Microsummary"
- new class "RSS"
- new class "RSS_item"
- function "InputStream::write" now produces an E_USER_NOTICE on error, which describes the reasons
- new function "InputStream::md5Checksum" calculates the MD5 hash of a file
- function "InputStream::checksum" allows a new parameter "string filename"
- new function "StructureFile::getIndexes"
- new function "StructureFile::getUniqueConstraints"
- new function "StructureFile::getTrigger"
- new function "StructureFile::isUnique"
- new function "StructureFile::hasIndex"
- new function "Yana::getRequestVar"
- Improved performance and less required memory
- administration panel has been reviewed - plugin configuration files now enable developers to add own setup menues
- template function "create" supports the new template "view_details"
- the query builder of class "BufferedDbStream" allows additional operators for definition of the where clause
- Flat-File DB with higher perfomance due to new caching mechanism
- API-manual updated
Bugfix / Maintenance
- stylesheets in templates, the list of stylesheets is now ordered ascending, not descending anymore
- template function "create" now shows the entries to flip pages correctly
- template function "create" now indicates NULL values in columns of type "time" by a dashm instead of using the current date
- not required debug message in "Language::get" deactivated
- Flat-File DB handels requests using "descendant", which caused problems in the last alpha version, now correctly
- plugin "DB Admin", which has been broken in version 2.8.4, has been fixed
10/24/2006 - Version 2.8.4 alpha
test version
new Features
- buttons for visitors to choose language
- add english translation for SDK
- support for trigger in database structure files using PHP syntax (before, after + insert, update, delete)
Updates
- API-documentation updated
- SDK menu updated
- for developers: syntax errors in SML files will be protocolled at debugging
- for administrators: non registered action parameters can now be optionally be blocked with an error message to enhance security. This option is activated in this version by default, but can be deactivated on demand by changing the "ALLOW_UNDEFINED_ACTIONS" parameter in system.config.
- support for Firefox 2.0 Microsummaries
Bugfix / Maintenance
- Compatibility to IE 7
- added missing english translation strings
- added missing link to ressource "reserved_sql_keywords" (fixes database access error)
10/16/2006 - Version 2.8.3 alpha
test version
new Features
- GUI to edit single entries in frontend / backend
- automatic handling of inheritance in databases
- automatic installation program
- Includes in DB-Schemes
Updates
- manual updated
- API-documentation updated
Bugfix / Maintenance
- Manual: correct error in writing in description of foreign keys
09/29/2006 - Version 2.8.2 alpha
test version
new Features
- new template-Function "load_sml()"
- new template-function "embeddedTags()"
- database-API uses "smart quoting" for IDs
- Error messages may by choice be shown inline or on an own page
Updates
- manual updated
- API-documentation updated
Bugfix / Maintenance
- fixed some typo in manual
09/16/2006 - version 2.8.1 stable
stable version, upgrade of version 2.8 possible
new Features
- simplified the way of activating skins, plugins and translations in administration panel
- manual updated
Updates
- user authentification and password management updated
- the "embedded tags" [color] and [mark] now accept hex-values
Bugfix / Maintenance
- automatic upgrade-script for version 2.7 to 2.8.x has been fixed
(this only applies to users to want to upgrade from version 2.7 to version 2.8.) - resolution of Ids in internal database has been reviewed to improve stability
(Applies to developers only. None of the official plugins is affected.) - fixed some typo in manual
Notes
- To upgrade from 2.8 to 2.8.1 you only need to replace the directories "plugins", "skins", "manual" and "languages", as well as the files "index.php" and "library.php". All other directories are unchanged.
09/08/2006 - Version 2.8 stable
stable version
Version 2.8 brings good news for developers (more comfort when working on new plugins) and communities (optional database support for user data)..
new Features
- Upgrade of version 2.6 to version 2.7
- new database administrations utility allows acitivation, installation and import of files from the file system for all databases through one single button
- optional storing of user data in database
- new spam protection features
for developers
- support for virtual databases in file system
- enhanced debugging functions
- documentation updated
- automated spam protection
Updates
- Upgrade to latest version of the used template-engine
- database schemes now allow user constraints
- extended event logging
- skins and css updated
03/24/2006 to 08/25/2006 - version 2.8 alpha / beta
for testing only
new Features
- Skins: Template configs now offer the "style" element to link css to templates
- extended use of css in skins to help developers create new skins
- integrated support for html tree menus
- SDK: The SDK now also generates menues for new plugins
- GUI-Generator: The search function now provides a hitlist without the need to write source code for it
- Manual: most recent changes have been documented.
- Spam-Protection: improved CAPTCHA
- automatic function for protection against XSRF
- user management via database access is now possible
- install routines for databases included
- synchronization of file system and database entries now included
- new installation files for MS-SQL, PostgreSQL and MS Access databases
- Constraints in DB config files, virtual views
- Support for virtual databases in file system
- switching between database and file system via one single button
Updates
- source code reviewd
- event logging reviewed
- Default skin, plugins and translations updated
- profile settings now hidden in beginner's mode
- skins, Language-Files und Plugins aktualisiert
- only 1 guestbook plugin for both, file system and database storage
- SDK is now a plugin and does not need to be installed seperately
- manual updated
- script included to upgrade from versions 2.6 and 2.7 to 2.8
03/23/2006 - version 2.7a
update only necessary if you encountered problems with the previous version
Bugfix / Maintenance
- license handling corrected
Updates
- developer's manual extended
02/26/2006 - version 2.7
update recommended
new Features
- event logging is now implemented (optional)
- spam protection implemented
- Program: guestbook updater
- Program: Dat2SQL
- Program: YANA SDK
- Plugin: search engine
- Plugin: guestbook with support for file system OR database. Suported DBMS: MySQL, MS-SQL, PostgreSQL, u.a.
- new template engine
- manual rewritten