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 -N -r1.38.2.1 -r1.38.2.2 --- openacs-4/packages/acs-core-docs/www/apm-requirements.html 2 Mar 2019 19:30:04 -0000 1.38.2.1 +++ openacs-4/packages/acs-core-docs/www/apm-requirements.html 3 Sep 2021 09:14:48 -0000 1.38.2.2 @@ -23,15 +23,15 @@ disturbance to the rest of the system. This allows site owners to steadily offer users new and improved services, and also allows programmers to quickly and easily distribute their OpenACS components in a standardized manner to other -OpenACS sites.

In general terms, a package is a unit of software that serves a single +OpenACS sites.

In general, a package is a unit of software that serves a single well-defined purpose. The OpenACS Package Manager (APM) provides a mechanism for packaging, installing, and configuring OpenACS software in a consistent, user-friendly, and subsite-aware manner.

System Overview

The OpenACS Package Manager (APM) consists of:

Requirements: Security

Provisions will be made to assure that packages are securely identified.

  • 4.600.1 Each package will have a PGP signature and there -will be MD5 time stamps for each file within the package. +will be MD5 timestamps for each file within the package.

  • 4.600.5 The APM will provide a facility to validate both @@ -147,22 +147,22 @@ information for unique fields specified in the data model requirements, the package cannot be created.

  • 20.0 Add files to a package

    20.1 The developer must be able to add files to the package. This is done by copying the files into the package directory in the -host OS's file system. Files can be added at any point after package +host OS's filesystem. Files can be added at any point after package creation.

    20.3 Once a package has been versioned and distributed, no new files should be added to the package without incrementing the version number.

    20.5 The APM's UI should facilitate the process of -adding new files, by scanning the file system for new files automatically, +adding new files, by scanning the filesystem for new files automatically, and allowing the developer to confirm adding them.

    20.10 The developer cannot add files to a given package -via the UI that do not exist in the file system already.

    20.15 Package file structure must follow a specified +via the UI that do not exist in the filesystem already.

    20.15 Package file structure must follow a specified convention. Please see the design document for what we do currently.

  • 30.0 Remove files from a package

    The developer must be able to remove files from a package. This can be done in two ways.

    • 30.1 Access the APM UI, browse the file list, and remove files.

      30.1.1If a file is removed from the package list, but not -from the file system, an error should be generated at package load time.

    • 30.5 Remove the file from file system.

      30.5.1 The APM UI should take note of the fact that the +from the filesystem, an error should be generated at package load time.

    • 30.5 Remove the file from filesystem.

      30.5.1 The APM UI should take note of the fact that the file is gone and offer the developer an option to confirm the file's deletion.

  • 40.0 Modify files in a package.

    40.1 The developer should be able to modify files in the -file system. The APM UI should not interfere with this.

    40.5 However, if the developer modifies files containing +filesystem. The APM UI should not interfere with this.

    40.5 However, if the developer modifies files containing procedural definitions, APM UI should allow a means to watch those files and automatically reload them if changed. See requirement 50.0 for more detail.

    40.10 Also, although a change in files implies that the @@ -178,8 +178,7 @@

  • 60.0 Display an XML package specification

    60.1 The developer should be able to view the XML package specification that encodes all package information. -

  • 70.0 Write an XML package specification to the file -system

    70.1 The developer should be able to write an up-to-date +

  • 70.0 Write an XML package specification to the filesystem

    70.1 The developer should be able to write an up-to-date XML specification to disk.

    70.5 The developer should be able to request the current XML specification for all installed, locally generated packages.

  • 130.0 Distribution file generation

    130.1 The developer should be able to generate a .APM distribution file for the package with just one click.

    130.5 Generating a distribution file implies doing an @@ -246,7 +245,7 @@ is enabled.

  • 110.0 Package Deinstall

    110.1 The administrator must be able to deinstall a package that has already been installed. Deinstallation entails:

    1. 110.1.1 Running any data model scripts necessary to drop the package.

    2. 110.1.5 Moving all of the files into a separate location -in the file system from the installed packages.

    3. 4.110.1.10 If the package is a compound package, then +in the filesystem from the installed packages.

    4. 4.110.1.10 If the package is a compound package, then the administrator must confirm removing all sub-packages. Optionally, some sub-packages can be kept.

    110.5 Deinstalled packages can be re-installed at a later date.

    4.110.10 If deinstalling a package or any of its @@ -256,9 +255,7 @@ package, all related database tables and content.

    120.5 This option can only be used if all package instances are deleted or marked as disabled. This is purposefully cumbersome because deleting all instances of a package can have far-sweeping -consequences throughout a site and should almost never be done.

  • 150.0 Scan for new or modified packages

    150.1 The administrator should be able to scan the file -system for any changes made in any of the installed package files.

    150.5 The administrator should be able to scan the file -system for any newly installed packages. +consequences throughout a site and should almost never be done.

  • 150.0 Scan for new or modified packages

    150.1 The administrator should be able to scan the filesystem for any changes made in any of the installed package files.

    150.5 The administrator should be able to scan the filesystem for any newly installed packages.

  • 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