Browse Source

XML field types. Using constants for field names.

7.x-2.x
Daniel Lamb 10 years ago
parent
commit
19ec6d3847
  1. 22
      islandora/islandora.install
  2. 4
      islandora/islandora.module
  3. 51
      islandora_basic_image/islandora_basic_image.install
  4. 2
      islandora_basic_image/islandora_basic_image.module

22
islandora/islandora.install

@ -11,18 +11,32 @@
* Defines common fields for various bundles. * Defines common fields for various bundles.
*/ */
function islandora_install() { function islandora_install() {
$tn_field_name = 'field_tn';
$tn_field = array( $tn_field = array(
'field_name' => $tn_field_name, 'field_name' => ISLANDORA_TN_FIELD,
'type' => 'image', 'type' => 'image',
); );
field_create_field($tn_field); field_create_field($tn_field);
$dc_field = array(
'field_name' => ISLANDORA_DC_FIELD,
'type' => 'xml_field_xml',
);
field_create_field($dc_field);
$mods_field = array(
'field_name' => ISLANDORA_MODS_FIELD,
'type' => 'xml_field_xml',
);
field_create_field($mods_field);
} }
/** /**
* Implements hook_uninstall(). * Implements hook_uninstall().
*
* Deletes the fields defined in hook_install().
*/ */
function islandora_uninstall() { function islandora_uninstall() {
$tn_field_name = 'field_tn'; field_delete_field(ISLANDORA_TN_FIELD);
field_delete_field($tn_field_name); field_delete_field(ISLANDORA_DC_FIELD);
field_delete_field(ISLANDORA_MODS_FIELD);
} }

4
islandora/islandora.module

@ -5,6 +5,10 @@
* This is the new Islandora module. We need a better doc comment here. * This is the new Islandora module. We need a better doc comment here.
*/ */
define('ISLANDORA_TN_FIELD', 'field_tn');
define('ISLANDORA_DC_FIELD', 'field_dc');
define('ISLANDORA_MODS_FIELD', 'field_mods');
/** /**
* Implements hook_ctools_plugin_api(). * Implements hook_ctools_plugin_api().
*/ */

51
islandora_basic_image/islandora_basic_image.install

@ -12,10 +12,14 @@ function islandora_basic_image_install() {
$t = get_t(); $t = get_t();
$basic_image_content_type = array( $basic_image_content_type = array(
'type' => 'basic_image', 'type' => ISLANDORA_BASIC_IMAGE_BUNDLE,
'name' => $t('Basic Image'), 'name' => $t('Basic Image'),
'base' => 'node_content', 'base' => 'node_content',
'description' => $t('An image object in Fedora'), 'description' => $t('An image object in Fedora'),
'custom' => 1,
'modified' => 1,
'locked' => 0,
'disabled' => 0,
); );
$basic_image_content_type = node_type_set_defaults($basic_image_content_type); $basic_image_content_type = node_type_set_defaults($basic_image_content_type);
@ -31,22 +35,43 @@ function islandora_basic_image_install() {
drupal_set_message($t('Created %name content type.', $t_args)); drupal_set_message($t('Created %name content type.', $t_args));
} }
$tn_field_name = 'field_tn'; if (field_info_field(ISLANDORA_TN_FIELD)) {
if (field_info_field($tn_field_name)) {
$tn_field_instance = array( $tn_field_instance = array(
'field_name' => $tn_field_name, 'field_name' => ISLANDORA_TN_FIELD,
'entity_type' => 'node', 'entity_type' => 'node',
'bundle' => 'basic_image', 'bundle' => ISLANDORA_BASIC_IMAGE_BUNDLE,
'label' => $t("Thumbnail"), 'label' => $t("Thumbnail"),
'description' => $t("A thumbnail for the Fedora resource"), 'description' => $t("A thumbnail for the Fedora resource"),
'required' => FALSE, 'required' => FALSE,
'settings' => array(
'file_extensions' => 'png jpg jpeg gif',
'max_filesize' => '1 MB',
),
); );
field_create_instance($tn_field_instance); field_create_instance($tn_field_instance);
drupal_set_message($t('Field %name was created successfully', array('%name' => $tn_field_name))); drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_TN_FIELD)));
}
if (field_info_field(ISLANDORA_DC_FIELD)) {
$dc_field_instance = array(
'field_name' => ISLANDORA_DC_FIELD,
'entity_type' => 'node',
'bundle' => ISLANDORA_BASIC_IMAGE_BUNDLE,
'label' => $t("DC"),
'description' => $t("A Dublin Core record for the Fedora resource"),
'required' => FALSE,
);
field_create_instance($dc_field_instance);
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_DC_FIELD)));
}
if (field_info_field(ISLANDORA_MODS_FIELD)) {
$mods_field_instance = array(
'field_name' => ISLANDORA_MODS_FIELD,
'entity_type' => 'node',
'bundle' => ISLANDORA_BASIC_IMAGE_BUNDLE,
'label' => $t("MODS"),
'description' => $t("A MODS record for the Fedora resource"),
'required' => FALSE,
);
field_create_instance($mods_field_instance);
drupal_set_message($t('Field %name was created successfully', array('%name' => ISLANDORA_MODS_FIELD)));
} }
} }
@ -54,6 +79,8 @@ function islandora_basic_image_install() {
* Implements hook_uninstall(). * Implements hook_uninstall().
*/ */
function islandora_basic_image_uninstall() { function islandora_basic_image_uninstall() {
field_delete_instance(field_info_instance('node_content', 'field_tn', 'basic_image')); field_delete_instance(field_info_instance('node_content', ISLANDORA_TN_FIELD, ISLANDORA_BASIC_IMAGE_BUNDLE));
node_type_delete('basic_image'); field_delete_instance(field_info_instance('node_content', ISLANDORA_DC_FIELD, ISLANDORA_BASIC_IMAGE_BUNDLE));
field_delete_instance(field_info_instance('node_content', ISLANDORA_MODS_FIELD, ISLANDORA_BASIC_IMAGE_BUNDLE));
node_type_delete(ISLANDORA_BASIC_IMAGE_BUNDLE);
} }

2
islandora_basic_image/islandora_basic_image.module

@ -5,6 +5,8 @@
* This is the new Islandora Basic Image module. * This is the new Islandora Basic Image module.
*/ */
define('ISLANDORA_BASIC_IMAGE_BUNDLE', 'basic_image');
/** /**
* Function for using a form. * Function for using a form.
* *

Loading…
Cancel
Save