Change log
| Date | By | Description |
|---|---|---|
| 2008-04-23 | Acenes | Initial Draft |
| 2008-04-24 | Acenes | Changed extension.id attribute to alphanumeric extension.name |
| 2008-04-25 | Acenes | Make classification.demo a attribute of its own instead of another type. |
| 2008-05-04 | Acenes | Added teaser. |
| 2008-05-10 | Acenes | - Removed file list from package (automatic detection) - Changed forumnick to user - Removed licensefile attribute (all files viewable) - Added version encoding |
| 2008-05-11 | Acenes | Added build numbers |
| 2008-05-12 | Acenes | Moved all language dependent elements into language element. |
| 2008-05-15 | Acenes | Added package upload notes. |
| 2008-05-19 | Acenes | Changed the directory structure adding distinct folders for TL_ROOT, TL_FILES and INSTALL as suggested by Andreas. |
| 2008-05-19 | Acenes | Removed email adresses (prevent spammers). |
| 2008-07-09 | Acenes | Reworded version number explanations. |
Package files will be used to upload a new version of an extension by the package manager, as well as to install a package from file instead online from the SOAP services.
package.xml in the root. package.jpg in the root holding a picture of size w x h = 800 x 600. This image will show up as thumbnail in the repository overviews, and can be clicked on to be shown in full size.* SQL scripts that shall be executed at installation and uninstallation shall be INSTALL/install.sql and INSTALL/uninstall.sql respectively.
Below is the content of a package ZIP-file for a fictional hotel room reservation extension:
INSTALL/install.sql INSTALL/uninstall.sql INSTALL/010010009.sql INSTALL/010010019.sql INSTALL/010020009.sql TL_FILES/hotelres/floorplan.jpg TL_ROOT/system/modules/hotelres/LICENSE.txt TL_ROOT/system/modules/hotelres/HotelController.php TL_ROOT/system/modules/hotelres/HotelInstaller.php TL_ROOT/system/modules/hotelres/config/config.php TL_ROOT/system/modules/hotelres/config/database.sql TL_ROOT/system/modules/hotelres/dca/hotel.php TL_ROOT/system/modules/hotelres/languages/en/hotel.php TL_ROOT/system/modules/hotelres/languages/de/hotel.php TL_ROOT/templates/hotelres_fe.tpl package.xml package.jpg
The archive naming scheme as TYPOlight_package_version_build.zip, for the example application this could therefore be TYPOlight_hotel_10000129_102.zip
All texts are encoded in UTF-8. The following characters must be converted to the respective HTML entities:
| Character | HTML Entity |
|---|---|
| & | & |
| ” | " |
| ' | ' |
| < | < |
| > | > |
In PHP the encoding is best done by htmlspecialchars($text,ENT_QUOTES,'UTF-8')
Dates are in format YYYYMMDD.
Version numbers of the extensions in the repository are made up by 4 parts:
alpha1alpha2alpha3beta1beta2beta3rc1rc2rc3stable.The version is encoded to 9 digit number as [major:2][minor:3][micro:3][status:1], for example version 1.2.3 rc2 will be 10020037, or 0.0.1 alpha1 is 10. The value 0 is reserved for invalid/no version, so there exists no such version as 0.0.0 alpha1.
Build numbers start at 0 for a new version, and get incremented automatically whenever something is changed on an existing release. That could be when translations are added or changed, files are modified, bugs are fixed or meta data is edited. When creating a new release it is likely that several changes are made such as uploading new files or changing meta data, so when finally publishing the new release the build will hardly ever be 0.
Build numbers can not be set directly, so also the build number in a package uploaded by an author is ignored. For commercial extensions where the files and package are hosted on the vendors site, the repository can not detect file changes and automatically increment the build. The author can however make some small change to the meta data (for example to the release notes) to enforce a new build number after changing files.
This is the package.xml file to the hotel reservation example:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE typolightpackage>
<extension name="hotelres" date="20080422">
<author user="jmill" name="John Miller" />
<copyright>© 2008, 2009 by John Miller Web Services</copyright>
<license>GNU Lesser Public License (LGPL) Version 3</license>
<classification type="commercial" demo="yes" category="application" />
<release version="10000129" build="102" date="20080421" />
<typolight minversion="20040059" maxversion="20040079" />
<files soapwsdl="http://www.jmillers.com/services/typolight.wsdl" />
<script class="HotelInstaller" />
<requiredextension name="bbcode" minversion="80059" maxversion="10000029" />
<requiredextension name="creditcard" minversion="10050058" maxversion="10090039" />
<language code="en">
<translator user="jmill" name="John Miller" />
<searchtags>hotel,reservation,room,rent</searchtags>
<title>Hotel Reservations</title>
<teaser>Reservation and booking of hotel rooms</teaser>
<description>
Allow guests to book hotel room reservations.<br/>
Online feedback about success, plus email confirmation.<br/>
Optional commission payment by credit card.
</description>
<releasenotes>
This is just a small update:<br/>
<ul>
<li>Added field for customers skype address.</li>
<li>Fixed bug in credit card verification.</li>
</ul>
</releasenotes>
<manual link="http://www.jmillers.com/hotel/manual.html" />
<forum link="http://www.typolight.org/forum/viewforum.php?id=24" />
<shop link="http://www.jmillers.com/shop/article/hotel.html" />
</language>
<language code="de">
<translator user="heugen" name="Horst-Eugen Leicht" />
<searchtags>Hotel,Reservation,Zimmer,Vermietung</searchtags>
<title>Hotel Reservationen</title>
<teaser>Reservation und Buchung von Hotelzimmern</teaser>
<description>
Ermöglicht Gästen, selber eine Hotelzimmer Reservation vorzunehmen.<br/>
Online Rückmeldung über den Erfolg der Buchung, sowie Bestätigung per EMail.<br/>
Optionale Anzahlung per Kreditkarte.
</description>
<releasenotes>
Dies is nur eine kleine Anpassung:<br/>
<ul>
<li>Neues Eingabefeld für die Skype Adresse des Kunden.</li>
<li>Fehler in der Überprufung von Kreditkarten behoben.</li>
</ul>
</releasenotes>
<manual link="http://www.jmillers.com/hotel/manual.de.html" />
<forum link="http://www.typolight.org/forum/viewtopic.php?id=5492" />
<shop link="http://www.jmillers.com/shop/article/hotel.de.html" />
</language>
</extension>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE typolightpackage>
Description
<extension name="hotelres" date="20080422"> </extension>
Description
Attributes
<author user="jmill" name="John Miller" />
Description
Attributes
<copyright>© 2008, 2009 by John Miller Web Services</copyright>
Description
Text
<license>GNU Lesser Public License (LGPL) Version 3</license>
Description
* The license information.
Text
<classification type="commercial" demo="yes" category="application" />
Description
* Classify the extension.
Attributes
free: Available for free.private: Not visible in regular listings. A key is required for installation.commercial: A installation key must be purchased at the vendors shop.
application: The package forms a complete application of its own.utility: A utility, typically for the backend only.template: A template made up by a set of tpl files and/or style sheets.widget: A form widget. plugin: A php5 or Javascript library.other: Anything not fitting into the categories above.
<release version="10000127" build="103" date="20080421" />
Description
Attributes
<typolight minversion="20040059" maxversion="20040079" />
Description
* Compatibility information to the TYPOlight core.
Attributes
<files soapwsdl="http://www.jmillers.com/services/typolight.wsdl" />
Description
* File container.
Attributes
<script class="HotelInstaller" />
Description
* An overload of the RepositoryInstaller class, used to execute special operations upon install, upgrade and un-install. API documentation of the RepositoryInstaller class will follow.
Attributes
<requiredextension name="bbcode" minversion="80057" maxversion="10000029" /> <requiredextension name="creditcard" minversion="10050059" maxversion="10090039" />
Description
* Other extensions, this extension depends on.
Attributes
<language code="en"> </language>
Description
Attributes
<translator user="heugen" name="Horst-Eugen Leicht" />
Description
Attributes
<searchtags>hotel,reservation,room,rent</searchtags>
Description
* Search tags for the extension as comma separated list.
Text
<title>Hotel Reservations</title>
Description
* The title to display.
Text
<teaser>Reservation and booking of hotel rooms</teaser>
Description
* Short description to display.
Text
<description>
Allow guests to book hotel room reservations.<br/>
Online feedback about success, plus email confirmation.<br/>
Optional commission payment by credit card.
</description>
Description
* Full description to display.
Text
<releasenotes>
This is just a small update:<br/>
<ul>
<li>Added field for customers skype address.</li>
<li>Fixed bug in credit card verification.</li>
</ul>
</releasenotes>
Description
* The release notes and change log for this current release.
Text
<manual link="http://www.jmillers.com/hotel/manual.html" />
Description
* Link to the manual.
Attributes
<forum link="http://www.typolight.org/forum/viewforum.php?id=24" />
Description
* Link to the forum.
Attributes
<shop link="http://www.jmillers.com/shop/article/hotel.html" />
Description
* Vendor shop link for commercial, donation link for free extensions.
Attributes