Index: openacs-4/packages/acs-core-docs/www/apm-requirements.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-core-docs/www/apm-requirements.html,v diff -u -r1.36.2.4 -r1.36.2.5 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 19 Nov 2016 09:21:52 -0000 1.36.2.4 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 6 Jan 2017 09:18:41 -0000 1.36.2.5 @@ -11,7 +11,7 @@ 4.

We gratefully acknowledge the authors of APM 3 for their original design documentation which suggested these features, as well as the influence of the design and open-source implementation of the Red Hat Package manager, the -Debian packaging system, and PERL's CPAN in the development of the ideas +Debian packaging system, and PERL's CPAN in the development of the ideas behind this document.

Vision Statement

A typical website will tend to offer its users a number of web-based services or applications, e.g. a bulletin board, calendaring, classified ads, etc. A website may also have underlying subsystems, such as a permissions @@ -37,7 +37,7 @@

  • Web-based tools for package development:

    • Creating new packages locally

    • Releasing new versions of locally-created packages

    • Uploading packages to a global package repository on the web

    • Use of these tools should be safe, i.e. installing or removing a package should never break an OpenACS installation

  • Web-based tools for package configuration:

    • The ability to change package parameter values on-line through a simple web interface.

    • A new ad_parameter which does not require a monolithic site-wide -parameter's file or server restarts for changes to take effect.

    • The ability to manage multiple package instances at the sub-site +parameter's file or server restarts for changes to take effect.

    • The ability to manage multiple package instances at the sub-site level.

  • Use-cases and User-scenarios

    The APM is intended for the following classes of users, which may or may not overlap:

    1. Developers (referred to as 'the developer') use @@ -57,16 +57,16 @@ sub-site level, David configures this option in the package. When the package development is complete, David uses the APM developer UI to construct a distribution file. He assigns it a version number, 1.0, and makes the package -available for download at the OpenACS package repository.

      Initial Package Installation

      Annie Admin learns of David's KM system by browsing +available for download at the OpenACS package repository.

      Initial Package Installation

      Annie Admin learns of David's KM system by browsing the OpenACS package repository. Annie Admin uses the APM administrator UI on her system. She selects to install a package from a URL and types the URL displayed on the system. The APM automatically downloads the package. The -dependency checker notices that Patricia's Super Widget toolkit is +dependency checker notices that Patricia's Super Widget toolkit is required, so it warns Annie of this. Annie selects an option to find a package that satisfies the dependency at the OpenACS APM repository. The -APM informs Annie that it can download and install Jim's Super Widget -toolkit. Annie confirms this option. After successfully installing Jim's -toolkit, Annie proceeds to install David's KM system. The data model is +APM informs Annie that it can download and install Jim's Super Widget +toolkit. Annie confirms this option. After successfully installing Jim's +toolkit, Annie proceeds to install David's KM system. The data model is loaded and all of the files necessary for the software are installed. Because installation was successful, the package is available for use.

      Since the package is available for use, its initialization routines are set to run automatically on server startup. Annie is warned that since there @@ -91,7 +91,7 @@ repository.

      Sally SubAdmin asks Annie Administrator to upgrade the package using the APM UI. This upgrade supersedes the old version of KM at the site-wide level. Once Annie upgrades the package, the new version starts working immediately -in Sally's sub-site.

      Procedural API

      Danielle Developer wants her software to perform +in Sally's sub-site.

      Procedural API

      Danielle Developer wants her software to perform different actions depending on what version of another package is installed. She uses the APM procedural API to check if KM version 1.0 is installed or version 1.1. Based on the results of this procedural call, the software @@ -132,9 +132,9 @@

    2. 4.600.5 The APM will provide a facility to validate both the PGP signature and MD5 stamps information before a package install.

    Requirements: The User Interface

    The user interface is a set of HTML pages that are used to drive the underlying API. It is restricted to site-wide administrators because the -actions taken here can dramatically affect the state of the running OpenACS.

    Requirements: The Developer's Interface

    The intent of the developer's interface is to enable the developer to +actions taken here can dramatically affect the state of the running OpenACS.

    Requirements: The Developer's Interface

    The intent of the developer's interface is to enable the developer to construct and maintain APM packages. It will be possible to disable the -developer's interface for production sites to help reduce the chance of +developer's interface for production sites to help reduce the chance of site failure; much of the functionality here can have cascading effects throughout the OpenACS and should not be used on a production site.

    Requirements: The Site-Wide Administrator's Interface

    The requirement of the administrator's interface is to enable the +registered dependency on the sub-package.

    Requirements: The Site-Wide Administrator's Interface

    The requirement of the administrator's interface is to enable the administrator to install, enable, upgrade, disable, deinstall, and delete packages.

    Requirements: The Sub-Site Administrator's Interface

    +

    Requirements: The Sub-Site Administrator's Interface

    If the developer is in charge of creating packages and the administrator for installing them, then the sub-site administrator is responsible for configuring and enabling packages. In order for a package to be available for -a sub-site it must be associated with the sub-site's type specification. +a sub-site it must be associated with the sub-site's type specification. This interface is part of the sub-site /admin interface.