PeecFW

PeecFW is a free and open source framework and Content Management System (CMS), written in PHP, released under the GNU General Public License. PeecFW is built upon big libraries such as Smarty and Doctrine as well as Htmlpurifier.
PeecFW is not operated by, endorsed by, or affiliated with PKJ Corp in any way. PKJ Corp is however sponsoring hosting for the project.
History
The development of the framework PeecFW started in early 2010. PeecFW is based under the GNU General Public License and is free of charge. PeecFW was first created to be used for a commercial project, but later on published as free of charge software. The framework was based on PHP and ORM based database handeling.
PeecFW was BETA for quite a while until it was released as the first STABLE release 30 September 2010
CMS
At 9 November 2010, one of the developers - Petter Kjelkenes, announced in the company blog that the framework will be default installed to a CMS. However, it would still be usable as a framework.
MAT: Module Application Template
PeecFW is not based on the MVC model. It's based on a new concept called Module Application Template - which is quite like; but not the same as the MVC model. The difference is that the controller is built in the Module. The Application is the framework level libraries and the Application and Module has access to a template engine instance for its own.
Modular Design
PeecFW has a modular design in which you can create modules and templates for the framework itself.
Modules
Modules can be forexample: Blog system, News system, Forum, Library, Gallery, Voting Application, Authentication system, Admin panel, and etc.
Modules extend PeecFW's Module API and PeecFW can have many modules installed. Modules can rely on other modules. This means that modules is reusable and you can use logic from other modules in a specific module.
Modules can be seen as extensions to the framework, it's up to the developer to create modules or use 3rdparty modules. Multiple modules can be run per page request, how many modules is run per page depends on what the module is relying on and what modules the template is requesting.
Modules output got .tpl files that is parsed with Smarty before it's delivered to the Template. Do notice that the Template can override these tpl files, so content delivered from modules does not have to be decided in the module folder itself.
Templates
By default PeecFW comes with some templates (themes). The templates are the design (look and feel) of the main output before it's delivered to the end user.
Templates are the main view of the application output. The template decides what to be displayed before it's finally parsed with Smarty and displayed to the users. The template will run one main module from the controller logic and can also use other modules independent of the controller. The independent modules will not be affiliated with the controller logic, but it's still useful because one can use the modules API to get forexample news posts.
The template can override modules default tpl files, wich means that the template can actually change all the content from the module if a template developer want's to do that.
Templates in PeecFW does not contain any kind of PHP Logic but only Smarty syntax.
Security
PeecFW has strict blocking of any kind of malicious code injections. By default PeecFW blocks Cross-site_scripting and SQL injection in the framework level. This means that modules should be safe for these kinds of attacks.
Downloading PeecFW
PeecFW have various of Downloading routines. It can be done with subversion or by downloading "stable release".
Automatic database migrations
When it comes to updating PeecFW, it's done by downloading the latest code and running an update script.
The update script generates migrations based on the new changes to the database structure and execute migration processes in order to keep the database intact. This means that manually writing SQL code for updating structure of exisiting installs is no longer needed. Another benefit is that a developer does not have to care what version the end-user has, because the migrations is getting generated per end-user install from current version to latest version (and not from 2.0 to 2.1, 2.1 to 2.2, etc.)
This means that a user can go from PeecFW version 1.0.3 to 5.0.2 without problems.
 
< Prev   Next >