Packages Check List

0 - Easy deployment

Application files are deployed and config file is created.

  1. no file manipulation (FTP)
  2. no shell manipulation
  3. no mysql manipulation
  4. support for mysql table prefixs
    • to install multiple instances in one database
    • and avoid conflict with other applications

1 - Managed Install

Application is successfully installed without any suplementary step or wizard.

Installation process is entirely managed by the Installer:

  • through PHP (dynamic linking)
  • through HTTP (interaction with an existing Web Installer)

The installer ask for the necessary infos before processing. Installation options are defined in the install section of the manifest.

2 - Managed configuration

  • ideally, main configuration options should be available through La Distribution WebUI, CLI or API.
  • it's OK if configuration is managed directly from the application
  • it's NOT ok to ask the user to edit files by hand to manage application configuration

3 - Managed extensions

Extensions should be handled only through La Distribution Web WebUI, CLI or API.

  • install new extension (theme, plugins, etc)
  • uninstall extensions
  • no extension can be installed from outside, only possible through LD compatible repositories & LD standard process
  • extension can only be uninstalled with LD standard process

a) Theme management should be handled through La Distribution WebUI, CLI or API.

  • display available themes with thumbnail
  • ability to switch themes

b) Plugin management should be handled through La Distribution WebUI, CLI or API.

  • new installed plugins are automatically activated

4 - Backup / Restore / Clone

  • a backup should be generated in one click. containing all the content & configuration:
    • database
    • files
    • images
  • a backup can be restored in one click on the same application instance
  • or used to generate a clone of the application

5 - User integration

  • user should be able to log in using his LD account (login/password or OpenID)
  • user should be automatically loged in if he is already logged in LD main session (PHP session or Cookie, Zend_Auth)
  • user should be loged out of his main session if he choose to disconnect from a web application and was loged in through the main session
  • if an administrator is needed, an LD user should be asked during the install process
  • if existing, roles should be manageable through LD Web UI or CLI.

6 - UI integration

  • The LD super bar should be present on the bottom by default -> the administrator or the user should be able to toggle it
  • A 'minimal' theme should be available

7 - Proper usage of LD folders and LD libraries

  • most application code should be shared between multiple instances, splited in different packages
  • third party libraries (js, css, php) should be handled as separate packages
  • modifications to the packaged application and libraries can be handled has patch but this is the exception, it's preferable to modify applications with extension mechanisms. As a general policy, any straightfordard, simple, maintenable modification is OK. A contrario, any obscure, complicate, quirky modification should be avoided.

8 - Only for human being

  • Obscure configuration panels, configuration options are NEVER ok.