History of KernelInitialization
Version 6 | Current version | |
---|---|---|
For every page request, here is what the KernelPackage will do: |TikiSystem::scanPackages() is an important function, and if you are reading this page, you should try to trace that function out. scanPackages will: 1. Define 2 constants for every TikiPackage.The kernel will assume every directory in the TikiPro root is a package, and will make the constants <DIRECTORYNAME>_PKG_URL and <DIRECTORYNAME>_PKG_PATH. For example, the wiki/ directory will cause WIKI_PKG_URL and WIKI_PKG_PATH to be defined. These constants should be used when including files, such asinclude_once (HTML_PKG_PATH.'htmlpages_lib.php'); or for setting URL's such as header ("location: ".POLLS_PKG_PATH."results.php?pollId=$pollId"); Fires documentation Initiativeok everyone, this is Fire, I'm taking it apon myself to interview the the great minds of tikipro inorder to document and explain how the tickipro ticks...I am starting with a bottom up approach - thats right! With the very first file that is accessed when someone visits your tikipro site - index.php... from here, I will go through line by line documenting the main functions that get executed, and what the heck acutally happens. I am going to try to explain the system as simple as possible... ... you see... I actually dont know how the heck the thing works yet.. so... uh, Im gonna get good'ole spider, xing, and drewslater and others who wanna help (who I probably havent met yet) to help me demystify this nice web application! Fortunetally, Tikipro seams to be really well put together, so my task shouldn't be that hard! PS. Please bear with me all you senior gurus... I am a beginner, and I hope my attempts to do this are welcomed... I really hope my efforts will help others to join our project!!! Cheers Ok! Here goes: index.php whats in it?
Besides determining whether or not tikipro is plugged into a valid database or not, index.php merely sets up the layout by calling: $gTikiSystem->loadLayout(); and then does a smarty call to kernel/dynamic.tpl to display our beautiful tikipro webapplication. So what does loadLayout() do?$gTikiSystem->loadLayout(); loads each module into an array called gCenterPieces, and then uses smarty to call kernel/dynamic.tpl which displays all the active modules the webpageVoila... thats all folks! Summary
| Table of Contents What does the Kernel do when EACH page is servedFor every page request, here is what the KernelPackage will do:TikiSystem::scanPackages()TikiSystem::scanPackages() is an important function, and if you are reading this page, you should try to trace that function out. scanPackages will:1. Define 2 constants for every bitweaverPackage.The kernel will assume every directory in the bitweaver root is a package, and will make the constants <directoryname>_PKG_URL and <directoryname>_PKG_PATH. For example, the wiki/ directory will cause WIKI_PKG_URL and WIKI_PKG_PATH to be defined. These constants should be used when including files, such asinclude_once (HTML_PKG_PATH.'htmlpages_lib.php'); or for setting URL's such as header ("location: ".POLLS_PKG_PATH."results.php?pollId=$pollId"); Fires documentation Initiative Introductionok everyone, this is Fire, I'm taking it upon myself to interview the the great minds of bitweaver in order to document and explain how the tickipro ticks...I am starting with a bottom up approach - thats right! With the very first file that is accessed when someone visits your bitweaver site - index.php... from here, I will go through line by line documenting the main functions that get executed, and what the heck actually happens. I am going to try to explain the system as simple as possible... ... you see... I actually don't know how the heck the thing works yet.. so... uh, Im gonna get good'ole spider, xing, and drewslater and others who wanna help (who I probably haven't met yet) to help me demystify this nice web application! Fortunately, bitweaver seams to be really well put together, so my task shouldn't be that hard! PS. Please bear with me all you senior gurus... I am a beginner, and I hope my attempts to do this are welcomed... I really hope my efforts will help others to join our project!!! Cheers Ok! Here goes: index.php whats in it?
Besides determining whether or not bitweaver is plugged into a valid database or not, index.php merely sets up the layout by calling: $gTikiSystem->loadLayout(); and then does a smarty call to kernel/dynamic.tpl to display our beautiful bitweaver web application. So what does loadLayout() do?$gTikiSystem->loadLayout(); loads each module into a variable called TikiSystem->mLayout and then uses smarty to call kernel/dynamic.tpl which displays all the active modules on the webpage in order and in the right place! This allows administrators to customize the layout of bitweaver.. admins can place modules in the left,right, or center column.Not enough control for ya????If an administrator wants to modify the layout in other ways... like... say, adding a custom menu bar at the very top of the page... he must work with the theme system...Please refer the .tpl's in the themes/force directories... Other things to note:
Voila... thats all folks! Summary of index.php
</directoryname></directoryname> |