====== Developer Manual ====== This page contains the latest information for VuFind developers. ===== Coding Standards ===== * PHP Code - [[http://pear.php.net/manual/en/standards.php|PEAR Coding Standards]] For help with standards compliance, try the [[http://pear.php.net/package/PHP_CodeSniffer|PHP_CodeSniffer]] tool. Install it with PEAR, then run: phpcs --standard=PEAR [file] ===== Development Tools ===== * [[Eclipse Setup|Eclipse]] - Notes on setting up the popular programmer's editor. * [[Subversion]] - Notes on aiding development with version tracking. ===== Architecture Notes ===== * [[http://vufind.org/docs/VufindDiagram.jpg|Architecture Diagram]] * [[Directory Layout]] * [[Global Variables]] * [[Index Schema]] * [[authority_control#authority_index|Authority Index Schema]] * [[Language / Localization Support]] * [[System Classes]] ===== How-Tos ===== * [[Adding Facets]] - How to add a new facet to searches. * [[Building an Authentication Handler]] - How to add custom authentication methods. * [[Building an ILS Driver]] - How to connect to your Integrated Library System. * [[Building a Link Resolver Driver]] - How to connect to your OpenURL resolver. * [[Building a Module]] - How to add new pages and functionality to the interface. * [[Building a Plugin]] - How to add custom behavior to Smarty Templates. * [[Building a Recommendations Module]] - How to add custom recommendations to searches. * [[Building a Search Object]] - How to add a new type of searching to VuFind. * [[Creating a Session Handler]] - How to store user sessions in a custom location. * [[autocomplete#building_custom_suggestions|Building Custom Autosuggestions]] - How to customize VuFind's autocomplete functionality. * [[other_than_MARC|Supporting a New Metadata Format]] - How to add a record driver and build an importer for non-MARC records. * [[Unit Tests]] - Notes on building and running tests for VuFind components. * [[customization|User Interface Customization]] - Basics on customizing the presentation layer of VuFind. ===== External Resources ===== * [[http://wiki.code4lib.org/index.php/Working_with_MaRC|Working with MARC]] - This Code4Lib page offers useful resources for dealing with MARC records. * [[http://credaul.wordpress.com/2011/06/05/vufind-orientation/|VuFind Orientation]] - A quick blog post about VuFind's architecture. ===== Older Resources ===== * {{http://vufind.org/docs/VUFind%20Documentation.pdf|Deprecated Developer Manual}} - EXTREMELY out of date, but retained for reference.