Ejemplo n.º 1
0
 function getObjectStructure()
 {
     global $configArray;
     $structure = array('id' => array('property' => 'id', 'type' => 'hidden', 'label' => 'Id', 'primaryKey' => true, 'description' => 'The unique id of the e-pub file.', 'storeDb' => true), 'owning_library' => array('property' => 'institution', 'type' => 'method', 'methodName' => 'institution', 'storeDb' => false), 'owning_location' => array('property' => 'owning_location', 'type' => 'method', 'methodName' => 'building', 'storeDb' => false), 'title' => array('property' => 'title', 'type' => 'text', 'size' => 100, 'maxLength' => 255, 'label' => 'Title', 'description' => 'The title of the item.', 'required' => true, 'storeDb' => true), 'author' => array('property' => 'author', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Author', 'description' => 'The primary author of the item or editor if the title is a compilation of other works.', 'required' => false, 'storeDb' => true), 'status' => array('property' => 'status', 'type' => 'enum', 'values' => array('active' => 'Active', 'archived' => 'Archived', 'deleted' => 'Deleted'), 'label' => 'Status', 'description' => 'The Current Status of the record.', 'required' => true, 'storeDb' => true), 'accessType' => array('property' => 'accessType', 'type' => 'enum', 'values' => EContentRecord::getValidAccessTypes(), 'label' => 'Access Type', 'description' => 'The type of access control to apply to the record.', 'storeDb' => true), 'itemLevelOwnership' => array('property' => 'itemLevelOwnership', 'type' => 'checkbox', 'label' => 'Item Level Ownership (yes for most external links, no for other types)', 'description' => 'Whether or not item ownership is determined at the item level (certain libraries have access to specific links) or at the record level (all items can be accessed based on ownership rules).', 'storeDb' => true), 'availableCopies' => array('property' => 'availableCopies', 'type' => 'integer', 'label' => 'Available Copies', 'description' => 'The number of copies that have been purchased and are available to patrons.', 'storeDb' => true), 'onOrderCopies' => array('property' => 'onOrderCopies', 'type' => 'integer', 'label' => 'Copies On Order', 'description' => 'The number of copies that have been purchased but are not available for usage yet.', 'storeDb' => true), 'trialTitle' => array('property' => 'trialTitle', 'type' => 'checkbox', 'label' => "Trial Title", 'description' => 'Whether or not the title was loaded on a trial basis or if it is a premanent acquisition.', 'storeDb' => true), 'cover' => array('property' => 'cover', 'type' => 'image', 'size' => 100, 'maxLength' => 100, 'label' => 'cover', 'description' => 'The cover of the item.', 'storagePath' => $configArray['Site']['coverPath'] . '/original', 'required' => false, 'storeDb' => true), 'language' => array('property' => 'language', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Language', 'description' => 'The Language of the item.', 'required' => true, 'storeDb' => true), 'literary_form_full' => array('property' => 'literary_form_full', 'label' => 'Literary Form', 'description' => 'The Literary Form of the item.', 'type' => 'enum', 'values' => array('' => 'Unknown', 'Fiction' => 'Fiction', 'Non Fiction' => 'Non Fiction', 'Novels' => 'Novels', 'Short Stories' => 'Short Stories', 'Poetry' => 'Poetry', 'Dramas' => 'Dramas', 'Essays' => 'Essays', 'Mixed Forms' => 'Mixed Forms', 'Humor, Satires, etc.' => 'Humor, Satires, etc.', 'Speeches' => 'Speeches', 'Letters' => 'Letters'), 'storeDb' => true), 'author2' => array('property' => 'author2', 'type' => 'crSeparated', 'label' => 'Additional Authors', 'rows' => 3, 'cols' => 80, 'description' => 'The Additional Authors of the item.', 'required' => false, 'storeDb' => true), 'description' => array('property' => 'description', 'type' => 'textarea', 'label' => 'Description', 'rows' => 3, 'cols' => 80, 'description' => 'A brief description of the file for indexing and display if there is not an existing record within the catalog.', 'required' => false, 'storeDb' => true), 'contents' => array('property' => 'contents', 'type' => 'textarea', 'label' => 'Table of Contents', 'rows' => 3, 'cols' => 80, 'description' => 'The table of contents for the record.', 'required' => false, 'storeDb' => true), 'econtentText' => array('property' => 'econtentText', 'type' => 'method', 'label' => 'Full text of the eContent', 'storeDb' => false), 'subject' => array('property' => 'subject', 'type' => 'crSeparated', 'label' => 'Subject', 'rows' => 3, 'cols' => 80, 'description' => 'The Subject of the item.', 'required' => false, 'storeDb' => true), 'publisher' => array('property' => 'publisher', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Publisher', 'description' => 'The Publisher of the item.', 'required' => false, 'storeDb' => true), 'publishDate' => array('property' => 'publishDate', 'type' => 'integer', 'size' => 4, 'maxLength' => 4, 'label' => 'Publication Year', 'description' => 'The year the title was published.', 'required' => false, 'storeDb' => true), 'publishLocation' => array('property' => 'publishLocation', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Publication Location', 'description' => 'Where the title was published.', 'required' => false, 'storeDb' => true), 'physicalDescription' => array('property' => 'physicalDescription', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Physical Description', 'description' => 'A description of the title (number of pages, etc).', 'required' => false, 'storeDb' => true), 'edition' => array('property' => 'edition', 'type' => 'crSeparated', 'rows' => 2, 'cols' => 80, 'label' => 'Edition', 'description' => 'The Edition of the item.', 'required' => false, 'storeDb' => true), 'isbn' => array('property' => 'isbn', 'type' => 'crSeparated', 'rows' => 1, 'cols' => 80, 'label' => 'isbn', 'description' => 'The isbn of the item.', 'required' => false, 'storeDb' => true), 'issn' => array('property' => 'issn', 'type' => 'crSeparated', 'rows' => 1, 'cols' => 80, 'label' => 'issn', 'description' => 'The issn of the item.', 'required' => false, 'storeDb' => true), 'upc' => array('property' => 'upc', 'type' => 'crSeparated', 'rows' => 1, 'cols' => 80, 'label' => 'upc', 'description' => 'The upc of the item.', 'required' => false, 'storeDb' => true), 'lccn' => array('property' => 'lccn', 'type' => 'crSeparated', 'rows' => 1, 'cols' => 80, 'label' => 'lccn', 'description' => 'The lccn of the item.', 'required' => false, 'storeDb' => true), 'series' => array('property' => 'series', 'type' => 'crSeparated', 'rows' => 3, 'cols' => 80, 'label' => 'series', 'description' => 'The Series of the item.', 'required' => false, 'storeDb' => true), 'topic' => array('property' => 'topic', 'type' => 'crSeparated', 'rows' => 3, 'cols' => 80, 'label' => 'Topic', 'description' => 'The Topic of the item.', 'required' => false, 'storeDb' => true), 'genre' => array('property' => 'genre', 'type' => 'crSeparated', 'rows' => 3, 'cols' => 80, 'label' => 'Genre', 'description' => 'The Genre of the item.', 'required' => false, 'storeDb' => true), 'region' => array('property' => 'region', 'type' => 'crSeparated', 'rows' => 3, 'cols' => 80, 'label' => 'Region', 'description' => 'The Region of the item.', 'required' => false, 'storeDb' => true), 'era' => array('property' => 'era', 'type' => 'crSeparated', 'rows' => 3, 'cols' => 80, 'label' => 'Era', 'description' => 'The Era of the item.', 'required' => false, 'storeDb' => true), 'target_audience' => array('property' => 'target_audience', 'type' => 'enum', 'values' => array('' => 'Unknown', 'Preschool (0-5)' => 'Preschool (0-5)', 'Primary (6-8)' => 'Primary (6-8)', 'Pre-adolescent (9-13)' => 'Pre-adolescent (9-13)', 'Adolescent (14-17)' => 'Adolescent (14-17)', 'Adult' => 'Adult', 'Easy Reader' => 'Easy Reader', 'Juvenile' => 'Juvenile', 'General Interest' => 'General Interest', 'Special Interest' => 'Special Interest'), 'label' => 'Target Audience', 'description' => 'The Target Audience of the item.', 'required' => false, 'storeDb' => true), 'date_added' => array('property' => 'date_added', 'type' => 'hidden', 'label' => 'Date Added', 'description' => 'The Date Added.', 'required' => false, 'storeDb' => true), 'notes' => array('property' => 'notes', 'type' => 'textarea', 'label' => 'Notes', 'rows' => 3, 'cols' => 80, 'description' => 'The Notes on the item.', 'required' => false, 'storeDb' => true, 'storeSolr' => false), 'ilsId' => array('property' => 'ilsId', 'type' => 'text', 'label' => 'ilsId', 'primaryKey' => true, 'description' => 'The Id of the record within the ILS or blank if the record does not exist in the ILS.', 'required' => false, 'storeDb' => true, 'storeSolr' => false), 'source' => array('property' => 'source', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Source', 'description' => 'The Source of the item.', 'required' => true, 'storeDb' => true, 'storeSolr' => false), 'sourceUrl' => array('property' => 'sourceUrl', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Source Url', 'description' => 'The Source Url of the item.', 'required' => false, 'storeDb' => true, 'storeSolr' => false), 'purchaseUrl' => array('property' => 'purchaseUrl', 'type' => 'text', 'size' => 100, 'maxLength' => 100, 'label' => 'Purchase Url', 'description' => 'The Purchase Url of the item.', 'required' => false, 'storeDb' => true, 'storeSolr' => false), 'addedBy' => array('property' => 'addedBy', 'type' => 'hidden', 'label' => 'addedBy', 'description' => 'addedBy', 'storeDb' => true, 'storeSolr' => false), 'reviewedBy' => array('property' => 'reviewedBy', 'type' => 'hidden', 'label' => 'reviewedBy', 'description' => 'reviewedBy', 'storeDb' => true, 'storeSolr' => false), 'reviewStatus' => array('property' => 'reviewStatus', 'type' => 'enum', 'values' => array('Not Reviewed' => 'Not Reviewed', 'Approved' => 'Approved', 'Rejected' => 'Rejected'), 'label' => 'Review Status', 'description' => 'The Review Status of the item.', 'required' => true, 'storeDb' => true, 'storeSolr' => false), 'reviewNotes' => array('property' => 'reviewNotes', 'type' => 'textarea', 'label' => 'Review Notes', 'rows' => 3, 'cols' => 80, 'description' => 'The Review Notes on the item.', 'required' => false, 'storeDb' => true, 'storeSolr' => false), 'keywords' => array('property' => 'keywords', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'econtent_source' => array('property' => 'econtent_source', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'econtent_protection_type' => array('property' => 'econtent_protection_type', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'format_boost' => array('property' => 'format_boost', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'language_boost' => array('property' => 'language_boost', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'num_holdings' => array('property' => 'num_holdings', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'available_at' => array('property' => 'available_at', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'bib_suppression' => array('property' => 'bib_suppression', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'rating' => array('property' => 'rating', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'rating_facet' => array('property' => 'rating_facet', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'allfields' => array('property' => 'allfields', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'title_sort' => array('property' => 'title_sort', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true), 'time_since_added' => array('property' => 'time_since_added', 'type' => 'method', 'storeDb' => false, 'storeSolr' => true));
     return $structure;
 }