Both sides previous revisionPrevious revisionNext revision | Previous revision |
development:architecture:customizing_vufind [2015/12/11 18:55] – demiankatz | development:architecture:customizing_vufind [2024/04/24 18:41] (current) – [Themes] emaijala |
---|
Much of VuFind's functionality can be controlled through simple .ini files. These are designed to be human-readable and easily changed with little or no programming knowledge. | Much of VuFind's functionality can be controlled through simple .ini files. These are designed to be human-readable and easily changed with little or no programming knowledge. |
| |
Default configurations can be found in the /config/vufind subdirectory of VuFind. These can be overridden by copies in the /config/vufind subdirectory of your [[vufind2:local_settings_directory|local settings directory]]. | Default configurations can be found in the /config/vufind subdirectory of VuFind. These can be overridden by copies in the /config/vufind subdirectory of your [[configuration:local_settings_directory|local settings directory]]. |
| |
Most settings are found in [[:config.ini]], but additional files are provided for certain subsystems. | Most settings are found in [[configuration:files:config.ini]], but additional files are provided for certain subsystems. |
| |
===== Themes ===== | ===== Themes ===== |
Existing themes are found in the /themes subdirectory of VuFind. | Existing themes are found in the /themes subdirectory of VuFind. |
| |
Details on creating a new theme can be found on the [[vufind2:customizing_the_user_interface|Customizing the User Interface]] page. | Details on creating a new theme can be found on the [[development:architecture:user_interface|Customizing the User Interface]] page. |
| |
You can configure VuFind to use a custom theme through settings in [[:config.ini]]. | Details on the Bootstrap 5 based themes (starting with VuFind 10) can be found on the [[development:architecture:user_interface:bootstrap5|Themes Based on Bootstrap 5]] page. |
| |
| You can configure VuFind to use a custom theme through settings in [[configuration:files:config.ini]]. |
| |
===== Modules ===== | ===== Modules ===== |
| |
VuFind is built as a [[development:architecture:zend_framework|Zend Framework 2]] module. All of its routes and services are configured in /module/VuFind/config/module.config.php. | VuFind is built as a [[development:architecture:laminas|Laminas]] module. All of its routes and services are configured in /module/VuFind/config/module.config.php. |
| |
You can override these settings by building your own custom module. VuFind's install script provides the option of initializing a custom module. This establishes a directory and namespace where you can store your local configurations and code. It also sets up the VUFIND_LOCAL_MODULES environment variable that your Apache configuration uses to tell VuFind to load the custom code. | You can override these settings by building your own custom module. VuFind's install script (php $VUFIND_HOME/install.php) provides the option of initializing a custom module. This establishes a directory and namespace where you can store your local configurations and code. It also sets up the VUFIND_LOCAL_MODULES environment variable that your Apache configuration uses to tell VuFind to load the custom code. Even if you already have VuFind set up, you can run the install script a second time to make adjustments; just be aware that it will create a new Apache configuration in $VUFIND_LOCAL_DIR (while also making a backup of your existing configuration, in case you need to roll back). |
| |
Your configuration overrides belong in /module/[your module name]/config/module.config.php. Your custom code belongs in /module/[your module name]/src/[your module name], and it should live in a PHP namespace that corresponds with the module's name. | Your configuration overrides belong in /module/[your module name]/config/module.config.php. Your custom code belongs in /module/[your module name]/src/[your module name], and it should live in a PHP namespace that corresponds with the module's name. |
For information on some of the types of custom code you might wish to include in your module, see the [[development:plugins]] page. | For information on some of the types of custom code you might wish to include in your module, see the [[development:plugins]] page. |
| |
Starting with VuFind 2.4, some [[vufind2:code_generators|code generators]] are available to help save time when you build customizations in your local module. | Starting with VuFind 2.4, some [[development:code_generators|code generators]] are available to help save time when you build customizations in your local module. |
===== Further Reading ===== | ===== Further Reading ===== |
| |
See some useful applications of the VuFind customization on the [[installation:installing_multiple_instances|installing multiple instances]] page. | See some useful applications of the VuFind customization on the [[installation:installing_multiple_instances|installing multiple instances]] page. |
| |
| ===== Related Video ===== |
| |
| See the [[videos:code_generators_1|Code Generators Part 1]] video for a hands-on example of setting up a local code module. |
---- struct data ---- | ---- struct data ---- |
| properties.Page Owner : |
---- | ---- |
| |