VuFind Directory Layout
This page refers to VuFind 2.x and later; use of earlier versions is no longer recommended.
Default VuFind .ini files; normally these are copied into a local settings directory rather than modified directly.
Storage for application-level data (rarely used)
Tools for harvesting metadata
Tools for importing metadata
Default language files
Default local settings directory (other paths may be configured)
Core code, divided into modules; for details, see anatomy of a module below.
Core VuFind code
Code for accessing the web-based Admin panel
Code for VuFind's public API
Console-specific code used for command-line tools
Code that is only available when VuFind is set to development mode (via Apache configuration)
Template for building a local module to override VuFind defaults; this is copied by install.php and should not be modified directly
VuFind's low-level search system
VuFind's theming system
Web root – should only contain index.php; other files are made accessible via Apache configuration
Solr index and all Solr related items including Solr itself and the data directories for the indexes. Starting with VuFind 3.0, this is separated into separate 'vufind' and 'vendor' subdirectories to differentiate Solr-distributed code from VuFind configuration and data.
Example of a local custom theme (used by the theme generator).
Base theme containing shared resources needed by all other themes
- assorted other directories
VuFind's built-in themes (details vary depending on version)
Phing build script (used for development/continuous integration)
Import automation scripts
AlphaBrowse index generation script
Solr startup/shutdown script
Anatomy of a Module
Every module has the same basic structure.
Configuration directory defining module-specific resources
Module-specific SQL definitions (not commonly used)
Module-specific PHP code, stored in directories matching PHP namespace structure
Module-specific tests (not always used)
Module-specific XSLT code (not commonly used)
Class for loading and bootstrapping module
Anatomy of a Theme
Every theme has the same basic structure.
CSS resources (exposed to public access)
Image resources (exposed to public access)
LESS resources (used to build CSS)
SCSS resources (auto-translated from LESS; provided for reference but unused by default)
PHP templates for rendering HTML
Theme configuration file
development/architecture/directory_layout.txt · Last modified: 2018/12/19 14:28 by demiankatz