XOOPS: XOOPS 2.4.0 Beta 2 Is Released

Posted by: Mambaon 2009/9/6 23:40:00 11797 reads Resized Image
After over 25,000 downloads of XOOPS 2.3.3 in five months, the XOOPS Development Team is pleased to announce the release of XOOPS 2.4.0 Beta 2.

This release includes many bugfixes and user experience improvements, done by XOOPS Core Development Team and XOOPS community.

New in Beta 2 (in addition to bug fixes):
-------------------------------------------
* Admin GUI's are now using a theme factory, modules can make use of $xoTheme and $xoopsTpl (trabis)
* Preload system, modules can now respond to system events (trabis)
* Support for PHP 5.3 (trabis)
* jquery support. If you need to use jquery.js, please use $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js'); (trabis/phppp)

Some of the new/changed areas in Beta 1:
----------------------------------------
- profile and pm modules improved by dhcst/wishcraft
- installer improved by dugris and marco, etc.
- theme improved by mamba, aph3x, kris and burning
- tinymce editor improved by dugris and luciorota
- snoopy class upgraded by julionc
- smarty upgraded by dhcst/trabis
- bug tracker managed by marco
- new Admin Theme "Oxygen" by Voltan

Please remember:This release is ONLY for testing! Do NOT use it on productions sites. And if you're installing it over previous test installation, make a BACKUP first!
Please also note that some hacks done for previous XOOPS versions might not work with this release: testing before installing is always a good choice


Download it from Sourceforge repository.

Thanks to kris_fr, you can see the API documentation for this release, incl. UML Diagrams, here.

Please post and discuss all issues related to this release in this forum

We also need help with Translations

System requirements
-----------------------------------

PHP:
Any PHP version >= 4.3 (PHP 4.2.x may work but is not officially supported, PHP 5.0+ is strongly recommended)

MySQL:
MySQL server 3.23+ (MySQL 5.0+ is strongly recommended)

Web server:
Any server supporting the required PHP version (Apache highly recommended)


Downloading XOOPS
-----------------------------------

Your can get this release package from the Sourceforge file repository
Both .zip and .gz archives are provided.


Installing XOOPS
-----------------------------------

1. Copy the content of the htdocs/ folder where it can be accessed by your server
2. Ensure mainfile.php and uploads/ are writable by the web server
3. For security considerations, you are encouraged to move directories "/xoops_lib" (for XOOPS libraries) and "/xoops_data" (for XOOPS data) out of Document Root, or even change the folder names.
4. Make the directory xoops_data/ writable; Create (if not already present) and make the directories xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable.
5. Access the folder where you installed the htdocs/ files using your web browser to launch the installation wizard


Upgrading from a previous version
-----------------------------------

Upgrading from XOOPS 2.3.x (easy way)
1. Get the right update package from the sourceforge file repository
2. Overwrite your existing files with the new ones
3. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your local machine
4. Access /upgrade/ with a browser, and follow the instructions
5. Follow the instructions to update your database
6. Delete the upgrade folder from your server
7. Update the "system" module from the modules administration interface, other modules, especially "profile" are recommended to update as well


Upgrading from XOOPS 2.0.* above 2.0.14 and 2.2.* (using the full package)
0. Unpack the archive to your LOCAL machine (e.g. PC) in a temporary directory.
1. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your local PC
2. Delete htdocs/mainfile.php, htdocs/install/, htdocs/cache/, htdocs/extras/, htdocs/template_c/, htdocs/themes/ and htdocs/uploads/ from the "htdocs" folder on your LOCAL machine before uploading the files to your server
3. Upload the content of the htdocs folder on your LOCAL machine over your existing files on your server
4. For security considerations, you are encouraged to move directories xoops_lib (for XOOPS libraries) and xoops_data (for XOOPS data) out of document root, or even change the folder names.
5. Make the directory of xoops_data/ writable; Create and make the directories of xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable.
6. Ensure the server can write to mainfile.php (set property to 777)
7. Access /upgrade/ with a browser, and follow the instructions
8. Follow the instructions to update your database
9. Write-protect mainfile.php again (set property to 444)
10. Delete the upgrade folder from your server
11. Update the "system" module from the modules administration interface, other modules are recommended to update as well


Upgrading from any XOOPS ranging from 2.0.7 to 2.0.13.2 (using the full package):
0. Unpack the archive to your LOCAL machine (e.g. your PC) in a temporary directory.
1. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your LOCAL machine
2. Delete htdocs/mainfile.php, htdocs/install/, htdocs/cache/, htdocs/extras/, htdocs/template_c/, htdocs/themes/ and htdocs/uploads/ from the "htdocs" folder on your LOCAL machine
3. Upload the content of the htdocs folder on your LOCAL machine over your existing files on your server
4. Delete the following folders and files from your server (they belong to an old version):
* class/smarty/core
* class/smarty/plugins/resource.db.php
5. Ensure the server can write to mainfile.php (set property to 777)
6. For security considerations, you are encouraged to move directories xoops_lib (for XOOPS libraries) and xoops_data (for XOOPS data) out of document root, or even change the folder names.
7. Make the directory of xoops_data/ writable; Create and make the directories of xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable.
8. Access /upgrade/ with a browser, and follow the instructions
9. Write-protect mainfile.php again (set property to 444)
10. Delete the upgrade folder from your server
11. Update the "system" module from the modules administration interface, other modules are recommended to update as well


Upgrading a non UTF-8 site:
UTF-8 encoding has been introduced into XOOPS 2.3 as default charset. However, there might be some problems with converting existent websites from non UTF-8 charset to UTF-8.
Before there is a good enough solution for this conversion, following settings are recommended when you upgrade an existent website if you are not an experienced user:
- Select "Do not change" option in "Database character set and collation" step during upgrade process
- Modify /languages/yourlanguage/global.php to use existent _CHARSET value if it has been changed to UTF-8 in your new global.php file as
define('_CHARSET''UTF-8');



Upgrading XoopsEditor package:
In the XOOPS package, there are eight editors included: dhtmltextarea and textarea for plain text, fckeditor, tinymce, koivi, wymeditor, Xinha, and Spaw2 for WYSIWYG HTML.
Since there are some directory structure changes in both fckeditor and tinymce editors, you are recommended to remove existent editors before uploading the new additors.
And if you are using fckeditor for modules, please modify module specific configs following the files in /fckeditor/modules/, especially if you use "article" module.


Debug information display level
-----------------------------------

