Catalog Format¶
The catalog is a file which is automatically generated, and must not be
manually modified. It contains the applications database and specifies the
following properties, for each application, using the JavaScript Object Notation
(JSON), specified by RFC 7159. The lapptrack script uses this
database to build the input files used by the lappdeploy script.
The constant lapptrack.CATALOG_FNAME specifies the file name of the catalog
and it’s located in the ‘store’ folder (see item store in the
Core Section of the lapptrack
configuration file).
The catalog contains several level of nested objects. The root level contains the metadata of the database and the main object.
__version__ |
is the version number of the catalog scheme. |
__warning__ |
is a warning message reminding that the content must not be modified. |
modified |
is the date of the latest modification expressed in the RFC 3339 format. |
products |
is an object specifying the list of handled application as
described in the configuration file (see |
Each item of the products list is a 3-tuple specifying the deployment state of the application.
pulled |
indicate that the editor of the application has published an update or a new major version. |
fetched |
indicate that an update or a new major version of the
application has been fetched. At this step, the system
administrator must approved the version before its
deployment (see |
approved |
indicate that the system administrator approved the
deployment of the update or the new version. This version
will be added in the |
Each item of the 3-tuple is an object containing the attributes of the
application as described in BaseProduct.
Example
{
"__version__": "0.2.0",
"__warning__": "This file is automatically generated, and must not be
manually modified. It contains the applications database and
specifies for each application its properties. Appdownload script
uses this database to build the applist files used by lappdeploy
script.",
"modified": "2016-02-28T19:30:00",
"products": {
"dummy": {
"approved": {
"announce_location": "http://www.example.com/news.txt",
"change_summary": "<ul><li>version 1.0.0 published on
2016-02-02</li><ul><li>a dummy feature</li><li>Small
miscellaneous improvements and bugfixes</li></ul>
<li>version 0.1.0 published on 2015-02-02</li><ul>
<li>initial commit</li></ul></ul>",
"description": "This dummy module is a trivial example
of a Product class implementation. ",
"display_name": "Dummy Product v1.0.1",
"editor": "Example. inc",
"feed_location": "http://www.example.com/feed.rss",
"file_size": 0,
"icon": "",
"installer": "..\\~store\\app\\dummy\\Dummy Product_1.0.1.html",
"location": "http://www.example.com/dist.zip",
"name": "Dummy Product",
"published": "2016-10-27T17:01:30",
"release_note_location": "http://www.example.com/release_note.txt",
"secure_hash": null,
"silent_inst_args": "/silent",
"std_inst_args": "",
"target": "unified",
"version": "1.0.1",
"web_site_location": "http://www.example.com/"
},
"fetched": {},
"pulled": {}
}
}
}