main | downloads | documentation | comunity | about lionframework

Lion framework 1.1.125 (2008/11/02)

Version 1.1.125
Date 2008/11/02
Changelist 1355
Lion framework available deliverables:
File MD5 Size
Lion-1.1.125.tgz 8FE0B5240E3877A5183207CEAA4B9ADC 1.96 MB
Lion-1.1.125.zip D96060AF802D900850F54CC75CF847CE 2.96 MB
Documentation:
File MD5 Size
Lion-docu-1.1.125.tgz 845EC3FD3AFFD095DE0A92CAFE82F940 2.70 MB

Change log


Changes on version 1.1.125

- Added: HTML-Purifier as the default filter library bound to valueholder components
- Added: Shortcut to I18n resources from the __ApplicationContext (as explained within the documentation)

Changes on version 1.1.124

*** First stable version of Lion ***

- Added: Facade to log4php as the default logger implementation
- Added: Support to define composite and template based components
- Added: RemoteService component (a component designed to call server-side specific methods from the client)
- Fixed: constructor-arg did not work in certain conditions defining context instances
- Fixed: Improved the synchronization algorithm/protocol between client and server-side components
- Fixed: General improvements affecting the stability and performance
- Added: The encryptor (__IEncryptor iface) as part of the security framework, with the HashEncryptor as a OOTB implementation (used in the authentication process)
- Fixed: Removed parameter preprocessor mechanism, merged with the intercepting filter (improving performance and easying the preprocessing of general purpose parameters)



*** First stable version of Lion ***

- Added: Facade to log4php as the default logger implementation
- Added: Support to define composite and template based components
- Added: RemoteService component (a component designed to call server-side specific methods from the client)
- Fixed: constructor-arg did not work in certain conditions defining context instances
- Fixed: Improved the synchronization algorithm/protocol between client and server-side components
- Fixed: General improvements affecting the stability and performance
- Added: The encryptor (__IEncryptor iface) as part of the security framework, with the HashEncryptor as a OOTB implementation (used in the authentication process)
- Fixed: Removed parameter preprocessor mechanism, merged with the intercepting filter (improving performance and easying the preprocessing of general purpose parameters)

Changes on version 1.1.120

- Fixed: DataCollector component as a non-poolable component.
- Fixed: Model service to be able to also reference context instances (see the model documentation)
- Documentation: Added more documentation regarding the model, the lion architecture and type of components

Changes on version 1.1.119

- Fixed: A bug resulting in a bad synchronization between client-server when setting client properties by ussing javascript (i.e. hidding a component by javascript was not synchronized with the component propertly at server).
- Added: New documentation regarding dependency injection capabilities on lion framework
- Fixed: Several minor bugs detected while building a real application
- Documentation: Added missing part on dependency injection section. Also added some documentation on component model

Changes on version 1.1.116

- Important improvements on client side code generation, accelerating client execution while improving cross-browser compatibility:
1. Added new .js loader (JIT) to perform javascript lazy loading.
2. Group all generated javascript code at bottom, while all .js inclusions at top.
3. Refactorized client code to just require a single .js inclusion (lion.js)

Changes on version 1.1.115

- Added: Method setApplicationDomain to the __Uri class, in order to build absolute urls for different domains, even if they are different to the current server one. Also usefull to execute controllers from the command line.
- Added: fromArray and toArray method to __RolesCollection class, in order to build from and to an array of roles in one single shot.
- Added: hasAccess and hasPermission methods to __User (also added to the __IUser interface), in order to check if an user has access to a given system resource as well as check if an user has a given permission.
- Added: event handling capability at component level, meaning that components can also contain predefined logic to handle certain events.
- Fixed: Some minus bugs found during development of real web applications with the lion framework, as part of the stability phase.

Changes on version 1.1.113


