model notes

  Pic

		PackageApp
		/       \ 
     PackageFolders*26  Package Queue

  Package Containers/Applications

    packages are stored in three types of containers.

    Package Queue

      when initially created packages are stored
      in the package queue. the queue serves as
      a local context application. the primary
      purpose of the queue is to have a place to
      process submissions, and to ensure workflow,
      and to prevent against damage from possible
      scripting attacks that might try to overwhelm
      the server. packages in the queue are indexed
      in a queue catalog. packages in the queue
      may be assigned to users, in which case they
      no longer appear in the default list of packages.
      when a package enters the queue the queue
      will broadcast an event notifying listeners
      of its arrival. this will be used to send 
      notification to preferred groups that are
      designated for that packages categories.

    Package App

      this object formats the root context application
      for the package management.

      it provides the  catalog that provides
      indexing against the package collection

    PackageFolder

      A collection of folders that physically contains
      packages

  Packages

      Form a collection of objects that denotes a python
      package. it stores

      VersionContainer 
      
	 which contains the various versions of a package
	 and information regarding global dependencies applying
	 to all versions.
	 
	 Versions

	     which store the information relating to 
	     a specific version. which includes both
	     files, and version dependency information.

  Package Admin

      Contains the ui and the logic for manipulation of
      a package.

      StateDependentView

  Package Files

      distribution files associated with a package
      store within a version. 

  Dependency

      denotes a package dependency

      Python Dependency

         denotes a min/max requirement for python versions
	   
      Python Package Dependency

         denotes a min/max requirement for another python

      External Dependency

         denotes a dependency to some external (read non-python)
	 software package. 	    

  Upload Model


    