This HowTo explains how to create a package for an application using the installer. We assume, you have a running installer in developers mode.
Step 1: Creating the directory
If you haven't defined a package source directory yet, do this in "Configure Application" => "Additional package sources".
Now create in your package source a new directory. e.g. "com.zzoss.sample".
Step 2: Adding a package xml
Each package got a package xml, containing information about the package. I would recommend taking the package.xml from an already existing package and modifying it by your needs.
The package.xml is in the package root.
Step 3: Defining files
You define in your package.xml a filelist, the installer should copy when installing. Later, the installer supplies a tool for automatically creating these filelists. (with md5 hash, ..)
Lets assume, you got the following file structure:
installer/
packages/
com.zzoss.sample/
data/
data1.dat
package.xml
my_file1.php
my_file2.php
my_file3.php
The destination of a file is composed like this: <baseinstalldir defined in application.xml> + <baseinstalldir defined in package.xml> + <name / saveas attribute in filelist>
For the upper file structure, the package xml would look like this:
<?xml version="1.0" encoding="ISO-8859-1" ?>
<package version="1.0"
xmlns="
http://www.zzoss.com/NS/installer/package/">
<name>com.zzoss.sample</name>
<summary>Sample Package</summary>
<description>A sample package for the installer</description>
... cut ...
<release>
<version>0.1</version>
<date>2003-03-17</date>
<license url="
http://www.gnu.org/licenses/gpl.txt" version="2">GPL</license>
<state>beta</state>
<notes>Initial release.</notes>
... cut ...
<filelist>
<file baseinstalldir="com.zzoss.sample/" name="data/data1.dat" />
<file baseinstalldir="com.zzoss.sample/" name="my_file1.php" />
<file baseinstalldir="com.zzoss.sample/" name="my_file2.php" />
</filelist>
</release>
</package>
We have very much borrowed from the
PEAR package definition file. Due to this fact, the ZzossInstaller is compatible to the
PEAR package manager and thus can also install
PEAR packages.
Step 4: Register your package in application.xml
Edit the application.xml file of your application and add your package to the package list.
Step 5: Testing your package
Reset the plugin cache ("Developer Menu" => "Clear package cache"). Afterwards you should be able to see your package in the "Package Manager".
Step 6: Creating a tgz
Now change into the package directory and create a tgz
czonsius@linux:/> cd packages/com.zzoss.sample/
czonsius@linux:/> tar czf ../com.zzoss.sample-1.0.tar.gz .
Have a look to the Package Network Developers Guide for information on how to distribute your package.
PHP Warnings
lib/WikiUser.php:50: Notice[8]: Only variables should be assigned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/pear/DB/common.php:741: Notice[8]: Only variable references should be returned by reference
lib/Template.php:220: Notice[8]: Only variables should be assigned by reference
lib/Template.php:106: Notice[8]: Only variables should be assigned by reference
lib/Template.php:107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'top'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'top'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/pear/DB/common.php(In template 'navbar'?)(In template 'top'?)(In template 'body'?)(In template 'html'?):741: Notice[8]: Only variable references should be returned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'browse'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'browse'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'actionbar'?)(In template 'browse'?)(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'actionbar'?)(In template 'browse'?)(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):106: Notice[8]: Only variables should be assigned by reference
lib/Template.php(In template 'body'?)(In template 'html'?):107: Notice[8]: Only variables should be assigned by reference
| Page Execution took 0.191 seconds |