Since XOOPS 2.3.1 debug information display level is enabled as a temporary solution for 2.3* to show debug information to different level of users: to all users, to members or to admins only.
The configuration can be set in /xoops_data/configs/xoopsconfig.php
A new debug information tools will be available for 2.4 using FireBug (see http://tinyurl.com/nmnjdp)



Files integrity check
-----------------------------------

The full XOOPS package is released with a script able to check if all the system files have been correctly uploaded to the server. To use it, follow these instructions:

1. Upload the checksum.php and checksum.md5 files located in the XOOPS package root to your XOOPS server folder (putting them next to mainfile.php).
2. Execute checksum.php with your browser
3. If necessary, re-upload the missing or corrupted system files
4. Remove checksum.php and checksum.md5 from your server


Modules
-----------------------------------

This release contains only the "system-related modules". You are invited to browse the XOOPS modules repository to if you need additional functionality. Note: as a new repository is being built, the current repository is not up-to-date, PLEASE VISIT INDIVIDUAL DEVELOPERS' WEBSITES TO MAKE SURE YOU ARE USING LATEST VERSION OF MODULES.


How to contribute
-----------------------------------
Bug report: http://sourceforge.net/tracker/?group_id=41586&atid=430840
Patch and enhancement: http://sourceforge.net/tracker/?group_id=41586&atid=430842
Feature design: http://sourceforge.net/tracker/?group_id=41586&atid=430843
Release announcement: https://lists.sourceforge.net/lists/listinfo/xoops-announcement


XOOPS Development Team
Sept. 6th, 2009

================================
Change Log:
9/6/2009: Version 2.4.0 Beta 2
================================

Updates from Sourceforge trackers:
- Fixed bug #2586854: date format is hardcoded in form elements (dugris/marco)
- Fixed bug #2835056: ldap / soap syntax error (frankblack/julionc)
- Fixed bug #2723428: Search Results - SEO (arabxoops/julionc)
- Fixed bug #2838534: Error in oxygen orange css file (tititou/julionc)
- Fixed bug #2839949: Wrong display of mandatory fields in oxygen GUI theme (tititou)
- Added patch #2838667 : HTML syntax error + various formating in oxygen GUI, and clean up! (tititou/julionc)
- Added feature request #2816381: Images Manager Sorting(trabis/Slyss)

Updates upon community:
- Fixed : some php4 related bugs in installer and xoopslogger (trabis)
- Removed : System key (trabis)
- Changed : Admin GUI's are now using a theme factory, modules can make use of $xoTheme and $xoopsTpl (trabis)
+ Added : Preload system, modules can now respond to system events(trabis)
+ Added : Support to php5.3 (trabis)
+ Added : jquery support. If you need to use jquery.js, please use $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js'); (trabis/phppp)

Modified Language files:
/modules/system/class/gui/oxygen/language/english/admin.php _AD_XOOPSMODULES, _AD_LOCALSUPPORT

Added Language defines:

Removed language defines:
/modules/system/language/english/admin/preferences.php _MD_AM_SYSTEMKEY
/modules/system/language/english/admin/preferences.php _MD_AM_SYSTEMKEYDSC
upgrade/upd-2.0.18-to-2-3-0/language/english.php LEGEND_XOOPS_MAINFILE_FORPROTECTOR
upgrade/upd-2.0.18-to-2-3-0/language/english.php XOOPS_MAINFILE_LABEL_FORPROTECTOR



Added Language File:
/language/english/localsupport.php
/class/calendar/JSCal2/JSCal2/src/js/lang/en.js
/class/calendar/JSCal2/language/english.php

Third-party updates:


============================
2009/08/12: Version 2.4.0 Beta 1
============================
Updates from Sourceforge trackers:
- Fixed bug #2761876: Indexes issues/improvements (trabis/Instant-Zero)
- Fixed bug #2788739: missing language definition _XOOPS_FORM_ALTYOUTUBE (trabis/voltan)
- Added feature req #2414148 : removing harcoded 'administration' from cpanels (trabis/mowaffaq)
- Fixed bug #2782360: Profile Module - Registration steps and user creation (trabis/instantzero)
- Fixed bug #2730373: Removing content from homepage template (trabis/instantzero)
- Fixed bug #2704179: CaritaFoto and Link to image with a space in the dir name (trabis)
- Fixed bug #2624953: Can't save value of DATE and LONGDATE in profile module (trabis)
- Fixed bug #2691957: Images not given in the image manager (trabis)
- Fixed bug #2661850: Bug on [mp3] tags and update player.swf (trabis)

Updates upon community:
- Fixed bug: Updating countries list and moving harcoded names to language folder (trabis)
- Fixed bug: Parsing issues with Oxigen(class mapper) (trabis/mamba)
- Fixed bug: Blocksadmin - Cookies for remembering display list settings (trabis)
- Fixed bug: Undefined 'OS' in logger/render.php (trabis)
- Fixed bug: Inclusion of custom config file for text sanitizer (trabis)
- Fixed bug: XoopsList.php (Timezone return is not true must be array) (wishcraft)
- Fixed bug: Xoops Captcha Class This class would call third party Framewok Files. If the file was not found, this would either report no error or cause a WSOD. (Catzwolf)
- Fixed bug: class/captcha/xoopscaptcha: Fixed many suppression errors that would lead to either WSOD or report no error. (Catzwolf)
- Fixed bug: Can not delete notifications. Cache was being used and Token validation was failing. (trabis)
- Fixed bug: Cookie Domain Dope now has constant set in common.php - XOOPS_COOKIE_DOMAIN (wishcraft)
- Fixed bug: XoopsCache - XOOPS URL Include with Cache Filename (Cause issue with multiple domains) (wishcraft)
- Fixed bug: XoopsTpl - XOOPS URL Include with Cache Filename (Cause issue with multiple domains) (wishcraft)
- Fixed bug: XoopsObject - $this->vars[$key]['changed'] not set to true if value is the same and unchanged. (wishcraft)
- Fixed bug: XoopsAuth - Some installs of xoops } would physically be missing from auth_ldap.php, xoops_ads.php [rep: brandonheyer] (wishcraft)

