QuickFox 2 presentation Dec 20 2008
This is the second presentation of QuickFox 2. Here you can 'Watch' it slide by slide
Good morning.
Today I want to tell you about QuickFox 2 – my main project for now.
QuickFox is content management system for web servers using PHP.
Content management system (shortly CMS) is a program running on server and made to visualize, create, store and edit web site contents. Such programs are very useful when you need to make your own cool site but you don’t want or don’t know how to make scripts for you server.
Of course you still can just use static HTML pages. But it isn’t so easy to mange sites using statics. Any contents update forces you to edit some pages on server to add or remove links and references, and you are lucky if pages amount is less then 10.
When you use CMS, site updates are very easy.
Another significant advantage of scripted site contents is various feedback capabilities: statistics, guestbooks, forums and more.
QuickFox was started in 2006. Now it is complex strongly structured software.
Main points of this project are speed of page generation, total flexibility, high security and compactness.
QuickFox is script oriented. This means that all data manipulative actions are represented by small scripts named DataScripts. Each datascript is used to parse or prepare data. Top level module runs datascripts according to client request and system configuration.
There are six datascript types.
The ‘page’ type is used for scripts that return information for the main part of HTML output. This is the main datascript type.
‘datapages’ are used when it is needed to send non-HTML content to client: pictures, CSS information and other.
‘scripts’ does not draw anything on screen. This datascripts return only a short string to be visualized by top module.
‘panels’ return contents for side panels which usually show some statistics or news.
‘ajax scripts’ used to parse data being dynamically sent from client by JavaScripts to update some parts of HTML being viewed. AJAX (Asynchronous JavaScript + XML).
‘admpanel’ type is for datascripts used in administrative page generation.
It’s easy to extend QuickFox. It supports special packages. Each package may contain datascripts, modules, visual styles and any additional data.
Due to special structure of inner descriptive data storages each package may provide additional functions just by describing its configuration values, datascripts, styles and etc. These data storages are also very useful for package-relative data, providing capability of packages interacting.
On this slide you can see QuickFox-based server dataflows diagram.
As it shows all input/output operations are controlled by Foxtrot kernel which QuickFox 2 is based on. All datascripts output goes through Fox2 module of QuickFox. All QuickFox and packages modules are connected to Foxtrot kernel and use its additional functionality.
Here you can see how the data flows inside the Foxtrot kernel. All the data getting in or out from the system are parsed through kernel modules. That’s why the actual program (QuickFox) does not worry about format conversions and server configuration; it gets ready to use data.
Foxtrot controlled dataflows were observed in my previous presentation in June. You can review it on QuickFox site.
With no packages installed QuickFox provides functionality to store, visualize and edit static pages and uploaded files. Also you can control client’s access to stored data.
QuickFox provides unified configuration and data storage interfaces that make its extending very easy.
QuickFox 2 requirements are unpretentious. All you need to install QuickFox is Apache server with PHP 4.1.0 and MySQL 4.10 installed. Even free hosting offers provide such software set.
Now QuickFox 2 is still in development, but even in this state it handles http://quickfox.ru and http://foxel.quickfox.ru
QuickFox is free and can be downloaded from quickfox.ru
Well I told you everything I wanted to. Of course I can tell you much more about QuickFox or Foxtrot. So if you want to know more, feel free to ask or mail me later.
Thank you!
And happy New Year!