About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
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 revisionPrevious revision
Next revision
Previous revision
development:architecture:data_model_key_concepts [2015/12/11 19:41] – ↷ Links adapted because of a move operation demiankatzdevelopment:architecture:data_model_key_concepts [2023/03/27 19:49] (current) – [Search Classes] demiankatz
Line 3: Line 3:
 ===== Core Classes ===== ===== Core Classes =====
  
-Most of VuFind's functionality is built around two important families of classes.+Most of VuFind®'s functionality is built around two important families of classes.
  
 ==== Search Classes ==== ==== Search Classes ====
  
-VuFind is all about search, and a lot of the work of searching is similar no matter what data you are searching through.  For this reason, VuFind contains classes that deal with common search tasks: gathering user preferences (query, facets, etc.), dealing with paging, etc.+VuFind® is all about search, and a lot of the work of searching is similar no matter what data you are searching through.  For this reason, VuFind® contains classes that deal with common search tasks: gathering user preferences (query, facets, etc.), dealing with paging, etc.
  
-Every search performed by VuFind involves three key classes:+Every search performed by VuFind® involves three key classes:
  
   * The search options class, which loads static options from configuration files.  This determines what types of searches are legal.   * The search options class, which loads static options from configuration files.  This determines what types of searches are legal.
Line 19: Line 19:
 === Record Loader === === Record Loader ===
  
-In early versions of VuFind 2.x, the search classes were also used for loading single records. In later releasesthis 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.+While the search classes are used for retrieving sets of records based on search criteria, when retrieving one or more known records using their unique identifiers, a stand-alone \VuFind\Record\Loader class is used, 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.
 ---- struct data ---- ---- struct data ----
 +properties.Page Owner : 
 ---- ----
  
development/architecture/data_model_key_concepts.1449862861.txt.gz · Last modified: 2015/12/11 19:41 by demiankatz