Version 5 (modified by 9 years ago) (diff) | ,
---|
Home
TOL
Software
Download
Installation
Packages
OTAN
TOL Project
About TOL
Manuals
Development
R-Projects
Other Links
Trac Guide
Wiki Tree
MMS
Packages
To do. See TolPackageRulesAndComments.
Introduction
The idea of a package comes from the concept of modularity and the possibility of loading and distributing a whole module as a unit. A TOL package is essentially no more than a NameBlock distributed in an .oza file.
In the TOL programming frame, we identify the package with the NameBlock that contains the set of classes, structurs, variables, functions and definitions. This is distributed and loaded as an unit of the TOL package system.
Looking more from a distribution-focused point of view, a package is a compressed file (specifically a .zip file) that contains the nameblock serialisation (an .oza file). This is accompanied by other complementary resources that can be: files containing icons or images, documentation, libraries of compiled functions (written in C++ and distributed in .dll or .so files) and even uncompiled TOL code ( .tol files) by way of example.
Names and versions
A TOL package is identifed by its name and version.
The name of the package matches with the name of the nameblock that represents it. It generally follows a CamelCase structure.
The version consists of integers. The first (the high version number) shows if there has been an important change in the structure and functionality; one which could break the compatability with the user-code in use. The second however (the low version number) shows that changes have been made to the package that maintain package-use compatibility. These changes could be corrections or the inclusion of new functionalities.
The package identifier is created by linking the name and two version numbers
<name>.<version.high>.<version.low> with a full-stop (.).
For example, the identifier GuiTools.3.5
makes reference to version 3.5 of GuiTools, which
includes utilities for TOLBase graphical integration.
TolPackage
The TOL kernel provides a module to manage packages: TolPackage.
This module allow TOL users to download, update or upgrade packages. It provides also utilities for creating and uploading packages. For more details, see TolPackage.
Requiring a package
TOL provides a preevaluation directive: #Require
to indicate the package requeriments.
#Require <PackageName>;
When you compile a package requirement, TolPackage try to load the package, searching into the repositories, downloading it and intalling it if necessary.
Official TOL Archive Network
The official repository of TOL packages is called OTAN (Official TOL Archive Network). In this link: OTAN you can browse the full list of public packages.
Package manager in TOLBase
From version 3 onwards, TOLBase includes a graphic interface especially designed to make the management of packages easier. It can be accessed from the "Tools" menu, in the "Manage Packages..." option.
Screenshot: Package manager in TOLBase.
The interface offers a list of all available packages from all of the of the repositories to which they have access for installation, updates or upgrades.
Different package states are displayed in the form of various different icons:
- : New, not installed.
- : Update required; a more recent package of an identical version is available.
- : Upgrade required, a package with a superior version is available.
- : Upgrade and update required, both of these are required periodically.
- : Package okay, currently installed without requirement for update or upgrade.
Various actions can be carried out on packages. These are offered in the contextual menu.