Installation
Smart Packager basic requirements:
Operating System: Windows 2000, Windows XP, or Windows Vista.
Run-time Environment: Java 6
Other requirements: Smart Packager will require internet access to retrieve the license.
It will also require space on your hard-drive for the files obtained from the repositories and for the generated package.
When you launch the Smart Packager, it tries to locate a compatible version by itself. If this search returns without success, messages will popup giving you instructions on how to get Java.
Yes, but each computer must request an individual license using the activation key received with the software package.
Configuration
There’s a list of repositories on the Tools/Options panel. You should add here all the repositories you usually use. Once you submit the changes to this list, the new repositories will be available to use on the Checkout files panel.
The preordering mechanism is based in the tree structure defined in the configurations dialog. When preordering, it tries to do the best match (deepest tree node) to the path where each file is. The leaf node should always match the file folder otherwise the file is not preordered and is added to a final installation script.
The Divisor nodes are a way to tell the preordering mechanism that everything under that node will be placed in the same script and that everything before or after it will go to two other scripts. The order in which a file fits to the structure is always maintained.
Yes it does. With this option selected, the preordering algorithm not only creates scripts for each Divisor node of the scripts structure, but does this for each tag too. Using an example to clarify, if you have tag1 and tag2, and as divisors java and web, without auto split by tag, you will get two scripts: default_java and default_web. With the same tags and divisors, but with auto split by tag, you will get these scripts: tag1_java, tag1_web, tag2_java and tag2_web.
To set these parameters go to the panel SQL scripts/Inst. scripts in the Tools/Options menu. They already have default values, but it’s recommended to check them anyway.
No, but you can add any code you like before and after each call. There are two parameters on the panel SQL scripts/SQL files in the Tools/Options menu for that. In there you can define the templates for the invocation using different ambient variables that will be instantiated for each SQL file.
To set the Working Directory go to the panel Features in the Tools/Options menu. You can change this if you prefer to have your working directory separated from your programs folder. You can also use this parameter to switch between different projects, having one working directory for each one. Note that your Working Directory should not be placed inside a folder already under CVS control.
To set the Checkout Directory go to the panel Features in the Tools/Options menu. This is only the name of the folder inside the Working Directory that will be used to collect all the checkouts done.
To set the Default Package go to the panel Features in the Tools/Options menu. This is useful to standardize the packages names.
To set the Default Script go to the panel Features in the Tools/Options menu. This is useful to standardize the scripts names and especially useful when the option Auto split by tag isn’t in use.
To choose between conflict resolution methods you will have to go to the menu Tools/Options and in there switch to the Features panel. In there you find an item identifying the current method being used. Select a different method and accept the changes to the configurations. Note that this won’t affect the current work if the preordering has already occurred.
The manual method only identifies and highlights the files in conflict so that you can decide what to do in each case.
The method of solving by date keeps, for each group of files in conflict, only the one with the most recent date.
The method of solving by version keeps, for each group of files in conflict, only the one with the most recent version from the repository.
These last two methods also identify the files that were discarded. This information is presented in the logging area, on the bottom of the main window.
Packaging
It’s very simple. The first thing you need to do is to setup the repositories you are going to use [link to How to configure the repositories?]. Then all you need to do is to link the modules to the repositories [link to How to define the module I want to use?], and the tags to the modules [link to How to define the tags that identify the files I need?]. Smart Packager will then checkout everything into the Checkout Directory [link to How to set the Checkout Directory?], and process all the files as one unique group. You will still be able to identify the source of each file though.
To define the modules simple select the repository they belong to and right click on it. A menu will pop up with the option to add a module.
To define the tags simple select the module they correspond to and right click on it. A menu will pop up with several options, including one to add a tag.
Yes. Checkout can be performed from several sources, including several tags from one single module. Simply add them all in the Checkout panel and choose Perform Checkout before changing to the next panel.
Yes. When you choose the option to add a tag in the module popup menu, a window will appear giving you the option to introduce the tag manually or listing the existing tags. If you choose the second option, you can then select all the tags you want from that list.
By default it doesn’t perform the checkout, because it uses the previously checked out files. This will be handy when you need to restart the package creation, but don’t necessary need to change the files you already checked out. Note that Smart Packager doesn’t update the files either. If you start working in a different package, you MUST check this option in order to be sure that the Checkout Directory will be emptied and the new files will be obtained.
Smart Packager identifies conflicts between files based on their name and path, and highlights these conflicts on the Group Files panel. You can then decide what to do in each case by setting the conflict resolution method option to manual mode, or you can let Smart Packager solve them for you either by using version method or date method. These methods remove all the files that are in conflict expect the most recent one.
When you choose to solve the conflicts manually, you can see the tag it came from, the full path from the repository, its version, the date it was submitted and which files are considered to be in conflict. Same of this info is hidden when the panel first appears, but can be revealed by clicking on the icons enclosed in the file graphical component.
On the Group Files panel you can manually define how the package will be split into different scripts. You can use Drag-and-Drop to change the order in which the files and the scripts will be invoked. This panel graphically represents the final script file, so the scripts will be invoked from top to bottom. You can also add, rename and delete scripts using the popup menus in this panel.
You can add files to the package you are creating simply by dragging them into the script that is going to use it. This can also be done thru the script’s popup menu.
Yes. On the last panel, after the package has already been created, is given the option to tag the files used to create it. You can choose the tag you want, and then all those files that are under CVS control will receive the same tag.
Yes. To achieve this you have to plan in advance, because you will need to build several smaller packages and then connect them all in a single super-package. Try to define isolated modules inside your project that will allow creating independent packages. Remember to tag each package with a unique tag! When all the smaller packages are ready, use their tags as input to the super-package, together with any other tag you couldn’t squeeze into an isolated module.
Licensing
The number of licenses available for one particular activation key is defined along the process of acquisition.
If the Smart Packager can’t contact the license provider, a unique code is generated which identifies the machine requesting the license. This code must be send to
smartpackager@shortcu
t.pt, and in the response you will receive a file that must be placed in the same folder where Smart Packager is located.
Note: This file is specific for the computer where the unique code was generated and it won’t work in any other computer.
For further info regarding the licensing process, please check the user’s manual.