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

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
development [2015/12/09 19:08] – ↷ Page moved and renamed from vufind2:developer_manual to development demiankatzdevelopment [2020/10/05 14:10] (current) – [About VuFind] demiankatz
Line 1: Line 1:
-====== VuFind 2.x Developer Manual ======+====== VuFind Developer Manual ======
  
-This page covers development of VuFind 2.x; for earlier versions, see the [[legacy:vufind_1.x_developer_manual|VuFind 1.x Developer Manual]].+:!: This page covers development of VuFind 2.x and lateruse of earlier versions is no longer recommended.
  
-===== Coding Standards ===== +===== Prerequisites ===== 
-  * PHP Code - [[http://pear.php.net/manual/en/standards.php|PEAR Coding Standards]]+  * [[development:coding_standards|Coding Standards]] - How to conform to VuFind's style. 
 +  * [[development:recommended_tools|Recommended Tools]] - Suggestions for successful VuFind development. 
 +  * [[development:making_pull_requests|Making Pull Requests]]
  
-For help with standards compliance, see the [[recommended_tools#style|recommended tools page]]. +===== About VuFind ===== 
-===== Development Tools =====+  * [[development:architecture|Architecture Notes]] - Information on VuFind's design and dependencies. 
 +  * [[development:howtos|Cookbook / How-Tos]] - Step-by-step instructions on various VuFind development tasks. 
 +  * [[development:plugins|Plugins]] - Information on the types of plug-ins used to extend VuFind functionality. 
 +  * [[development:profiling|Profiling]] - Information on profiling VuFind's code to improve performance. 
 +  * [[development:testing|Testing]] - Notes on testing VuFind. 
 +  * [[development:troubleshooting|Troubleshooting]] - Notes on troubleshooting and debugging VuFind. 
 +  * [[development:apis|APIs]] - APIs that VuFind provides for searching and other functionality.
  
-  * [[Git|Git]] - Notes on aiding development with version tracking. 
-  * [[Recommended Tools|Recommended Tools]] - Suggestions for successful VuFind development. 
  
-===== Architecture Notes ===== +===== External Links =====
-  * [[Cookies|Cookies]] - Notes on VuFind's use of cookies. +
-  * [[Data Model / Key Concepts|Data Model / Key Concepts]] - Key ideas in the VuFind 2.0 architecture. +
-    * [[Record Driver Method Master List|Record Driver Method Master List]] - A reference to get methods used by record drivers. +
-  * [[Database Schema|Database Schema]] +
-  * [[Directory Layout|Directory Layout]] +
-  * [[..:Index Schema|Index Schema]] +
-    * [[..:authority_control#authority_index|Authority Index Schema]] +
-  * [[Language / Localization Support|Language / Localization Support]] +
-  * [[Search Service|Search Service]] +
-===== General Information =====+
  
-  * [[Why VuFind 2.0?|Why VuFind 2.0?]] - Some of the reasons for a new major release. +==== VuFind Planning ====
-  * [[Customizing VuFind 2.0|Customizing VuFind 2.0]] - How to change VuFind's behavior. +
-  * [[Zend Framework 2.0|Zend Framework 2]] - Information about VuFind 2.0's underlying framework. +
- +
-===== Plugins ===== +
- +
-VuFind features integration points for a variety of plugins.  The [[General Plugin Information]] page describes general principles for building plugins.  The list below offers specifics for each type of plugin. +
- +
-  * [[Authentication Handlers|Authentication Handlers]] - Custom login functionality +
-  * [[Autosuggesters|Autosuggesters]] - Sources for autocomplete suggestions +
-  * [[Database Gateways|Database Gateways]] - Interfacing with database tables and rows +
-  * [[Hierarchy Components|Hierarchy Components]] - Support tools for [[..:hierarchies and collections]] +
-  * [[Building an ILS Driver|ILS Drivers]] - Interfacing with integrated library systems +
-  * [[Link Resolver Drivers|Link Resolver Drivers]] - Interfacing with OpenURL resolvers for embedded results +
-  * [[Permission Provider Plugins|Permission Provider Plugins]] - Permission providers are part of VuFind's [[authorization]] mechanism. +
-  * [[Recommendation Modules|Recommendation Modules]] - Providing context-sensitive suggestions in search results +
-  * [[Record Drivers|Record Drivers]] - Representing metadata in an object format recognized by VuFind +
-  * [[Record Tabs|Record Tabs]] - Objects representing tabs on the record view page +
-  * [[building_a_related_record_module|Related Records Modules]] - Providing context-sensitive suggestions in record views +
-  * [[Session Handlers|Session Handlers]] - Custom PHP session storage mechanisms +
-  * [[Statistics Drivers|Statistics Drivers]] - Modules for gathering search/record view statistics +
- +
-===== How-Tos ===== +
-  * [[..:Adding Facets|Adding Facets]] - How to add a new facet to searches. +
-  * [[Authorization|Authorization]] - Information on how VuFind handles user authorization. +
-  * [[Building an ILS Driver|Building an ILS Driver]] - How to connect to your Integrated Library System. +
-  * [[Building a Controller|Building a Controller]] - How to add new pages and functionality to the interface. +
-  * [[Building a View Helper|Building a View Helper]] - How to add custom behavior to templates. +
-  * [[..:autocomplete#building_custom_suggestions|Building Custom Autosuggestions]] - How to customize VuFind's autocomplete functionality. +
-  * [[Connecting a New External Data Source|Connecting a New External Data Source]] - Building a VuFind module for a new data source  that can't be indexed directly into VuFind (i.e. third-party API) +
-  * [[Customizing the User Interface|Customizing the User Interface]] - Basics on customizing the presentation layer of VuFind. +
-  * [[Displaying a Custom Field|Displaying a Custom Field]] - How to make a new field visible in the VuFind environment. +
-  * [[..:searches_customizing_tuning_adding|Displaying a New Search Field]] - How to add search fields to the VuFind web interface +
-  * [[Supporting a New Citation Style|Supporting a New Citation Style]] - How to add a citation style to VuFind. +
-  * [[Supporting a New Export Format|Supporting a New Export Format]] - How to add support to export metadata from VuFind to files/third-party systems. +
-  * [[Supporting a New Metadata Format|Supporting a New Metadata Format]] - How to add a record driver and build an importer for non-MARC records. +
- +
-===== Planning =====+
  
 +  * [[community_call|Community Call]] - A regular meeting (free, online and open to all) for discussion, planning and information sharing.
   * [[https://github.com/vufind-org/vufind/pulls|GitHub pull requests]] - A place to view and discuss work in progress on new features.   * [[https://github.com/vufind-org/vufind/pulls|GitHub pull requests]] - A place to view and discuss work in progress on new features.
   * [[http://vufind.org/jira|JIRA]] - VuFind's issue tracker.   * [[http://vufind.org/jira|JIRA]] - VuFind's issue tracker.
- +  * [[http://vufind.slack.com|Slack]] - Email crhallberg@gmail.com for an invitation to the Slack if you cannot sign up directly
-===== Testing ===== +==== Other Notes ====
- +
-  * [[..:Continuous Integration|Continuous Integration]] - Notes on project-level VuFind testing. +
-  * [[..:Testing Checklist|Testing Checklist]] - Feature list helpful for validating functionality of VuFind code. +
-  * [[Unit Tests|Unit Tests]] - Notes on building and running tests for VuFind components. +
- +
-===== 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://wiki.code4lib.org/index.php/Working_with_MaRC|Working with MARC]] - This Code4Lib page offers useful resources for dealing with MARC records.
  
 ---- struct data ---- ---- struct data ----
 +properties.Page Owner : 
 ---- ----
  
development.1449688123.txt.gz · Last modified: 2015/12/09 19:08 by demiankatz