====== Architecture ====== This page provides information on VuFind®'s overall design, including big-picture design discussions as well as explanations of nitty-gritty details. ===== Specifications ===== ==== General Interest ==== These specifications should be useful to most VuFind® developers and will help with an understanding of the overall system: * [[development:architecture:authorization|Authorization]] - Information on how VuFind® handles user authorization. * [[development:architecture:caching|Caching]] - Notes on VuFind®'s use of caching. * [[development:architecture:cookies|Cookies]] - Notes on VuFind®'s use of cookies. * [[development:architecture:customizing_vufind|Customizing VuFind®]] - How to change VuFind®'s behavior. * [[development:architecture:data_model_key_concepts|Data Model / Key Concepts]] - Key ideas in the VuFind® architecture. * [[development:architecture:record_driver_method_master_list|Record Driver Method Master List]] - A reference to get methods used by record drivers. * [[development:architecture:database_schema|Database Schema]] * [[development:architecture:directory_layout|Directory Layout]] * [[development:architecture:laminas|Laminas]] - Information about the MVC framework used in VuFind®. * [[development:architecture:localization|Language / Localization Support]] * [[development:architecture:lightbox|Lightbox Functionality]] (Bootstrap themes) * [[development:architecture:real_time_availability_status|Real-Time Availability Status]] * [[development:architecture:search_service|Search Service]] * [[development:architecture:solr_index_schema|Solr Index Schema]] * [[development:architecture:authority_control#authority_index|Authority Index Schema]] See also the [[development:plugins]] page for details on how to extend various aspects of VuFind®'s functionality. ==== Specialty ==== These notes are of less general interest but will be useful when the referenced subsystems are being worked upon: * [[development:architecture:advanced_search_templates|Advanced Search Templates]] - Notes on how the advanced search UI operates in VuFind® 2.4.1 and newer. * [[development:architecture:jsTree]] - Notes on the Javascript library used for rendering hierarchies in VuFind®. * [[development:architecture:LESS]] - Notes on how the bootstrap3 / bootprint3 themes use LESS to generate CSS