$Id: RELEASE-NOTES.txt 361 2006-10-17 02:19:51Z mojavelinux $ Studs MVC Framework+ Version 0.9.8 Release Notes INTRODUCTION: ============ This document is a summary of the notes for the current release of the Studs MVC Framework+. The information contained in this document will help to understand how to use the framework, how it differs from its Java equivalent, changes that occured since the last release and a overview of known issues. These release notes will accompany each release of Studs and should become a first point of reference when looking to upgrade. REQUIREMENTS: ============ PHP >= 4.0.5, including PHP5 (since 0.9.6), Apache Web Server (1.3 or 2.0) on Linux/Unix/Windows with mod_php4, .htaccess file or equivalent RELEASE FOCUS: ============= This release focuses on code regressions that were due to the rapidly changing API in PHP5. Specifically, the way references were handled was modified, causing Studs to break in often bizarre and misleading ways. There were also some enhancements in the MVC framework portion. NEW FEATURES/FIXES: ================== The following bullets document changes since the previous release. An explanation of the change is followed by a list of modules it affects. Please see the Changelog (or consult CVS) for a full report of changes. - compatibility errors with PHP5 regarding passed by reference were fixed [General] - property files can now use self-referencing parameter replacement [Horizon] - fix nested form properties [Studs] - added new controller (SimpleFormController) and taglib (html:option) [Studs] - fix problem with session handling [Studs] KNOWN ISSUES: ============ ::General:: - Red Hat (and Fedora) like to disable the display_errors php setting out of the box, silencing any errors attempting to surface. Until Studs is humming along, it is wise to ensure that this setting is enabled. - In the examples, the logging configuration comes turned off. In order to see the messages outputted to the log, configure the logging.properties file under the WEB-INF/classes directory to point to a local file. ::Stratus:: - In order to "restart" a servlet, it is necessary to manually delete the file ServletContext.ser in the "work" directory, which is typically located in the WEB-INF/ directory. In some cases this may have to be done by the webserver user because of file permissions (permissions are controlled with the umask() setting in index.php). - PHP replaces dots "." in the request parameter names with underscores "_" since a dot "." is not permitted in a PHP variable name. It will be necessary to write a custom parser to get around this issue. The alternate character (•), on the other hand, can be used to populate nested bean properties. - When the HttpSession is ultimately created, all classes cooresponding to object instances in the session must be imported for those instances to be usable. Stratus assists with this process by saving the imports in the serialized version of the Session, but it is important to be aware of this requirement. ::Phase:: - Compiled PSP files will be written by the webserver user and thus problems may occur when attempting to delete them via ftp/shell on certain host configurations. A workaround is to specify the proper umask call in the index.php script or to create a script that can be run by the webserver to clean out these files. IMPORTANT NOTES: =============== ::General:: - When contrasting the directory tree of a Studs project with that of its J2EE equivalent, it is important to note that since PHP scripts are not compiled, the source and runtime are the same file and are thus placed in the classes/ directory. No distinct src/ directory is needed or required. - Certain php settings must be set in an .htaccess (or equivalent) file for the framework to function correctly. The .htaccess file is supplied with the distribution. For those servers that use a different format for web server directives and php settings, appropriate steps must be taken to ensure they are equivalent. Some settings are set as a last resort in index.php, but not all settings can be adjusted after PHP begins rendering (such as register_globals and magic_quotes_gpc) ::Stratus:: - In order to compile PHP Server Pages (PSP), it is required that the work/ directory, which is typically under WEB-INF/, be writable by the server. If the directory is not writable, a special error messae will be displayed stating that the work directory could not be created. - The application context object is NOT thread safe! It can be used effectively as a cache or as an non-strict storage area, but cases do exist in which two seperate clients can obtain an application context and then write to the disk cache sequentially.