Apache Shindig PHP Running PHP Shindig from SVN ----------- This file is intended to be a supplement to the general README file, the release version has a slightly different file path configuration Differences between the release version and a svn checkout ----------- Shindig's svn repository contains both the Java and PHP versions of shindig, and the shared content and features code. To make PHP Shindig work from svn, its default file path configurations in /php/config/container.php are all configured for a file path layout where the features and content code is contained in a directory level above the php folder (ie /php/../{features, content}), resulting in a folder layout like: shindig/ (contains the shared README, NOTICE, LICENSE, etc files) shindig/content (contains shared javascript code) shindig/features (contains shared features code) shindig/config (contains the shared configuration) shindig/java (contains the java-shindig implementation) shindig/php (contains the php-shindig implementation) The release script moves these folders to the top level php folder and makes the php folder the top level folder when building it's archives, so in other words the content and features code will be located in /{features, content}, resulting in the folowing layout: shindig/ (contains the php implementation(!) & the php specific README, NOTICE, LICENSE, etc files) shindig/content (contains shared javascript code) shindig/features (contains shared features code) shindig/config (contains both the shared as wel as php specific configuration) .. etc .. Switching from release to svn, and back ----------- There are 2 configurations that need to be updated to switch from release to a svn version: 1) Apache's virtual host configuration: The DirectoryRoot for the release version is /, while the DirectoryRoot for the svn version is /php, ie: RELEASE ServerName your.host DocumentRoot /var/www/html/shindig ... other normal settings in vhosts... AllowOverride All SVN ServerName your.host DocumentRoot /var/www/html/shindig/php ... other normal settings in vhosts... AllowOverride All 2) PHP Shindig's configuration The file paths of all the shared resources are different between the released and svn versions in the config/container.php config file (notice the extra ../ for the content, features and jsondb path's with the SVN version) RELEASE 'base_path' => realpath(dirname(__FILE__) . '/..') . '/', 'features_path' => realpath(dirname(__FILE__) . '/../features/src/main/javascript/features') . '/', 'container_path' => realpath(dirname(__FILE__) . '/../config') . '/', 'javascript_path' => realpath(dirname(__FILE__) . '/../content') . '/', 'private_key_file' => realpath(dirname(__FILE__) . '/../certs') . '/private.key', 'public_key_file' => realpath(dirname(__FILE__) . '/../certs') . '/public.crt', 'private_key_phrase' => 'SOMEKEY', 'jsondb_path' => realpath(dirname(__FILE__) . '/../content/sampledata') . '/canonicaldb.json', SVN 'base_path' => realpath(dirname(__FILE__) . '/..') . '/', 'features_path' => realpath(dirname(__FILE__) . '/../../features/src/main/javascript/features') . '/', 'container_path' => realpath(dirname(__FILE__) . '/../../config') . '/', 'javascript_path' => realpath(dirname(__FILE__) . '/../../content') . '/', 'private_key_file' => realpath(dirname(__FILE__) . '/../certs') . '/private.key', 'public_key_file' => realpath(dirname(__FILE__) . '/../certs') . '/public.crt', 'private_key_phrase' => 'SOMEKEY', 'jsondb_path' => realpath(dirname(__FILE__) . '/../../content/sampledata') . '/canonicaldb.json',