- Changed: Xoops Captcha Config: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops Captcha Image: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops Captcha Text: Cleaned and Formatted code for consistency. (Catzwolf)
- Chanded: XoopsDatabase: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: XoopsDatabaseFactory: Cleaned and Formatted code for consistency. Added error checking on file inclusion with error reporting. (Catzwolf)
- Changed: XoopsFormCheckBox: Added check to see if class has already been loaded and changed include to use xoops_load function. (Catzwolf)
- Changed: XoopsFormDhtmlTextArea: Added check to see if class has already been loaded and changed include to use xoops_load function. (Catzwolf)
- Changed: XoopsGroupPermForm: Added Check to see if form have been loaded ppreviously nad changed includes to use xoops_load function (Catzwolf)
- Changed: XoopsLists: Cleaned and Formatted Code. (Catzwolf)
- Changed: Xoops ThemeForm and TableForm: Fixed the tables td to a fixed width 40%. (catzwolf)
- Changed: XoopsForm: ThemeForm and TableForm: Replaced htmlspecialchar to a preg_replace to remove any malious code rather than just changing it to a readable form. (Catzwolf)
- Changed: Auth Classes: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops Model Classes: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops Cache Classes: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops File Classes: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops Logger: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Xoops MultiMailer: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Functions,php: Cleaned and Formatted code for consistency. (Catzwolf)
- Changed: Moved xos_kernel_Xoops2 Class from common.php to its own class file in /class (Catzwolf)
- Changed: Common.php: Moved Many items into xos_kernel_Xoops2. (Catzwolf)
- Changed: Moved Defines into own file called defines.php in include directory. (Catzwolf)
- Chanded: refactored xoops_loadLanguage in function.php This was due to the way that this classed used error suppression and now also checks for $xoopsOption and sanitizes it. (Catzwolf)
- Changed: Removed extra globals from module.errorhandler.php (do we really need this class now). (Catzwolf)
- Changed: Change class Xoopstree function. Added 'extra' to the selection to allow for onchange etc (Catzwolf)
- Changed: Formatted code and headers to conform to the Xoops coding standards. (Catzwolf)
- Changed: Changed global calls to the database ($GLOBALS['xoopsDB'] To &XoopsDatabaseFactory::getDatabaseConnection(); which is the correct method of calling the database.
- Changed: Changed initVar calls to the XoopsObject class to support enumeration array for XOBJ_DTYPE_ENUM (wishcraft)
- Changed: Default Control Panel Theme set to oxygen by voltan (tnx Iran) [wishcraft]
- Changed: Profile Module (Support for new Object Types and Refactorised Authentication Library)

+ Added: SOAP Authenication Installation Variables - see: makedata.php (wishcraft)
+ Added: XOOPS System Key (XOOPS Server Key for Unique Identified Systems) - see: makedata.php (wishcraft)
+ Added: SOAP Factory - Simple Object Access Protocol [Notice: Php Soap is crashing apache] (wishcraft)
+ Added: SOAP Authentication and Provisionning - User Network Management (wishcraft)
+ Added: Database Factory - mSQL Supporting Class - see /class/database/msqldatabase.php (wishcraft)
+ Added: Database Factory - Microsoft SQL Server Supporting Class - see /class/database/mssqldatabase.php (wishcraft)
+ Added: Database Factory - MaxDB Supporting Class - see /class/database/maxdbdatabase.php (wishcraft)
+ Added: Database Factory - Ingres Supporting Class - see /class/database/ingresdatabase.php (wishcraft)
+ Added: Database Factory - Oracle OCI Supporting Class - see /class/database/ocidatabase.php (wishcraft)
+ Added: Database Factory - iBase Supporting Class - see /class/database/ibasedatabase.php (wishcraft)
+ Added: Database Factory - FBSql Supporting Class - see /class/database/fbsqldatabase.php (wishcraft)
+ Added: Database Factory - DB2 Supporting Class - see /class/database/db2database.php (wishcraft)
+ Added: Query timers to logger (trabis)
+ Added: Blocksadmin - groups selection to block forms (trabis)
+ Added: Deprecated methods on kernel/module.php (trabis)
+ Added: XOBJ_DTYPE_FLOAT - Object Type for Floating Points (php4) - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_DECIMAL - Object Type for Decimals/Doubles (php4) - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_ENUM - Object Type for Enumerators (Database Support) - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_TXTBOX - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_TXTAREA - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_URL - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_EMAIL - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_ARRAY - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: XOBJ_DTYPE_UNICODE_OTHER - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft)
+ Added: xoops_base_domain - Function for retrieving TLD of domain of any URL - see /include/functions.php (wishcraft)
+ Added: xoops_convert_encode - Function for Converting Bit Strings Storage in any format database in a string - see /include/functions.php (wishcraft)
+ Added: xoops_convert_decode - Function for Converting Bit Strings Storage in any format database in a string - see /include/functions.php (wishcraft)
+ Added: xoops_hex2bin - Function for Unicode Storage in any format database with hex - see /include/functions.php (wishcraft)
+ Added: xoops_hex2bin - Function for Unicode Storage in any format database with hex - see /include/functions.php (wishcraft)
+ Added: xoops_ishexstr - Function for Checking for a hex string with length limiting - see /include/functions.php (wishcraft)
+ Added: xoops_aw_decode - Array Walking Function for Unicode Storage see func: xoops_bin2hex - see /include/functions.php (wishcraft)
+ Added: xoops_aw_encode - Array Walking Function for Unicode Storage see func: xoops_hex2bin - see /include/functions.php (wishcraft)
+ Added: WCAG 2.0 - Sight Impaired Assisted Forms (Disability Access - Form Objects) - see /class/xoopsforms/ (wishcraft)
+ Added: getTitle - WCAG 2.0 - Object HTML Title Tag (Text to Speach 4 Prompted Forms) - see /class/xoopsforms/formelement.php (wishcraft)
+ Added: WCAG 2.0 - Label Associations with WCAG1/2 - see form objects render (wishcraft)
+ Added: New Class to XoopsForms: XoopsFormTree Class. The ability to add XoopsTree directly into any form. (Catzwolf)
+ Added: New Class to XoopsForms: XoopsFormSelectCheckGroup. This class will allow developers to add Xoops Groups into forms for permissions. (Catwolf)
+ Added: Class XoopsMySQLDatabase: Added the ability to take items from the database as an object and cleaned and formatted code. (Catzwolf)
+ Added: New Admin Theme "Oxygen" (Voltan)

