Index: openacs-4/packages/download/www/doc/requirements.adp =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/download/www/doc/requirements.adp,v diff -u -r1.1 -r1.2 --- openacs-4/packages/download/www/doc/requirements.adp 20 Aug 2015 18:49:01 -0000 1.1 +++ openacs-4/packages/download/www/doc/requirements.adp 26 Aug 2015 18:03:35 -0000 1.2 @@ -2,11 +2,14 @@ {/doc/download {Download}} {Download Package Requirements} Download Package Requirements - -

Download Package Requirements

-by Joseph Bank based -largely on the ACS Repository requirements written by Todd NightingaleThis is a DRAFT

I. Introduction

OpenACS 4.x has a file storage module, so an obvious question + +by Joseph Bank + based +largely on the ACS Repository requirements written by Todd Nightingale +This is a DRAFT +

I. Introduction

+

OpenACS 4.x has a file storage module, so an obvious question is: "Why do we need a seperate download module?" The download module is targeted at a different usage pattern and interface. The intent of the download module is to provide an online repository @@ -19,25 +22,36 @@ file-storage module could be used for this purpose, it would be an akward fit. Additionally, we would like to track who has downloaded the file and have the ability to spam or charge those users as -appropriate.

II. Vision Statement

There are thousands of independent developers all over the world +appropriate.

+

II. Vision Statement

+

There are thousands of independent developers all over the world writing their own OpenACS packages. Without a canonical distribution point finding the packages you need becomes a formidable task, forcing developers to duplicating each others efforts. The download module allows us to setup a package repository service for users to upload their own packages and download contributed packages in order to facilitate true -development collaboration.

III. System/Application Overview

The OpenACS download package provides an application for -managing file distribution.

The package consists of the following components:

+

IV. Use-cases and User Scenarios

+ The download package is intended to support two user roles:
  1. User (downloading and contributing)
  2. Administrator
-Joe Contributer (currently working for Joe.com) writes a + +Joe Contributer (currently working for Joe.com +) writes a piece of software used to do knowledge management (KM) for the ACS. -He packages his code using the APM. Joe +He packages his code using the APM +. Joe feels that others could gain from using his new package so he uploads it to the OpenACS Package Repository. Since it is in APM format, in one step a package, version, vendor, owner and @@ -49,29 +63,43 @@ doesn't harm her OpenACS installation so she approves it to go live on her package repository. Joe is informed via email that his package was approved (because Jane set this configuration -parameter).

Don Downloader is scanning through the most recently uploaded +parameter).

+

Don Downloader is scanning through the most recently uploaded APMs on a package repository and finds Joe's KM package. He notices that many other users have downloaded the package and have made comments praising the package as well as Joe.com. Since Ben is a follower by heart, he decides to download the package as well and install it on his system. (Ben's crafty friend Alyssa later informs Ben that he could have just had the APM install directly -from the repository url).

Benny Beancounter loves to learn about who's downloading files +from the repository url).

+

Benny Beancounter loves to learn about who's downloading files from his site and what reasons they give for downloads. On a frequent basis, Benny visits the download packages admin pages and views a report of how many downloads occured for each file. He then drills down on a particular file and views a list of the users who -downloaded the file and their specified reason for downloading.

V. Related Links

+

VI.A Requirements: Datamodel

+

10.0 Versioned File Storage

+

OpenACS Download must provide versioned file storage.

+

20.0 User Tracking

+

OpenACS Download must store information about which users have +downloaded which files (including versions).

+

20.0 Package Based Meta Information

+

OpenACS Download must be able to store arbitrary meta information on a per package basis. i.e. All files provided by this -instance of the package require the fields x, y and z.

VI.B Requirements: Users Interface

+instance of the package require the fields x, y and z.

+

VI.B Requirements: Users Interface

+ The requirement of the user interface is to enable the user to access package versions in the repository and upload his own packages and versions.

-100.0 Define a Package (must be logged in)

+100.0 Define a Package (must be logged in)

+
100.1 The user must be able to create a repository package by specifying all the necessary information:
    @@ -84,17 +112,21 @@ created.

    100.4 All the package information should be edit-able after package creation.

    -

+

+

110.0 Manage Package Permissions (must be -logged in)

+logged in)

+
110.1 The user may grant or revoke write and administer privileges on any package which he/she has administer privileges.

110.2 The user who creates a package starts with write and administer privileges.

-

-120.0 Upload Versions (must be logged in)

+
+

+120.0 Upload Versions (must be logged in)

+
120.1 The user must be able to upload versions of a package to the repository. These versions contain the actual package content in a tarball (gzipped tar archive). Along @@ -113,8 +145,10 @@ 120.5 If the user will not be able to attempt to upload versions into packages which he does not have write permission on.

-

-130.0 APM Auto-load (must be logged in)

+
+

+130.0 APM Auto-load (must be logged in)

+
130.1 When a user is uploading an APM all package and version information must be automatically entered (without additional user prompting). @@ -124,34 +158,45 @@ version data.

130.3 If the package already exists then all package information conflicts must be reported to the user.

-

+

+

140.0 Package Downloading
Users must be able to access packages once they are live on the -site.

+site.

+
140.1 Users must be able to view the package meta-data without downloading the package.

140.2 Users must be able to download the actual package data.

-

+

+

150.0 User commenting
-

A logged in user must be able to comment on vendors, packages, -and versions.

VI.C Requirements: Administrator's Interface

+

+

A logged in user must be able to comment on vendors, packages, +and versions.

+

VI.C Requirements: Administrator's Interface

+ The requirement of the administrator's interface is to enable administrators to approve or reject package versions as they are uploaded by users. Naturally any site administrator would have rights on all the packages in the repository 200.0 Approval -Parameters
+Parameters +

200.1 Administrators must be able to set whether or not packages pending approval are accessible to users.

200.2 Administrators must be able to set whether or not users are notified when their uploaded packages are approved or rejected.

-

210.0 Version Approval

The administrator should be able to approve or reject any +

+

210.0 Version Approval

+

The administrator should be able to approve or reject any submitted package version, and enter a comment as to why the -version was rejected or approved.

VII. Revision History

+version was rejected or approved.

+

VII. Revision History

+
@@ -163,7 +208,9 @@ -
Document Revision #Action Taken, NotesWhen?By Whom?
0.1Creation11/23/2000Joseph Bank

+ +
+
+ Last modified: $Id: requirements.html,v 1.3 2002/09/13 16:46:34 jeffd Exp $ -