Search
Table of ContentsGeneral introduction
Index Copyright and legal issues

# General introduction

## Prelude

Dear reader

Welcome and thank you for choosing this product.

This program took years of hard development work and many hours that numerous helping hands invested by providing notices, suggestions and tests to steadily improve the quality of the program.

All these hours have been lots of joy to me and all those who have been working on this projects.

We hope that the result of our work will be usefull and give you the same pleasure that we had programing it. Please provide us with your experiences and comments. If you got suggestions on how to improve this work, I will appreciate your e-mail.

Thomas Meyer

## Description

This program package contains two foundamental units.

First a "framework". It supports the development of applications in PHP by providing ready-to-use compontents. Examples: user management, authentication, database API, or templates. In addition it helps developers to write clean code by enforcing the use of a 3 layer architecture. (Compare: "Model-View-Controler") This framework and the underlying architecture have been named "Yana PHP-Framework" .

On the other hand this program provides software components (plug-ins), which use the framework, translations and skins.

Currently the following plug-ins are available:

- guestbook
- RSS feed reader
- search engine
- web-log
- project manager
- IP filter with blacklist / whitelist

## Features

- for end users:
  - free PHP guestbook, free search engine, free web-log
  - online-administration
  - login- and user management for multiple users
  - pre-installed protection against unrequested ads and flooding
  - skinable and multi-lingual
- for developers:
  - supported database systems: MySQL, PostgreSQL, IBM DB2, Oracle DB (Oci), MS SQL-Server, text files
  - code generator creates complete applications on demand
  - runtime configurable, free combinable plug-ins
  - virtual database simulates DB-server on your demand
  - extensive code- and class library
  - AJAX support
  - interface to run cron-jobs
  - prepared for portable applications on CD/DVD
- comprehensive manual with step-by-step install instructions

## system requirements

The following minimum conditions have to be met so the program can run properly:

- Apache or compatible web server
- PHP 4.3, PHP 5.2 or later
- at least 5 MB free storage capacity
- a minimum of 32MB RAM (see also "php.ini-directives: memory_limit")

- to be able to use database features, PEAR-DB has to be installed as well.
- to be able to use image functions like CAPTCHA, the GD library has to be installed.
- If you decide to use a database, you may choose from: MySQL 4 or later, PostgreSQL 8.3 or later, Microsoft SQL-Server 2003 or later, DB2 V9, Oracle (Oci8). Recommendation: MySQL 5

The following configuration is recommended:

- current Xampp version (includes Apache, MySQL, mail server and PHP)
- Apache 2.0
- PHP 5 with PEAR-DB, GD-Library and XML parser
- MySQL 5

Notice to PHP newbies: This software requires PHP and thus will possibly not run on your local harddisk, but only on the internet. To be able to run this software on your web site your provider needs to support PHP. If in doubt, ask your provider.

## Notes on compatibility

In this section you will find references to peculiarities of certain system configurations, as well as information on typical configuration errors and advice that can help you, if you encounter problems during the installation.

- Windows with PHP4 and Zend-Optimizer: windows users, who run PHP with the "Zend-Optimizer" installed, should try to deactive this extension in "php.ini" if they encounter problems. It is known that this combination may cause problems in connection with the PCRE library.
- SELinux: Some users have reported they had problems setting the right access restrictions for users and directories on systems that use the Linux extension "SELinux". If this is the case, please consult the SELinux-documentation for more information on configuration. You should especially note the instructions for setting up policies.
- Suhosin-extension: The "Suhosin" extension for PHP may cause problems with the library PCLZip, which is used in the installation program of the framework. In this case you may run the installation manually or try to deactivate Suhosin.
- MSSQL driver configuration: Users of MSSQL should check the driver settings in "php.ini" prior to setting a system in productive mode. Note the option "mssql.textlimit". Per default it is set to a limit of 4 kbyte. Please check if this setting is convenient for your purpose. If you plan to store texts or files larger than 4 kbyte in your database, you may want to adjust these settings to your needs.
- MSSQL connection problems: If you encounter difficulties while trying to connect with your database, make sure that you have the correct version of the file "ntwdblib.dll installed. The version which is shipped with PHP may not always be suitable for your version of the SQL server. If so, copy the correct file to your PHP installation directory. For further information see the PHP manual on the keyword MSSQL.
- PostgreSQL connection problems: Users of PostgreSQL who encounter problems connecting to the database should check the settings inside the "pg_hba.conf" file located in the directory 'data' of their postgres installation. This restricts access to the server for external users and may prevent a connection to the database.
- Safe-mode: The Yana Framework is fully compatible with PHP's safe-mode.

## included files

Files
1 | `index.php` | index site
2 | `library.php` | loads system libraries
3 | `cli.php` | command-line program to run cron-jobs
common directories
4 | `cache/` | directory for temporary data and log files
5 | `common_files/smilies` | new emot-icons may be placed here
6 | `config/` | configuration files
7 | `engine/` | template engine
directories, where your extensions and applications are stored
8 | `languages/` | translators may add their language packs here
9 | `plugins/` | PHP programmers may put their extensions and applications here
10 | `skins/` | web designers may create and edit additional skins and layouts here
11 | `config/db/` | databases and configuration files
12 | `config/db/*/` | uploaded files (binary large objects) are stored in .blob/. Configuration files use the extension "config". All data resides in its own respective directories.
configuration files
13 | `config/profiles/` | settings made in the administration menus
14 | `config/_drive.config` | path setting for system files
15 | `config/dbconfig.php` | parameters for your database connection
16 | `config/system.config` | system configuration

Note: If you created new skins, plug-ins or translations and believe these may also be of interest to other users, please let us know. We would be pleased to provide interesting solutions to other users for free.
Index Copyright and legal issues

Thomas Meyer, www.yanaframework.net