$Id: installtool-proposal.txt 35334 2008-01-25 14:33:40Z cray $ 
$URL: https://code.keysolutions.ru/svn/ks.installtool/tags/installtool-1.0.2/src/ks/installtool/installtool-proposal.txt $

Предложение по разработке продукта installtool :

    Аннотация:
    
        Продукт installtool предназначен для автоматической установки
        программного обеспечения под Zope. Под установкой подразумевается
        установка и настройка внутри объектной среды.
        
    Состав продукта:
    
        installtool -- собственно объект-установщик,в котором регистрируются
            installscripts - скрипты инсталляции отдельных компонент;
            
        zcml:install -- директива,  выполняющая регистрацию реестра
            установочных скриптов;
            
        zcml:script -- директива, выполняющая регистрацию скрипта;
        
        installscript -- скрипт, вызываемый в процессе установки, и
            выполняющий установку и настройку ПО;
            
    Сценарий работы:
    
        - Директивой zcml:install регистрируется процедура установки и
          настройки под некоторым именем;
          
        - Для каждого продукта, директивой zcml:script, под некоторым именем
          регистрируется скрипт установки и настройки. Для каждого скрипта
          настройки указывается список зависимостей (т.е. имена скриптов
          которые должны быть установлены раньше);
          
        - Установка возможна, если удовлетворены все зависимости;
          
        - В меню add появляется пункт, позволяющий инициировать установку;
        
        - При выборе этого пункта, все скрипты запускаются в
          топологически-упорядоченном порядке (см. Кнут);
          
        - Если хотя бы один пункт проваливается, происходит откат
        транзакции;
        
        - В любом случае отображается статистика установки, провалившиеся и
          неустановленные по зависиомостям скрипты отмечаются;
      
Конец Документа.
     
