|
CDD: How Well Are You Talking To Your Customers?
White Paper
|
|
||||
| Copyright P. Simon Tuffs, 2004. All Rights Reserved. | CDD Version 0.1.0, PHP Version 5.2.9 |
Alternatively, if you would like us to host your CDD site for a reasonable monthly fee, please let us know. Hosting has the advantages of zero setup and maintainance on your part, together with benefitting from automatic software updates as they are released.
Finally, CDD is implemented on top of a portable Flat File Database called FFDB. Our intepretation of the integration between CDD and FFDB led to our decision to place CDD under the terms of the GPL. To this end, the full source-code for CDD is available from the project CVS repository at sourceforge.net. Consideration should be given to the implications of the GPL if you decide to produce a derivative product, or integrate it with your own software.
Our testing has shown that the FFDB database exhibits poor performance for more than a few hundred entries. CDD uses a DAO (Data Access Objects) abstraction that makes it simple to switch over to a relational database technology if your user-base grows to that size. Please contact us if you would like to purchase an SQL database binding for the CDD DAO layer.
/home/groups/c/cd/cdd/htdocs
Important: If you link to the CDD software at SourceForge.net in this way, you should also register with the CDD release process so that as the software evolves, your CDD information can evolve with it. We make no representation as to support or warranty (see the GPL license), but we will attempt to let you know when major changes are coming so that you can test your use of CDD against the coming upgrades if you are registered with the system.
You must therefore be running an HTTP server which has PHP 4 support enabled, and which renders requests that end with .php through tthe PHP 4 engine. Most web-hosting sites are PHP 4 enabled.
The installation steps are given below:chmod a+w example-db will usually do the trick.
The example-config.php file specifies at least eight configuration parameters for the CDD system:
// Specify path to CDD PHP codebase here. Must end with '/', and point to the PHP codebase root.
// The following will work for the example CDD distribution.
define(CDD_CODEBASE, dirname(__FILE__)."/");
ini_set('include_path', CDD_CODEBASE);
// Project configuration
define("CDD_PROJECT_NAME", "Test Project for CDD Remoting");
// Email setup: you must specify valid SMTP server and user credentials here. Beware that
// if you use 'nobody' in the FROM_USER and REPLY_TO fields, your emails may not get through
// your users' spam filters.
ini_set("SMTP", YOUR_SMTP_SERVER);
define("CDD_FROM_USER", YOUR_FROM_USER);
define("CDD_REPLY_TO", YOUR_REPLY_TO);
// You must specify non-null passwords and keys here. The ADMIN_PASSWORD
// must be the md5() checksum of the actual password, but DO NOT use
// the md5 function to generate it here, otherwise your password is in plaintext in this
// file and you have opened a huge security hole.
define("CDD_PASSWORD", YOUR_CDD_PASSWORD);
define("CDD_PASSPHRASE", YOUR_CDD_PASSPHRASE);
define("CDD_PUBLICKEY", YOUR_CDD_PUBLICKEY);
define("ADMIN_USERNAME", YOUR_ADMIN_USERNAME);
define("ADMIN_PASSWORD", YOUR_ADMIN_PASSWORD);
// Database locations (local filesystem). Note the trailing slash!
define("DB_DIRECTORY", dirname(__FILE__)."/example-db/");
define("ADMIN_DIRECTORY", dirname(__FILE__)."/example-db/");
You must edit the configuration parameters beginning with the YOUR_ prefix. Some of them can be
the same, for example YOUR_PASSWORD and YOUR_PASSPHRASE. Most of these
are obvious, but the critical one is YOUR_CDD_INSTALLATION which must be the fully rooted
path to the place where you installed the PHP code for CDD on your server. For example,
on a Windows System using Apache 2.0 installed as part of the WAMPP2 distribution this
would be
define(YOUR_CDD_INSTALLATION, 'c:/wampp2/htdocs/cdd/');Pay close attention to the presence of a trailing '/' in this path. Note: you don't have to use the PHP define mechanism, you can simple edit the YOUR_XXX placeholders. Also note that while it would be ideal to host the CDD software on an HTTP server and include it from there, we have not been able to make this work (even though this was one of the original goals of the CDD project). The value for YOUR_CDD_INSTALLATION must be a directory in the server's local file-system.
Each of these links demonstrates a particular aspect of the CDD system: