Skip to content

OcSeries

FarbodZamani edited this page Apr 19, 2023 · 2 revisions

This class contains all REST API calls to the /series endpoint.

Namespace

It is accessible under OpencastApi\Rest namespace.

How to use

  1. In OpencastApi\OpenCast as its property with OpenCast properties naming convention:
use OpencastApi\OpenCast;
$opencastApi = new OpenCast($config);
$ocSeries = $opencastApi->series;
...
  1. Direct instantiation:
use OpencastApi\Rest\OcRestClient;
use OpencastApi\Rest\OcSeries;
$ocRestClient = new OcRestClient($config);
$ocSeries = new OcSeries($ocRestClient);
...

Functions

Consumable functions are listed below:

getCount()

Returns the number of series. More Detail

  • Returns an array: ['code' => 200, 'body' => '{The number of series}']

getAcl($seriesId, $format = '')

Returns the access control list for the series with the given identifier as JSON (Object) by default or XLM (text). More Detail

  • $seriesId (string) the identifier of the series

  • $format (string) (optional) The output format (json or xml) of the response body. (Default value = 'json')

  • Returns an array: ['code' => 200, 'body' => '{The access control list as JSON (Object) or XML (text)}']

getTitles()

Returns a list of identifier and title of all series. More Detail

  • Deprecated since version v1.3, removed from Opencast Version 12
  • Returns an array: ['code' => 200, 'body' => '{JSON (object) list of identifier and title of all series}']

get($seriesId, $format = '')

Returns the series with the given identifier as JSON (Object) by default or XLM (text). More Detail

  • $seriesId (string) the identifier of the series

  • $format (string) (optional) The output format (json or xml) of the response body. (Default value = 'json')

  • Returns an array: ['code' => 200, 'body' => '{the series dublin core as JSON (Object) or XML (text) document}']

getElement($seriesId, $elementType)

Returns the series element. More Detail

  • $seriesId (string) the identifier of the series

  • $elementType (string) The element type. This is equal to the subtype of the media type of this element: series/

  • Returns an array: ['code' => 200, 'body' => '{The data of the series element}']

getElements($seriesId)

Returns all the element types of a series. More Detail

  • $seriesId (string) the identifier of the series

  • Returns an array: ['code' => 200, 'body' => '{JSON (array) with all the types of elements of the given series}']

getProperties($seriesId)

Returns the series properties. More Detail

  • $seriesId (string) the identifier of the series

  • Returns an array: ['code' => 200, 'body' => '{JSON (array) list of series properties}']

getProperty($seriesId, $propertyName)

Returns a series property value. More Detail

  • $seriesId (string) the identifier of the series

  • $propertyName (string) Name of series property

  • Returns an array: ['code' => 200, 'body' => '{JSON (object) series property value}']

getAll($params = [], $format = '')

Returns the series matching the query parameters as JSON (array) by default or XLM (text). More Detail

  • Deprecated since version v1.3, removed from Opencast Version 12
  • $params is an optional array that could contain the following:
[
    'q' => '{Free text search}',
    'edit' => '(boolean){Whether this query should return only series that are editable}',
    'fuzzyMatch' => '(boolean){Whether the seriesId can be used for a partial match. The default is an exact match}',
    'seriesId' => '{The series identifier}',
    'seriesTitle' => '{The series title}',
    'creator' => '{The series creator}',
    'contributor' => '{The series contributor}',
    'publisher' => '{The series publisher}',
    'rightsholder' => '{The series rights holder}',
    'createdfrom' => '{Filter results by created from (yyyy-MM-dd'T'HH:mm:ss'Z') }',
    'createdto' => '{Filter results by created to (yyyy-MM-dd'T'HH:mm:ss'Z')) }',
    'language' => '{The series language}',
    'license' => '{The series license}',
    'subject' => '{The series subject}',
    'abstract' => '{The series abstract}',
    'description' => '{The series description}',
    'sort' => '{The sort order. May include any of the following: TITLE, SUBJECT, CREATOR, PUBLISHER, CONTRIBUTOR, ABSTRACT, DESCRIPTION, CREATED, AVAILABLE_FROM, AVAILABLE_TO, LANGUAGE, RIGHTS_HOLDER, SPATIAL, TEMPORAL, IS_PART_OF, REPLACES, TYPE, ACCESS, LICENCE. Add '_DESC' to reverse the sort order (e.g. TITLE_DESC)}',
    'startPage' => '{The page offset}',
    'count' => '{Results per page (max 100)}',
]
  • $format (string) (optional) The output format (json or xml) of the response body. (Default value = 'json')

  • Returns an array: ['code' => 200, 'body' => '{the series search results as JSON (array) or XML (text)}']

