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.
development:architecture:directory_layout

This is an old revision of the document!


VuFind 2.x 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
  • 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
    • VuFindLocalTemplate
      Template for building a local module to override VuFind defaults; this is copied by install.php and should not be modified directly
  • 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
  • util
    Command line utilities
    • dedupe.php
      Remove duplicate lines from a text file.
    • delete.php
      Remove all of the records in a specified MARC file from the Solr index.
    • expire_searches.php
      Remove unwanted saved searches from the database.
    • index_reserves.php
      Build a Solr index for course reserves.
    • optimize.php
      Optimize the Solr index.
    • sitemap.php
      Generate a sitemap for use with search engines.
    • suppressed.php
      Delete all currently suppressed catalog records from the Solr index.
  • 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.ini
    Theme configuration file
development/architecture/directory_layout.1347646676.txt.gz · Last modified: 2014/06/13 13:13 (external edit)