Ver código fonte

make object prefix configurable

tags/v11.0RC2
Jörn Friedrich Dreyer 7 anos atrás
pai
commit
4a9361905d
Nenhuma conta vinculada ao e-mail do autor do commit

+ 6
- 4
config/config.sample.php Ver arquivo

@@ -1005,9 +1005,9 @@ $CONFIG = array(
*
* One way to test is applying for a trystack account at http://trystack.org/
*/
'objectstore' => array(
'objectstore' => [
'class' => 'OC\\Files\\ObjectStore\\Swift',
'arguments' => array(
'arguments' => [
// trystack will user your facebook id as the user name
'username' => 'facebook100000123456789',
// in the trystack dashboard go to user -> settings -> API Password to
@@ -1015,6 +1015,8 @@ $CONFIG = array(
'password' => 'Secr3tPaSSWoRdt7',
// must already exist in the objectstore, name can be different
'container' => 'nextcloud',
// prefix to prepend to the fileid, default is 'oid:urn:'
'objectPrefix' => 'oid:urn:',
// create the container if it does not exist. default is false
'autocreate' => true,
// required, dev-/trystack defaults to 'RegionOne'
@@ -1028,8 +1030,8 @@ $CONFIG = array(
'serviceName' => 'swift',
// The Interface / url Type, optional
'urlType' => 'internal'
),
),
],
],


/**

+ 6
- 1
lib/private/Files/ObjectStore/ObjectStoreStorage.php Ver arquivo

@@ -48,6 +48,8 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
*/
protected $user;

private $objectPrefix = 'urn:oid:';

public function __construct($params) {
if (isset($params['objectstore']) && $params['objectstore'] instanceof IObjectStore) {
$this->objectStore = $params['objectstore'];
@@ -59,6 +61,9 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
} else {
$this->id = 'object::store:' . $this->objectStore->getStorageId();
}
if (isset($params['objectPrefix'])) {
$this->objectPrefix = $params['objectPrefix'];
}
//initialize cache with root directory in cache
if (!$this->is_dir('/')) {
$this->mkdir('/');
@@ -216,7 +221,7 @@ class ObjectStoreStorage extends \OC\Files\Storage\Common {
*/
protected function getURN($fileId) {
if (is_numeric($fileId)) {
return 'urn:oid:' . $fileId;
return $this->objectPrefix . $fileId;
}
return null;
}

+ 1
- 0
tests/objectstore/start-swift-ceph.sh Ver arquivo

@@ -85,6 +85,7 @@ cat > $thisFolder/swift.config.php <<DELIM
'username' => '$user',
'password' => '$pass',
'container' => 'owncloud-autotest$EXECUTOR_NUMBER',
'objectPrefix' => 'autotest$EXECUTOR_NUMBER:oid:urn:',
'autocreate' => true,
'region' => '$region',
'url' => 'http://$host:$port/v2.0',

Carregando…
Cancelar
Salvar