General Information (GetIt Local Files)
Go Up to GetIt Local Files Guide Index
Below you will find a sample with general information about fields in the package.
{
"Id": "Abbrevia-11-Local",
"Name": "AbbreviaLocal",
"Version": "11",
"Description": "Abbrevia is a compression toolkit for Delphi...",
"Vendor": "TurboPack",
"VendorUrl": "http:\/\/www.turbopack.net",
"Image": "Abbrevia3.png",
"License": "MPL1.0.txt",
"Url": "Abbrevia-20200708.zip",
"ProjectUrl": "https:\/\/github.com\/TurboPack\/Abbrevia",
"Modified": "2021-12-01 00:15:15",
"LicenseName": "MOZILLA PUBLIC LICENSE",
"RequireElevation": "0",
"AllUsers": "0",
The matching item is displayed like this:
Each field is explained below:
Contents
Id
This is a unique identifier for the library.
It only accepts characters from "a" to "z", from "0" to "9", and from "A" to "Z". This string value must be different from any other package Id. It is used internally, for the registry key of the package. If two packages have the same Id, you’ll get an undefined behavior. It is not displayed in the GetIt dialog. This means that if you want 2 packages to coexist, they need to have a different ID. You can update a package indicating a new timestamp/version and it will be considered as a new replacement version.
Name
This is the descriptive name of the library.
It is displayed in the UI with a title font. Avoid making it too long so it fits the UI properly. Unlike the Id, this could potentially be duplicated, but clearly not recommended as it will confuse users. The name is also the primary search field. In the example above the name is “AbbreviaLocal”. Spaces can be used, of course.
Version
The version is a descriptive field added after the name in the description (the 11 in the image above).
It is used for the UI only, and it is displayed on the item listing. The version number is not used for internal versioning or to manage updates (updates are driven by the value of the Modified field). You can set it to the value of your choice. For example, you may have multiple minor updates to a package but display them all as version 3. Also notice it is a string, so you can display version 1.2 or any other format.
Description
This is a longer text description displayed below the title.
Avoid making too long descriptions so that the UI doesn’t get truncated.
Vendor
The name of the vendor displayed as “by” near the title.
You may put your name or company name.
VendorUrl
This is the hyperlink of the vendor name label.
The browser page will be opened if you click on the vendor name. Note you need to escape / symbols.
ProjectUrl
This is a URL of a website that will be opened when clicking on the package name, in the GetIt UI.
Note you need to escape / symbols.
Image
The image for the package. It can be a local file (relative to the JSON file, generally in the same folder) or a URL for an image to download.
Note you need to escape / symbols.
LicenseName
A descriptive name of the license, displayed in the UI.
License
A URL or local file with the text of the license to display to users. The license needs to be accepted for the download to take place. This is true also for a local GetIt package.
Note you need to escape / symbols.
URL
The URL or local file of the actual library to download (or copy). This needs to be a local ZIP file or the URL of a ZIP file. It can be a URL pointing to GitHub or another online repository, as long as you can refer to a ZIP file.
While this can point at any website, for packages you want to publish in GetIt, we recommend using only highly trusted locations (like GitHub or other high-profile hosting services). In alternative, we can host internally.
Note you need to escape / symbols, as in the demo: “http:\/\/www.turbopack.net”
Modified
This is the modification time or timestamp. It looks like it is ignored for local files, but further investigation is needed.
The value should be displayed under the description (and above the license). It is relevant to manage the updates process. Need also to clarify if this is UTC.
RequireElevation
This is a boolean field, so it only accepts one of those values: 0 or 1. This value needs to be set to 1 if you need UAC to perform the following actions, for example, to copy files under the product folder or in Program Files in general.
Avoiding UAC is recommended when possible.
AllUsers
This is a boolean field, so it only accepts one of those values: 0 or 1. Install for the current users or all users. This affects registry settings. 0/False is highly recommended and the default.
Specifies if the cache will be accessible by all users or only by the current user.
- If the value is False, the cache path will be: $(BDSCatalogRepository)
- If the value is True, the cache path will be: $(BDSCatalogRepositoryAllUsers)
Omitted Values
Notice that the GetIt local file format does not include other fields of online GetIt packages like those required to publish a package on the GetIt server, including:
- Personalities (Delphi, C++Builder or both)
- Minimum and maximum build
- Categories
- Platforms (almost ignored)
- SKU