eZ Component: ConsoleTools, Requirements ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Introduction ============ Description ----------- This document describes requirements for commandline scripts distributed with eZComponents and an environment to ease the writing of individual commandline scripts for applications build on top of eZComponents (client apps). Examples for those scripts are: - scripts to create or apply database schema (diff) files - scripts to create PersistentObject definitions - UnitTest runners for client apps - a script to build autoload array files - deployment and maintaining scripts for client apps Requirements ============ - One can create libraries for commandline options. These libraries help to reach consistency and provide standard help texts. eZComponents provides libraries for options most likely needed for the different components. Example: dsn for Database - Scripts must be easily executable also on windows. - A naming convention for scripts exist that helps to relate the script to a component and helps to remind it's name. - A deployment method exists to put the scripts delivered with eZComponents inside the PATH. This deployment method can also be used for scripts of client apps. It is also possible to uninstall the scripts later. - Scripts may not cause additional dependencies among components. All scripts may rely on ConsoleTools. - A build method is available to create man pages for scripts and make the help available for the eZComponents website. - Users may have different versions of eZComponents installed: Stable via PEAR and SVN trunk. It is possible to give a path to a ezcomponents version via an environment variable or commanline option to run a script with different versions of ezcomponents. -- Thomas Koch, Software Developer http://www.koch.ro Young Media Concepts GmbH Sonnenstr. 4 CH-8280 Kreuzlingen Switzerland Tel +41 (0)71 / 508 24 86 Fax +41 (0)71 / 560 53 89 Mobile +49 (0)170 / 753 89 16 Web www.ymc.ch -- Components mailing list [email protected] http://lists.ez.no/mailman/listinfo/components
