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
vufind2:developer_manual [2015/08/25 15:38] – [Planning] 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 [[..: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]] - Notes on aiding development with version tracking. 
-  * [[Recommended Tools]] - Suggestions for successful VuFind development. 
  
-===== Architecture Notes ===== +===== External Links =====
-  * [[Data Model / Key Concepts]] - Key ideas in the VuFind 2.0 architecture. +
-    * [[Record Driver Method Master List]] - A reference to get methods used by record drivers. +
-  * [[Directory Layout]] +
-  * [[..:Index Schema]] +
-    * [[..:authority_control#authority_index|Authority Index Schema]] +
-  * [[Language / Localization Support]] +
-  * [[Search Service]] +
-===== General Information =====+
  
-  * [[Why VuFind 2.0?]] - Some of the reasons for a new major release. +==== VuFind Planning ====
-  * [[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 ===== +  * [[community_call|Community Call]] - A regular meeting (free, online and open to all) for discussion, planning and information sharing.
- +
-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]] - Custom login functionality +
-  * [[Autosuggesters]] - Sources for autocomplete suggestions +
-  * [[Database Gateways]] - Interfacing with database tables and rows +
-  * [[Hierarchy Components]] - Support tools for [[..:hierarchies and collections]] +
-  * [[Building an ILS Driver|ILS Drivers]] - Interfacing with integrated library systems +
-  * [[Link Resolver Drivers]] - Interfacing with OpenURL resolvers for embedded results +
-  * [[Permission Provider Plugins]] - Permission providers are part of VuFind's [[authorization]] mechanism. +
-  * [[Recommendation Modules]] - Providing context-sensitive suggestions in search results +
-  * [[Record Drivers]] - Representing metadata in an object format recognized by VuFind +
-  * [[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]] - Custom PHP session storage mechanisms +
-  * [[Statistics Drivers]] - Modules for gathering search/record view statistics +
- +
-===== How-Tos ===== +
-  * [[..:Adding Facets]] - How to add a new facet to searches. +
-  * [[Authorization]] - Information on how VuFind handles user authorization. +
-  * [[Building an ILS Driver]] - How to connect to your Integrated Library System. +
-  * [[Building a Controller]] - How to add new pages and functionality to the interface. +
-  * [[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]] - 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]] - Basics on customizing the presentation layer of VuFind. +
-  * [[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]] - How to add a citation style to VuFind. +
-  * [[Supporting a New Export Format]] - How to add support to export metadata from VuFind to files/third-party systems. +
-  * [[Supporting a New Metadata Format]] - How to add a record driver and build an importer for non-MARC records. +
- +
-===== Planning ===== +
- +
-  * [[..:New Feature Specifications]] - Pages for discussing and specifying new features.+
   * [[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]] - Notes on project-level VuFind testing. +
-  * [[..:Testing Checklist]] - Feature list helpful for validating functionality of VuFind code. +
-  * [[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.1440517091.txt.gz · Last modified: 2015/08/25 15:38 by demiankatz