- Fixed: Added missing class file for __ConstructorArguments Collection class (ticket #12)
- Fixed: Component validation rule to have 2 methods: pattern and format (instead of just one single method validFormat)
- Upgraded: livevalidation javascript library from 1.2 to 1.3
- Improvement: I18n string loading performance
- Added: event handler's create method, which is called first time an event handler is created
- Added: the DateBox component, a textbox with a pickable calendar. This component uses the Dynarch calendar, by Mihai Bazon under GNU LGPL.
- Added: the Area component (more like a div), and the pane component (like an inputgroup).
- Added: the resetValueHolders method on both __EventHandler and __ComponentHandler classes. Really usefull to reset values to null for all value holders contained in a view. This method also reset any validation against any value holder.
- Added: 2 new components: The pane and the area
- Fixed: Do not generate the startup async message for empties messages
- Fixed: A bug in the ActionBox component producing multiple executions of the same action.
- Fixed: A bug in the ActionIdentity, resulting in a wrong URL generation according to route definitions
- Added: the setAuthenticatedUser to the __AuthenticationManager, in order to allow to set the authenticate user without having to execute authenticators (i.e. to authenticate a user just after registration process)
- Fixed: A bug in ProtectedSection component, which makes the section to be hidden even if the required permission was covered by active roles
- Fixed the history manager in order to register the last request just once the request has finished
- Added the DataCollector component
- Fixed the component handler and component pool to store non-poolable components during the request.
- Fixed the action box to avoid double renders during the same request
- Fixed a bug on __UIEvent to prevent add a non-array instance as extra_info
- Improvement: Accelerate URL building by pre-caching some static calculations
- Improvement: Removes call to StreamWrapperManager (also the class, because is more like unnecessary due to the small piece of job it does)
- Fixed: a typo on Route class (by adding the 2 underscore prefix to a class reference)
- Fixed: the validation event on forms after submit, to take into account the validation result on the submit intercepting filter
- Added: 2 new methods to the __Authentication Manager: isAuthenticated and isAnonymous
- Added: the persist property to components. Even if the component implements __IPoolable, persist="false" will force the component to being not pulled
- Added: Experimental deliverable type PHAR, embedding the whole framework within a single .phar file.
- Fixed: the ResourceProviderSectionHandler to raise a __ConfigurationException instead of delegating to the __ExceptionFactory, which results in an infinite loop in certain conditions

Changes on version 1.0.95

- Added a new client end-point: __JavascriptOnDemand, which allows to send javascript to client to be executed.
- Added the magic __call method to base class __UIComponent in order to intercept calls to component methods. The __call will notify to associated end-point the call request. After that it will try to execute a method with prefix 'do' + same name.
- Change default set of component writers in order to render component initial values without ussing javascript when a page is loaded, in order to be compatible with non-javascript browsers.
- Fixed Ticket #7: Event handler callback naming convention: Instead of ussing the naming convention <componentname>_on<eventname>, remove the "on" and let it just as <componentname>_<eventname>.
- Fixed client end-points (valueholder type) to do not send the status if it has not changed since last time it was updated
- Changed instances and instance xml tags to context-intances and context-instance to define context instances. Also deprecated the $context->getInstance($instance_id) method. Use getContextInstance instead of in order to retrieve a context instance.
- Fixed Ticket #3: Implemented the validate event, improved the validation rule and link components to validation rules (new component method: validate, as a proxy method to the related validation rule method)
- Fixed: Removed types package (not used)
- Fixed: Lion administrative area footer to show the proper links (license, about, contact and lion home)
- Fixed: Added to the bootstrap success page a link to the test page (the one to check if lion is working)
- Fixed: Added setRoles method to the __User class in order to be able to set all the roles at the same time when loading users
- Documentation

Changes on version 1.0.91

- Fixed: Raise an exception when a non-existing model service is tried to be executed
- Fixed: Raise an exception when an unexistent route id is set to an __Uri instance
- Fixed: Admin area to handle command line execution if no controller/actions are specified.
- Renamed admin area controllers files by removing the double underscore prefix.
- Fixed: The cache manager to allow specific ttl. If not specified, the cache handler will use the default one.
- Fixed: Small changes in the cache API to be as similar as possible to the session API.
- Fixed: Check if cache directory exists on __MicroCache class (the one used by the __ClassLoader)
- Fixed: Adapted the protected section component according to last component model refactorization.
- Fixed: Protected section must inherit from __UIContainer since it's a component container.

Changes on version 1.0.89

- Addapted the old __FormComponent to the current component model (ticket #4 and #5)
- Added the onSubmit event, raised on server side after submitting a form
- Created the __IUriContainer interface, implemented by component classes containing an uri (i.e. links, forms, etc...)
- Created the __UriContainerWriterHelper class, to delegate to for url generation on component rendering process
- Changed __FormComponent and __UriComponent to implement the __IUriContainer
- Changed writers for both classes to delegate on __UriContainerWriterHelper
- Fixed: removed a wrong html tag generated by the HtmlComponentRender
- Fixed: The __ValidationRuleHtmlWriter to render the component according to the live-validation library (ticket #2)

Changes on version 1.0.88

- Added checkbox and optionbox components
- Adapted the client component model to handle the checkbox and optionbox components (the __ValueHolderFactory to create a __CheckableElementProperty in case the element type is a checkbox or radio)
- Added the renderContent method to __ComponentWriter class in order to have the capability to render contents enclosed by component tags (see doc for more info).
- Fixed: The spinner component was rendered even if the component had the spinner=false property. Now it's just rendered if the spinner property is != false/no.

Changes on version 1.0.86

Improvements:

- Refactorized cache related classes:
- Cache is taken from the context
i.e. __ApplicationContext::getInstance()->getCache()
- Added the cachehandler facade for different cache storage implementations.
- Added 2 initial cachehandlers: cachelite and memcache
- Added __CacheSectionHandler implementing the __ISectionHandler. This class caches the value returned by the doProcess method (the abstract one to implement in child classes).
- Changed all section handlers ootb to inherit from __CacheSectionHandler
- Added a new class: __UrlHelper to provide an static method to help resolving relative urls

Fixes:

- Moved hardcoded values from __RuntimeDirectives class to a .ini file (lion.ini)
- Fixed: __Uri class to return relative Urls by default (getUrl() method)
- Fixed: A typo in componentmodel javascript tags

Changes on version 1.0.84

Performance improvements:

- Refactorized cache related classes:
- Cache is taken from the context
i.e. __ApplicationContext::getInstance()->getCache()
- Added the cachehandler facade for different cache storage implementations.
- Added 2 initial cachehandlers: cachelite and memcache
- Added __CacheSectionHandler implementing the __ISectionHandler. This class caches the value returned by the doProcess method (the abstract one to implement in child classes).
- Changed all section handlers ootb to inherit from __CacheSectionHandler

Fixes:

- Moved hardcoded values from __RuntimeDirectives class to a .ini file (lion.ini)
- Fixed: __Uri class to return relative Urls by default (getUrl() method)

Changes on version 1.0.82

- Fixed (bug affecting PHP 5.1.x): Added stripslashes when call to JSON_Services::decode method
- Fixed: creation of .tgz deliverable file to keep file permissions (files: 644, directories: 755). Thanks Mariano :)
- New feature: Added the onInit event. This event is executed just before painting the component.
- Deprecated: The event handler init method (it's not called anymore). Use the onInit event instead of.
- Fixed: The onLoad event was not being raised.

Changes on version 1.0.81

First *PUBLIC* lion|framework beta deliverable

Please send your feed to aparraga@lionframework.org

Copyright (c) 2008, www.lionframework.org