phpModuleManager Version 0.7
                         by codewright




1. PURPOSE

  phpModuleManager is supposed to handle configuration issues that 
evolve when using script (php) based modules. A module can be a 
website, a library and so on. These modules can be updated using cvs 
or svn, still using the same configuration files. Also dependencies 
can be added, which will automatically be recognized and handled. 
Updating or synchronizing using Ftp is made easier as well, because 
configuration files reside outside the main directory.


2. FILE MODEL

  The modules don't really need to bring along a configuration file,
because all look the same. A distribution config file is recommended
for making deployment easier. Additional you can provide version 
files that provide information that needs to be updated along with
the code.

 
For each Module it assumes the following structure:

	$Root/					- $Root;
		$ModuleName/			- $ModuleDir
			[www/]			- $PublicDir / $PublicHttp
				[dyndata/]	- $DataDir   / $DataHttp
			[lib/]			- $LibDir
			[Module.conf]
		config/
			[$ModuleName.conf]
	

Each Module includes the config.php in $Root which loads all 
configurations and modules needed by the current module, which is 
identified throught the $MODULE variable.
While loading a Module, the ModuleManager tries to load the 
Module.conf in the modules directory and searches for a 
.conf in the configuration directory.


[Module]					// loaded from Module.conf
Version   = 0.1					// +
Author    = codewright [AT] gmx [.] net		// +
Type      = Library				// + 
ModuleDir = 					// set by phpModuleManager

[DefaultSQL]					// independent config section
Host      = 					// +


MODULE DISCOVERY AND CONFIGURATION:
  If a Module is requested phpModuleManager first looks for an appropriate
directory in the root path. If it's successful the module is loaded by 
parsing the Module.conf within this directory. Additionally a file called 
.conf is searched in the config directory. It is included and 
appended to the loaded configuration.