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.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
vufind2:directory_layout [2012/09/14 18:13] – demiankatz | development:architecture:directory_layout [2018/12/19 14:21] – [VuFind Directory Layout] demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== VuFind | + | ====== VuFind Directory Layout ====== |
- | // This page refers to VuFind 2.x; for earlier versions, see [[..: | + | // This page refers to VuFind 2.x and later; use of earlier versions |
===== Top-Level Layout ===== | ===== Top-Level Layout ===== | ||
* **config** \\ Application-level configurations | * **config** \\ Application-level configurations | ||
+ | * **vufind** \\ Default VuFind .ini files; normally these are copied into a [[configuration: | ||
* **data** \\ Storage for application-level data (rarely used) | * **data** \\ Storage for application-level data (rarely used) | ||
* **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 settings directory]] (other paths may be configured) | + | * **local** \\ Default [[configuration: |
- | * **module** \\ Core code, divided into modules | + | * **module** \\ Core code, divided into modules; for details, see [[# |
+ | * **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' | ||
+ | * **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' | ||
+ | * **VuFindTheme** \\ VuFind' | ||
* **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. Starting with VuFind 3.0, this is separated into separate ' |
* **tests** \\ Test suite | * **tests** \\ Test suite | ||
* **themes** \\ Templates, CSS, Javascript, images and other theme-specific resources; for details, see [[# | * **themes** \\ Templates, CSS, Javascript, images and other theme-specific resources; for details, see [[# | ||
Line 19: | Line 27: | ||
* **jquerymobile** \\ Default mobile theme | * **jquerymobile** \\ Default mobile theme | ||
* **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 | + | * **util** \\ [[administration: |
- | * 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 | * **vendor** \\ Third-party code | ||
* build.xml \\ Phing build script (used for development/ | * build.xml \\ Phing build script (used for development/ | ||
Line 33: | Line 34: | ||
* install.php \\ VuFind installer | * install.php \\ VuFind installer | ||
* vufind.sh \\ VuFind startup/ | * vufind.sh \\ VuFind startup/ | ||
+ | |||
+ | ===== 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 ===== | ===== Anatomy of a Theme ===== | ||
Line 42: | Line 54: | ||
* **js** \\ Javascript resources (exposed to public access) | * **js** \\ Javascript resources (exposed to public access) | ||
* **templates** \\ PHP templates for rendering HTML | * **templates** \\ PHP templates for rendering HTML | ||
- | * theme.ini \\ Theme configuration file | + | * theme.config.php |
---- struct data ---- | ---- struct data ---- | ||
---- | ---- | ||
development/architecture/directory_layout.txt · Last modified: 2024/01/04 19:11 by demiankatz