"Tomas Hlava" <th@red2head.com> 07/23/2004 10:09 PM | To: livesupport-dev@campware.org cc: Subject: [livesupport-dev] File Storage RFC |
Extends Alib class which handles
authentication
and authorization checking.
Alib provides tree hierarchy of objects with permission management,
grouping objects to classes
and user management with recursive groups/roles.
GreenBox uses Alib tree and extends it with db of file-specific
information
and metadata RDF-style database with URI identification of property
types
and values.
Where:
_L | literal value |
_G | gunid (global unique id) of file |
_I | metada record ID |
_blank | blank node |
_namespace (with empty prefix) | namespace prefix definition |
subject namespace: _G (means gunid of file)
subject: ea510749debe80e1a7c3e021a79b9288
predicate namespace: dc
predicate: metadata
object namespace: _blank
object: NULL
subject namespace: _I (means id of parent metadata record)
subject: 1234
predicate namespace: dc
predicate: title
object namespace: _L (means literal value)
object: Jingle bells
subject namespace: _L (means literal value)
subject: dc
predicate namespace:
predicate: _namespace
object namespace: _L (means literal value)
object: http://purl.org/dc/elements/1.1/
<?xml version="1.0" encoding="utf-8"?>
<dc:metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>Jingle bells</dc:title>
</dc:metadata>
login(/*string*/ $login, /*string*/ $pass)
returnslogout(/*string*/ $sessid)
returns booleanauthenticate(/*string*/ $login, /*string*/ $pass)
existsAudioClip(/*string*/
$gunid)
returns booleanstoreAudioClip(/*string*/ $gunid, /*string*/
$mediaFileLP, /*string*/ $mdataFileLP, /*string*/ $sessid)
deleteAudioClip(/*string*/ $gunid, /*string*/ $sessid)
updateAudioClipMetadata(/*string*/ $gunid, /*string*/
$newMetaData, /*string*/ $sessid)
returns booleanaccessRawAudioData(/*string*/ $gunid, /*string*/ $sessid)
releaseRawAudioData(/*string*/ $gunid, /*string*/ $sessid)
searchMetadata(/*string*/ $criteria, /*string*/ $sessid)
Methods may return XMLRPC error response if fails ...
Common parameters:
$sessid | - session id (token returned by login method) |
$gunid | - global unique id of file |
downloadRawAudioData(/*string*/ $gunid, /*int*/ $offset,
/*string*/ $sessid)
returns booleansearchMetadata(/*string*/ $criteria, /*string*/ $sessid)
GreenBox(&$dbc, $config)
createFolder($parid, $folderName, $sessid)
putFile($parid, $fileName, $mediaFileLP, $mdataFileLP,
$sessid)
getFile($id, $sessid)
analyzeFile($id, $sessid)
access($id, $sessid)
moveFile($id, $did, $sessid)
copyFile($id, $did, $sessid)
deleteFile($id, $sessid)
createReplica($id, $did, $replicaName, $sessid)
createVersion($id, $did, $versionLabel, $sessid)
updateMetadata($id, $mdataFile, $sessid)
updateMetadataRecord($id, $mdid, $object, $sessid)
addMetaDataRecord($id, $propertyNamespace, $propertyName,
$propertyValue, $sessid)
getMdata($id, $sessid)
localSearch($searchData, $sessid)
uploadFile($id, $sessid)
downloadFile($id, $parid, $sessid)
getTransferStatus($transferId, $sessid)
globalSearch($searchData, $sessid)
getSearchResults($transferId, $sessid)
listFolder($id, $sessid)
getMetadata($id, $sessid)
Common parameters:
$sessid | - session id (token returned by login method) |
$id | - id in object tree |
$parid | - parent id in object tree |
$mdid | - id in metadata table |
$transferId | - id of transfer or search job (returned by initiating method) |
Standard API call will be realised through XMLRPC interface.
Large media files will be provided to other components directly using
temporary
symlinks (filesystem sharing have to be set up in distributed
intallation of
Livesupport).
HTML interface written in PHP could include and call API methods
directly.
P.S.: sorry for my English ...
It looks like you're new here. If you want to get involved, click one of these buttons!