Difference between revisions of "SignMatic Application Package"
(→Technical) |
(→Technical) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 55: | Line 55: | ||
<tr> | <tr> | ||
<td style="width: 130px;vertical-align: top;">'''Extended from'''</td> | <td style="width: 130px;vertical-align: top;">'''Extended from'''</td> | ||
− | <td>NEFastAccess-VarH | + | <td> |
+ | <ul style="list-style:none;margin-left:0;font-size:14px;margin-bottom: 10px;"> | ||
+ | <li>NEFastAccess-VarH | ||
+ | <ul style="list-style:none;margin-left: 10px;"><li>↳ PK Archive <br>inmformat/JSON/Base64+PNG</li> | ||
+ | </ul> | ||
+ | </li> | ||
+ | </ul> | ||
+ | |||
</td></tr> | </td></tr> | ||
Line 66: | Line 73: | ||
== Overview == | == Overview == | ||
− | SignMatic Application Packages are encoded file archives with a variable size header, encoded bitmap image of the Application icon and various metadata. The files are opened by the system utility smdepak (console application) or smdepakw (User Interface), that performs various compatibility checks including versioning, downgrade and upgrade options as well as the actuall unpacking and registration of the application to the signmatic applications directory. | + | SignMatic Application Packages are encoded file archives with a variable size header, encoded bitmap image of the Application icon and various metadata. The files are opened by the system utility smdepak (console application) or smdepakw (User Interface), that performs various compatibility checks including versioning, downgrade and upgrade options as well as the actuall unpacking and registration of the application to the signmatic applications directory. The File structure is published openly and is extended from the |
+ | NEFastAccess-VarH Format, that encodes archived files (ZIP or TAR) with a variable sized header. The Header size is limited only by the definitive implementation of the format structure, and must not change between compatibility layers. | ||
== Technical == | == Technical == | ||
The File consists of the magic sequence <span style="font-family:monospace;">0x16 0x0F 0x17 0x1B</span> followed by literal <span style="font-family:monospace;">SignMatic</span> The Relatively small header is encoded with NEFastAccess-LOffset header format (2 bytes prefix, shift n, 2 bytes suffix), and followed by the archive. The architecture is similar to other common application archives like the Chromium PAK format, Android packages (APK) and Java archives (JAR). | The File consists of the magic sequence <span style="font-family:monospace;">0x16 0x0F 0x17 0x1B</span> followed by literal <span style="font-family:monospace;">SignMatic</span> The Relatively small header is encoded with NEFastAccess-LOffset header format (2 bytes prefix, shift n, 2 bytes suffix), and followed by the archive. The architecture is similar to other common application archives like the Chromium PAK format, Android packages (APK) and Java archives (JAR). | ||
+ | ==== Specification limits ==== | ||
File size is not limited to a certain size, the header size however must be in the range of 196 to 4096 bytes, given the fact that for the necessary metadata this is absoloutely sufficient. | File size is not limited to a certain size, the header size however must be in the range of 196 to 4096 bytes, given the fact that for the necessary metadata this is absoloutely sufficient. | ||
− | The actual Application contents are stored in the PK-Format (ZIP) | + | The actual Application contents are stored in the PK-Format (ZIP), the support for TAR has been dropped before the initial release but might enter at a later point in time. |
− | The encoders (i.e. smpak) are responsible for maintaining proper header size, thus ensuring no malformed header may encoded | + | The encoders (i.e. smpak) are responsible for maintaining proper header size, thus ensuring no malformed header may encoded. The header size limits (FastAccess) have been set to current specifications (2023) |
== Generation == | == Generation == |
Latest revision as of 02:22, 25 April 2023
SignMatic Application Package | |
---|---|
Developer | Netroda Technologies |
Type | File Type |
Extension(s) | .smpk |
Magic Numbers | 16 0F 17 1B "SignMatic" |
Current Version | 1.0.0 (08 Feb. 2023) |
Platform | SignMatic |
Extended from |
|
SignMatic Application Package (sometimes referred to as SMAP) is a distribution file format for the open Digital Signage System SignMatic.
The File-Package contains all necessary information for a application to be installed on a local system. The file extension is .smpk
Contents
Overview
SignMatic Application Packages are encoded file archives with a variable size header, encoded bitmap image of the Application icon and various metadata. The files are opened by the system utility smdepak (console application) or smdepakw (User Interface), that performs various compatibility checks including versioning, downgrade and upgrade options as well as the actuall unpacking and registration of the application to the signmatic applications directory. The File structure is published openly and is extended from the NEFastAccess-VarH Format, that encodes archived files (ZIP or TAR) with a variable sized header. The Header size is limited only by the definitive implementation of the format structure, and must not change between compatibility layers.
Technical
The File consists of the magic sequence 0x16 0x0F 0x17 0x1B followed by literal SignMatic The Relatively small header is encoded with NEFastAccess-LOffset header format (2 bytes prefix, shift n, 2 bytes suffix), and followed by the archive. The architecture is similar to other common application archives like the Chromium PAK format, Android packages (APK) and Java archives (JAR).
Specification limits
File size is not limited to a certain size, the header size however must be in the range of 196 to 4096 bytes, given the fact that for the necessary metadata this is absoloutely sufficient.
The actual Application contents are stored in the PK-Format (ZIP), the support for TAR has been dropped before the initial release but might enter at a later point in time.
The encoders (i.e. smpak) are responsible for maintaining proper header size, thus ensuring no malformed header may encoded. The header size limits (FastAccess) have been set to current specifications (2023)
Generation
SignMatic Application Packages can be created using the command line tool smpak (delivered with SignMatic Studio). The application folder requires a valid build information file (example below) to be present in the base directory named "build".
A Single application must contain
- A valid and unique AppId
- A 3-level version
- The Buildfile version
- The minimum required SignMatic version
- Name
- Description
- Icon
- Theme Color
This file also represents vaguely the informations provided by each application besides their main archive.
{ "appId" : "a4bc7782c208449095bf54d5d495aad9", "appVer" : [1,0,0], "bVer" : 1.0, "sMinReq" : [1,1,7280], "appName" : "Airport", "appDescription" : "This demo features a airport information screen, to display live data of passenger flights on your SignMatic.", "vendor" : "Netroda Technologies", "website" : "https://netroda.com/a/k/products/ess-i/signmatic/demo/", "privacyPolicy" : "https://netroda.com/a/k/products/ess-i/signmatic/privacy", "termsOfService" : "https://netroda.com/a/k/products/ess-i/signmatic/terms", "imageIcon64" : "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA2CAYAAACMRWrdAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPRSURBVGhD7ZlLaBNRFIZb67MiCKLgY6VWceNCimIXVUTd2YeCunArRcFHsYjSRVUQpAsftSj43HQl4qMiVXSjoAtBVxYEpYuCCkIVlBicSaLfdP7GpJkk80xTzQc/kzv3nP/cO/dOkkmqKlSoUOG/IJVKNaDryWTyKcdONEtdkxcm0YVSvzOg+YxDrULCAdMZehk51DprTyWXRCJxSGHBodAm9I4tcYVjvU5HAv7nNAdH6L+j0GDgtRGz77atDe0BtJ2X0xUWCnjmXakxiDmtcP/gY03qh22ZC31vUUcsFlusFN/gU3ClLNgx34hbohR/YNCM4vIsCAVHiL2EfG1T8oqulGhRin8o1oYMGbqCeItHaAdNV9uU2KIrZUHcXqUEB7M16LW8PUHeIOpAi2SXA32uVoq4/UoJD3xrMb5ol/AOuSNs1cscs7YpbbcrtU8p0UCB3eiL6vmC/AHTNFs4dutUQYgLf6WciMfjyyj2RHUjhTrRrtR4qFlN0ZN2+Wgo2Uo5QfGt3DtDGkto4BveVya/MIgFTO6WxhQY/NplXR4woAPop8bnGS5OgvyDsisvDMOoZ3BvNFZPkGeg5bIqPxjcbNSLYhqza1i1btmUL0ysX+N1DTnDqHyfkHkQtJ58TY3XE+Q1yaa8YGBdGqMvyA/nITJMuEdOaHy+YWIxFPjZLjSCrlQmbOXy+Cxzu1LEvdTLgnCRrMekatlPDG5XirgjHKZq0EUhbp1KlB63K8XWOqYU60KsJS+prrwQ16uU0kJht/dUelJjcO6M3ZUf/D+hOUoJDmbWw+QFLmoPxxuoD91GD9Bj9By9Uv2CZK5UJnTNxGPQjsoP+buUEgyKtcszDBwnNQa1GhWXF2IeKtwfeNRg0mnbBSffSo2Hmj1KcYT+XxyWKtw7GKxHQ6joTe0CV5OyoJ71hfmD8hyh/7jCvUN+DbL2fZ1pms3Wux26T/s9cvW7InFJtyuVCXlbZOEI47DuxSkKDwcMp1F4JWpFp1A/cvwpgPN3leYZBn9VNo7g3ajQ6KDIPPRZNdMwuPMK8Qzpc/Ectp1yoe+aQqOFQi9UMw3nAv0DQn6TrHKg7ytaqNDooMhN1czE8/01Hnz75JWDYRgbFBYdDOCo6qXhXODfAfGYj3K2OedK822fQttUMw3n9qg7EPjslOUotA+rK3ootgplPfrTblZ3YPC6J8/SPpdR0Ppg/Tg6o79sVndg8K5DbWqWFgpnvTPSblDX5IaJZL0z0l6hrskNE+nQnKxJlfbvnihhMq2a1MT93RMFTGj1P7VSFSpUKEBV1R+M2kmQTyMt+AAAAABJRU5ErkJggg==", "color" : "486ADA" }
Support
Support for specific applications is usually carried out by the application vendor, there is a option to reference a URL to the application vendor's product website for help.
Version history
Revision | Released | Lifecycle | Compatibility |
---|---|---|---|
1.0.0 | 08 Feb. 2023 | Not announced | 1.1.7281+ |