Updates upon community:
+ Added: Added functionality where items in the Xoops Form Element can span over two columns rather than into one. This was done for items such as tinymce to prevent cramping into one little box (Catzwolf)
+ Added: XoopsLists: Added correct method to connect to database. Changed from using the $GLOBAL and added file check when including language file.
Editors like tiny mce were not cramped into one little box. (Catzwolf)
+ Added: New XoopsForm Class: XoopsFormButtonTray: This will allow developers to quicker add Cancel, Reset and Submit (Delete is used with a Switch) buttons in form with just one line. (Catzwolf)
+ Added: Two new defines in common.php NWLINE to insert newlines and DS as a shortcut of DIRECTORY_SEPARATOR. We should be using this method with XOOPS_ROOT_PATH when dealing with paths correctly. (Catzwolf)
+ Added: Auth Class: Added some class and file checks with error_triggers to prevent white pages (Catwolf)
+ Added: Xoops File Classes: Added file and class inclusion checks and added error reporting. (Catzwolf)
+ Added: Xoops Logger: Added check to see if error number was 2048 and return true as this error is not required to be checked and helps speeds up the logger class (Catzwolf)
+ Added: Xoops MultiMailer: Added file check . (Catzwolf)
+ Added: Module Helper Function: In Functions called xoops_getModuleOption. This will allow module developers to quickly Access $xoopsModuleConfig across all modules. Based on News Module Version (Catzwolf, Herve)
+ Added: New Core function in functions.php xoops_getConfigOption. Allow to get $xoopsConfig() in a safer and static version. (Catzwolf)
+ Added: New Core function in functions.php xoops_setConfigOption. Allow to set $xoopsConfig() in a safer. (Catzwolf)
+ Added: New function to xos_kernel_Xoops2 called pathExists. When using $xoops->path($file), this call will check that the file exists or throw friendly error (Catzwolf)
+ Added: New Function: triggerError. To allow Core and modules to add errors with custom messages. (Catzwolf)

Modified language files:
/modules/profile/language/english/modinfo.php : Fixed typo in "PROFILE_MI_NEVER_LOGED_IN" - it should be "LOGGED_IN" (mamba)
/upgrade/language/english/upgrade.php : "_NO_NEED_UPGRADE" (trabis)

Added Language defines:
/modules/system/language/english/cpanel.php : Added _MD_CPANEL_SITE_ADMINISTRATION (trabis/mowaffaq)
/language/english/formdhtmltextarea.php : Added _XOOPS_FORM_ALTYOUTUBE (trabis/voltan)
/language/english/banners.php : Added _BANNERS_CHANGE to defines (trabis)
/language/english/global.php : Added _RESET
/language/english/global.php : Added _XO_AD_USERBENNED_HEADER
/language/english/global.php : Added _XO_AD_USERBENNED_TEXT
/upgrade/language/english/upgrade.php : Added '_UPDATE_SYSTEM_MODULE' (trabis)

Removed language defines:
/language/english/admin.php : _AD_PRESSGEN

Added Language File:
/language/english/countries.php (trabis)
/language/english/logger.php (trabis)
/language/english/errors.php (Catzwolf)

Third-party updates:
- Added nuSoap - sourceforge (wishcraft)
- Upgraded Smarty to 2.6.26 (trabis)