Packages Check List
0 - Easy deployment
Application files are deployed and config file is created.
- no file manipulation (FTP)
- no shell manipulation
- no mysql manipulation
- 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.
