User:Piskunov/sandbox

Jaws is a web application framework but it is also a Content Management System since, due to the applications with which it is distributed, can perform both functions.

It is written in PHP and relies on an external database for content storage.

It is open source: The "core" of the framework is released under the LGPL but is used the GPL license for the rest.

Prerequisites
Jaws requires a web server with support for PHP. The reference server is Apache, but Jaws is also used successfully on IIS, Nginx and other web servers. There is the need for a database, the reference is MySQL, but since Jaws interfaces to the databases through MDB2 (a layer of abstraction that makes the framework independent of the particular database used), Jaws can also use other database, such as: MSSQL, PostgreSQL, Oracle, Interbase / Firebird, SQLite.

Description
Applications that are developed for the JAWS framework are called gadgets. Gadgets provide the end user with many features to manage the content of a website. For example: there is a gadget to create static pages, one to manage a blog, one for the photo galleries, one for contact forms, etc.

In addition to Gadgets there is also a system of plugins. Plugins allow the manipulation the way contents are presented on the site. They can operate whether by intercepting calls to the framework or by filtering. So that they can manipulate the behavior of the site and the way in which contents are displayed.

Gadgets availability
Below is a list of some of the applications supplied with the official release of Jaws:


 * StaticPage (Allows management of static pages, with support for multiple languages)
 * Blocks (Allows management of simple blocks of HTML code to insert on the site)
 * Blog (Allows you to create a blog)
 * Phoo (Gallery / Photo Blog)
 * Menu (Allows you to create one or more menu tree in which categorize contents of the site)
 * SimpleSite (Allows you to create a site map)
 * Search (Provide a keywords search engine that search in the contents archived by the various gadgets)
 * Chatbox (chat for visitors of site)
 * Contact (Provide a contact form)
 * Banner (Manages and maintains the accounting for banners displayed on the site)
 * FileBrowser (Upload and manages files)
 * RssReader (Allows to import and display external feeds on the site)
 * Launcher ( Allows to launch PHP script outside the framework)
 * Other gadgets available: Poll, Emblems, Friends, Weather, FAQ, Glossary, Languages​​, LinkDump, Quotes, SysInfo, Users, Cam, Servertime, VisitCounter

Many other gadgets are part of the "core" of the Jaws framework and are used primarily for its administration / configuration.

Plugins availability
Among the available plugins: AccessLimiter, AlbumCover, BlockImport, Exchange, FileBrowser, GlossaGlossy, NiceFormat, SmartBridge, SyntaxHighlight, ActionImport, AntiSpammers, Emoticons, FastLinks, FindFriend, GoogleHighlight, PhooInsert, SpellNumber.

Translations
Jaws has been translated into the following languages: Arabic, Bengali, Brazilian Portuguese, Catalan, Czech, Danish, Dutch, Finnish, French, German, Hebrew, International English, Italian, Japanese, Norwegian, Persian, Polish, Romanian, Russian,  Simplified Chinese, Spanish, Swedish, turkish.

Further translations into other languages ​​are possible, starting from the English translation, using the gadget languages​​.

Administration
Jaws has a control panel.

Each gadget has an admin interface, accessible from the control panel, through which you can manage the contents and change the settings of the gadget.

Other settings of the framework, user management, security policies, installation of gadgets / plugins, etc, are performed through the use of specific gadgets that are part of the "core" of Jaws.

All settings of the framework and gadgets are stored in a tree-style register similar to the Windows Registry in the form of (key -> value). The register can be manipulated from the control panel through the use of a specific gadget named Registry.

Users Management
Jaws allows for granular management of users permissions. The access rules can be defined on user or group basis, establishing for each gadget which operations are allowed for each user/group.

Appearance and Themes
The appearance of the site is customizable through the use of themes. A theme, in its simplest form, consists of an HTML template file, which defines the structure of the page, a file info.ini (containing a brief description: author's name, theme name, version, etc), eventual CSS, images and anything else necessary to define the look and feel.

Inside the template file are placed markers that determine where the gadgets should be placed, where should be placed the main content, meta-data and other parts of the structure of the web pages of the site that need to be managed dynamically.

This makes very easy to adapt for use on Jaws, pre-existing templates (such as those provided by third-party sites) by simply adding markers and making few other changes. It requires no special programming skills but the knowledge of 'HTML and CSS. On the other hand, the use of a single template makes the structure of the site little frozen, not having the possibility of being able to define different templates according to the contents. However, Jaws allows you to set what are the gadgets always visible on the site and those that will be shown in conjunction with the gadgets shown as the main content. The arrangement of gadgets is managed through the gadget 'Layout'

Distribution
Jaws is distributed as a compressed archive. There are two versions, the "complete" that contains all the gadgets, all the plugins and all the themes of the official distribution and the "core" that contains only the essential for the operation of the framework. In any case, gadgets and themes can be downloaded individually.

Version under development
The next version of Jaws will be the 0.9.x. Among the new features will be use of HTML5 templates and the release of new gadgets, especially the Forum gadget.

A copy of the latest development snapshot can be obtained by using Git. Currently, the development proceeds here.