SwiftMedia using Rackspace Cloud Files
Oh, $wgSwiftConf is just a variable I made up on my testwikis to separate out the private stuff. You can use any variable name that you want, but you'll have to define it yourself. You still want to have:
'swiftAuthUrl' => $wgSwiftConf['authUrl'], 'swiftUser' => $wgSwiftConf['user'], 'swiftKey' => $wgSwiftConf['key'],
...you just have to define $wgSwiftConf, like: $wgSwiftConf = array( 'authUrl' => 'STUFF', 'user' => 'STUFF', 'key' => 'STUFF' );
The FileBackendStoreOpHandle error makes me wonder if you are fully on master or not.
I defined the variable. It works fine.
The FileBackendStoreOpHandle error is unknown to me. What do you mean by fully master or not? This is a private server.
I find a reference to it in SwiftFileBackend.php but not anywhere else. Am I missing a file that defines FileBackendStoreOpHandle as a class?
Thanks Justin
I mean the 'master' branch in git. If you clone master and then copy paste some files, you can end up with this kind of breakage. It will be easier when all my patches are merged in master. Then you can just "git reset --hard" and then "git pull" them in.
Aaron,
I did a reset and pull, and lost the errors. I am no longer logging errors in the php error log. Now I am just getting this on the upload page when I click upload file:
- Could not create directory "mwstore://localSwift/local-public/3/37/374".
Here is my configuration
#Swift Backend Config require( "$IP/extensions/SwiftCloudFiles/SwiftCloudFiles.php" ); require( "/var/www/wikiprivate/wgswiftauth.php" ); $wgFileBackends[] = array( 'name' => 'localSwift', 'class' => 'SwiftFileBackend', 'wikiId' => 'Development-Wiki', 'lockManager' => 'fsLockManager', 'swiftAuthUrl' => $wgSwiftConf['authUrl'], 'swiftUser' => $wgSwiftConf['user'], 'swiftKey' => $wgSwiftConf['key'], #'swiftProxyUser' => 'test:anon', 'shardViaHashLevels' => array( 'local-public' => array( 'levels' => 2, 'base' => 16, 'repeat' => true ), 'local-thumb' => array( 'levels' => 2, 'base' => 16, 'repeat' => true ), 'local-deleted' => array( 'levels' => 2, 'base' => 36, 'repeat' => false ) ), #'readOnly' => 'Temporary planned maintenence for 5 min', 'fileJournal' => array( 'class' => 'DBFileJournal', 'wiki' => false ), 'parallelize' => 'implicit', 'zones' => array( 'container' => 'apachewikifiles', 'url' => 'http://c14609052.r52.cf2.rackcdn.com' ), 'url' => 'http://c14609052.r52.cf2.rackcdn.com' ); $wgLocalFileRepo = array( 'class' => 'LocalRepo', 'name' => 'local', 'backend' => 'localSwift', 'scriptDirUrl' => $wgScriptPath, 'scriptExtension' => $wgScriptExtension, 'url' => 'http://localhost/var/www/html/mediawiki/media', 'hashLevels' => 3, 'transformVia404' => true, 'deletedHashLevels' => 3 ); /*End Swift Backend Config*/
You mentioned earlier to define the url for the 'thumb', 'public', and 'temp' to the base CDN URL. I have my private info in the required file at the beginning of this configuration segment. How do I verify this is actually communicating with the cloud container?
On another note, is there a way to donate to your projects?
Thanks again. Justin