dsmiley commented on a change in pull request #531: URL: https://github.com/apache/solr/pull/531#discussion_r787069469
########## File path: dev-docs/plugins-modules-packages.adoc ########## @@ -0,0 +1,137 @@ += Plugins, Modules and Packages +:toc: left + +This document discusses how developers can group features into Plugins, Modules and Packages. + +== Definitions + +=== Plugin + +A plugin is a low level class that implements a certain Lucene or Solr interface, such as +`QParserPlugin`, `AuthPlugin`, `UpdateRequestProcessor`, `QueryResponseWriter` etc. +See ref guide page https://solr.apache.org/guide/solr-plugins.html[Solr Plugins] for details. + +=== Module + +Solr modules are addon Solr plugins that are not part of solr-core, but officially maintained +by the Solr project. They provide well-defined features such as the "extracting" module which lets +users index rich text documents with Apache Tika. Modules were earlier known as "contribs". + +Each module produces a separate `.jar` file in the build, and thus help keep the solr-core small and lean, +and also reduces risk by including only needed java classes on the class-path. + +A single module can contain multiple Plugins. + +=== Package + +A Package is a module or a 3rd party plugin for Solr provisioned with a `manifest.json` +to enable discovering and loading through https://solr.apache.org/guide/package-manager.html[Solr's package manager]. Packages are loaded from a "package repository" which is +simply a json file on a HTTP server. + +Packages can be maintained by 3rd party devs and hosted on +GitHub, like https://github.com/yasa-org/yasa[YASA], +https://github.com/rohitbemax/dataimporthandler[DataImportHandler], +https://github.com/erikhatcher/solr-velocity[Velocity], +https://github.com/cominvent/request-sanitizer-component[RequestSanitizerComponent] +and https://solr.cool/[several others]. Such packages are not endorsed by the Solr project and must be used at own risk. Review comment: I don't think we need to refer to the risks. Solr itself has no warranties, and I expect those don't either. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
