New KOBI documentation is available: https://adeo-ccdp.gitbook.io/kobi/

What’s that ?

Micro applications are the building blocks of your pages with KOBI. A Micro application may register multiple fragments and/or application contexts that will be used to Design.

Check the layout section for detailed informations on templates, fragments, applications…

Registration

In order to use your Micro application in your Site configuration you have to register it.
The registration process is usually made at your application' startup by calling the Registry API

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
{
  "applicationType": "MICRO_APPLICATION",
  "applicationVersion": "1.0.0",
  "environment": "ref",
  "label": "my backend application",
  "name": "my-backend",
  "url": "https://my-backend-app-url",
  "rewriteContentTypePattern": "(?i)(^(text/|application/json)|.*javascript).*",
  "starterVersion": "2.0.0",
  "passthroughPathPattern":	"",
  "pathPattern": "^/components/.*",	
  "staticPathPattern": "^/static/.*",
  "components": [
  	{
  		"type" : "FRAGMENT",
  		"description": "my fragment description",
		"id": "my.package.FragmentName",
		"label": "a simple label",	
		"thumbnail": "data:image/png;base64, myImageInBase64...",
		"css": [
			{
				"browsers":	["modern","legacy" ...],
				"class": "classes to apply on the html element",
				"devices": ["mobile, desktop" ...],
				"hrefAttrName":	"a custom attribute for href (to defer loading)",
				"locales": ["fr-FR" ...],
				"location":	"/static/my-css.css",
				"media": "media",
				"onload": "a onload script",
                "order": number,
                "typeAttr": "customize the value of type attribute"
			}
		],
		"js": [
			{
				"async": true/false,
				"browsers":	["modern","legacy" ...],
				"class": "classes to apply on the html element",
				"defer": true/false
				"devices": ["mobile, desktop" ...],
				"locales": ["fr-FR" ...],
				"location":	"/static/my-js.js",
				"onload": "a onload script",
				"srcAttrName": "a custom attribute for src (to defer loading)",
                "order": number,
                "typeAttr": "customize the value of type attribute"
			}
		],
		"devices": [ "mobile", "desktop" ...],
        "roles": [ "string"...],
		"location":	"string",
		"requestTimeout": 5000,
		"schema": "a json schema with configurable fields",
		"primary": true/false,
		"remoteConfig":	false,
		"visible": true
  	},
  	{
  		"type": "APPLICATION_CONTEXT",
  		"description": "my context description",
		"id": "my.context.Name",
		"label": "a simple label",
		"thumbnail": "data:image/png;base64, myImageInBase64...",
		"css": [
			{
				"browsers":	["modern","legacy" ...],
				"class": "classes to apply on the html element",
				"devices": ["mobile, desktop" ...],
				"hrefAttrName":	"a custom attribute for href (to defer loading)",
				"locales": ["fr-FR" ...],
				"location":	"/static/my-css.css",
				"media": "media",
				"onload": "a onload script",
                "order": number,
                "typeAttr": "customize the value of type attribute"
			}
		],
		"js": [
			{
				"async": true/false,
				"browsers":	["modern","legacy" ...],
				"class": "classes to apply on the html element",
				"defer": true/false
				"devices": ["mobile, desktop" ...],
				"locales": ["fr-FR" ...],
				"location":	"/static/my-js.js",
				"onload": "a onload script",
				"srcAttrName": "a custom attribute for src (to defer loading)",
                "order": number,
                "typeAttr": "customize the value of type attribute"
			}
		],
  	}
  	
  ] 
}

Applications may be registered manually through the Designer.
this might be usefull :

  • For test purpose
  • In the case your application is not aware of its URL at startup
  • If your application won’t change much

There are also starter projects to ease the declaration :

Administration

Once registered your application should be available in the Application administration and may be added in a Site configuration to be used in your designs.