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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vufind2:directory_layout [2012/09/14 18:09] demiankatzdevelopment:architecture:directory_layout [2024/01/04 19:11] (current) – [Top-Level Layout] demiankatz
Line 1: Line 1:
-====== VuFind 2.x Directory Layout ======+====== VuFind® Directory Layout ======
  
-// This page refers to VuFind 2.x; for earlier versions, see [[..:directory_layout|VuFind 1.x Directory Layout]]. //+===== Top-Level Layout =====
  
   * **config** \\ Application-level configurations   * **config** \\ Application-level configurations
 +    * **vufind** \\ Default VuFind® .ini files; normally these are copied into a [[configuration:local_settings_directory|local settings directory]] rather than modified directly.
   * **data** \\ Storage for application-level data (rarely used)   * **data** \\ Storage for application-level data (rarely used)
 +  * **downloads** \\ Cache for downloaded dependencies (e.g. Solr)
   * **harvest** \\ Tools for harvesting metadata   * **harvest** \\ Tools for harvesting metadata
   * **import** \\ Tools for importing metadata   * **import** \\ Tools for importing metadata
   * **languages** \\ Default language files   * **languages** \\ Default language files
-  * **local** \\ Default "local settingsdirectory (other paths may be configured) +  * **local** \\ Default [[configuration:local_settings_directory|local settings directory]] (other paths may be configured) 
-  * **module** \\ Core code, divided into modules+  * **module** \\ Core code, divided into modules; for details, see [[#anatomy_of_a_module|anatomy of a module]] below. 
 +    * **VuFind** \\ Core VuFind® code 
 +    * **VuFindAdmin** \\ Code for accessing the web-based Admin panel 
 +    * **VuFindApi** \\ Code for VuFind®'s public API 
 +    * **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) 
 +    * **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   * **public** \\ Web root -- should only contain index.php; other files are made accessible via Apache configuration
-  * **solr** \\ Solr index+  * **solr** \\ Solr index and all Solr related items including Solr itself and the data directories for the indexes. This is separated into separate 'vufind' and 'vendor' subdirectories to differentiate Solr-distributed code from VuFind® configuration and data.
   * **tests** \\ Test suite   * **tests** \\ Test suite
-  * **themes** \\ Templates, CSS, Javascript, images and other theme-specific resources +  * **themes** \\ Templates, CSS, Javascript, images and other theme-specific resources; for details, see [[#anatomy_of_a_theme|anatomy of a theme]] below. 
-    * **blueprint** \\ Default desktop theme +    * **local_mixin_example** \\ Example of a [[development:architecture:user_interface#mix-ins|theme mix-in]] (used by the [[development:code_generators#creating_theme_mix-ins|mix-in generator]]). 
-    * **jquerymobile** \\ Default mobile theme+    * **local_theme_example** \\ Example of a local custom theme (used by the [[development:code_generators#creating_themes|theme generator]]).
     * **root** \\ Base theme containing shared resources needed by all other themes     * **root** \\ Base theme containing shared resources needed by all other themes
-  * **util** \\ Command line utilities +    * //assorted other directories// \\ VuFind®'s built-in themes (details vary depending on version) 
-    * dedupe.php \\ Remove duplicate lines from a text file. +  * **util** \\ [[administration:command_line_utilities|Command line utilities]] 
-    delete.php \\ Remove all of the records in a specified MARC file from the Solr index. +    * **i18n** \\ Specialized Javascript/PHP tools for building language files for i18n
-    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   * **vendor** \\ Third-party code
   * build.xml \\ Phing build script (used for development/continuous integration)   * build.xml \\ Phing build script (used for development/continuous integration)
   * import-*.* \\ Import automation scripts   * import-*.* \\ Import automation scripts
   * index-alphabetic-browse.* \\ AlphaBrowse index generation script   * index-alphabetic-browse.* \\ AlphaBrowse index generation script
-  * install.php \\ VuFind installer +  * install.php \\ VuFind® installer 
-  * vufind.sh \\ VuFind startup/shutdown script+  * solr.sh \\ Solr 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) 
 +  * **less** \\ LESS resources (used to build CSS) 
 +  * **scss** \\ SCSS resources (auto-translated from LESS; provided for reference but unused by default) 
 +  * **templates** \\ PHP templates for rendering HTML 
 +  * theme.config.php \\ Theme configuration file
 ---- struct data ---- ---- struct data ----
 +properties.Page Owner : 
 ---- ----
  
development/architecture/directory_layout.1347646188.txt.gz · Last modified: 2014/06/13 13:13 (external edit)