General Information (GetIt Local Files)

From RAD Studio
Jump to: navigation, search

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:


Picture3getit.png

Each field is explained below:

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

See Also