Your SlideShare is downloading. ×
0
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
]project-open[ Package Manager
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

]project-open[ Package Manager

2,645

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,645
On Slideshare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
53
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 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.
  • 2. The Package Manager GUI Example <ul><li>The Package Manager allows to install, update and uninstall packages. </li></ul>
  • 3. What is a Package? <ul><li>A package is the basic unit of application code in ]project-open[/OpenACS </li></ul><ul><li>]project-open[ consists of some 200 separate packages. </li></ul><ul><li>Packages can be installed and uninstalled. </li></ul><ul><li>A package consists of: </li></ul><ul><ul><li>Meta-information including package version, dependencies and the “mount” URL </li></ul></ul><ul><ul><li>A data-model including tables, PL/SQL functions etc. </li></ul></ul><ul><ul><li>A number of TCL Web-pages </li></ul></ul><ul><ul><li>A library with TCL functions </li></ul></ul>
  • 4. Package Lifecycle <ul><li>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. </li></ul><ul><li>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. </li></ul><ul><li>Update: After updating the package code in /packages/, you run the Package Manager in order to apply changes in the data-model (“upgrade scripts”). </li></ul><ul><li>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. </li></ul>Installed Install Package Update Package Uninstall Package Start End Download Package
  • 5. Anatomy of the “Notes” Package <ul><li>A package consists of several files and directories with specific conventions for the names of files and folders </li></ul><ul><li>You need to stick to the conventions, otherwise the package manager won’t recognize your files. </li></ul>/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
  • 6. Package Dependencies <ul><li>The Package Manager allows developers to specify package dependencies. </li></ul><ul><li>The Package Manager may warn the user before installing users with unsatisfied dependencies or offer to install missing packages. </li></ul><ul><li>The “.info” package Meta-information file contains two elements for specifying dependencies: </li></ul><ul><ul><li>Provides : Determines the package name and version provided by the current package </li></ul></ul><ul><ul><li>Requires : Specifies dependencies on other packages and a minimum version of these packages. There may be more then one “requires” line per package. </li></ul></ul><provides url=&quot;intranet-notes&quot; version=&quot;3.4.1.0.8&quot;/> <requires url=&quot;intranet-core&quot; version=&quot;3.4.0.0.0&quot;/> (Excerpt from /packages/intranet-notes/intranet-notes.info)
  • 7. Package Manager Parameters <ul><li>The Package Manager allows you to define “parameters” for every package. </li></ul><ul><li>Parameters definitions and default values are stored in the “.info” file with package meta-information. </li></ul><ul><li>The package manager will read the parameter definitions into the database during package installation. </li></ul><ul><li>The ]po[ Admin -> Parameters page allows you to modify parameter values. </li></ul><ul><li>The screenshot at the right shows an excerpt from intranet-core.info with two parameters of different type (string and number). </li></ul><ul><li>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. </li></ul><ul><li>Please observe the conventions used in other parameter definitions. </li></ul><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)
  • 8. Writing Package Updates <ul><li>The Package Manager allows to “update” packages: </li></ul><ul><ul><li>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 </li></ul></ul><ul><ul><li>The PM will check </li></ul></ul>
  • 9. Notes and Learned Lessons <ul><li>In OpenACS 5.1 (]po[ V3.4 and below) the Package Manager does not correctly work with version numbers with double-digit versions (like 3.4.0.7. 11 ). Please keep version numbers single-digit. </li></ul>
  • 10. Frank Bergmann [email_address] www.project-open.com

×