]project-open[ Package Manager
Upcoming SlideShare
Loading in...5

]project-open[ Package Manager



This tutorial explains the life cycle of packages in ]project-open[ and how you can use the package manager to install, update and uninstall packages.

This tutorial explains the life cycle of packages in ]project-open[ and how you can use the package manager to install, update and uninstall packages.



Total Views
Views on SlideShare
Embed Views



8 Embeds 234

http://www.project-open.org 164
http://project-open.org 27
http://project-open.net 21
http://www.project-open.net 8
http://koeln.project-open.net 5
http://po35itsm.project-open.net 5
http://koeln.project-open.net:8000 2
http://translate.googleusercontent.com 2



Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    ]project-open[ Package Manager ]project-open[ Package Manager Presentation Transcript

    • The Package Manager The ]project-open[ Data-Model , Frank Bergmann, 2010-10-05 This tutorial explains the package manager and the life cycle of packages.
    • The Package Manager GUI Example
      • The Package Manager allows to install, update and uninstall packages.
    • What is a Package?
      • A package is the basic unit of application code in ]project-open[/OpenACS
      • ]project-open[ consists of some 200 separate packages.
      • Packages can be installed and uninstalled.
      • A package consists of:
        • Meta-information including package version, dependencies and the “mount” URL
        • A data-model including tables, PL/SQL functions etc.
        • A number of TCL Web-pages
        • A library with TCL functions
    • Package Lifecycle
      • Download: Most packages are part of the ]project-open[ “standard distribution” that you can download from SourceForge.net. Packages are stored in the ~/packages/ (C:project-open servers projop packages) directory.
      • Installation: Please use the Package Manager (see below) for installing a package. During installation, the Package Manager will execute the data-model creation script and “mount” the package.
      • Update: After updating the package code in /packages/, you run the Package Manager in order to apply changes in the data-model (“upgrade scripts”).
      • Uninstall: You can uninstall a package if no other packages depend on it. During the uninstall, the Package Manager will execute the data-model delete script.
      Installed Install Package Update Package Uninstall Package Start End Download Package
    • Anatomy of the “Notes” Package
      • A package consists of several files and directories with specific conventions for the names of files and folders
      • You need to stick to the conventions, otherwise the package manager won’t recognize your files.
      /packages/intranet-notes/ # Package directory intranet-notes.info # Meta information /catalog/ # Localization strings intranet-notes.en_US.ISO-8859-1.xml # US English strings intranet-notes.de_DE.ISO-8859-1.xml # German strings /sql/postgresql/ # Data-model intranet-notes-create.sql # Data-model installation script intranet-notes-delete.sql # Data-model delete script /tcl/ # TCL Library intranet-notes-procs.tcl # *-procs.tcl is a library /www/ # TCL Web-Pages index.tcl # TCL logic for index page index.adp # ADP (=HTML) content for index page
    • Package Dependencies
      • The Package Manager allows developers to specify package dependencies.
      • The Package Manager may warn the user before installing users with unsatisfied dependencies or offer to install missing packages.
      • The “.info” package Meta-information file contains two elements for specifying dependencies:
        • Provides : Determines the package name and version provided by the current package
        • Requires : Specifies dependencies on other packages and a minimum version of these packages. There may be more then one “requires” line per package.
      <provides url=&quot;intranet-notes&quot; version=&quot;;/> <requires url=&quot;intranet-core&quot; version=&quot;;/> (Excerpt from /packages/intranet-notes/intranet-notes.info)
    • Package Manager Parameters
      • The Package Manager allows you to define “parameters” for every package.
      • Parameters definitions and default values are stored in the “.info” file with package meta-information.
      • The package manager will read the parameter definitions into the database during package installation.
      • The ]po[ Admin -> Parameters page allows you to modify parameter values.
      • The screenshot at the right shows an excerpt from intranet-core.info with two parameters of different type (string and number).
      • You can define new parameters in the Package Manager -> <your package> -> Parameters. Please make sure your .info file is writable, as the PM will write the new parameter right into the file.
      • Please observe the conventions used in other parameter definitions.
      <parameters> <parameter datatype=&quot;number&quot; min_n_values=&quot;1&quot; max_n_values=&quot;1&quot; name=&quot;AuditProjectUpdatesP&quot; default=&quot;0&quot; description=&quot;Enable Auditing?&quot;   /> <parameter datatype=&quot;string&quot; min_n_values=&quot;1&quot; max_n_values=&quot;1&quot; name=&quot;BackupBasePathUnix&quot; default=&quot;/home/ppm/filestorage/backup&quot; description=&quot;Path for backup sets&quot; /> [...] </parameters> (Excerpt from /packages/intranet-core/intranet-core.info)
    • Writing Package Updates
      • The Package Manager allows to “update” packages:
        • The PM will include your package with an “update” status íf specify a “higher” version number in your .info file then the version stored by the PM
        • The PM will check
    • Notes and Learned Lessons
      • In OpenACS 5.1 (]po[ V3.4 and below) the Package Manager does not correctly work with version numbers with double-digit versions (like 11 ). Please keep version numbers single-digit.
    • Frank Bergmann [email_address] www.project-open.com