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.
Both sides previous revisionPrevious revision | |||
legacy: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 | legacy:vufind_1.x_developer_manual:building_a_search_object [2018/12/19 14:07] (current) – demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Search Objects ====== | ====== Search Objects ====== | ||
- | :!: // This documentation refers | + | // This outdated page has been deleted |
- | Starting with VuFind 1.0, most of VuFind' | ||
- | |||
- | Currently, separate Search Objects are used for Solr, Solr Authority, Summon and WorldCat searching. | ||
- | |||
- | ===== Current Architecture ===== | ||
- | |||
- | Search Objects are constructed using the SearchObjectFactory class in web/ | ||
- | |||
- | ===== Building a New Search Object ===== | ||
- | |||
- | To implement a new search feature, you need to do a few things: | ||
- | |||
- | * Implement a new SearchObject class that extends SearchObject_Base. | ||
- | * Build a new module to call the new SearchObject class. | ||
- | * 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/ | ||
- | * Test that searches generated by your new SearchObject show up correctly in the history at %%http:// | ||
- | |||
- | |||
- | ===== Future Developments ===== | ||
- | |||
- | The Search Object architecture is still a work in progress -- this is an area of code likely to see further refactoring in the future as more of the interface is standardized and complexity is reduced. | ||
- | |||
- | A few enhancements are desirable in the future; these are some of the reasons that future changes are expected: | ||
- | |||
- | * Some of the SearchObject classes (particular the Solr one) have some complex special cases that should be simplified. | ||
- | * For use in more contexts, it may be desirable to make the SearchObject classes less directly tied to particular request parameters. | ||
- | * The overall VuFind interface needs a better mechanism for allowing access to new search modules. | ||
- | * Search actions (the controllers that actually instantiate and call the SearchObject) are very similar across modules -- it may be desirable to find a way to share more of this logic. | ||
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
legacy/vufind_1.x_developer_manual/building_a_search_object.1450115771.txt.gz · Last modified: 2015/12/14 17:56 by demiankatz