|
|
Line 1: |
Line 1: |
− | <!-- Pod2Wiki=_preamble_
| |
− | This page has been automatically generated from the EPrints source. Any wiki changes made between the 'Pod2Wiki=*' and 'End of Pod2Wiki' comments will be lost.
| |
− | -->{{Pod2Wiki}}{{API:Source|file=EPrints/DataSet.pm|package_name=EPrints::DataSet}}[[Category:API|DataSet]]<!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_name -->=NAME=
| |
− | '''EPrints::DataSet''' - a dataset is a set of records in the eprints system with the same metadata.
| |
| | | |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_description -->=DESCRIPTION=
| |
− | This module describes an EPrint dataset.
| |
− |
| |
− | An repository has one of each type of dataset:
| |
− |
| |
− | cachemap, counter, user, archive, buffer, inbox, document, subject, saved_search, deletion, eprint, access.
| |
− |
| |
− | A normal dataset (eg. "user") has a package associated with it (eg. EPrints::DataObj::User) which must be a subclass of EPrints::DataObj and a number of SQL tables which are prefixed with the dataset name. Most datasets also have a set of associated EPrints::MetaField's which may be optional or compulsary depending on the type eg. books have editors but posters don't but they are both EPrints.
| |
− |
| |
− | Datasets have some default fields plus additional ones configured in Fields.pm.
| |
− |
| |
− | But there are some exceptions:
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_cachemap_counter -->==cachemap_counter==
| |
− |
| |
− | cachemap, counter
| |
− |
| |
− | Don't have a package or metadata fields associated.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_archive_buffer_inbox_deletion -->==archive_buffer_inbox_deletion==
| |
− |
| |
− | archive, buffer, inbox, deletion
| |
− |
| |
− | All have the same package and metadata fields as eprints, but are filtered by eprint_status.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_new_stub -->==new_stub==
| |
− |
| |
− | $ds = EPrints::DataSet->new_stub( $id )
| |
− |
| |
− | Creates a dataset object without any fields. Useful to avoid problems with something a dataset does depending on loading the dataset. It can still be queried about other things, such as SQL table names.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_new -->==new==
| |
− |
| |
− | $ds = EPrints::DataSet->new( $repository, $id )
| |
− |
| |
− | Return the dataset specified by $id.
| |
− |
| |
− | Note that dataset know $repository and vice versa - which means they will not get garbage collected.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_field -->==get_field==
| |
− |
| |
− | $metafield = $ds->get_field( $fieldname )
| |
− |
| |
− | Return a MetaField object describing the asked for field in this dataset, or undef if there is no such field.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_has_field -->==has_field==
| |
− |
| |
− | $bool = $ds->has_field( $fieldname )
| |
− |
| |
− | True if the dataset has a field of that name.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_default_order -->==default_order==
| |
− |
| |
− | $ordertype = $ds->default_order
| |
− |
| |
− | Return the id string of the default order for this dataset.
| |
− |
| |
− | For example "bytitle" for eprints.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_confid -->==confid==
| |
− |
| |
− | $confid = $ds->confid
| |
− |
| |
− | Return the string to use when getting configuration for this dataset.
| |
− |
| |
− | archive, buffer, inbox and deletion all return "eprint" as they must have the same configuration.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_id -->==id==
| |
− |
| |
− | $id = $ds->id
| |
− |
| |
− | Return the id of this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_count -->==count==
| |
− |
| |
− | $n = $ds->count( $session )
| |
− |
| |
− | Return the number of records in this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_sql_table_name -->==get_sql_table_name==
| |
− |
| |
− | $tablename = $ds->get_sql_table_name
| |
− |
| |
− | Return the name of the main SQL Table containing this dataset. the other SQL tables names are based on this name.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_sql_index_table_name -->==get_sql_index_table_name==
| |
− |
| |
− | $tablename = $ds->get_sql_index_table_name
| |
− |
| |
− | Return the name of the SQL table which contains the free text indexing information.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_sql_grep_table_name -->==get_sql_grep_table_name==
| |
− |
| |
− | $tablename = $ds->get_sql_grep_table_name
| |
− |
| |
− | Reutrn the name of the SQL table which contains the strings to be used with LIKE in a final pass of a search.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_sql_rindex_table_name -->==get_sql_rindex_table_name==
| |
− |
| |
− | $tablename = $ds->get_sql_rindex_table_name
| |
− |
| |
− | Reutrn the name of the SQL table which contains the reverse text indexing information. (Used for deleting freetext indexes when removing a record).
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_ordervalues_table_name -->==get_ordervalues_table_name==
| |
− |
| |
− | $tablename = $ds->get_ordervalues_table_name( $langid )
| |
− |
| |
− | Return the name of the SQL table containing values used for ordering this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_sql_sub_table_name -->==get_sql_sub_table_name==
| |
− |
| |
− | $tablename = $ds->get_sql_sub_table_name( $field )
| |
− |
| |
− | Returns the name of the SQL table which contains the information on the "multiple" field. $field is an EPrints::MetaField belonging to this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_fields -->==get_fields==
| |
− |
| |
− | $fields = $ds->get_fields
| |
− |
| |
− | Returns a list of the EPrints::Metafields belonging to this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_key_field -->==get_key_field==
| |
− |
| |
− | $field = $ds->get_key_field
| |
− |
| |
− | Return the EPrints::MetaField representing the primary key field. Always the first field.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_make_object -->==make_object==
| |
− |
| |
− | $obj = $ds->make_object( $session, $data )
| |
− |
| |
− | Return an object of the class associated with this dataset, always a subclass of EPrints::DataObj.
| |
− |
| |
− | $data is a hash of values for fields of a record in this dataset.
| |
− |
| |
− | Return $data if no class associated with this dataset.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_create_object -->==create_object==
| |
− |
| |
− | $obj = $ds->create_object( $session, $data )
| |
− |
| |
− | Create a new object in the given dataset. Return the new object.
| |
− |
| |
− | Return undef if the object could not be created.
| |
− |
| |
− | If $data describes sub-objects too then those will also be created.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_object_class -->==get_object_class==
| |
− |
| |
− | $class = $ds->get_object_class;
| |
− |
| |
− | Return the perl class to which objects in this dataset belong.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_object -->==get_object==
| |
− |
| |
− | $obj = $ds->get_object( $session, $id );
| |
− |
| |
− | Return the object from this dataset with the given id, or undefined.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_render_name -->==render_name==
| |
− |
| |
− | $xhtml = $ds->render_name( $session )
| |
− |
| |
− | Return a piece of XHTML describing this dataset, in the language of the current session.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_map -->==map==
| |
− |
| |
− | $ds->map( $session, $fn, $info )
| |
− |
| |
− | Maps the function $fn onto every record in this dataset. See Search for a full explanation.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_repository -->==get_repository==
| |
− |
| |
− | $repository = $ds->get_repository
| |
− |
| |
− | Returns the EPrints::Repository to which this dataset belongs.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_reindex -->==reindex==
| |
− |
| |
− | $ds->reindex( $session )
| |
− |
| |
− | Recommits all the items in this dataset. This could take a real long time on a large set of records.
| |
− |
| |
− | Really should not be called reindex anymore as it doesn't.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_dataset_ids -->==get_dataset_ids==
| |
− |
| |
− | @ids = EPrints::DataSet::get_dataset_ids( get_dataset_ids )
| |
− |
| |
− | Return a list of all dataset ids.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_@ids -->==@ids==
| |
− |
| |
− | @ids = EPrints::DataSet::get_sql_dataset_ids
| |
− |
| |
− | Return a list of all dataset ids of datasets which are directly mapped into SQL (not counters or cache which work a bit differently).
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_count_indexes -->==count_indexes==
| |
− |
| |
− | $n = $ds->count_indexes
| |
− |
| |
− | Return the number of indexes required for the main SQL table of this dataset. Used to check it's not over 32 (the current maximum allowed by MySQL)
| |
− |
| |
− | Assumes things either have 1 or 0 indexes which might not always be true.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_item_ids -->==get_item_ids==
| |
− |
| |
− | @ids = $dataset->get_item_ids( $session )
| |
− |
| |
− | Return a list of the id's of all items in this set.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_datestamp_field -->==get_datestamp_field==
| |
− |
| |
− | $field = $dataset->get_datestamp_field()
| |
− |
| |
− | Returns the datestamp field for this dataset which may be used for incremental harvesting. Returns undef if no such field is available.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_undocumented_methods -->=UNDOCUMENTED METHODS=
| |
− | {{API:Undocumented Methods}}<!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_archive -->==get_archive==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_dataset_id_field -->==get_dataset_id_field==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_filters -->==get_filters==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_page_fields -->==get_page_fields==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_required_type_fields -->==get_required_type_fields==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_type_fields -->==get_type_fields==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_type_name -->==get_type_name==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_type_names -->==get_type_names==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_type_pages -->==get_type_pages==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_get_types -->==get_types==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_indexable -->==indexable==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_is_valid_type -->==is_valid_type==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_load_workflows -->==load_workflows==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_process_field -->==process_field==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=item_render_type_name -->==render_type_name==
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=_postamble_ --><!-- End of Pod2Wiki -->
| |