Sources for file docs/features.txt in version 3.0
Click on a comment to hide it. Click here to show all comments.
* Authentication abstraction layer.
xnyo is designed to be able to use seperate authenticaton modules and switch easily between them.
Say you authenticate normally against a Windows 2000 Active Directory domain, and your server goes
down for an extended period of time. You can just change a config option in your authentication
script
and immediately switch to using an sql database, or some other method.
* Full Access Control at any level.
xnyo allows you to control who-goes-where on your web application. Access is on a group/username
level,
with controls set for site-wide, page, code block, or template block control of access.
* Database abstraction and management layer.
The xnyo database abstraction layer is designed to provide a simple but same set of functions to
access
a variety of databases, similar to ODBC.
* Automated GET/POST/COOKIE variable filtering.
By default, and if enabled, xnyo will not allow ANY GET/POST/COOKIE variables into your scripts,
unless you
tell it you want them, and what types they are. For example, say you have a GET variable called
"id" you
want to use, simply tell xnyo its an integer, and it will strip out all non-integer characters, and
allow
you access to it. The purpose behind this is two-fold: Security checking for all variables, and
denying
any unwanted variables their place.
* HTML caching/Website generation.
If you know your pages wont change for a certain period of time, or before a certain time, or if
you don't
want them to change, you can use xnyo's inbuilt caching feature. The idea is to save yourself
parsing
time and resources, by returning the HTML straight to the user. You can tell xnyo to wait a certain
period
of time before regenerating pages, or to do it on the first access after a certain time.
The ability to add an output filename to the cache means that you can create a fully static website
from the cache
and have xnyo generate/regenerate parts of it whenever you like.
* Uses the Smarty Template Engine for full logic/design seperation.
We believe firmly in the seperation of PHP code and HTML. This allows designers to change the look
and feel
of your website, without getting confused by the PHP that runs it. To this end, we use the Smarty
Template
Engine. We also provide our own template functions for easier integration with the rest of xnyo's
features.
* Language Detection
xnyo will attempt to detect the languages that a user feels are acceptable. Simply configure which
languages
you support, and xnyo will pick the best one. It then leaves how you treat that language up to you,
for example
using it to fetch templates suited to that language.
* Easy loading configuration files.
xnyo allows you to load configuration variables from files/databases. This means that if you use
the same
configurable options in your script in multiple places across your site, then you can move these to
a
configuration file, and a single method call will load those options into an array for you.
* Fully pluginable interface.
Nearly every aspect of xnyo is pluginable. From the database and authentication abstraction layers,
to the
HTML cache, configuration files, and finally you're own plugins. Simply drop your plugins into the
specified
plugin directory and xnyo will load it upon request. This means if you use certain functions
repeatedly
across your site, you can have xnyo load them into your script with a simple call. This also allows
you to
take full advantage of classes/objects. Configuration options specify which plugin to use for the
abstraction
layers and config/cache features. So it is a simple matter to drop your own plugins in and have
xnyo use those instead.
* Debug console
Our newest feature, when allowed, appending ?debug=true to a page will bring up a button for the
xnyo Debug Console.
The Debug Console allows you to view almost everything that is happening in your pages, with a log
of all Debug notices,
PHP error messages, and many many other sources of information. See here for more.
