About Features Downloads Getting Started Documentation Events Support GitHub

Site Tools


development:architecture:data_model_key_concepts

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
development:architecture:data_model_key_concepts [2015/12/11 19:01]
demiankatz ↷ Links adapted because of a move operation
development:architecture:data_model_key_concepts [2015/12/11 19:41] (current)
demiankatz ↷ Links adapted because of a move operation
Line 15: Line 15:
   * The search results class, which actually performs searches with the help of a search parameters object and turns them into an array of record drivers (described below).   * The search results class, which actually performs searches with the help of a search parameters object and turns them into an array of record drivers (described below).
  
-Base classes are provided that implement common functionality for all three of these areas. ​ To search different data sources (Solr index, WorldCat API, etc., etc.), subclasses with implementation-specific details for interacting with various low-level [[vufind2:​search_service|search services]] are provided.+Base classes are provided that implement common functionality for all three of these areas. ​ To search different data sources (Solr index, WorldCat API, etc., etc.), subclasses with implementation-specific details for interacting with various low-level [[development:​architecture:​search_service|search services]] are provided.
  
 === Record Loader === === Record Loader ===
  
-In early versions of VuFind 2.x, the search classes were also used for loading single records. In later releases, this functionality was moved to a stand-alone \VuFind\Record\Loader class, which interfaces with the same [[vufind2:​search_service|search services]] as the search classes.+In early versions of VuFind 2.x, the search classes were also used for loading single records. In later releases, this functionality was moved to a stand-alone \VuFind\Record\Loader class, which interfaces with the same [[development:​architecture:​search_service|search services]] as the search classes.
 ==== Record Drivers ==== ==== Record Drivers ====
  
 Regardless of where it comes from, every record in VuFind is represented by a [[development:​plugins:​record_drivers|record driver object]]. ​ Like the search objects, all record drivers inherit from a common base class that implements basic record-related behavior (saving to favorites, adding tags, etc.). ​ However, subclasses have a great deal of flexibility in how they represent records. ​ Each record driver gets its own set of templates for rendering within the VuFind interface, so displays can be completely customized. ​ However, by implementing a [[development:​architecture:​record_driver_method_master_list|standard set of get methods]] for retrieving common sorts of data elements (title, author, subject, etc.) it is possible to share templates between similar record drivers for less complex code and a more consistent user experience. Regardless of where it comes from, every record in VuFind is represented by a [[development:​plugins:​record_drivers|record driver object]]. ​ Like the search objects, all record drivers inherit from a common base class that implements basic record-related behavior (saving to favorites, adding tags, etc.). ​ However, subclasses have a great deal of flexibility in how they represent records. ​ Each record driver gets its own set of templates for rendering within the VuFind interface, so displays can be completely customized. ​ However, by implementing a [[development:​architecture:​record_driver_method_master_list|standard set of get methods]] for retrieving common sorts of data elements (title, author, subject, etc.) it is possible to share templates between similar record drivers for less complex code and a more consistent user experience.
development/architecture/data_model_key_concepts.txt · Last modified: 2015/12/11 19:41 by demiankatz