Wiki source code of Extension Manager - Plan
Last modified by Vincent Massol on 2024/11/19 16:12
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{include document="XWiki.DesignClassSheet"/}} | ||
| 2 | |||
| 3 | {{toc/}} | ||
| 4 | |||
| 5 | Extension Manager already exist, you can see documentation about its current state on [[extensions:Extension.Extension Module]]. | ||
| 6 | |||
| 7 | This page is about future features and improvements of Extension Manager. | ||
| 8 | |||
| 9 | = UI = | ||
| 10 | |||
| 11 | [[ExtensionManagerUI]] | ||
| 12 | |||
| 13 | = Installed extensions = | ||
| 14 | |||
| 15 | [[ExtensionManagerInstalledExtensions]] | ||
| 16 | |||
| 17 | = Return back information to the server = | ||
| 18 | |||
| 19 | The idea is to give some information to the server when it support it: | ||
| 20 | |||
| 21 | * extension has been installed succesfully | ||
| 22 | * extension installing failed | ||
| 23 | * extension has been uninstalled | ||
| 24 | * ... | ||
| 25 | |||
| 26 | = Virtual extensions as dependency = | ||
| 27 | |||
| 28 | Virtual extension are already implemented but one thing is missing: put virtual extension as dependency. | ||
| 29 | |||
| 30 | == pom.xml extension == | ||
| 31 | |||
| 32 | Define how to indicate a dependency that maven will obviously be unable to find itself. | ||
| 33 | |||
| 34 | == Find the extension == | ||
| 35 | |||
| 36 | Also need a way to find an extension by one of its supported features. Easy to add this in XWiki repository but not so much in maven repository where we can't easily search. | ||
| 37 | |||
| 38 | = Extension index = | ||
| 39 | |||
| 40 | [[ExtensionManagerIndexer]] | ||
| 41 | |||
| 42 | = Repositories = | ||
| 43 | |||
| 44 | [[ExtensionManagerRepositories]] | ||
| 45 | |||
| 46 | = Install an extension not coming from a repository = | ||
| 47 | |||
| 48 | {{todo/}} | ||
| 49 | |||
| 50 | = New XWiki packaging format = | ||
| 51 | |||
| 52 | [[ExtensionManageXWikiPackage]] | ||
| 53 | |||
| 54 | = Social = | ||
| 55 | |||
| 56 | [[ExtensionManagerSocial]] | ||
| 57 | |||
| 58 | = Misc = | ||
| 59 | |||
| 60 | * add possibility to reinstall an extension (to restore it when a page has been removed by mistake or something like that) | ||
| 61 | |||
| 62 | = Ideas (less obviously useful) = | ||
| 63 | |||
| 64 | * add enable/disable extension support ([[XWIKI-5704>>http://jira.xwiki.org/jira/browse/XWIKI-5704]]) | ||
| 65 | |||
| 66 | = Links and things to look at = | ||
| 67 | |||
| 68 | * [[Debian Policy Manual>>http://www.debian.org/doc/debian-policy/]] and especially [[Declaring relationships between packages>>http://www.debian.org/doc/debian-policy/ch-relationships.html]] for inspiration | ||
| 69 | * [[Aether>>https://docs.sonatype.org/display/AETHER/Home]]: official maven atifact resolving and dedpendency management library | ||
| 70 | * [[Apache Ivy>>http://groovy.codehaus.org/Grapes+and+grab%28%29]]: looks like [[groovy is using that as a library>>http://groovy.codehaus.org/Grapes+and+grab%28%29]] so could we (even if i could not find any reference to that on the Ivy website). It also supports maven so it could also be an alternative to Aether | ||
| 71 | * OSGi | ||
| 72 | * http://blog.caucho.com/tag/pomegranate/ (see also the comments at http://blog.caucho.com/?p=211) | ||
| 73 | * [[Apache ACE>>http://incubator.apache.org/ace/]] | ||
| 74 | * [[Commet>>http://en.wikipedia.org/wiki/Comet_%28programming%29]] to be used for question/answer UI |