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.
legacy:vufind_1.x_developer_manual:building_a_search_object

Differences

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

Link to this comparison view

Next revision
Previous revision
Last revisionBoth sides next revision
building_a_search_object [2010/12/09 14:39] – created demiankatzlegacy:vufind_1.x_developer_manual:building_a_search_object [2015/12/14 17:56] – ↷ Page moved from building_a_search_object to legacy:vufind_1.x_developer_manual:building_a_search_object demiankatz
Line 1: Line 1:
 ====== Search Objects ====== ====== Search Objects ======
 +
 +:!: // This documentation refers to VuFind 1.x; for newer versions, see the [[development:architecture:data_model_key_concepts|Data Model / Key Concepts]] page and [[development:howtos:connecting_a_new_external_data_source|Connecting a New External Data Source]] instead. //
  
 Starting with VuFind 1.0, most of VuFind's search controller behavior (collecting user parameters, handling facets, paging, etc.) was isolated to a family of classes known as Search Objects.  This reduces code redundancy when dealing with common problems, and it allows new search modules (using mechanisms other than Solr) to be built more quickly. Starting with VuFind 1.0, most of VuFind's search controller behavior (collecting user parameters, handling facets, paging, etc.) was isolated to a family of classes known as Search Objects.  This reduces code redundancy when dealing with common problems, and it allows new search modules (using mechanisms other than Solr) to be built more quickly.
Line 17: Line 19:
   * Edit the deminify method of the SearchObjectFactory class to recognize your new SearchObject type.  This is necessary in order to restore compressed SearchObjects that have been stored in the database.   * Edit the deminify method of the SearchObjectFactory class to recognize your new SearchObject type.  This is necessary in order to restore compressed SearchObjects that have been stored in the database.
   * If your SearchObject contains new properties that need to be restored after compressed storage in the database, you may need to modify the minSO class in web/sys/SearchObject/Base.php to account for them.  If possible, avoid the creation of new properties in order to keep things simple!   * If your SearchObject contains new properties that need to be restored after compressed storage in the database, you may need to modify the minSO class in web/sys/SearchObject/Base.php to account for them.  If possible, avoid the creation of new properties in order to keep things simple!
-  * Test that searches generated by your new SearchObject show up correctly in the history at http://[your_vufind_server]/vufind/Search/History.  This is the main area where multiple SearchObjects need to coexist peacefully.+  * Test that searches generated by your new SearchObject show up correctly in the history at %%http://[your_vufind_server]/vufind/Search/History%%.  This is the main area where multiple SearchObjects need to coexist peacefully. 
  
 ===== Future Developments ===== ===== Future Developments =====
legacy/vufind_1.x_developer_manual/building_a_search_object.txt · Last modified: 2018/12/19 14:07 by demiankatz