WebApps 2

Webapp manifest

A WebApp's manifest is a json file (manifest.json) stored in the root of the WebApp. The manifest contains metadata about the WebApp.

The unique identifier of a WebApp is made up of id and version. If a WebApp is uploaded and there is an existing WebApp with the same id and version, it will be overwritten given that force deploy is used.

The type is mandatory and distinguishes a WebApp from a RESTApp. The name, description, author and helpUrl are used for UI purposes when importing and administering deployed WebApps in the Sitevision editor.

bundled is required to build WebApps 2.

name and description can be either a string or an object. For multilingual apps see the second example.

// manifest.json
{
   "id": "timelineSearch",
   "version": "0.0.1",
   "type": "WebApp",// or Widget
   "name": "Social Search",
   "description": "A simplistic timeline search",
   "author": "Sitevision AB",
   "helpUrl": "https://help.sitevision.se/timelinewebapp",
   "bundled": true,			 // Specifies if WebApp is bundled, i.e. WebApps 2
   "maxUploadSizeInMB": 0,  // Max app upload size (default is 64)
   "requirePrivileged": true // Declares privileged usage
   "storage": {              // Declares data store usage
      "collectionDataStore": "myCollectionStore",
      "keyValueDataStore": "myStore" // multiple stores ["x", "y"]
   },
   "requiredLibs": {		 // Declares required libraries
      "react": "17.0.2" 	  
   },
   "csrfProtection": true    // Declares CSRF usage (since 9.1)
}	
// manifest.json
{
   "id": "timelineSearch",
   "version": "0.0.1",
   "type": "WebApp", // or Widget
   "name": { // Multilingual-manifest requires SV 10.1
      "sv": "Social sökning",
      "en": "Social Search"
   },
   "description": {
      "sv": "En enkel sökning i Aktivitetsflödet",
      "en": "A simplistic timeline search"
   },
   "author": "Sitevision AB",
   "helpUrl": "https://help.sitevision.se/timelinewebapp",
   "bundled": true,			 // Specifies if WebApp is bundled, i.e. WebApps 2
   "maxUploadSizeInMB": 16,  // Max app upload size (default is 64)
   "requirePrivileged": true // Declares privileged usage
   "storage": {              // Declares data store usage
      "collectionDataStore": "myCollectionStore",
      "keyValueDataStore": "myStore" // multiple stores ["x", "y"]
   },
   "requiredLibs": {		 // Declares required libraries
      "react": "17.0.2" 	  
   },
   "csrfProtection": true    // Declares CSRF usage (since 9.1)
}	

When writing multilingual apps an English translation is required.