delete($seriesId)

Deletes a series. More Detail

  • $seriesId (string) the identifier of the series

  • Returns an array: ['code' => 204, 'reason' => 'No Content'] (The series was deleted.)

deleteElement($seriesId, $elementType)

Deletes a series element. More Detail

  • $seriesId (string) the identifier of the series.

  • $elementType (string) the element type.

  • Returns an array: ['code' => 204, 'reason' => 'No Content'] (Series element deleted)

deleteProperty($seriesId, $propertyName)

Deletes a series property. More Detail

  • $seriesId (string) the identifier of the series.

  • $propertyName (string) Name of series property.

  • Returns an array: ['code' => 204, 'reason' => 'No Content'] (The series property has been deleted)

updateAcl($seriesId, $acl, $override = false)

Updates the access control list for a series. More Detail

  • $seriesId (string) the identifier of the series.

  • $acl (string|object) The access control list for the series.

  • $override (boolean) (optional) If true the series ACL will take precedence over any existing episode ACL (Default value=false).

  • Returns an array: ['code' => 201, 'reason' => 'Created'] (The access control list has been created)

update($params, $override = false)

Updates a series. More Detail

  • $params is an optional array that could contain the following:
[
    'series' => {The series document. Will take precedence over metadata fields as string in XML DublinCore format},
    'acl' => {The access control list for the series as string in XML format},
    'abstract' => {Series metadata value},
    'accessRights' => {Series metadata value},
    'available' => {Series metadata value},
    'contributor' => {Series metadata value},
    'coverage' => {Series metadata value},
    'created' => {Series metadata value},
    'creator' => {Series metadata value},
    'date' => {Series metadata value},
    'description' => {Series metadata value},
    'extent' => {Series metadata value},
    'format' => {Series metadata value},
    'identifier' => {Series metadata value},
    'isPartOf' => {Series metadata value},
    'isReferencedBy' => {Series metadata value},
    'isReplacedBy' => {Series metadata value},
    'language' => {Series metadata value},
    'license' => {Series metadata value},
    'publisher' => {Series metadata value},
    'relation' => {Series metadata value},
    'replaces' => {Series metadata value},
    'rights' => {Series metadata value},
    'rightsHolder' => {Series metadata value},
    'source' => {Series metadata value},
    'spatial' => {Series metadata value},
    'subject' => {Series metadata value},
    'temporal' => {Series metadata value},
    'title' => {Series metadata value},
    'type' => {Series metadata value},
]
  • $override (boolean) (optional) If true the series ACL will take precedence over any existing episode ACL (Default value=false)

  • Returns an array: ['code' => 201, 'reason' => 'Created']

updateElement($seriesId, $elementType)

Updates an existing series element. More Detail

  • $seriesId (string) the identifier of the series.

  • $elementType (string) The element type.

  • Returns an array: ['code' => 204, 'reason' => 'No Content'] (Series element updated)

updateProperty($seriesId, $name, $value)

Updates a series property. More Detail

  • $seriesId (string) the identifier of the series.

  • $name (string) The property's name.

  • $value (string) The property's value.

  • Returns an array: ['code' => 204, 'reason' => 'No Content'] (property has been updated.)