History of PreflightConcept

Version 13

PreflightConcept

Bare minimum kernel for install

Created by: Stephan Borg, Last modification: 19 Sep 2004 (13:10 UTC) by Stephan Borg

Background

The Preflight CVS branch is based on an email sent to the dev list in 17 June, 2004. Here is an excerpt:
...
1 - Preflight check of configuration, database connection, valid admin user account, valid tiki tables (eg tiki_preferences) and other checks that without TP wouldn't run properly. At the moment, you are whisked away to install/install.php where the admin account passwd is ignored and the install is a little rough, overwriting existing admin info and allowing complete initialisation of the database.

2 - Considering you still need a templating and formatting framework, I began wondering if the base class should actually not be TikiDB.php but something else (TikiSystem maybe?). TP classes are all inherited from TikiDB - meaning it needs to be working with a valid DB connection before you get anywhere. As much as it would prove useless, I believe that if our base class should do basic formatting, themeing, templating, etc - and DB connections should be secondary to this. This would allow the install to be better integrated into the kernel and in theory be more stable.
...


Preflight will not be a release, seperate installer or anything like that. Preflight is basically a method to reduce our kernel to the lowest common denominator or functions and classes, to enable basic Tikipro functionality. This should, in theory, provide a more stable and streamlined kernel to be merged back into Clyde.

Introduction

So, here's what I've got in my head...

The preflight core would consist of kernel/, lang/, themes/ and util/.

The initial objective is to present an empty page with no database connection, no users but a selection of languages and themes via the modules.

The reason for this - the first page of the install could be used to select a language (and maybe a theme), without necessarily having a db connection, preferences or users for that matter.

If we can build the kernel to support these functions, without a database or users, it would be perfect for the installer and provide and even more stable kernel for Tikipro. If we can present smarty templates, in different languages, different themes, default preferences, no database, no users - we will have a rock solid foundation to build clyde upon.

I have suggested we move AdoDB and Smarty to utils/, as they are 3rd party code and libraries and should be kept seperately for updating seperately.

The Future

This is the future of Tikipro (as I see it anyway). If you have ideas for fundamental changes, this is the place to raise them, and submit if majority agrees.

Visit the forum and have your say.

Preflight Sequence of Initialisation

What to Check

PHP.INI settings

The code here should ini_get settings and compare with recommended values. If they do not meet recommended values, either (to be decided) set dynamically or advise to change in the PHP.INI file.

PHP Libraries

Check to see if suitable libraries and versions are available, such as GD, ImageMagick, LDAP, MySQL, PgSQL - possible even AdoDB and Smarty (I've noticed FC2 now comes with an AdoDB rpm).

Database Connection

Using TikiDB, check for valid database settings/URI and connection.

Database Tables

Check if core database tables exists, such as users_users (for admin account), tiki_preferences (for preferences), etc.
Page History
Date/CommentUserIPVersion
13 Nov 2008 (18:27 UTC)
xing62.47.245.7116
Current • Source
Stephan Borg218.214.1.11315
View • Compare • Difference • Source
Stephan Borg218.214.1.11314
View • Compare • Difference • Source
Stephan Borg218.214.1.11313
View • Compare • Difference • Source
Stephan Borg218.214.1.11312
View • Compare • Difference • Source
Stephan Borg218.214.1.11311
View • Compare • Difference • Source
Stephan Borg218.214.1.11310
View • Compare • Difference • Source
Stephan Borg218.214.1.1139
View • Compare • Difference • Source
Stephan Borg218.214.1.1138
View • Compare • Difference • Source
Stephan Borg218.214.1.1137
View • Compare • Difference • Source
Stephan Borg218.214.1.1136
View • Compare • Difference • Source
Stephan Borg218.214.1.1135
View • Compare • Difference • Source
Stephan Borg218.214.1.1134
View • Compare • Difference • Source
Stephan Borg218.214.1.1133
View • Compare • Difference • Source
Stephan Borg218.214.1.1132
View • Compare • Difference • Source