Commit 4809d4d9 authored by webchick's avatar webchick

Issue #2234439 by jhodgdon, cosmicdreams, xjm: Add a section for the plugin...

Issue #2234439 by jhodgdon, cosmicdreams, xjm: Add a section for the plugin system to the API doc landing page.
parent e5b3f93a
......@@ -18,6 +18,8 @@
* of a class to be located with the class itself, rather than in module-based
* info hooks.
*
* @ingroup plugin_api
*
* @Annotation
*/
class Plugin implements AnnotationInterface {
......
......@@ -9,6 +9,8 @@
/**
* Provides an interface for a configurable plugin.
*
* @ingroup plugin_api
*/
interface ConfigurablePluginInterface {
......
......@@ -14,6 +14,8 @@
*
* Context aware plugins can specify an array of context definitions keyed by
* context name at the plugin definition under the "context" key.
*
* @ingroup plugin_api
*/
interface ContextAwarePluginInterface extends PluginInspectionInterface {
......
......@@ -9,6 +9,8 @@
/**
* Plugin interface for derivative plugin handling.
*
* @ingroup plugin_api
*/
interface DerivativeInterface {
......
......@@ -10,6 +10,8 @@
/**
* An interface defining the minimum requirements of building a plugin
* discovery component.
*
* @ingroup plugin_api
*/
interface DiscoveryInterface {
......
......@@ -9,6 +9,8 @@
/**
* Defines an object which stores multiple plugin instances to lazy load them.
*
* @ingroup plugin_api
*/
abstract class PluginBag implements \Iterator, \Countable {
......
......@@ -11,6 +11,8 @@
*
* This interface provides some simple tools for code receiving a plugin to
* interact with the plugin system.
*
* @ingroup plugin_api
*/
interface PluginInspectionInterface {
......
......@@ -26,6 +26,8 @@
* class, which contains the proxying logic.
*
* @see \Drupal\Component\Plugin\PluginManagerBase
*
* @ingroup plugin_api
*/
interface PluginManagerInterface extends DiscoveryInterface, FactoryInterface, MapperInterface {
}
......@@ -11,6 +11,8 @@
* Provides an interface for an object utilizing a plugin bag.
*
* @see \Drupal\Component\Plugin\PluginBag
*
* @ingroup plugin_api
*/
interface EntityWithPluginBagsInterface extends EntityInterface {
......
......@@ -9,6 +9,8 @@
/**
* An interface for executable plugins.
*
* @ingroup plugin_api
*/
interface ExecutableInterface {
......
......@@ -23,6 +23,8 @@
/**
* Base class for plugin managers.
*
* @ingroup plugin_api
*/
class DefaultPluginManager extends PluginManagerBase implements PluginManagerInterface, CachedDiscoveryInterface {
......
......@@ -13,6 +13,8 @@
/**
* Base class for plugins supporting metadata inspection and translation.
*
* @ingroup plugin_api
*/
abstract class PluginBase extends ComponentPluginBase {
use StringTranslationTrait;
......
......@@ -9,6 +9,8 @@
/**
* Provides an interface for a plugin that contains a form.
*
* @ingroup plugin_api
*/
interface PluginFormInterface {
......
......@@ -551,12 +551,7 @@ function search_mark_for_reindex($type, $sid) {
* data. Most of the system is handled by the Search module, so this must be
* enabled for all of the search features to work.
*
* To be discovered, the plugins must implement
* \Drupal\search\Plugin\SearchInterface and be annotated as
* \Drupal\search\Annotation\SearchPlugin plugins. Defining a plugin will allow
* administrators to set up one or more search pages using this plugin.
*
* There are three ways to interact with the search system:
* There are two ways to interact with the search system:
* - Specifically for searching nodes, you can implement
* hook_node_update_index() and hook_node_search_result(). However, note that
* the search system already indexes all visible output of a node; i.e.,
......@@ -569,12 +564,16 @@ function search_mark_for_reindex($type, $sid) {
* Each of these corresponds to a tab on the /search page, which can be
* used to perform searches. You will also need to implement the execute()
* method from the interface to perform the search. A base class is provided
* in \Drupal\search\Plugin\SearchPluginBase.
* in \Drupal\search\Plugin\SearchPluginBase. For more information about
* plugins, see the @link plugin_api Plugin API topic. @endlink
*
* If your module needs to provide a more complicated search form, then you
* need to implement it yourself. In that case, you may wish to define it as a
* local task (tab) under the /search page (e.g. /search/mymodule) so that users
* can easily find it.
*
* @see plugin_api
* @see annotation
*/
/**
......
This diff is collapsed.
......@@ -12,7 +12,8 @@
*
* Views plugins are objects that are used to build and render the view.
* Plugins are registered by extending one of the Views base plugin classes
* and defining settings in the plugin annotation.
* and defining settings in the plugin annotation. For more information about
* plugins, see the @link plugin_api Plugin API topic. @endlink
*
* Views has the following types of plugins:
* - Access: Access plugins are responsible for controlling access to the
......@@ -83,7 +84,6 @@
* \Drupal\views\Plugin\views\style\StylePluginBase.
*
* @todo Add an explanation for each type of handler.
* @todo Document how to use annotations and what goes in them.
* @todo Add @ingroup to all the base plugins for this group.
* @todo Add a separate @ingroup for all plugins?
* @todo Document specific options on the appropriate plugin base classes.
......@@ -91,6 +91,8 @@
*
* @see \Drupal\views\Plugin\views\PluginBase
* @see \Drupal\views\Plugin\views\HandlerBase
* @see plugin_api
* @see annotation
*/
/**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment