====== Content Provider Components ====== Starting in VuFind® 2.3, content-loading capabilities (for retrieving cover images, reviews, etc. from third-party APIs) were significantly refactored to rely on plugins. ===== Content Loader Plugin Details ===== // Each "family" of content plugins (covers, excerpts, etc.) has its own plugin manager. All of those plugin managers are managed by this top-level plugin manager. In other words, every "plugin" in this family is actually a plugin manager in its own right -- generally instances of \VuFind\Content\Loader with different configurations set. It is not usually necessary to add new services here unless you are implementing support for a whole new type of content. // **Default Namespace:** \VuFind\Content **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/Loader.php|\VuFind\Content\Loader]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content'] **Service Manager Name for Service Locator:** VuFind\ContentPluginManager (VuFind® 2.x-4.x), VuFind\Content\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ===== Content-Specific Plugin Details ===== // Each content loader (described above) returns plugins of one of the types described below. // ==== Author Notes ==== // These plugins retrieve information about the author of a particular title. // **Default Namespace:** \VuFind\Content\AuthorNotes **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractBase.php|\VuFind\Content\AbstractBase]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_authornotes'] **Service Manager Name for Service Locator:** VuFind\ContentAuthorNotesPluginManager (VuFind® 2.x-4.x), VuFind\Content\AuthorNotes\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ==== Covers ==== // Cover drivers are used for retrieving cover image data. They accept an array of ID values and return the URL to an image. Building a new plugin usually consists of setting some flags in the constructor to indicate which types of identifier are supported, then building a method to convert those identifiers into a valid URL. // **Default Namespace:** \VuFind\Content\Covers **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractCover.php|\VuFind\Content\AbstractCover]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_covers'] **Service Manager Name for Service Locator:** VuFind\ContentCoversPluginManager (VuFind® 2.x-4.x), VuFind\Content\Covers\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ==== Excerpts ==== // These plugins retrieve excerpts of a particular title. // **Default Namespace:** \VuFind\Content\Excerpts **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractBase.php|\VuFind\Content\AbstractBase]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_excerpts'] **Service Manager Name for Service Locator:** VuFind\ContentExcerptsPluginManager (VuFind® 2.x-4.x), VuFind\Content\Excerpts\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ==== Reviews ==== // These plugins retrieve reviews of a particular title. // **Default Namespace:** \VuFind\Content\Reviews **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractBase.php|\VuFind\Content\AbstractBase]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_reviews'] **Service Manager Name for Service Locator:** VuFind\ContentReviewsPluginManager (VuFind® 2.x-4.x), VuFind\Content\Reviews\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ==== Summaries ==== // These plugins retrieve summaries of a particular title. :!: Added in VuFind® 5.0. // **Default Namespace:** \VuFind\Content\Summaries **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractBase.php|\VuFind\Content\AbstractBase]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_summaries'] **Service Manager Name for Service Locator:** VuFind\ContentSummariesPluginManager (VuFind® 2.x-4.x), VuFind\Content\Summaries\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins. ==== Tables of Contents ==== // These plugins retrieve the table of contents for a particular title. :!: Added in VuFind® 5.0. // **Default Namespace:** \VuFind\Content\TOC **Base Class:** [[https://github.com/vufind-org/vufind/blob/dev/module/VuFind/src/VuFind/Content/AbstractBase.php|\VuFind\Content\AbstractBase]] **Service Locator Configuration Section in module.config.php:** ['vufind']['plugin_managers']['content_toc'] **Service Manager Name for Service Locator:** VuFind\ContentTOCPluginManager (VuFind® 2.x-4.x), VuFind\Content\TOC\PluginManager (VuFind® 5.0+) See the [[development:plugins:general_information|General Plugin Information]] page for more details on VuFind® plugins.