Wiki source code of Application Manager Proposal
Last modified by Vincent Massol on 2024/11/19 16:12
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | = Proposed detailed implementations = | ||
| 2 | |||
| 3 | == Plexus component based architecture == | ||
| 4 | |||
| 5 | === Java part === | ||
| 6 | |||
| 7 | ==== Application sources list ==== | ||
| 8 | |||
| 9 | * maven+http | ||
| 10 | * maven+https | ||
| 11 | |||
| 12 | ==== Applicatione retrieval ==== | ||
| 13 | |||
| 14 | * http | ||
| 15 | * https | ||
| 16 | * ftp | ||
| 17 | * ftpes | ||
| 18 | * sftp | ||
| 19 | * fs | ||
| 20 | |||
| 21 | ==== Application package manager ==== | ||
| 22 | |||
| 23 | * install | ||
| 24 | ** new or upgrade | ||
| 25 | ** execute custom script | ||
| 26 | * uninstall | ||
| 27 | ** execute custom script | ||
| 28 | * enable | ||
| 29 | * disable | ||
| 30 | |||
| 31 | === Wiki part === | ||
| 32 | |||
| 33 | == Another old technical full solution == | ||
| 34 | |||
| 35 | {{warning}} | ||
| 36 | This solution is old now and I'm not sure it should be done that way. I'd now rather have this written in Java I think. | ||
| 37 | {{/warning}} | ||
| 38 | |||
| 39 | * Create an ApplicationClass class with: | ||
| 40 | ** Name | ||
| 41 | ** Version | ||
| 42 | ** List of ApplicationDocumentClass documents | ||
| 43 | ** List of ApplicationDependencyClass documents | ||
| 44 | ** Compatible with XWiki versions | ||
| 45 | * Create an ApplicationDocumentClass class with: | ||
| 46 | ** Name | ||
| 47 | ** Checksum (this is to ensure that application pages have not been modified or to warn if they have) | ||
| 48 | ** Description of page | ||
| 49 | ** Is optional? (if true then when the appliation import wizard displays the list of pages to import, it won't be checked. This is useful for example to include optional pages such as a Panel page which is only useful if the user is using the Panels feature for example) | ||
| 50 | * Create an ApplicationDependencyClass class with: | ||
| 51 | ** Dependent app name | ||
| 52 | ** Dependent app version | ||
| 53 | * Create an Import/Export wizard for applications. Bundled in the Application Manager XAR | ||
| 54 | * The Application Manager is an application itself so it needs to be installed as a standard XAR |