Application Manager Proposal

Last modified by Vincent Massol on 2024/11/19 16:12

 XWiki
 Requirements
 Completed
 

Description

Proposed detailed implementations

Plexus component based architecture

Java part

Application sources list

  • maven+http
  • maven+https

Applicatione retrieval

  • http
  • https
  • ftp
  • ftpes
  • sftp
  • fs

Application package manager

  • install
    • new or upgrade
    • execute custom script
  • uninstall
    • execute custom script
  • enable
  • disable

Wiki part

Another old technical full solution

Warning

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.

  • Create an ApplicationClass class with:
    • Name
    • Version
    • List of ApplicationDocumentClass documents
    • List of ApplicationDependencyClass documents
    • Compatible with XWiki versions
  • Create an ApplicationDocumentClass class with:
    • Name
    • Checksum (this is to ensure that application pages have not been modified or to warn if they have)
    • Description of page
    • 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)
  • Create an ApplicationDependencyClass class with:
    • Dependent app name
    • Dependent app version
  • Create an Import/Export wizard for applications. Bundled in the Application Manager XAR
  • The Application Manager is an application itself so it needs to be installed as a standard XAR

 

Get Connected