
13 changed files with 282 additions and 314 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,211 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @file |
||||
* Utility functions for working with dcterms fields. |
||||
*/ |
||||
|
||||
/** |
||||
* Attaches all the dcterms fields to a bundle. |
||||
* |
||||
* @param string $bundle_name |
||||
* The name of the bundle to give the fields. |
||||
*/ |
||||
function islandora_dcterms_attach_fields_to_bundle($bundle_name) { |
||||
$t = get_t(); |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_CONTRIBUTOR_FIELD)) { |
||||
$dcterms_contributor_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_CONTRIBUTOR_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Contributor"), |
||||
'description' => $t("Dublin Core Contributor Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_contributor_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_CONTRIBUTOR_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_COVERAGE_FIELD)) { |
||||
$dcterms_coverage_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_COVERAGE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Coverage"), |
||||
'description' => $t("Dublin Core Coverage Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_coverage_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_COVERAGE_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_CREATOR_FIELD)) { |
||||
$dcterms_creator_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_CREATOR_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Creator"), |
||||
'description' => $t("Dublin Core Creator Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_creator_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_CREATOR_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_DATE_FIELD)) { |
||||
$dcterms_date_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_DATE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Date"), |
||||
'description' => $t("Dublin Core Date Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_date_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_DATE_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_DESCRIPTION_FIELD)) { |
||||
$dcterms_description_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_DESCRIPTION_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Description"), |
||||
'description' => $t("Dublin Core Description Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_description_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_DESCRIPTION_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_FORMAT_FIELD)) { |
||||
$dcterms_format_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_FORMAT_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Format"), |
||||
'description' => $t("Dublin Core Format Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_format_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_FORMAT_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_IDENTIFIER_FIELD)) { |
||||
$dcterms_identifier_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_IDENTIFIER_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Identfier"), |
||||
'description' => $t("Dublin Core Identifier Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_identifier_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_IDENTIFIER_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_LANGUAGE_FIELD)) { |
||||
$dcterms_language_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_LANGUAGE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Language"), |
||||
'description' => $t("Dublin Core Language Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_language_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_LANGUAGE_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_PUBLISHER_FIELD)) { |
||||
$dcterms_publisher_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_PUBLISHER_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Publisher"), |
||||
'description' => $t("Dublin Core Publisher Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_publisher_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_PUBLISHER_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_RELATION_FIELD)) { |
||||
$dcterms_relation_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_RELATION_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Relation"), |
||||
'description' => $t("Dublin Core Relation Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_relation_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_RELATION_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_RIGHTS_FIELD)) { |
||||
$dcterms_rights_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_RIGHTS_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Rights"), |
||||
'description' => $t("Dublin Core Rights Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_rights_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_RIGHTS_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_SOURCE_FIELD)) { |
||||
$dcterms_source_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_SOURCE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Source"), |
||||
'description' => $t("Dublin Core Source Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_source_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_SOURCE_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_SUBJECT_FIELD)) { |
||||
$dcterms_subject_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_SUBJECT_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Subject"), |
||||
'description' => $t("Dublin Core Subject Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_subject_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_SUBJECT_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_TITLE_FIELD)) { |
||||
$dcterms_title_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_TITLE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Title"), |
||||
'description' => $t("Dublin Core Title Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_title_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_TITLE_FIELD))); |
||||
} |
||||
|
||||
if (field_info_field(ISLANDORA_DCTERMS_TYPE_FIELD)) { |
||||
$dcterms_type_field_instance = array( |
||||
'field_name' => ISLANDORA_DCTERMS_TYPE_FIELD, |
||||
'entity_type' => 'node', |
||||
'bundle' => $bundle_name, |
||||
'label' => $t("DC Terms Type"), |
||||
'description' => $t("Dublin Core Type Metadata"), |
||||
'required' => FALSE, |
||||
); |
||||
field_create_instance($dcterms_type_field_instance); |
||||
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DCTERMS_TYPE_FIELD))); |
||||
} |
||||
} |
@ -0,0 +1,5 @@
|
||||
name = Islandora DC Terms |
||||
description = "Fields and utilities for managing dcterms metadata in Islandora" |
||||
package = Islandora |
||||
version = 7.x-dev |
||||
core = 7.x |
@ -0,0 +1,40 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @file |
||||
* Install hook for dcterms metadata. |
||||
*/ |
||||
|
||||
/** |
||||
* Implements hook_install(). |
||||
* |
||||
* Creates shared fields for all content types using dcterms metadata. |
||||
*/ |
||||
function islandora_dcterms_install() { |
||||
$dcterms_field_names = array( |
||||
ISLANDORA_DCTERMS_CONTRIBUTOR_FIELD, |
||||
ISLANDORA_DCTERMS_COVERAGE_FIELD, |
||||
ISLANDORA_DCTERMS_CREATOR_FIELD, |
||||
ISLANDORA_DCTERMS_DATE_FIELD, |
||||
ISLANDORA_DCTERMS_DESCRIPTION_FIELD, |
||||
ISLANDORA_DCTERMS_FORMAT_FIELD, |
||||
ISLANDORA_DCTERMS_IDENTIFIER_FIELD, |
||||
ISLANDORA_DCTERMS_LANGUAGE_FIELD, |
||||
ISLANDORA_DCTERMS_PUBLISHER_FIELD, |
||||
ISLANDORA_DCTERMS_RELATION_FIELD, |
||||
ISLANDORA_DCTERMS_RIGHTS_FIELD, |
||||
ISLANDORA_DCTERMS_SOURCE_FIELD, |
||||
ISLANDORA_DCTERMS_SUBJECT_FIELD, |
||||
ISLANDORA_DCTERMS_TITLE_FIELD, |
||||
ISLANDORA_DCTERMS_TYPE_FIELD, |
||||
); |
||||
|
||||
foreach ($dcterms_field_names as $field_name) { |
||||
$field = array( |
||||
'field_name' => $field_name, |
||||
'type' => 'text_long', |
||||
'cardinality' => FIELD_CARDINALITY_UNLIMITED, |
||||
); |
||||
field_create_field($field); |
||||
} |
||||
} |
@ -0,0 +1,22 @@
|
||||
<?php |
||||
|
||||
/** |
||||
* @file |
||||
* Collection of fields and utility functions for working with DC Metadata. |
||||
*/ |
||||
|
||||
define('ISLANDORA_DCTERMS_CONTRIBUTOR_FIELD', 'field_dcterms_contributor'); |
||||
define('ISLANDORA_DCTERMS_COVERAGE_FIELD', 'field_dcterms_coverage'); |
||||
define('ISLANDORA_DCTERMS_CREATOR_FIELD', 'field_dcterms_creator'); |
||||
define('ISLANDORA_DCTERMS_DATE_FIELD', 'field_dcterms_date'); |
||||
define('ISLANDORA_DCTERMS_DESCRIPTION_FIELD', 'field_dcterms_description'); |
||||
define('ISLANDORA_DCTERMS_FORMAT_FIELD', 'field_dcterms_format'); |
||||
define('ISLANDORA_DCTERMS_IDENTIFIER_FIELD', 'field_dcterms_identifier'); |
||||
define('ISLANDORA_DCTERMS_LANGUAGE_FIELD', 'field_dcterms_language'); |
||||
define('ISLANDORA_DCTERMS_PUBLISHER_FIELD', 'field_dcterms_publisher'); |
||||
define('ISLANDORA_DCTERMS_RELATION_FIELD', 'field_dcterms_relation'); |
||||
define('ISLANDORA_DCTERMS_RIGHTS_FIELD', 'field_dcterms_rights'); |
||||
define('ISLANDORA_DCTERMS_SOURCE_FIELD', 'field_dcterms_source'); |
||||
define('ISLANDORA_DCTERMS_SUBJECT_FIELD', 'field_dcterms_subject'); |
||||
define('ISLANDORA_DCTERMS_TITLE_FIELD', 'field_dcterms_title'); |
||||
define('ISLANDORA_DCTERMS_TYPE_FIELD', 'field_dcterms_type'); |
Loading…
Reference in new issue