Warning: This page has not been updated in over over a year and may be outdated or deprecated.
development:architecture:directory_layout
This is an old revision of the document!
Table of Contents
VuFind Directory Layout
This page refers to VuFind 2.x; for earlier versions, see VuFind 1.x Directory Layout.
Top-Level Layout
- config
Application-level configurations- vufind
Default VuFind .ini files; normally these are copied into a local settings directory rather than modified directly.
- data
Storage for application-level data (rarely used) - harvest
Tools for harvesting metadata - import
Tools for importing metadata - languages
Default language files - local
Default local settings directory (other paths may be configured) - module
Core code, divided into modules; for details, see anatomy of a module below.- VuFind
Core VuFind code - VuFindConsole
Console-specific code used for command-line tools - VuFindDevTools
Code that is only available when VuFind is set to development mode (via Apache configuration) - VuFindHttp
VuFind's HTTP service - VuFindLocalTemplate
Template for building a local module to override VuFind defaults; this is copied by install.php and should not be modified directly - VuFindSearch
VuFind's low-level search system - VuFindTheme
VuFind's theming system
- public
Web root – should only contain index.php; other files are made accessible via Apache configuration - solr
Solr index and all Solr related items including Jetty and the data directories for the indexes. - tests
Test suite - themes
Templates, CSS, Javascript, images and other theme-specific resources; for details, see anatomy of a theme below.- blueprint
Default desktop theme - jquerymobile
Default mobile theme - root
Base theme containing shared resources needed by all other themes
- vendor
Third-party code - build.xml
Phing build script (used for development/continuous integration) - import-*.*
Import automation scripts - index-alphabetic-browse.*
AlphaBrowse index generation script - install.php
VuFind installer - vufind.sh
VuFind startup/shutdown script
Anatomy of a Module
Every module has the same basic structure.
- config
Configuration directory defining module-specific resources - sql
Module-specific SQL definitions (not commonly used) - src
Module-specific PHP code, stored in directories matching PHP namespace structure - tests
Module-specific tests (not always used) - xsl
Module-specific XSLT code (not commonly used) - Module.php
Class for loading and bootstrapping module
Anatomy of a Theme
Every theme has the same basic structure.
- css
CSS resources (exposed to public access) - images
Image resources (exposed to public access) - js
Javascript resources (exposed to public access) - templates
PHP templates for rendering HTML - theme.config.php
Theme configuration file
development/architecture/directory_layout.1449861129.txt.gz · Last modified: 2015/12/11 19:12 by demiankatz