Looks like the problem is related to cache, as I told you before. Please correct this line:
// If you use CacheStorageFile as caching backend, this is the directory where it stores the temporary files 'cache_root' => '/tmp/shindig', Change '/tmp/shindig' to a writable directory on your machine. Must be something like: 'cache_root' => 'c:/temp/shindig', All other files looks great. Make your tests and tell me how it goes. Robson Dantas 2010/3/24 Yan Bu <[email protected]> > Hi, Rob, here is the container.php file. I did not change anything. Thanks! > > <?php > /** > * Licensed to the Apache Software Foundation (ASF) under one > * or more contributor license agreements. See the NOTICE file > * distributed with this work for additional information > * regarding copyright ownership. The ASF licenses this file > * to you under the Apache License, Version 2.0 (the > * "License"); you may not use this file except in compliance > * with the License. You may obtain a copy of the License at > * > * http://www.apache.org/licenses/LICENSE-2.0 > * > * Unless required by applicable law or agreed to in writing, > * software distributed under the License is distributed on an > * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY > * KIND, either express or implied. See the License for the > * specific language governing permissions and limitations > * under the License. > */ > > /** > * The default configuration settings > * > * Put any site specific configuration in a config/local.php file, this way > * your configuration won't be lost when upgrading shindig. If your site > don't > * support any services just use empty string as the service name. i.e. > * 'messages_service' => '' > * > * in local.php you only have to specificy the fields you want to overwrite > * with other values, for example on a production system you would probably > have: > * $shindigConfig = array( > * 'debug' => false, > * 'allow_plaintext_token' => false, > * 'token_cipher_key' => 'MySecretKey', > * 'token_hmac_key' => 'MyOtherSecret', > * 'private_key_phrase' => 'MyCertificatePassword', > * 'person_service' => 'MyPeopleService', > * 'activity_service' => 'MyActivitiesService', > * 'app_data_service' => 'MyAppDataService', > * 'messages_service' => 'MyMessagesService', > * 'oauth_lookup_service' => 'MyOAuthLookupService' > * 'xrds_location' => 'http://www.mycontainer.com/xrds', > * 'check_file_exists' => false > * ); > * > */ > $shindigConfig = array( > // Show debug backtrace's. Disable this on a production site > 'debug' => true, > // do real file_exist checks? Turning this off can be a big performance > gain on prod servers but also risky & less verbose errors > 'check_file_exists' => true, > > // Allow plain text security tokens, this is only here to allow the sample > files to work. Disable on a production site > 'allow_plaintext_token' => true, > > // Is a valid security token required to render a gadget? The token is > required for doing signed preloads, but disallowing this > // can also help prevent external parties using your rendering server > (only for the paranoid :) > 'render_token_required' => false, > > // Normally we would only rewrite the gadget's html if it has the > <Optional feature="content-rewrite"> set, however with this you can > // force the content to always be rewritten > 'rewrite_by_default' => false, > > // Should we sanitize (remove scripts) from certain views? Right now this > is useless, but once service sided templating and OSML is done > // this could be useful to force (fast) html only gadgets on the profile > and/or home view. Set this to false or to an array of view names like: > array('profile', 'home') > 'sanitize_views' => false, > > // Compress the inlined javascript, saves upto 50% of the document size > 'compress_javascript' => true, > > // Default refresh interval for proxy/makeRequest's if none is specified > in the query > 'default_refresh_interval' => 1209587, > > // The URL Prefix under which shindig lives ie if you have > http://myhost.com/shindig/php set web_prefix to /shindig/php > 'web_prefix' => '', > // If you changed the web prefix, add the prefix to these too > 'default_js_prefix' => '/gadgets/js/', > 'default_iframe_prefix' => '/gadgets/ifr?', > > // The X-XRDS-Location value for your implementing container, see > http://code.google.com/p/partuza/source/browse/trunk/Library/XRDS.php for > an > example > 'xrds_location' => '', > > // Allow anonymous (READ) access to the profile information? (aka REST and > JSON-RPC interfaces) > // setting this to false means you have to be authenticated through OAuth > to read the data > 'allow_anonymous_token' => true, > > // The encryption keys for encrypting the security token, and the > expiration of it. Make sure these match the keys used in your > container/site > 'token_cipher_key' => 'INSECURE_DEFAULT_KEY', > 'token_hmac_key' => 'INSECURE_DEFAULT_KEY', > 'token_max_age' => 60 * 60, > > // Ability to customize the style thats injected into the gadget document. > Don't forget to put the link/etc colors in shindig/config/container.js too! > 'gadget_css' => 'body,td,div,span,p{font-family:arial,sans-serif;} a > {color:#0000cc;}a:visited {color:#551a8b;}a:active > {color:#ff0000;}body{margin: 0px;padding: 0px;background-color:white;}', > > // P3P privacy policy to use for the iframe document > 'P3P' => 'CP="CAO PSA OUR"', > > // The locations of the various required components on disk. If you did a > normal svn checkout there's no need to change these > '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__) . '/../../javascript') . > '/', > > // The OAuth SSL certificates to use, and the pass phrase for the private > key > 'private_key_file' => realpath(dirname(__FILE__) . '/../certs') . > '/private.key', > 'public_key_file' => realpath(dirname(__FILE__) . '/../certs') . > '/public.crt', > 'private_key_phrase' => 'partuza', > > // the path to the json db file, used only if your using the > JsonDbOpensocialService example/demo service > 'jsondb_path' => realpath(dirname(__FILE__) . > '/../../javascript/sampledata') . '/canonicaldb.json', > > // Force these libraries to be external (included through <script > src="..."> tags), this way they could be cached by the browser > 'forcedJsLibs' => '', > > // After checking the internal __autoload function, shindig can also call > the 'extension_autoloader' function to load an > // unknown custom class, this is particuarly useful for when intergrating > shindig into an existing framework that also depends on autoloading > 'extension_autoloader' => false, > > // Configurable classes. Change these to the class name to use, and make > sure the auto-loader can find them > 'blacklist_class' => 'BasicGadgetBlacklist', > 'remote_content' => 'BasicRemoteContent', > 'remote_content_fetcher' => 'BasicRemoteContentFetcher', > 'security_token_signer' => 'BasicSecurityTokenDecoder', > 'security_token' => 'BasicSecurityToken', > 'oauth_lookup_service' => 'BasicOAuthLookupService', > // The OAuth Store is used to store the (gadgets/)oauth proxy credentials > it obtained on behalf of the user/gadget combo > 'oauth_store' => 'BasicOAuthStore', > > // Caching back-end's to use. Shindig ships with CacheStorageFile, > CacheStorageApc and CacheStorageMemcache support > // The data cache is primarily used for remote content (proxied files, > gadget spec, etc) > // and the feature_cache is used to cache the parsed features xml > structure and javascript > // On a production system you probably want to use CacheStorageApc for > features, and CacheStorageMemcache for the data cache > 'data_cache' => 'CacheStorageFile', > 'feature_cache' => 'CacheStorageFile', > > // RESTful API data service classes to use > // See > http://code.google.com/p/partuza/source/browse/#svn/trunk/Shindigfor > a MySql powered example > 'person_service' => 'JsonDbOpensocialService', > 'activity_service' => 'JsonDbOpensocialService', > 'app_data_service' => 'JsonDbOpensocialService', > 'messages_service' => 'JsonDbOpensocialService', > 'invalidate_service' => 'DefaultInvalidateService', > 'album_service' => 'JsonDbOpensocialService', > 'media_item_service' => 'JsonDbOpensocialService', > > // Also scan these directories when looking for <Class>.php files. You can > include multiple paths by seperating them with a , > 'extension_class_paths' => '', > > 'userpref_param_prefix' => 'up_', > 'libs_param_name' => 'libs', > > // If you use CacheStorageMemcache as caching backend, change these to the > memcache server settings > 'cache_host' => 'localhost', > 'cache_port' => 11211, > // When using CacheStorageMemcache, should we use pconnect? There are some > reports that apache/mpm + memcache_pconnect can lead to segfaults > 'cache_memcache_pconnect' => true, > 'cache_time' => 24 * 60 * 60, > // If you use CacheStorageFile as caching backend, this is the directory > where it stores the temporary files > 'cache_root' => '/tmp/shindig', > > // connection timeout setting for all curl requests, set this time > something low if you want errors reported > // quicker to the end user, and high (between 10 and 20) if your on a slow > connection > 'curl_connection_timeout' => '10', > 'curl_request_timeout' => '10', > > // If your development server is behind a proxy, enter the proxy details > here in 'proxy.host.com:port' format. > 'proxy' => '', > > // If your server is behind a reverse proxy, set the real hostname here so > that OAuth signatures match up, for example: > // 'http_host' => 'modules.partuza.nl' > 'http_host' => false, > > // Container id, used for security token > 'container_id' => 'default' > ); >
