Wiki source code of Extension Manager - API
Last modified by Thomas Mortagne on 2022/11/30 13:35
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{toc/}} | ||
| 2 | |||
| 3 | = Services = | ||
| 4 | |||
| 5 | Extension Manager comes with many Java APIs to manipulate extensions. The main entry points takes the form of various components that one can injected. | ||
| 6 | |||
| 7 | == ##org.xwiki.extension.ExtensionManager## == | ||
| 8 | |||
| 9 | The main entry point, expose various cross repositories common needs. | ||
| 10 | |||
| 11 | == ##org.xwiki.extension.repository.CoreExtensionRepository## == | ||
| 12 | |||
| 13 | Manipulate core extensions. The extensions that are part of the sealed distribution (generally the WAR and the JARs exposed by the application server) and which are not upgradable. | ||
| 14 | |||
| 15 | == ##org.xwiki.extension.repository.LocalExtensionRepository## == | ||
| 16 | |||
| 17 | Manipulate local (which also includes installed) extensions. | ||
| 18 | |||
| 19 | == ##org.xwiki.extension.repository.InstalledExtensionRepository## == | ||
| 20 | |||
| 21 | Manipulate installed extensions. | ||
| 22 | |||
| 23 | == ##org.xwiki.extension.repository.ExtensionRepositoryManager## == | ||
| 24 | |||
| 25 | Manipulate remote extension repositoryies and expose ##ExtensionRepository## API but involving all registered repositories. | ||
| 26 | |||
| 27 | = Extension points components interfaces = | ||
| 28 | |||
| 29 | It's possible to extends Extension Manager in various ways. | ||
| 30 | |||
| 31 | == ##org.xwiki.extension.repository.ExtensionRepositoryFactory## == | ||
| 32 | |||
| 33 | * role hint: the type of repository supported ("maven", "xwiki, etc.) | ||
| 34 | |||
| 35 | Create ExtensionRepository objects. | ||
| 36 | |||
| 37 | == ##org.xwiki.extension.handler.ExtensionHandler## == | ||
| 38 | |||
| 39 | * role hint: the type of extensions supported ("jar", "xar", etc.) | ||
| 40 | |||
| 41 | Is called to apply extension type specific installation/uninstallation/upgrade actions (load components from jar extensions, import xar pages, etc.). | ||
| 42 | |||
| 43 | == ##org.xwiki.extension.repository.ExtensionRepositorySource## == | ||
| 44 | |||
| 45 | * role hint: just need to be unique among all ExtensionRepositorySource implementations | ||
| 46 | |||
| 47 | Provide a list of ExtensionRepositoryId representing the remote repositories where ExtensionRepositoryManager will search. |