Drupal modules for browsing and managing Fedora-based digital repositories.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

177 lines
4.9 KiB

<?php
/**
* @file
* This is the new Islandora module. We need a better doc comment here.
*/
define('ISLANDORA_NAMESPACE', 'http://islandora.ca/ontology/v2/');
define('ISLANDORA_NAMESPACE_PREFIX', 'islandora');
define('ISLANDORA_FEDORA_NAMESPACE', 'http://fedora.info/definitions/v4/repository#');
define('ISLANDORA_FEDORA_NAMESPACE_PREFIX', 'fedora');
define('ISLANDORA_PCDM_NAMESPACE', 'http://pcdm.org/models#');
define('ISLANDORA_PCDM_NAMESPACE_PREFIX', 'pcdm');
define('ISLANDORA_NFO_NAMESPACE', 'http://www.semanticdesktop.org/ontologies/2007/03/22/nfo/v1.2/');
define('ISLANDORA_NFO_NAMESPACE_PREFIX', 'nfo');
define('ISLANDORA_LDP_NAMESPACE', 'http://www.w3.org/ns/ldp#');
define('ISLANDORA_LDP_NAMESPACE_PREFIX', 'ldp');
define('ISLANDORA_MIX_NAMESPACE', 'http://www.jcp.org/jcr/mix/1.0');
define('ISLANDORA_MIX_NAMESPACE_PREFIX', 'mix');
define('ISLANDORA_NT_NAMESPACE', 'http://www.jcp.org/jcr/nt/1.0');
define('ISLANDORA_NT_NAMESPACE_PREFIX', 'nt');
define('ISLANDORA_PCDM_COLLECTION_RDF_TYPE', 'pcdm:Collection');
define('ISLANDORA_PCDM_OBJECT_RDF_TYPE', 'pcdm:Object');
define('ISLANDORA_TN_FIELD', 'field_tn');
define('ISLANDORA_FEDORA_PATH_FIELD', 'field_fedora_path');
define('ISLANDORA_FEDORA_HAS_PARENT_FIELD', 'field_fedora_has_parent');
define('ISLANDORA_PCDM_HAS_MEMBER_FIELD', 'field_pcdm_has_member');
/**
* Implements hook_ctools_plugin_api().
*/
function islandora_ctools_plugin_api($owner, $api) {
if ($owner == 'services' && $api == 'services') {
return array(
'version' => 3,
);
}
}
/**
* Implements hook_rdf_namespaces().
*/
function islandora_rdf_namespaces() {
return array(
ISLANDORA_NAMESPACE_PREFIX => ISLANDORA_NAMESPACE,
ISLANDORA_FEDORA_NAMESPACE_PREFIX => ISLANDORA_FEDORA_NAMESPACE,
ISLANDORA_PCDM_NAMESPACE_PREFIX => ISLANDORA_PCDM_NAMESPACE,
ISLANDORA_NFO_NAMESPACE_PREFIX => ISLANDORA_NFO_NAMESPACE,
ISLANDORA_NT_NAMESPACE_PREFIX => ISLANDORA_NT_NAMESPACE,
ISLANDORA_MIX_NAMESPACE_PREFIX => ISLANDORA_MIX_NAMESPACE,
ISLANDORA_LDP_NAMESPACE_PREFIX => ISLANDORA_LDP_NAMESPACE,
);
}
/**
* Implements hook_entity_load().
*/
function islandora_entity_load($entities, $type) {
foreach ($entities as $entity) {
if (strcmp($type, "node") == 0) {
$entity->rdf_namespaces = rdf_get_namespaces();
}
}
}
/**
* Implements hook_default_services_endpoint().
*/
function islandora_default_services_endpoint() {
$endpoint = new stdClass();
$endpoint->disabled = FALSE; /* Edit this to true to make a default endpoint disabled initially */
$endpoint->api_version = 3;
$endpoint->name = 'islandora';
$endpoint->server = 'rest_server';
$endpoint->path = 'islandora';
$endpoint->authentication = array();
$endpoint->server_settings = array(
'formatters' => array(
'json' => TRUE,
'bencode' => FALSE,
'jsonp' => FALSE,
'php' => FALSE,
'xml' => FALSE,
),
'parsers' => array(
'application/json' => TRUE,
'application/vnd.php.serialized' => FALSE,
'application/x-www-form-urlencoded' => FALSE,
'application/xml' => FALSE,
'multipart/form-data' => FALSE,
'text/xml' => FALSE,
),
);
$endpoint->resources = array(
'node' => array(
'operations' => array(
'retrieve' => array(
'enabled' => '1',
),
'create' => array(
'enabled' => '1',
),
'update' => array(
'enabled' => '1',
),
'delete' => array(
'enabled' => '1',
),
'index' => array(
'enabled' => '1',
),
),
'relationships' => array(
'files' => array(
'enabled' => '1',
),
'comments' => array(
'enabled' => '1',
),
),
'targeted_actions' => array(
'attach_file' => array(
'enabled' => '1',
),
),
),
'user' => array(
'operations' => array(
'retrieve' => array(
'enabled' => '1',
),
'create' => array(
'enabled' => '1',
),
'update' => array(
'enabled' => '1',
),
'delete' => array(
'enabled' => '1',
),
'index' => array(
'enabled' => '1',
),
),
'actions' => array(
'login' => array(
'enabled' => '1',
),
'logout' => array(
'enabled' => '1',
),
'token' => array(
'enabled' => '1',
),
'request_new_password' => array(
'enabled' => '1',
),
'register' => array(
'enabled' => '1',
),
),
'targeted_actions' => array(
'cancel' => array(
'enabled' => '1',
),
'password_reset' => array(
'enabled' => '1',
),
'resend_welcome_email' => array(
'enabled' => '1',
),
),
),
);
$endpoint->debug = 0;
return array($endpoint);
}