Tutorial: Working with Packages


The Developer Package feature allows users to import components to new or existing applications. But the Package feature actually provides broader functionality for managing application on a single or many applications.

What is a Package?

Packages are Repository Instructions to apply against an application. The term package is merely a naming strategy to explain what can be done with Repository Instructions.

Look at the xml container components package. This package deletes all data dictionaries and functions that begin with the letters "xc". Then it adds various data dictionaries and functions to the local application. This package assumes that is "owns" everything beginning with "xc" and therefore if you load an updated version of the package it wants to delete old components and add the latest version. Obviously packages can be adapted to fit your naming conventions.

Internal Packages

The Developer is shipped with Internal Packages that are intended to provides developers with basic components and frameworks to get up and running quickly without having to start with empty applications.

Internal packages are static and always available to the Developer from the "Application / Import Package" pulldown menu.


By selecting a Package, it can first be viewed as tree structure. This gives you an idea of what the package will do to your application, including what components will be added.


By selecting the add option the package is applied as a Repository Instruction against your application (it will not affect other applications).

NOTE: Packages can both add, modify and delete components in your application. A warning is provided is deletions are going to be performed.

Internet Packages

As the name suggests, Internet Packages are packages that are made available from the BuildProfessional Developer site.

This is important as the Developer will have access to the latest packages between Developer releases.

NOTE: As you browse through the list of packages, you can see the URL of the package and access it directly for more information.

Custom Packages

You can create or modify existing packages to create you own library of common components. To add a custom package select the URL tab and enter the file name or complete URL of the package to import. It is recommended to View the package prior to applying it to make sure you understand what package is going to do.

Creating a Package

It is easy to create a package from components that exist in one of your applications. Using the Component Explorer, create a short list of components (by selecting components of different types and clicking the "+" icon on the toolbar). In the tree view select the short list to display all the components in the short list. Now select all the components in the component list box (and wait while all the component properties are downloaded) and select "File / Save to File". The file is now a package that can be Viewed or Added from the Package dialog.

Usage for Packages

There are some basic situations where packages are useful:

  • When creating a new application (even for prototyping or testing), it is useful to quickly import basic functionality that gets you up and running quickly.
  • If you have several applications and you want to manage common components, these could be stored as a package and regularly applied to applications. Although there are more sophisticated methods of doing this, a package is simple to create and implement.
  • Test functionality. If you want to test functionality on a alternate application, package the relevant components together and load into the destination application. Create a removal package to delete components when you're done.
  • Patch Release. You could create a patch or a fix to an application through packages and distribute them (downloadable from a web page or send out as an e-mail attachment). This requires however that the recipient has source code access and a Developer installation.

Feel free to comment on the Package feature by sending e-mail to support@todaysystems.com