MediaWiki  REL1_21
ExternalStore Class Reference

Constructor class for key/value blob data kept in external repositories. More...

List of all members.

Static Public Member Functions

static fetchFromURL ($url, array $params=array())
 Fetch data from given URL.
static getStoreObject ($proto, array $params=array())
 Get an external store object of the given type, with the given parameters.
static insert ($url, $data, array $params=array())
 Store a data item to an external store, identified by a partial URL The protocol part is used to identify the class, the rest is passed to the class itself as a parameter.
static insertToDefault ($data, array $params=array())
 Like insert() above, but does more of the work for us.
static insertToForeignDefault ($data, $wiki)

Detailed Description

Constructor class for key/value blob data kept in external repositories.

Objects in external stores are defined by a special URL. The URL is of the form "<store protocol>://<location>/<object name>". The protocol is used to determine what ExternalStoreMedium class is used. The location identifies particular storage instances or database clusters for store class to use.

When an object is inserted into a store, the calling code uses a partial URL of the form "<store protocol>://<location>" and receives the full object URL on success. This is useful since object names can be sequential IDs, UUIDs, or hashes. Callers are not responsible for unique name generation.

External repositories might be populated by maintenance/async scripts, thus partial moving of data may be possible, as well as the possibility to have any storage format (i.e. for archives).

Definition at line 46 of file ExternalStore.php.


Member Function Documentation

static ExternalStore::fetchFromURL ( url,
array params = array() 
) [static]

Fetch data from given URL.

Parameters:
string$urlThe URL of the text to get
array$paramsAssociative array of ExternalStoreMedium parameters
Returns:
string|bool The text stored or false on error
Exceptions:
MWException

Definition at line 74 of file ExternalStore.php.

References $params, $path, $url, getStoreObject(), and list.

Referenced by DumpRev\execute(), FixBug20757\execute(), and ExternalStoreTest\testExternalFetchFromURL().

static ExternalStore::getStoreObject ( proto,
array params = array() 
) [static]

Get an external store object of the given type, with the given parameters.

Parameters:
string$protoType of external storage, should be a value in $wgExternalStores
array$paramsAssociative array of ExternalStoreMedium parameters
Returns:
ExternalStoreMedium|bool The store class or false on error

Definition at line 54 of file ExternalStore.php.

References $params, MWInit\classExists(), and global.

Referenced by DumpRev\execute(), fetchFromURL(), insert(), and insertToDefault().

static ExternalStore::insert ( url,
data,
array params = array() 
) [static]

Store a data item to an external store, identified by a partial URL The protocol part is used to identify the class, the rest is passed to the class itself as a parameter.

Parameters:
string$urlA partial external store URL ("<store type>://<location>")
$datastring
array$paramsAssociative array of ExternalStoreMedium parameters
Returns:
string|bool The URL of the stored data item, or false on error
Exceptions:
MWException

Definition at line 104 of file ExternalStore.php.

References $params, $path, $url, getStoreObject(), and list.

static ExternalStore::insertToDefault ( data,
array params = array() 
) [static]

Like insert() above, but does more of the work for us.

This function does not need a url param, it builds it by itself. It also fails-over to the next possible clusters.

Parameters:
$datastring
array$paramsAssociative array of ExternalStoreMedium parameters
Returns:
string|bool The URL of the stored data item, or false on error
Exceptions:
MWException

Definition at line 133 of file ExternalStore.php.

References $error, $params, $path, $url, array(), getStoreObject(), global, list, wfDebug(), and wfDebugLog().

Referenced by insertToForeignDefault().

static ExternalStore::insertToForeignDefault ( data,
wiki 
) [static]
Parameters:
$datastring
$wikistring
Returns:
string|bool The URL of the stored data item, or false on error
Exceptions:
MWException

Definition at line 175 of file ExternalStore.php.

References array(), and insertToDefault().


The documentation for this class was generated from the following file: