WebMesh is a framework developed in PHP5 to serve of base for the creation of web applications. It offers an API with several abstractions to facilitate the application development and a MVC pattern (Model2) implementation using Smarty in the View.
Be the first to post a text review of WebMesh Framework (APIs and MVC). Rate and review a project by clicking thumbs up or thumbs down in the right column.
Project: WebMesh ChangeLog Version 0.13 - 2009-07-15 - Fixed bug and improved the methods getLocale and getLocales of the HttpRequest class (http package). - Included a more detailed message in an exception thrown by Properties class (util package). - Revised the README and EXAMPLE_README files. - Improved the subproject webmeshmvc with the following changes/improvement: - Included all messages sent to the view layer by the default actions in the resource file. - Changed the class MessageResourceConfig to support effectively the following locale hierarchy recognition: If the locale is 'en-US', in other words, have a language and country informations the MessageResourceConfig will try to identify the existence of the following resource file in this order: - <resource-file-name>_en-US.properties - <resource-file-name>_en.properties - <resource-file-name>.properties - Created the class WebMeshContext that represent the framework context when you can get some information related to this framework such as the resource bundle and the request and session contexts. Version 0.12 - 2009-04-23 After many time without changed, I can improve some parts of this framework to become it better. The changes applied were: - The package [persistence.dataobject] is improved and up to the version 1.6. It surfer the following changes: - Changed the form that the dataobject mapping was configured. Before, the class named DaoMapping should be configured inside the data object library. Now, the name of the mapping class is changed from DaoMapping to DataObjectMapping. To provide the mapping configuration, you need to extend the class DataObjectMapping and override some protected methods. See the PHPDoc contained in this class. After extend and override the methods, you need set the property [phpx.persistence.dataobject.mapping.className] with the location of the extended class from path [WEB-INF/classes] without '.php' extension. - Renamed the following interfaces: - BeanDaoObject -> EntityDaoObject - BeanObject -> EntityObject These changes generate a refactoring of all references to these interfaces. - Included the method getParameterDecoded() to the class HttpRequest. - Improved the http package: - Included a new variable visible in the scripts that include [WEB-INF/service.php]. The $resource variable. This variable contains the resource messages configured in the webmesh-config.properties. This resources is essential to apply i18n and messages centralized in one unique file. - Included a new method in HttpRequest: getAttributeScopes() that get attribute of the request or session contexts. - Changed the implementation of the methods getLocale() and getLocales() of the class HttpRequest. - Improved the io package: - Reviewed the classes FileExtend, FIleReader, FileWriter, Reader and Writer. - Created a new methods in the class FileExtend. - Implemented classes that let you serialize, unserialize and store objects. See the classes ObjectWriter, ObjectReader and FileObjectStore. - Changed the file README to provide the last changes in this framework. - Changed the library webmeshmvc: - Created some methods in the interfaces used by it. - Improved the message handling. Were created new categories of messages as shown below: - Global messages: This category was the unique category created. But now, this category are expanded to support severity levels (INFO, WARN and ERROR) and serve to be displayed with proposes globals. - Form messages: This category was created to refer messages to a form. As the global messages, this category have messages with severity level. To facilitate the life, was created a template view called SmartyDisplayMessageTemplateView that display messages stored by Action conform a list of message type passed to the your constructor. The template SmartyFormTemplateView already has this message template integrated for the all messages associated to a form. This message template is called $messages in the template [models/form.tpl] and can be moved to other place in this template. - Implemented the i18n using the message resources and the locale identifier provided by the HttpRequest. The webmesh-config offer you set the default locale based on the ISO format. This configuration can be retrieved by the method HttpRequest->getLocale(). If the webmesh-config does not have this configuration, the method getLocale() try to get the client locales. The message resources file must be named as shown below when you use locale identifier: - Location returned by the getLocale(): en-US. file name: application-resources_en-US.properties - Location returned by the getLocale(): en. file name: application-resources_en.properties - Location returned by the getLocale(): null (cannot identify the location). file name: application-resources.properties By default, the library does not use any locale. To enable this feature, set the property webmesh.resources.useLocales with the value [true] and set the default locale to be used in the property webmesh.locales if you want to force a default locale. Version 0.11.2 - 2008-03-08 - Created the folder [frameworks] in the [component/lib/] to store some frameworks available in the open source community. - Moved the framework xlibrary located in the path [component/lib/x] to [component/lib/frameworks/xlibrary-3.15.4]. - Added new framework to [frameworks] directory in the path [component/lib]: - jquery-1.2.3 -> allow you navegate and manipulate DOM elements using a simple language. - The dataobject API 1.5 was released. See the ChangeLog of this API to more information. Version 0.11.1 - 2007-10-18 - Reviewed the WebMeshMVC framework. - Changed the name of the descriptor field in the phpx.faces.html.PopupList class. - Fixed the computing of the pages in the phpx.faces.PagingBar class. - Fixed the result paging in the phpx.persistence.dataobject.DaoXmlPersistenceObject class. - The files action.php and view.php should use the method Importer::import() and specify the path to the module directly in the code. - Removed the Zend framework (add it if you need). - Removed the method to import zend components in the Importer class. Version 0.11 - 2007-05-25 - Added new package in the path [WEB-INF/classes/phpx]: imaget This package constains classes to manipulate images and apply transformations such as convert color to gray scale, generate thumbnail and watermarks. - Created the interfaces IList, IMap and IIteraotr to be implemented by the ArrayList, HashMap and ListIterator classes in the [util] package. - Added one new class that implements IList (LinkedList) in the [util] package. - Fixed some problems identified in faces package. - Changed the Importer class to uncouple the webmesh processor in the new class (WebMeshProcessor). - Changed the properties used by the WebMeshConfig as below: error.reporting -> webmesh.errors.level webmesh.template-engine -> webmesh.engine.template webmesh.persistence-engine -> webmesh.engine.persistence and added new properties as below: webmesh.resources.key webmesh.resources.location - Modified the Importer class to uncouple some tasks and assigning it to the classes that implements WebMeshProcessor. - Released webmeshmvc version 1.1 Version 0.10 - 2007-01-25 - Changed and complemented the PHPDoc of the packages: - persistence and persistence.dataobject packages (WEB-INF/classes/phpx/persistence) - webmeshmvc package (WEB-INF/lib/webmeshmvc/) - Changed form how to do forward() and includeContent() in RequestDispatcher (http package) - Added method flushBufferStream(name : string) in HttpResponse to flush buffer and force download. Version 0.9 - 2007-01-11 - Fixed package [net] to provide generic client and server socket connections. - Added class Properties in [util] package to load and save .properties files (based in Java Specification). - Changed something in http package: HttpRequest class: The method getCookies() returns a array of Cookie object instead of array of cookie value. and added method getCookiesValue() to provide it. Cookie: Added method toString() and __toString() for returns cookie value string. - Added new exception IllegalArgumentException and IllegalStateException in lang package - Importer was modified in some methods and in your form that object is instantiate also. - Instantiate Importer class using Importer::getInstance() method (new Importer() is deprecated) - It must be done invoking init() to load default configurations or initConfig(config : WebMeshConfig) for load configuration from a file. - Added static methods getProjectPath() and getClassPath() - Added method importTemplateProjectClass(file : string, viewPackage : string) : void to import classes based in template engine chosen. - Added method importTemplateEngine(engine : string) : void to import or configure templates engine. - Modified method persistence() to importPersistenceEngine(engine : string) : void to import or configure persistence engine. - Changed some classes in faces.html package. - Created a subproject webmeshmvc in WEB-INF/classes/lib to provide a implementation to the MVC pattern Version 0.8 - 2006-11-27 - Changes in http package - Created new methods in HttpRequest (getRequestURI, getRequestPageName and setParameter). - Fixed RequestDispatcher class (forward work now). - Changed all PHPDoc for correct format in all project classes. - Added classes in phpx.mail package: AbsractMail - superclass for classes that implemented send mail. Mail - already exists, but now extends AbstractMail AttachmentMail - send mail with attachment Multipart - class for perform atttachment file Version 0.7 - 2006-10-16 - Release the templates Tdelete_update, Tdelete_update_results and Tview based in HTTP 1.1 (Don't use super globals, use only HttpRequest, HttpSession and other objects). New features: - Use result list reference other class - Use period filter in search - Modfied themes struture to separate print stylesheet of screen stylesheet Provide a better separation and centralize the styles in one file called importer.css The themes can be included in the page directly or imported in import.js - Fixed package http [v1.1] - Compatilable with PHP 5.1.6 Version 0.6 - 2006-09-12 - Included various packages in [phpx] folder. Below, a package list: converting - provide classes to convert data between different charsets - 1.0 encoding - classes to encode something in other - 1.0 faces - API to implement a faces structure for web pages - 1.0 faces.html - Contain all implementated classes - 1.0 The main classes are: ComboBox and MultiSelectionList Grid - based on ActiveWidget 1.0 (JS) Tree - based on dTree (JS) Table HtmlEditor - based on FCKEditor 2.2/2.3 (JS) HtmlFragment and HtmlPage - containers for all faces classes graphic.chart-swf - provide several charts in flash format - 1.0 http - provide classes for interact with HTTP protocol, encapsulating global arrays ($_REQUEST, $_SESSION, $_COOKIE ...) - 1.1 io - provide writing and reading files - 1.1 lang - basic classes and data types - 1.0 mail - provide a simple send mail - 1.0 net - provide socket connections and address resolution - 1.0 persistence.mydao - simple connection with databases - 1.0 persistence.dataobject - ORM with direct mapping (Class - Table) - 1.3 util - contain data structures and other util classes - 1.0 xml - provide generate and manipulate xml files - 1.0 - Added the project ADLdap to provide more functionalities. net.sf.adldap - adapted for PHP5, provide access to the AD. - Moved and Changed all objects in [component/lib] become a separate objects in following structure: lib array - improvements for Array object asyn - provide AJAX functionalities eventListener - provide Observer pattern util - contain several objects to provide Cookie, Event, Validator ListManager and Common methods. x - library to provide cross-browsing xml - Create, load and manipulate XML files - Modified the Importer object in [component/] folder This new Importer was splited in two objects: Importer and Request To configure this object, the method init() is called and after imported objects, scrips or libraries. Version 0.5 - 2006-07-01 - Created a new method in Importer - Importer::importProjectClass() - to import classes contained in project path. New tree of the WEB-INF folder: WEB-INF classes com.company.project - project package phpx - API available for this framework config lib - Added new static methods Importer::getPhpxPath() and Importer::getBasePath() Version 0.4 - 2006-06-05 - Added package [graphic.chart-swf] that provide to create a variety of charts - Documentated io package - Added package lang containing String class based on API Java - Added in package util the Random class to provide string and number generation. - Added package http containing classes to represent request, response and cookie - Added more classes to http package - HttpService, Cookie, CookieValue. - Added package [persistence.dataobject] to provide a ORM framework using PEAR DB_DataObject - The package persistence.dataobject has been updated to version 1.2 and include several improvements in the abstraction. Classes: ConnectionManager - Worry only with connections, errors, debug and configurations in general. ConnectionData - Maintain all the connection informations. DaoMapping - Mapping table, primary key and joins contained in business classes DaoUtil - Utilities varied. Version 0.3 - 2006-05-29 - Added package [io] with classes to provide File writing and reading Classes: FileExtend, Writer, Reader, FileWriter, FileReader - Based in Java abstration, provide write and read of files and other functionalities - Added package [util] with classes miscelaneous Classes: *Stack, *HashMap, *ArrayList, *ListIterator - basic structures DateExtend (extends Date PEAR) NOTE: (*) - This classes has been take in Phrame Framework - Added in component/widget/htmleditor/editor-fck/ folder the FCKeditor widget (html editor) - Added to FCKeditor widget a new plugin: IManager Components: IManager plugin - provide insert image in FCKEditor Version 0.2 - 2006-05-01 - Added class Importer in WEB-INF to provide importing all classes in the WEB-INF folder. - Added package [import] to contain classes referring to import. Version 0.1 - 2006-04-15 - Created the common repository called [component] to include widgets and libraries in Javascript language - Created WEB-INF folder to contain the all classes and libraries of your project - Created in WEB-INF the lib folder to store libraries and frameworks - Added in WEB-INF/lib the frameworks: AMFPHP - bridge between PHP and Flash. Log4php - Implementation look like Log4j (Java), provide logging system with several features. Smarty - Provide creation and manipulation of templates. Zend - Contains various functionality. - Created in WEB-INF the config folder to contain configuration files. - Created in WEB-INF the classes folder to contain all classes. - Created in WEB-INF/classes the phpx folder to contain API classes. NOTE: The term package will be used to refer a folder in WEB-INF/classes/phpx path - Added package [persistence.mydao] in phpx folder to provide a simple database access and queries execution.
Project: WebMesh ChangeLog Version 0.13 - 2009-07-15 - Fixed bug and improved the methods getLocale and getLocales of the HttpRequest class (http package). - Included a more detailed message in an exception thrown by Properties class (util package). - Revised the README and EXAMPLE_README files. - Improved the subproject webmeshmvc with the following changes/improvement: - Included all messages sent to the view layer by the default actions in the resource file. - Changed the class MessageResourceConfig to support effectively the following locale hierarchy recognition: If the locale is 'en-US', in other words, have a language and country informations the MessageResourceConfig will try to identify the existence of the following resource file in this order: - <resource-file-name>_en-US.properties - <resource-file-name>_en.properties - <resource-file-name>.properties - Created the class WebMeshContext that represent the framework context when you can get some information related to this framework such as the resource bundle and the request and session contexts. Version 0.12 - 2009-04-23 After many time without changed, I can improve some parts of this framework to become it better. The changes applied were: - The package [persistence.dataobject] is improved and up to the version 1.6. It surfer the following changes: - Changed the form that the dataobject mapping was configured. Before, the class named DaoMapping should be configured inside the data object library. Now, the name of the mapping class is changed from DaoMapping to DataObjectMapping. To provide the mapping configuration, you need to extend the class DataObjectMapping and override some protected methods. See the PHPDoc contained in this class. After extend and override the methods, you need set the property [phpx.persistence.dataobject.mapping.className] with the location of the extended class from path [WEB-INF/classes] without '.php' extension. - Renamed the following interfaces: - BeanDaoObject -> EntityDaoObject - BeanObject -> EntityObject These changes generate a refactoring of all references to these interfaces. - Included the method getParameterDecoded() to the class HttpRequest. - Improved the http package: - Included a new variable visible in the scripts that include [WEB-INF/service.php]. The $resource variable. This variable contains the resource messages configured in the webmesh-config.properties. This resources is essential to apply i18n and messages centralized in one unique file. - Included a new method in HttpRequest: getAttributeScopes() that get attribute of the request or session contexts. - Changed the implementation of the methods getLocale() and getLocales() of the class HttpRequest. - Improved the io package: - Reviewed the classes FileExtend, FIleReader, FileWriter, Reader and Writer. - Created a new methods in the class FileExtend. - Implemented classes that let you serialize, unserialize and store objects. See the classes ObjectWriter, ObjectReader and FileObjectStore. - Changed the file README to provide the last changes in this framework. - Changed the library webmeshmvc: - Created some methods in the interfaces used by it. - Improved the message handling. Were created new categories of messages as shown below: - Global messages: This category was the unique category created. But now, this category are expanded to support severity levels (INFO, WARN and ERROR) and serve to be displayed with proposes globals. - Form messages: This category was created to refer messages to a form. As the global messages, this category have messages with severity level. To facilitate the life, was created a template view called SmartyDisplayMessageTemplateView that display messages stored by Action conform a list of message type passed to the your constructor. The template SmartyFormTemplateView already has this message template integrated for the all messages associated to a form. This message template is called $messages in the template [models/form.tpl] and can be moved to other place in this template. - Implemented the i18n using the message resources and the locale identifier provided by the HttpRequest. The webmesh-config offer you set the default locale based on the ISO format. This configuration can be retrieved by the method HttpRequest->getLocale(). If the webmesh-config does not have this configuration, the method getLocale() try to get the client locales. The message resources file must be named as shown below when you use locale identifier: - Location returned by the getLocale(): en-US. file name: application-resources_en-US.properties - Location returned by the getLocale(): en. file name: application-resources_en.properties - Location returned by the getLocale(): null (cannot identify the location). file name: application-resources.properties By default, the library does not use any locale. To enable this feature, set the property webmesh.resources.useLocales with the value [true] and set the default locale to be used in the property webmesh.locales if you want to force a default locale. Version 0.11.2 - 2008-03-08 - Created the folder [frameworks] in the [component/lib/] to store some frameworks available in the open source community. - Moved the framework xlibrary located in the path [component/lib/x] to [component/lib/frameworks/xlibrary-3.15.4]. - Added new framework to [frameworks] directory in the path [component/lib]: - jquery-1.2.3 -> allow you navegate and manipulate DOM elements using a simple language. - The dataobject API 1.5 was released. See the ChangeLog of this API to more information. Version 0.11.1 - 2007-10-18 - Reviewed the WebMeshMVC framework. - Changed the name of the descriptor field in the phpx.faces.html.PopupList class. - Fixed the computing of the pages in the phpx.faces.PagingBar class. - Fixed the result paging in the phpx.persistence.dataobject.DaoXmlPersistenceObject class. - The files action.php and view.php should use the method Importer::import() and specify the path to the module directly in the code. - Removed the Zend framework (add it if you need). - Removed the method to import zend components in the Importer class. Version 0.11 - 2007-05-25 - Added new package in the path [WEB-INF/classes/phpx]: imaget This package constains classes to manipulate images and apply transformations such as convert color to gray scale, generate thumbnail and watermarks. - Created the interfaces IList, IMap and IIteraotr to be implemented by the ArrayList, HashMap and ListIterator classes in the [util] package. - Added one new class that implements IList (LinkedList) in the [util] package. - Fixed some problems identified in faces package. - Changed the Importer class to uncouple the webmesh processor in the new class (WebMeshProcessor). - Changed the properties used by the WebMeshConfig as below: error.reporting -> webmesh.errors.level webmesh.template-engine -> webmesh.engine.template webmesh.persistence-engine -> webmesh.engine.persistence and added new properties as below: webmesh.resources.key webmesh.resources.location - Modified the Importer class to uncouple some tasks and assigning it to the classes that implements WebMeshProcessor. - Released webmeshmvc version 1.1 Version 0.10 - 2007-01-25 - Changed and complemented the PHPDoc of the packages: - persistence and persistence.dataobject packages (WEB-INF/classes/phpx/persistence) - webmeshmvc package (WEB-INF/lib/webmeshmvc/) - Changed form how to do forward() and includeContent() in RequestDispatcher (http package) - Added method flushBufferStream(name : string) in HttpResponse to flush buffer and force download. Version 0.9 - 2007-01-11 - Fixed package [net] to provide generic client and server socket connections. - Added class Properties in [util] package to load and save .properties files (based in Java Specification). - Changed something in http package: HttpRequest class: The method getCookies() returns a array of Cookie object instead of array of cookie value. and added method getCookiesValue() to provide it. Cookie: Added method toString() and __toString() for returns cookie value string. - Added new exception IllegalArgumentException and IllegalStateException in lang package - Importer was modified in some methods and in your form that object is instantiate also. - Instantiate Importer class using Importer::getInstance() method (new Importer() is deprecated) - It must be done invoking init() to load default configurations or initConfig(config : WebMeshConfig) for load configuration from a file. - Added static methods getProjectPath() and getClassPath() - Added method importTemplateProjectClass(file : string, viewPackage : string) : void to import classes based in template engine chosen. - Added method importTemplateEngine(engine : string) : void to import or configure templates engine. - Modified method persistence() to importPersistenceEngine(engine : string) : void to import or configure persistence engine. - Changed some classes in faces.html package. - Created a subproject webmeshmvc in WEB-INF/classes/lib to provide a implementation to the MVC pattern Version 0.8 - 2006-11-27 - Changes in http package - Created new methods in HttpRequest (getRequestURI, getRequestPageName and setParameter). - Fixed RequestDispatcher class (forward work now). - Changed all PHPDoc for correct format in all project classes. - Added classes in phpx.mail package: AbsractMail - superclass for classes that implemented send mail. Mail - already exists, but now extends AbstractMail AttachmentMail - send mail with attachment Multipart - class for perform atttachment file Version 0.7 - 2006-10-16 - Release the templates Tdelete_update, Tdelete_update_results and Tview based in HTTP 1.1 (Don't use super globals, use only HttpRequest, HttpSession and other objects). New features: - Use result list reference other class - Use period filter in search - Modfied themes struture to separate print stylesheet of screen stylesheet Provide a better separation and centralize the styles in one file called importer.css The themes can be included in the page directly or imported in import.js - Fixed package http [v1.1] - Compatilable with PHP 5.1.6 Version 0.6 - 2006-09-12 - Included various packages in [phpx] folder. Below, a package list: converting - provide classes to convert data between different charsets - 1.0 encoding - classes to encode something in other - 1.0 faces - API to implement a faces structure for web pages - 1.0 faces.html - Contain all implementated classes - 1.0 The main classes are: ComboBox and MultiSelectionList Grid - based on ActiveWidget 1.0 (JS) Tree - based on dTree (JS) Table HtmlEditor - based on FCKEditor 2.2/2.3 (JS) HtmlFragment and HtmlPage - containers for all faces classes graphic.chart-swf - provide several charts in flash format - 1.0 http - provide classes for interact with HTTP protocol, encapsulating global arrays ($_REQUEST, $_SESSION, $_COOKIE ...) - 1.1 io - provide writing and reading files - 1.1 lang - basic classes and data types - 1.0 mail - provide a simple send mail - 1.0 net - provide socket connections and address resolution - 1.0 persistence.mydao - simple connection with databases - 1.0 persistence.dataobject - ORM with direct mapping (Class - Table) - 1.3 util - contain data structures and other util classes - 1.0 xml - provide generate and manipulate xml files - 1.0 - Added the project ADLdap to provide more functionalities. net.sf.adldap - adapted for PHP5, provide access to the AD. - Moved and Changed all objects in [component/lib] become a separate objects in following structure: lib array - improvements for Array object asyn - provide AJAX functionalities eventListener - provide Observer pattern util - contain several objects to provide Cookie, Event, Validator ListManager and Common methods. x - library to provide cross-browsing xml - Create, load and manipulate XML files - Modified the Importer object in [component/] folder This new Importer was splited in two objects: Importer and Request To configure this object, the method init() is called and after imported objects, scrips or libraries. Version 0.5 - 2006-07-01 - Created a new method in Importer - Importer::importProjectClass() - to import classes contained in project path. New tree of the WEB-INF folder: WEB-INF classes com.company.project - project package phpx - API available for this framework config lib - Added new static methods Importer::getPhpxPath() and Importer::getBasePath() Version 0.4 - 2006-06-05 - Added package [graphic.chart-swf] that provide to create a variety of charts - Documentated io package - Added package lang containing String class based on API Java - Added in package util the Random class to provide string and number generation. - Added package http containing classes to represent request, response and cookie - Added more classes to http package - HttpService, Cookie, CookieValue. - Added package [persistence.dataobject] to provide a ORM framework using PEAR DB_DataObject - The package persistence.dataobject has been updated to version 1.2 and include several improvements in the abstraction. Classes: ConnectionManager - Worry only with connections, errors, debug and configurations in general. ConnectionData - Maintain all the connection informations. DaoMapping - Mapping table, primary key and joins contained in business classes DaoUtil - Utilities varied. Version 0.3 - 2006-05-29 - Added package [io] with classes to provide File writing and reading Classes: FileExtend, Writer, Reader, FileWriter, FileReader - Based in Java abstration, provide write and read of files and other functionalities - Added package [util] with classes miscelaneous Classes: *Stack, *HashMap, *ArrayList, *ListIterator - basic structures DateExtend (extends Date PEAR) NOTE: (*) - This classes has been take in Phrame Framework - Added in component/widget/htmleditor/editor-fck/ folder the FCKeditor widget (html editor) - Added to FCKeditor widget a new plugin: IManager Components: IManager plugin - provide insert image in FCKEditor Version 0.2 - 2006-05-01 - Added class Importer in WEB-INF to provide importing all classes in the WEB-INF folder. - Added package [import] to contain classes referring to import. Version 0.1 - 2006-04-15 - Created the common repository called [component] to include widgets and libraries in Javascript language - Created WEB-INF folder to contain the all classes and libraries of your project - Created in WEB-INF the lib folder to store libraries and frameworks - Added in WEB-INF/lib the frameworks: AMFPHP - bridge between PHP and Flash. Log4php - Implementation look like Log4j (Java), provide logging system with several features. Smarty - Provide creation and manipulation of templates. Zend - Contains various functionality. - Created in WEB-INF the config folder to contain configuration files. - Created in WEB-INF the classes folder to contain all classes. - Created in WEB-INF/classes the phpx folder to contain API classes. NOTE: The term package will be used to refer a folder in WEB-INF/classes/phpx path - Added package [persistence.mydao] in phpx folder to provide a simple database access and queries execution.
Project: WebMesh ChangeLog Version 0.13 - 2009-07-15 - Fixed bug and improved the methods getLocale and getLocales of the HttpRequest class (http package). - Included a more detailed message in an exception thrown by Properties class (util package). - Revised the README and EXAMPLE_README files. - Improved the subproject webmeshmvc with the following changes/improvement: - Included all messages sent to the view layer by the default actions in the resource file. - Changed the class MessageResourceConfig to support effectively the following locale hierarchy recognition: If the locale is 'en-US', in other words, have a language and country informations the MessageResourceConfig will try to identify the existence of the following resource file in this order: - <resource-file-name>_en-US.properties - <resource-file-name>_en.properties - <resource-file-name>.properties - Created the class WebMeshContext that represent the framework context when you can get some information related to this framework such as the resource bundle and the request and session contexts. Version 0.12 - 2009-04-23 After many time without changed, I can improve some parts of this framework to become it better. The changes applied were: - The package [persistence.dataobject] is improved and up to the version 1.6. It surfer the following changes: - Changed the form that the dataobject mapping was configured. Before, the class named DaoMapping should be configured inside the data object library. Now, the name of the mapping class is changed from DaoMapping to DataObjectMapping. To provide the mapping configuration, you need to extend the class DataObjectMapping and override some protected methods. See the PHPDoc contained in this class. After extend and override the methods, you need set the property [phpx.persistence.dataobject.mapping.className] with the location of the extended class from path [WEB-INF/classes] without '.php' extension. - Renamed the following interfaces: - BeanDaoObject -> EntityDaoObject - BeanObject -> EntityObject These changes generate a refactoring of all references to these interfaces. - Included the method getParameterDecoded() to the class HttpRequest. - Improved the http package: - Included a new variable visible in the scripts that include [WEB-INF/service.php]. The $resource variable. This variable contains the resource messages configured in the webmesh-config.properties. This resources is essential to apply i18n and messages centralized in one unique file. - Included a new method in HttpRequest: getAttributeScopes() that get attribute of the request or session contexts. - Changed the implementation of the methods getLocale() and getLocales() of the class HttpRequest. - Improved the io package: - Reviewed the classes FileExtend, FIleReader, FileWriter, Reader and Writer. - Created a new methods in the class FileExtend. - Implemented classes that let you serialize, unserialize and store objects. See the classes ObjectWriter, ObjectReader and FileObjectStore. - Changed the file README to provide the last changes in this framework. - Changed the library webmeshmvc: - Created some methods in the interfaces used by it. - Improved the message handling. Were created new categories of messages as shown below: - Global messages: This category was the unique category created. But now, this category are expanded to support severity levels (INFO, WARN and ERROR) and serve to be displayed with proposes globals. - Form messages: This category was created to refer messages to a form. As the global messages, this category have messages with severity level. To facilitate the life, was created a template view called SmartyDisplayMessageTemplateView that display messages stored by Action conform a list of message type passed to the your constructor. The template SmartyFormTemplateView already has this message template integrated for the all messages associated to a form. This message template is called $messages in the template [models/form.tpl] and can be moved to other place in this template. - Implemented the i18n using the message resources and the locale identifier provided by the HttpRequest. The webmesh-config offer you set the default locale based on the ISO format. This configuration can be retrieved by the method HttpRequest->getLocale(). If the webmesh-config does not have this configuration, the method getLocale() try to get the client locales. The message resources file must be named as shown below when you use locale identifier: - Location returned by the getLocale(): en-US. file name: application-resources_en-US.properties - Location returned by the getLocale(): en. file name: application-resources_en.properties - Location returned by the getLocale(): null (cannot identify the location). file name: application-resources.properties By default, the library does not use any locale. To enable this feature, set the property webmesh.resources.useLocales with the value [true] and set the default locale to be used in the property webmesh.locales if you want to force a default locale. Version 0.11.2 - 2008-03-08 - Created the folder [frameworks] in the [component/lib/] to store some frameworks available in the open source community. - Moved the framework xlibrary located in the path [component/lib/x] to [component/lib/frameworks/xlibrary-3.15.4]. - Added new framework to [frameworks] directory in the path [component/lib]: - jquery-1.2.3 -> allow you navegate and manipulate DOM elements using a simple language. - The dataobject API 1.5 was released. See the ChangeLog of this API to more information. Version 0.11.1 - 2007-10-18 - Reviewed the WebMeshMVC framework. - Changed the name of the descriptor field in the phpx.faces.html.PopupList class. - Fixed the computing of the pages in the phpx.faces.PagingBar class. - Fixed the result paging in the phpx.persistence.dataobject.DaoXmlPersistenceObject class. - The files action.php and view.php should use the method Importer::import() and specify the path to the module directly in the code. - Removed the Zend framework (add it if you need). - Removed the method to import zend components in the Importer class. Version 0.11 - 2007-05-25 - Added new package in the path [WEB-INF/classes/phpx]: imaget This package constains classes to manipulate images and apply transformations such as convert color to gray scale, generate thumbnail and watermarks. - Created the interfaces IList, IMap and IIteraotr to be implemented by the ArrayList, HashMap and ListIterator classes in the [util] package. - Added one new class that implements IList (LinkedList) in the [util] package. - Fixed some problems identified in faces package. - Changed the Importer class to uncouple the webmesh processor in the new class (WebMeshProcessor). - Changed the properties used by the WebMeshConfig as below: error.reporting -> webmesh.errors.level webmesh.template-engine -> webmesh.engine.template webmesh.persistence-engine -> webmesh.engine.persistence and added new properties as below: webmesh.resources.key webmesh.resources.location - Modified the Importer class to uncouple some tasks and assigning it to the classes that implements WebMeshProcessor. - Released webmeshmvc version 1.1 Version 0.10 - 2007-01-25 - Changed and complemented the PHPDoc of the packages: - persistence and persistence.dataobject packages (WEB-INF/classes/phpx/persistence) - webmeshmvc package (WEB-INF/lib/webmeshmvc/) - Changed form how to do forward() and includeContent() in RequestDispatcher (http package) - Added method flushBufferStream(name : string) in HttpResponse to flush buffer and force download. Version 0.9 - 2007-01-11 - Fixed package [net] to provide generic client and server socket connections. - Added class Properties in [util] package to load and save .properties files (based in Java Specification). - Changed something in http package: HttpRequest class: The method getCookies() returns a array of Cookie object instead of array of cookie value. and added method getCookiesValue() to provide it. Cookie: Added method toString() and __toString() for returns cookie value string. - Added new exception IllegalArgumentException and IllegalStateException in lang package - Importer was modified in some methods and in your form that object is instantiate also. - Instantiate Importer class using Importer::getInstance() method (new Importer() is deprecated) - It must be done invoking init() to load default configurations or initConfig(config : WebMeshConfig) for load configuration from a file. - Added static methods getProjectPath() and getClassPath() - Added method importTemplateProjectClass(file : string, viewPackage : string) : void to import classes based in template engine chosen. - Added method importTemplateEngine(engine : string) : void to import or configure templates engine. - Modified method persistence() to importPersistenceEngine(engine : string) : void to import or configure persistence engine. - Changed some classes in faces.html package. - Created a subproject webmeshmvc in WEB-INF/classes/lib to provide a implementation to the MVC pattern Version 0.8 - 2006-11-27 - Changes in http package - Created new methods in HttpRequest (getRequestURI, getRequestPageName and setParameter). - Fixed RequestDispatcher class (forward work now). - Changed all PHPDoc for correct format in all project classes. - Added classes in phpx.mail package: AbsractMail - superclass for classes that implemented send mail. Mail - already exists, but now extends AbstractMail AttachmentMail - send mail with attachment Multipart - class for perform atttachment file Version 0.7 - 2006-10-16 - Release the templates Tdelete_update, Tdelete_update_results and Tview based in HTTP 1.1 (Don't use super globals, use only HttpRequest, HttpSession and other objects). New features: - Use result list reference other class - Use period filter in search - Modfied themes struture to separate print stylesheet of screen stylesheet Provide a better separation and centralize the styles in one file called importer.css The themes can be included in the page directly or imported in import.js - Fixed package http [v1.1] - Compatilable with PHP 5.1.6 Version 0.6 - 2006-09-12 - Included various packages in [phpx] folder. Below, a package list: converting - provide classes to convert data between different charsets - 1.0 encoding - classes to encode something in other - 1.0 faces - API to implement a faces structure for web pages - 1.0 faces.html - Contain all implementated classes - 1.0 The main classes are: ComboBox and MultiSelectionList Grid - based on ActiveWidget 1.0 (JS) Tree - based on dTree (JS) Table HtmlEditor - based on FCKEditor 2.2/2.3 (JS) HtmlFragment and HtmlPage - containers for all faces classes graphic.chart-swf - provide several charts in flash format - 1.0 http - provide classes for interact with HTTP protocol, encapsulating global arrays ($_REQUEST, $_SESSION, $_COOKIE ...) - 1.1 io - provide writing and reading files - 1.1 lang - basic classes and data types - 1.0 mail - provide a simple send mail - 1.0 net - provide socket connections and address resolution - 1.0 persistence.mydao - simple connection with databases - 1.0 persistence.dataobject - ORM with direct mapping (Class - Table) - 1.3 util - contain data structures and other util classes - 1.0 xml - provide generate and manipulate xml files - 1.0 - Added the project ADLdap to provide more functionalities. net.sf.adldap - adapted for PHP5, provide access to the AD. - Moved and Changed all objects in [component/lib] become a separate objects in following structure: lib array - improvements for Array object asyn - provide AJAX functionalities eventListener - provide Observer pattern util - contain several objects to provide Cookie, Event, Validator ListManager and Common methods. x - library to provide cross-browsing xml - Create, load and manipulate XML files - Modified the Importer object in [component/] folder This new Importer was splited in two objects: Importer and Request To configure this object, the method init() is called and after imported objects, scrips or libraries. Version 0.5 - 2006-07-01 - Created a new method in Importer - Importer::importProjectClass() - to import classes contained in project path. New tree of the WEB-INF folder: WEB-INF classes com.company.project - project package phpx - API available for this framework config lib - Added new static methods Importer::getPhpxPath() and Importer::getBasePath() Version 0.4 - 2006-06-05 - Added package [graphic.chart-swf] that provide to create a variety of charts - Documentated io package - Added package lang containing String class based on API Java - Added in package util the Random class to provide string and number generation. - Added package http containing classes to represent request, response and cookie - Added more classes to http package - HttpService, Cookie, CookieValue. - Added package [persistence.dataobject] to provide a ORM framework using PEAR DB_DataObject - The package persistence.dataobject has been updated to version 1.2 and include several improvements in the abstraction. Classes: ConnectionManager - Worry only with connections, errors, debug and configurations in general. ConnectionData - Maintain all the connection informations. DaoMapping - Mapping table, primary key and joins contained in business classes DaoUtil - Utilities varied. Version 0.3 - 2006-05-29 - Added package [io] with classes to provide File writing and reading Classes: FileExtend, Writer, Reader, FileWriter, FileReader - Based in Java abstration, provide write and read of files and other functionalities - Added package [util] with classes miscelaneous Classes: *Stack, *HashMap, *ArrayList, *ListIterator - basic structures DateExtend (extends Date PEAR) NOTE: (*) - This classes has been take in Phrame Framework - Added in component/widget/htmleditor/editor-fck/ folder the FCKeditor widget (html editor) - Added to FCKeditor widget a new plugin: IManager Components: IManager plugin - provide insert image in FCKEditor Version 0.2 - 2006-05-01 - Added class Importer in WEB-INF to provide importing all classes in the WEB-INF folder. - Added package [import] to contain classes referring to import. Version 0.1 - 2006-04-15 - Created the common repository called [component] to include widgets and libraries in Javascript language - Created WEB-INF folder to contain the all classes and libraries of your project - Created in WEB-INF the lib folder to store libraries and frameworks - Added in WEB-INF/lib the frameworks: AMFPHP - bridge between PHP and Flash. Log4php - Implementation look like Log4j (Java), provide logging system with several features. Smarty - Provide creation and manipulation of templates. Zend - Contains various functionality. - Created in WEB-INF the config folder to contain configuration files. - Created in WEB-INF the classes folder to contain all classes. - Created in WEB-INF/classes the phpx folder to contain API classes. NOTE: The term package will be used to refer a folder in WEB-INF/classes/phpx path - Added package [persistence.mydao] in phpx folder to provide a simple database access and queries execution.
Project: WebMesh ChangeLog Version 0.13 - 2009-07-15 - Fixed bug and improved the methods getLocale and getLocales of the HttpRequest class (http package). - Included a more detailed message in an exception thrown by Properties class (util package). - Revised the README and EXAMPLE_README files. - Improved the subproject webmeshmvc with the following changes/improvement: - Included all messages sent to the view layer by the default actions in the resource file. - Changed the class MessageResourceConfig to support effectively the following locale hierarchy recognition: If the locale is 'en-US', in other words, have a language and country informations the MessageResourceConfig will try to identify the existence of the following resource file in this order: - <resource-file-name>_en-US.properties - <resource-file-name>_en.properties - <resource-file-name>.properties - Created the class WebMeshContext that represent the framework context when you can get some information related to this framework such as the resource bundle and the request and session contexts. Version 0.12 - 2009-04-23 After many time without changed, I can improve some parts of this framework to become it better. The changes applied were: - The package [persistence.dataobject] is improved and up to the version 1.6. It surfer the following changes: - Changed the form that the dataobject mapping was configured. Before, the class named DaoMapping should be configured inside the data object library. Now, the name of the mapping class is changed from DaoMapping to DataObjectMapping. To provide the mapping configuration, you need to extend the class DataObjectMapping and override some protected methods. See the PHPDoc contained in this class. After extend and override the methods, you need set the property [phpx.persistence.dataobject.mapping.className] with the location of the extended class from path [WEB-INF/classes] without '.php' extension. - Renamed the following interfaces: - BeanDaoObject -> EntityDaoObject - BeanObject -> EntityObject These changes generate a refactoring of all references to these interfaces. - Included the method getParameterDecoded() to the class HttpRequest. - Improved the http package: - Included a new variable visible in the scripts that include [WEB-INF/service.php]. The $resource variable. This variable contains the resource messages configured in the webmesh-config.properties. This resources is essential to apply i18n and messages centralized in one unique file. - Included a new method in HttpRequest: getAttributeScopes() that get attribute of the request or session contexts. - Changed the implementation of the methods getLocale() and getLocales() of the class HttpRequest. - Improved the io package: - Reviewed the classes FileExtend, FIleReader, FileWriter, Reader and Writer. - Created a new methods in the class FileExtend. - Implemented classes that let you serialize, unserialize and store objects. See the classes ObjectWriter, ObjectReader and FileObjectStore. - Changed the file README to provide the last changes in this framework. - Changed the library webmeshmvc: - Created some methods in the interfaces used by it. - Improved the message handling. Were created new categories of messages as shown below: - Global messages: This category was the unique category created. But now, this category are expanded to support severity levels (INFO, WARN and ERROR) and serve to be displayed with proposes globals. - Form messages: This category was created to refer messages to a form. As the global messages, this category have messages with severity level. To facilitate the life, was created a template view called SmartyDisplayMessageTemplateView that display messages stored by Action conform a list of message type passed to the your constructor. The template SmartyFormTemplateView already has this message template integrated for the all messages associated to a form. This message template is called $messages in the template [models/form.tpl] and can be moved to other place in this template. - Implemented the i18n using the message resources and the locale identifier provided by the HttpRequest. The webmesh-config offer you set the default locale based on the ISO format. This configuration can be retrieved by the method HttpRequest->getLocale(). If the webmesh-config does not have this configuration, the method getLocale() try to get the client locales. The message resources file must be named as shown below when you use locale identifier: - Location returned by the getLocale(): en-US. file name: application-resources_en-US.properties - Location returned by the getLocale(): en. file name: application-resources_en.properties - Location returned by the getLocale(): null (cannot identify the location). file name: application-resources.properties By default, the library does not use any locale. To enable this feature, set the property webmesh.resources.useLocales with the value [true] and set the default locale to be used in the property webmesh.locales if you want to force a default locale. Version 0.11.2 - 2008-03-08 - Created the folder [frameworks] in the [component/lib/] to store some frameworks available in the open source community. - Moved the framework xlibrary located in the path [component/lib/x] to [component/lib/frameworks/xlibrary-3.15.4]. - Added new framework to [frameworks] directory in the path [component/lib]: - jquery-1.2.3 -> allow you navegate and manipulate DOM elements using a simple language. - The dataobject API 1.5 was released. See the ChangeLog of this API to more information. Version 0.11.1 - 2007-10-18 - Reviewed the WebMeshMVC framework. - Changed the name of the descriptor field in the phpx.faces.html.PopupList class. - Fixed the computing of the pages in the phpx.faces.PagingBar class. - Fixed the result paging in the phpx.persistence.dataobject.DaoXmlPersistenceObject class. - The files action.php and view.php should use the method Importer::import() and specify the path to the module directly in the code. - Removed the Zend framework (add it if you need). - Removed the method to import zend components in the Importer class. Version 0.11 - 2007-05-25 - Added new package in the path [WEB-INF/classes/phpx]: imaget This package constains classes to manipulate images and apply transformations such as convert color to gray scale, generate thumbnail and watermarks. - Created the interfaces IList, IMap and IIteraotr to be implemented by the ArrayList, HashMap and ListIterator classes in the [util] package. - Added one new class that implements IList (LinkedList) in the [util] package. - Fixed some problems identified in faces package. - Changed the Importer class to uncouple the webmesh processor in the new class (WebMeshProcessor). - Changed the properties used by the WebMeshConfig as below: error.reporting -> webmesh.errors.level webmesh.template-engine -> webmesh.engine.template webmesh.persistence-engine -> webmesh.engine.persistence and added new properties as below: webmesh.resources.key webmesh.resources.location - Modified the Importer class to uncouple some tasks and assigning it to the classes that implements WebMeshProcessor. - Released webmeshmvc version 1.1 Version 0.10 - 2007-01-25 - Changed and complemented the PHPDoc of the packages: - persistence and persistence.dataobject packages (WEB-INF/classes/phpx/persistence) - webmeshmvc package (WEB-INF/lib/webmeshmvc/) - Changed form how to do forward() and includeContent() in RequestDispatcher (http package) - Added method flushBufferStream(name : string) in HttpResponse to flush buffer and force download. Version 0.9 - 2007-01-11 - Fixed package [net] to provide generic client and server socket connections. - Added class Properties in [util] package to load and save .properties files (based in Java Specification). - Changed something in http package: HttpRequest class: The method getCookies() returns a array of Cookie object instead of array of cookie value. and added method getCookiesValue() to provide it. Cookie: Added method toString() and __toString() for returns cookie value string. - Added new exception IllegalArgumentException and IllegalStateException in lang package - Importer was modified in some methods and in your form that object is instantiate also. - Instantiate Importer class using Importer::getInstance() method (new Importer() is deprecated) - It must be done invoking init() to load default configurations or initConfig(config : WebMeshConfig) for load configuration from a file. - Added static methods getProjectPath() and getClassPath() - Added method importTemplateProjectClass(file : string, viewPackage : string) : void to import classes based in template engine chosen. - Added method importTemplateEngine(engine : string) : void to import or configure templates engine. - Modified method persistence() to importPersistenceEngine(engine : string) : void to import or configure persistence engine. - Changed some classes in faces.html package. - Created a subproject webmeshmvc in WEB-INF/classes/lib to provide a implementation to the MVC pattern Version 0.8 - 2006-11-27 - Changes in http package - Created new methods in HttpRequest (getRequestURI, getRequestPageName and setParameter). - Fixed RequestDispatcher class (forward work now). - Changed all PHPDoc for correct format in all project classes. - Added classes in phpx.mail package: AbsractMail - superclass for classes that implemented send mail. Mail - already exists, but now extends AbstractMail AttachmentMail - send mail with attachment Multipart - class for perform atttachment file Version 0.7 - 2006-10-16 - Release the templates Tdelete_update, Tdelete_update_results and Tview based in HTTP 1.1 (Don't use super globals, use only HttpRequest, HttpSession and other objects). New features: - Use result list reference other class - Use period filter in search - Modfied themes struture to separate print stylesheet of screen stylesheet Provide a better separation and centralize the styles in one file called importer.css The themes can be included in the page directly or imported in import.js - Fixed package http [v1.1] - Compatilable with PHP 5.1.6 Version 0.6 - 2006-09-12 - Included various packages in [phpx] folder. Below, a package list: converting - provide classes to convert data between different charsets - 1.0 encoding - classes to encode something in other - 1.0 faces - API to implement a faces structure for web pages - 1.0 faces.html - Contain all implementated classes - 1.0 The main classes are: ComboBox and MultiSelectionList Grid - based on ActiveWidget 1.0 (JS) Tree - based on dTree (JS) Table HtmlEditor - based on FCKEditor 2.2/2.3 (JS) HtmlFragment and HtmlPage - containers for all faces classes graphic.chart-swf - provide several charts in flash format - 1.0 http - provide classes for interact with HTTP protocol, encapsulating global arrays ($_REQUEST, $_SESSION, $_COOKIE ...) - 1.1 io - provide writing and reading files - 1.1 lang - basic classes and data types - 1.0 mail - provide a simple send mail - 1.0 net - provide socket connections and address resolution - 1.0 persistence.mydao - simple connection with databases - 1.0 persistence.dataobject - ORM with direct mapping (Class - Table) - 1.3 util - contain data structures and other util classes - 1.0 xml - provide generate and manipulate xml files - 1.0 - Added the project ADLdap to provide more functionalities. net.sf.adldap - adapted for PHP5, provide access to the AD. - Moved and Changed all objects in [component/lib] become a separate objects in following structure: lib array - improvements for Array object asyn - provide AJAX functionalities eventListener - provide Observer pattern util - contain several objects to provide Cookie, Event, Validator ListManager and Common methods. x - library to provide cross-browsing xml - Create, load and manipulate XML files - Modified the Importer object in [component/] folder This new Importer was splited in two objects: Importer and Request To configure this object, the method init() is called and after imported objects, scrips or libraries. Version 0.5 - 2006-07-01 - Created a new method in Importer - Importer::importProjectClass() - to import classes contained in project path. New tree of the WEB-INF folder: WEB-INF classes com.company.project - project package phpx - API available for this framework config lib - Added new static methods Importer::getPhpxPath() and Importer::getBasePath() Version 0.4 - 2006-06-05 - Added package [graphic.chart-swf] that provide to create a variety of charts - Documentated io package - Added package lang containing String class based on API Java - Added in package util the Random class to provide string and number generation. - Added package http containing classes to represent request, response and cookie - Added more classes to http package - HttpService, Cookie, CookieValue. - Added package [persistence.dataobject] to provide a ORM framework using PEAR DB_DataObject - The package persistence.dataobject has been updated to version 1.2 and include several improvements in the abstraction. Classes: ConnectionManager - Worry only with connections, errors, debug and configurations in general. ConnectionData - Maintain all the connection informations. DaoMapping - Mapping table, primary key and joins contained in business classes DaoUtil - Utilities varied. Version 0.3 - 2006-05-29 - Added package [io] with classes to provide File writing and reading Classes: FileExtend, Writer, Reader, FileWriter, FileReader - Based in Java abstration, provide write and read of files and other functionalities - Added package [util] with classes miscelaneous Classes: *Stack, *HashMap, *ArrayList, *ListIterator - basic structures DateExtend (extends Date PEAR) NOTE: (*) - This classes has been take in Phrame Framework - Added in component/widget/htmleditor/editor-fck/ folder the FCKeditor widget (html editor) - Added to FCKeditor widget a new plugin: IManager Components: IManager plugin - provide insert image in FCKEditor Version 0.2 - 2006-05-01 - Added class Importer in WEB-INF to provide importing all classes in the WEB-INF folder. - Added package [import] to contain classes referring to import. Version 0.1 - 2006-04-15 - Created the common repository called [component] to include widgets and libraries in Javascript language - Created WEB-INF folder to contain the all classes and libraries of your project - Created in WEB-INF the lib folder to store libraries and frameworks - Added in WEB-INF/lib the frameworks: AMFPHP - bridge between PHP and Flash. Log4php - Implementation look like Log4j (Java), provide logging system with several features. Smarty - Provide creation and manipulation of templates. Zend - Contains various functionality. - Created in WEB-INF the config folder to contain configuration files. - Created in WEB-INF the classes folder to contain all classes. - Created in WEB-INF/classes the phpx folder to contain API classes. NOTE: The term package will be used to refer a folder in WEB-INF/classes/phpx path - Added package [persistence.mydao] in phpx folder to provide a simple database access and queries execution.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?