Changes from 3.3-3 to 3.4.0alpha1 *Kernel: - Added user specified template values. - Added PathPrefix functionality to be able to remove selected parts of the url in the url alias - Added storeData() function for eZContentObjectAttribute, this function is safe for datatypes to call (unlike store() ). Merged in from 3.3 stable (Rev. 4817) - Added error message when trying to store empty required xml text. http://ez.no/developer/ez_publish_3/bug_reports/missing_error_message_for_empty_required_ezxmltext_attribute - Added wildcard search to eZSearchPlugin. This feature is disabled by default, but can be enabled in site.ini->SearchSettings->EnableWildcard. - Added edit button link for class view. - Added support for fetching a class by the identifier (fetchByIdentifier) eZContentClass. - Added support for class identifiers in addition to the existing class ids in content/action. Use ClassIdentifier instead of ClassID to get this functionality. - New fetch function in content module for checking access types on an object called access. - Added support for the new variable system in the URLs for google.tpl, that means (offset)/10 instead of offset/10, this also works with nice urls. - Added class_identifier as design/override key to content/view. - Added data_map support for eZContentClass, this means that all attributes are returned as an associative array with the identifier as the key. - Added support for sending the class identifier as a string to the content/class fetch function. - Added content/pdf for on the fly generation of PDF based on current node. Utilizes normal content caching. - Added setting for adjusting default value of ezdatetime datatype based on current date - Added ezcontentobject_tree.modified_subnode to eZContentObjectTreeNode to make fetches of last modified subtree faster. - Added MD5 check of distribution files. Both scripts and GUI for checking files added. - Added function to view/edit ini settings in admin interface. - Added configureable object 'common ini settings' under admin setup. - Added support for overriding on class_identifier on templates included in node_view_gui ( e.g. embedded objects ). - Made ezdesign and ezimage operator check for design resources in extensions - Made the treemenu operator sort by the current node's sort array instead of always using priority. - Rewritten user permissions checking to minimize overhead. - Added Role assignment to user based on limited criteria. - Change loading of datatypes, they are now loaded on demand only. *Setup - Added admin user creation during setup. *Unit testing: - Created a new system for doing automated unit testing. It has a basic framework and a plugin based structure to handle the test cases. *DataType: - New function hasObjectAttributeContent (attribute.has_content in template) which returns true if the attribute is to be considered to have any content. - Fixed a define typo in ezurltype.php - eZBinaryFile now uses eZMimeType for mime type handling. eZObjectRelation: - Added support for choosing relation in a dropdown (combobox) where items are taken from a specific folder (list or tree) - Added support for text field when having dropdown, the text field will allow for fuzzy matches with the names in the dropdown. *Libraries: - Fixed case bug in the Timeout variable in eZSOAPClient. eZ ini: - Optimized storing of .ini file cache to use about 1/3 less memory when loading cached .ini files eZ template: - Implemented template compilation for almost all template operators and functions. - Added automated unit tests for eztemplate functionality. - Added the option to turn off all caching and compilation when fetching templates. This is currently used to test if template compilation works as expected. - Added reset() and resetElements() function which calls a reset function on all functions and operators. This ensures that the run-once function can be reused for automated testing. - Two new element types (array and boolean) created to help in template compilation optimization. - The behaviour of the template operators sum, sub, inc, dec, div, mod, mul, max, min, abs, ceil, floor, round, int, float, count and roman has changed. Objects and arrays are no longer been given special treatment (these features were never used anyway). Now all parameters are treated as scalar values. - The template operators sum and sub no longer accepts an array as input value. A new operator array_sum was created to handle this case (sub is no longer support for arrays). Code depending on this must be changed. - The switch function no longer requires a default case, and has an additional argument 'var' which controls the naming of the variable which contains the value of the match (which was formerly always '$match'). eZ PHP creator: - New creation type 'define' which creates a define() expression. Takes the name, value and optionally if it should be case sensitive. - Added optional parameter support to include, comment and code piece. - Added support for spacing to include, comment, code piece, variable, variable unset, method call and define. The spacing will be added before each line in the generated text. - Added default value of 0 to the second parameter ($column) of variableText(). - Added new static function prependSpacing() which is used to prepend the proper spacing to a text block. - Added new function fetch() which renders all elements to a string and returns it. - Created new private function writeElements() which writes all elements to the text array, this function is now used in both store() and fetch(). *Bugs: - Fixed several minor bugs with url prefix. http://ez.no/community/bug_reports/strange_behaviour_of_ezurl_using_pathprefix - Fixed package/list bug. http://ez.no/community/bug_reports/fatal_error_package_list - Fixed bug with .ini files http://ez.no/community/bug_reports/new_ezini_php_one_line_too_much_critical - Fixed shorten bug http://ez.no/community/bug_reports/shorten_function_cuts_off_part_of_unicode_caracters_and_breaks_them