You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@unomi.apache.org by jk...@apache.org on 2022/06/09 18:18:20 UTC

[unomi] branch UNOMI-569-flatten-schemas updated (eaf6c8cf7 -> d30ae2eaa)

This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a change to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git


    omit eaf6c8cf7 UNOMI-569: cleanup schemas
    omit ae9e47631 UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.
    omit 11c489460 UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.
    omit 3295df989 Merge branch 'master' into UNOMI-569-flatten-schemas
    omit 37c1e9150 UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to be a real entity name
    omit 178531c3a UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to use a real entity name
    omit 6b2928a64 UNOMI-569 Flatten JSON Schemas & fix schema bugs - All schemas are now "flattened", meaning that each object is in a separate schema file (with a few exceptions) - Bug fixes in GraphQLSchemaProvider to detect loops in schemas - Fix events used in integration tests to avoid sending profile objects - Changed Event default initialization to avoid creating attributes when using default constructor - Added JAXBAnnotationModule in object mapper used in integration tests - Add [...]
     add 582867561 UNOMI-580 : add endpoint to get schema + clean (#429)
     add 24d0ad372 UNOMI-579 Fix Condition evaluator integration test date calculation (#431)
     add 89200bf63 UNOMI-557: Optimize the profile update during segment deletion (#433)
     add 2e6a6e8f1 UNOMI-584: introduce new flattenedProperties for events, to allow map… (#434)
     add 787fa25ce UNOMI-582 GraphQL as feature flag (#432)
     new 329718760 UNOMI-569 Flatten JSON Schemas & fix schema bugs - All schemas are now "flattened", meaning that each object is in a separate schema file (with a few exceptions) - Bug fixes in GraphQLSchemaProvider to detect loops in schemas - Fix events used in integration tests to avoid sending profile objects - Changed Event default initialization to avoid creating attributes when using default constructor - Added JAXBAnnotationModule in object mapper used in integration tests - Add [...]
     new 240e7f36a UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to use a real entity name
     new bab6d517f UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to be a real entity name
     new db26ebe1e UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.
     new 6608aacd2 UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.
     new d30ae2eaa UNOMI-569: cleanup schemas

This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version.  This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:

 * -- * -- B -- O -- O -- O   (eaf6c8cf7)
            \
             N -- N -- N   refs/heads/UNOMI-569-flatten-schemas (d30ae2eaa)

You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.

Any revisions marked "omit" are not gone; other references still
refer to them.  Any revisions marked "discard" are gone forever.

The 6 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 api/src/main/java/org/apache/unomi/api/Event.java  |  20 +-
 .../unomi/schema/rest/JsonSchemaEndPoint.java      |  39 +++-
 graphql/karaf-feature/src/main/feature/feature.xml |  10 +-
 itests/pom.xml                                     |   9 +-
 .../test/java/org/apache/unomi/itests/BaseIT.java  | 174 +++++++--------
 .../apache/unomi/itests/ConditionEvaluatorIT.java  |   3 +-
 .../org/apache/unomi/itests/ContextServletIT.java  |   2 -
 .../java/org/apache/unomi/itests/JSONSchemaIT.java | 240 +++++++++++++++------
 .../java/org/apache/unomi/itests/SegmentIT.java    |  39 ++++
 .../schemas/event-flattened-invalid-1.json         |  14 ++
 .../schemas/event-flattened-invalid-2.json         |  16 ++
 .../schemas/event-flattened-invalid-3.json         |  13 ++
 .../resources/schemas/event-flattened-valid.json   |  13 ++
 .../event-request.json}                            |   4 +-
 ...ma-flattened-flattenedProperties-interests.json |  19 ++
 .../schema-flattened-flattenedProperties.json      |  18 ++
 ...rties.json => schema-flattened-properties.json} |  12 +-
 .../{schema-dummy.json => schema-flattened.json}   |  11 +-
 kar/src/main/feature/feature.xml                   |   6 +-
 lifecycle-watcher/pom.xml                          |  13 +-
 .../org/apache/unomi/lifecycle/BundleWatcher.java  |   4 +-
 .../apache/unomi/lifecycle/BundleWatcherImpl.java  | 207 +++++++++++++-----
 .../resources/OSGI-INF/blueprint/blueprint.xml     |   4 +
 package/pom.xml                                    |   2 -
 .../main/resources/etc/custom.system.properties    |   7 +-
 persistence-elasticsearch/core/pom.xml             |   7 +
 .../resources/META-INF/cxs/mappings/event.json     |   3 +
 .../resources/META-INF/cxs/mappings/segment.json   |   4 +
 pom.xml                                            |   1 +
 .../deserializers/ContextRequestDeserializer.java  |   2 +-
 .../rest/service/impl/RestServiceUtilsImpl.java    |   2 +
 .../services/impl/segments/SegmentServiceImpl.java |  26 +--
 setenv.sh                                          |   2 +-
 tools/shell-commands/pom.xml                       |   3 +-
 .../internal/UnomiManagementServiceImpl.java       |   4 +-
 .../resources/OSGI-INF/blueprint/blueprint.xml     |  10 +-
 wab/src/main/webapp/index.html                     |   5 +-
 37 files changed, 679 insertions(+), 289 deletions(-)
 create mode 100644 itests/src/test/resources/schemas/event-flattened-invalid-1.json
 create mode 100644 itests/src/test/resources/schemas/event-flattened-invalid-2.json
 create mode 100644 itests/src/test/resources/schemas/event-flattened-invalid-3.json
 create mode 100644 itests/src/test/resources/schemas/event-flattened-valid.json
 copy itests/src/test/resources/{validation/eventcollector_emptyEvents.json => schemas/event-request.json} (51%)
 create mode 100644 itests/src/test/resources/schemas/schema-flattened-flattenedProperties-interests.json
 create mode 100644 itests/src/test/resources/schemas/schema-flattened-flattenedProperties.json
 copy itests/src/test/resources/schemas/{schema-dummy-properties.json => schema-flattened-properties.json} (54%)
 copy itests/src/test/resources/schemas/{schema-dummy.json => schema-flattened.json} (51%)


[unomi] 04/06: UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit db26ebe1e04182294463df03c00d5a3bc244515c
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Tue Jun 7 09:23:34 2022 +0200

    UNOMI-569 Flatten schemas
    - Move page and site to top level objects
    - Page and site are now using item as parent validation instead of custom item
    - Removed conditiontype JSON schema as it is not needed.
---
 .../services/src/main/resources/META-INF/cxs/schemas/events/view.json | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
index 8ad5e754c..ad7455abf 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
@@ -13,10 +13,10 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/site/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/site/1-0-0"
     },
     "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     }
   },
   "unevaluatedProperties": false


[unomi] 03/06: UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to be a real entity name

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit bab6d517ff01a56b04891f1f25e48b4393fac180
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Tue May 31 11:22:22 2022 +0200

    UNOMI-569 Flatten JSON Schemas & fix schema bugs
    - Change vendor to be a real entity name
---
 .../services/src/main/resources/META-INF/cxs/schemas/condition.json     | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/conditiontype.json | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/consent.json       | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/consentType.json   | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/customitem.json    | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/customitem/properties.json  | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/customitems/page.json       | 2 +-
 .../resources/META-INF/cxs/schemas/customitems/page/properties.json     | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/customitems/site.json       | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/event.json         | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/events/form.json   | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/events/goal.json   | 2 +-
 .../main/resources/META-INF/cxs/schemas/events/incrementInterest.json   | 2 +-
 .../META-INF/cxs/schemas/events/incrementInterest/properties.json       | 2 +-
 .../cxs/schemas/events/incrementInterest/properties/interests.json      | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json   | 2 +-
 .../resources/META-INF/cxs/schemas/events/modifyConsent/properties.json | 2 +-
 .../main/resources/META-INF/cxs/schemas/events/updateProperties.json    | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/events/view.json   | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/goal.json          | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/item.json          | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/metadata.json      | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/metadataitem.json  | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/parameter.json     | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/personalization/filter.json | 2 +-
 .../META-INF/cxs/schemas/personalization/filter/properties.json         | 2 +-
 .../META-INF/cxs/schemas/personalization/personalizationrequest.json    | 2 +-
 .../schemas/personalization/personalizationrequest/strategyOptions.json | 2 +-
 .../cxs/schemas/personalization/personalizedContent/properties.json     | 2 +-
 .../META-INF/cxs/schemas/personalization/personalizedcontent.json       | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/personalization/target.json | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/profile.json       | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/values/boolean.json         | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/values/date.json   | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/values/email.json  | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/values/integer.json         | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/values/long.json   | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/values/set.json    | 2 +-
 .../services/src/main/resources/META-INF/cxs/schemas/values/string.json | 2 +-
 .../wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json   | 2 +-
 .../wab/src/main/resources/META-INF/cxs/schemas/identify.json           | 2 +-
 itests/src/test/resources/schemas/events/float-property-type.json       | 2 +-
 itests/src/test/resources/schemas/events/login.json                     | 2 +-
 itests/src/test/resources/schemas/events/test-event-type.json           | 2 +-
 itests/src/test/resources/schemas/schema-predefined.json                | 2 +-
 .../resources/META-INF/cxs/schemas/contextrequest/contextrequest.json   | 2 +-
 .../META-INF/cxs/schemas/contextrequest/contextrequestparams.json       | 2 +-
 .../resources/META-INF/cxs/schemas/contextrequest/source/source.json    | 2 +-
 rest/src/main/resources/META-INF/cxs/schemas/cookie.json                | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json | 2 +-
 .../src/main/resources/META-INF/cxs/schemas/login.json                  | 2 +-
 51 files changed, 51 insertions(+), 51 deletions(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
index 60eae3e8f..923ad23ef 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/condition/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "condition",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
index ed18fabcb..df255a3aa 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/conditiontype/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "conditionType",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
index 557bb25fb..8628228bf 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "consent",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
index 995f77f9a..32fc2e1c5 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consentType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "consentType",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
index 4098972f2..5b9c6c570 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/customitem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "customItem",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
index ce8a96c21..38bec226f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "customItemProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
index e70789c8b..f22f83d1a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/customitems/page/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "customitems",
     "name":"page",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
index 083ba7bf9..82300bac1 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name":"pageProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
index 695b90cec..d3246be1f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/customitems/site/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "customitems",
     "name": "site",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
index 29fa59c8f..2d27d0245 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "event",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
index 0f162c015..6b4ada182 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/form/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "form",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
index a1af65bb1..31c41ac8f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/goal/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "goal",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
index 39a9029d6..270356086 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "incrementInterest",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
index 221ac420c..300f4e394 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "incrementInterestProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
index 589e3c7a9..bef45d957 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "incrementInterestPropertiesInterests",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
index a04635ae2..971e61aae 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "modifyConsent",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
index dec05c560..d7a97b80a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "modifyConsentProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
index 2c232184c..b3916dcee 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/updateProperties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "updateProperties",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
index 49683494b..8ad5e754c 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/view/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "view",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
index e081a46b2..6d2abee31 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/goal/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "goal",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
index 5c71db49b..79940c54e 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/item/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "item",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
index 8fd863321..4098ccb20 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/metadata/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "metadata",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
index 4e1dd917c..5f2371abe 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "metadataItem",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
index 8fee7ea44..3854def15 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/parameter/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "parameter",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
index fff1f39c6..8c1c638de 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "filter",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
index 25b41236e..ddab41a37 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "filterProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
index 0c2aaea6f..bd6eb3a5f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "personalizationRequest",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
index 26f8f2ad5..bed70d693 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "strategyOptions",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
index 5cafaf212..d418c1aff 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "personalizedContentProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
index d6742f47a..5ddccd51a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "personalizedContent",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
index 7fa09768f..305162140 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "target",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
index 381b8b6eb..a5d860cf7 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/profile/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "profile",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
index 18a440e0d..ff6e646ac 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/values/boolean/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "values",
     "name": "boolean",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
index d59e420e7..17975cfdb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
@@ -2,7 +2,7 @@
     "$id": "https://unomi.apache.org/schemas/json/values/date/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
     "self":{
-        "vendor":"org.apache.unomi",
+        "vendor":"The Apache Software Foundation",
         "target" : "values",
         "name": "date",
         "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
index 6d8eebe57..bd9585514 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
@@ -2,7 +2,7 @@
     "$id": "https://unomi.apache.org/schemas/json/values/email/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
     "self":{
-        "vendor":"org.apache.unomi",
+        "vendor":"The Apache Software Foundation",
         "target" : "values",
         "name": "email",
         "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
index 77017c3fb..9e7cbe6aa 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
@@ -2,7 +2,7 @@
     "$id": "https://unomi.apache.org/schemas/json/values/integer/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
     "self":{
-        "vendor":"org.apache.unomi",
+        "vendor":"The Apache Software Foundation",
         "target" : "values",
         "name": "integer",
         "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
index e64d2764a..035ac5838 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/values/long/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "values",
     "name": "long",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
index 2e7ac754f..5d411b3e5 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
@@ -2,7 +2,7 @@
     "$id": "https://unomi.apache.org/schemas/json/values/set/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
     "self":{
-        "vendor":"org.apache.unomi",
+        "vendor":"The Apache Software Foundation",
         "target" : "values",
         "name": "set",
         "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
index 40c44b3c9..7a7875f99 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
@@ -2,7 +2,7 @@
     "$id": "https://unomi.apache.org/schemas/json/values/string/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
     "self":{
-        "vendor":"org.apache.unomi",
+        "vendor":"The Apache Software Foundation",
         "target" : "values",
         "name": "string",
         "format":"jsonschema",
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
index 3d034fd39..b8d5bbabd 100644
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "articleCompleted",
     "format":"jsonschema",
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
index 8375141e2..754cca17b 100644
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/identify/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "identify",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/events/float-property-type.json b/itests/src/test/resources/schemas/events/float-property-type.json
index 93bb3f8ea..024aef78a 100644
--- a/itests/src/test/resources/schemas/events/float-property-type.json
+++ b/itests/src/test/resources/schemas/events/float-property-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/floatPropertyType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name":"floatPropertyType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/events/login.json b/itests/src/test/resources/schemas/events/login.json
index a1118ba1d..a134e56a9 100644
--- a/itests/src/test/resources/schemas/events/login.json
+++ b/itests/src/test/resources/schemas/events/login.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "login",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/events/test-event-type.json b/itests/src/test/resources/schemas/events/test-event-type.json
index 3a30f59d8..3fc4059fb 100644
--- a/itests/src/test/resources/schemas/events/test-event-type.json
+++ b/itests/src/test/resources/schemas/events/test-event-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/testEventType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target":"events",
     "name":"testEventType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/schema-predefined.json b/itests/src/test/resources/schemas/schema-predefined.json
index b4da0ada6..88af00600 100644
--- a/itests/src/test/resources/schemas/schema-predefined.json
+++ b/itests/src/test/resources/schemas/schema-predefined.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name":"testEventType",
     "format":"jsonschema",
     "target":"events",
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
index 880007751..835dd8e79 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/contextrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "contextRequest",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
index fe4a32896..d90c6fa76 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "contextRequestParams",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
index 9e451fb3a..8f8e3a2fb 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "source",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
index 8b6d01f1a..8031450fd 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/cookie/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "cookie",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
index 783e8d2b3..76c541e8e 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "eventsCollectorRequest",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
index 17b814235..8cc74e797 100644
--- a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
+++ b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "target" : "events",
     "name": "login",
     "format":"jsonschema",


[unomi] 05/06: UNOMI-569 Flatten schemas - Move page and site to top level objects - Page and site are now using item as parent validation instead of custom item - Removed conditiontype JSON schema as it is not needed.

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 6608aacd285153980d02bbdd8cff6b8e8b0e4d25
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Tue Jun 7 09:36:06 2022 +0200

    UNOMI-569 Flatten schemas
    - Move page and site to top level objects
    - Page and site are now using item as parent validation instead of custom item
    - Removed conditiontype JSON schema as it is not needed.
---
 .../META-INF/cxs/schemas/conditiontype.json        | 28 ----------------------
 .../META-INF/cxs/schemas/events/form.json          |  4 ++--
 .../META-INF/cxs/schemas/events/goal.json          |  2 +-
 .../META-INF/cxs/schemas/events/modifyConsent.json |  2 +-
 .../cxs/schemas/{customitems => }/page.json        |  7 +++---
 .../schemas/{customitems => }/page/properties.json |  6 ++---
 .../page/properties/attributes.json                |  2 +-
 .../page/properties/pageInfo.json                  |  2 +-
 .../cxs/schemas/{customitems => }/site.json        |  7 +++---
 .../META-INF/cxs/schemas/articleCompleted.json     |  2 +-
 .../resources/META-INF/cxs/schemas/identify.json   |  2 +-
 11 files changed, 17 insertions(+), 47 deletions(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
deleted file mode 100644
index df255a3aa..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
+++ /dev/null
@@ -1,28 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/conditiontype/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "conditionType",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ConditionType",
-  "type": "object",
-  "properties" : {
-    "conditionEvaluator" : {
-      "type" : "string"
-    },
-    "queryBuilder" : {
-      "type" : "string"
-    },
-    "parentCondition" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "parameters" : {
-      "type" : "object",
-      "additionalProperties": { "$ref" : "https://unomi.apache.org/schemas/json/parameter/1-0-0" },
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
index 6b4ada182..c537eec11 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
@@ -13,10 +13,10 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/site/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/site/1-0-0"
     },
     "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     }
   },
   "unevaluatedProperties" : false
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
index 31c41ac8f..d6f9b6af0 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
@@ -13,7 +13,7 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/goal/1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
index 971e61aae..14db8d7fe 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
@@ -16,7 +16,7 @@
       "$ref" : "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0"
     },
     "source" : {
-        "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+        "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     },
     "target" : {
         "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
similarity index 57%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
index f22f83d1a..a11bbae43 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
@@ -1,9 +1,8 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/customitems/page/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/items/page/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
     "vendor":"The Apache Software Foundation",
-    "target" : "customitems",
     "name":"page",
     "format":"jsonschema",
     "version":"1-0-0"
@@ -12,12 +11,12 @@
   "type": "object",
   "allOf": [
     {
-      "$ref": "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
     }
   ],
   "properties": {
     "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0"
     }
   },
   "unevaluatedProperties" : false
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
similarity index 64%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
index 82300bac1..36092791d 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
@@ -1,5 +1,5 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
     "vendor":"The Apache Software Foundation",
@@ -11,10 +11,10 @@
   "type": "object",
   "properties": {
     "pageInfo": {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/pageInfo/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/pageInfo/1-0-0"
     },
     "attributes": {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/attributes/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/attributes/1-0-0"
     },
     "consentTypes": {
       "type" : ["null", "array"],
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json
similarity index 76%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json
index 62d5cc22b..cb54c2a93 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json
@@ -1,5 +1,5 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/attributes/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/items/page/properties/attributes/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self": {
     "vendor": "org.apache.unomi",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json
similarity index 91%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json
index a0f0b465b..2cce0649f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json
@@ -1,5 +1,5 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/pageInfo/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/items/page/properties/pageInfo/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self": {
     "vendor": "org.apache.unomi",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
similarity index 57%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
index d3246be1f..4aa93a6db 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
@@ -1,18 +1,17 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/customitems/site/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/items/site/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
     "vendor":"The Apache Software Foundation",
-    "target" : "customitems",
     "name": "site",
     "format":"jsonschema",
     "version":"1-0-0"
   },
-  "title": "SiteCustomItem",
+  "title": "SiteItem",
   "type": "object",
   "allOf": [
     {
-      "$ref": "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
     }
   ],
   "unevaluatedProperties" : false
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
index b8d5bbabd..90e5c5d86 100644
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
@@ -16,7 +16,7 @@
       "$ref" : "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0"
     },
     "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
index 754cca17b..f9e41fc63 100644
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
@@ -16,7 +16,7 @@
       "$ref" : "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0"
     },
     "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"


[unomi] 06/06: UNOMI-569: cleanup schemas

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit d30ae2eaad20cf25bcfbbe47240655f419dd553a
Author: Kevan <ke...@jahia.com>
AuthorDate: Thu Jun 9 19:17:51 2022 +0200

    UNOMI-569: cleanup schemas
---
 .../resources/META-INF/cxs/schemas/condition.json  | 21 -------
 .../resources/META-INF/cxs/schemas/customitem.json | 25 --------
 .../cxs/schemas/customitem/properties.json         | 14 -----
 .../META-INF/cxs/schemas/{ => events}/event.json   |  2 +-
 .../META-INF/cxs/schemas/events/form.json          | 23 -------
 .../META-INF/cxs/schemas/events/goal.json          | 23 -------
 .../incrementInterest.flattenProperties.json       | 18 ++++++
 .../{ => incrementInterest}/incrementInterest.json |  7 +--
 .../events/incrementInterest/properties.json       | 19 ------
 .../incrementInterest/properties/interests.json    | 16 -----
 .../META-INF/cxs/schemas/events/login}/login.json  |  9 +--
 .../events/{ => modifyConsent}/modifyConsent.json  |  2 +-
 ...operties.json => modifyConsent.properties.json} |  2 +-
 .../{ => updateProperties}/updateProperties.json   |  5 +-
 .../events/view/view.flattenProperties.json        | 18 ++++++
 .../cxs/schemas/events/{ => view}/view.json        |  5 +-
 .../main/resources/META-INF/cxs/schemas/goal.json  | 25 --------
 .../cxs/schemas/{ => items/consent}/consent.json   |  2 +-
 .../schemas/{ => items/consent}/consentType.json   |  2 +-
 .../cxs/schemas/items/interests/interests.json     | 18 ++++++
 .../META-INF/cxs/schemas/{ => items}/item.json     |  2 +-
 .../cxs/schemas/{ => items/page}/page.json         |  8 +--
 .../page/page.properties.attributes.json}          |  0
 .../page/page.properties.json}                     |  2 +-
 .../page/page.properties.pageInfo.json}            |  0
 .../cxs/schemas/{ => items/site}/site.json         |  8 +--
 .../cxs/schemas/{ => items}/timestampeditem.json   |  2 +-
 .../resources/META-INF/cxs/schemas/metadata.json   | 51 ----------------
 .../META-INF/cxs/schemas/metadataitem.json         | 21 -------
 .../resources/META-INF/cxs/schemas/parameter.json  | 27 --------
 .../cxs/schemas/personalization/filter.json        | 26 --------
 .../schemas/personalization/filter/properties.json | 13 ----
 .../personalization/personalizationrequest.json    | 30 ---------
 .../personalizationrequest/strategyOptions.json    | 13 ----
 .../personalizedContent/properties.json            | 13 ----
 .../personalization/personalizedcontent.json       | 27 --------
 .../cxs/schemas/personalization/target.json        | 23 -------
 .../resources/META-INF/cxs/schemas/profile.json    | 46 --------------
 .../META-INF/cxs/schemas/values/boolean.json       | 13 ----
 .../META-INF/cxs/schemas/values/date.json          | 14 -----
 .../META-INF/cxs/schemas/values/email.json         | 14 -----
 .../META-INF/cxs/schemas/values/integer.json       | 13 ----
 .../META-INF/cxs/schemas/values/long.json          | 13 ----
 .../resources/META-INF/cxs/schemas/values/set.json | 14 -----
 .../META-INF/cxs/schemas/values/string.json        | 13 ----
 .../META-INF/cxs/schemas/articleCompleted.json     | 25 --------
 .../cxs/schemas/articleCompleted/properties.json   | 22 -------
 .../resources/META-INF/cxs/schemas/identify.json   | 25 --------
 .../META-INF/cxs/schemas/identify/properties.json  | 24 --------
 .../test/java/org/apache/unomi/itests/BasicIT.java | 12 ----
 .../schemas/events/float-property-type.json        |  2 +-
 .../resources/schemas/events/test-event-type.json  |  2 +-
 .../test/resources/schemas/schema-predefined.json  |  2 +-
 .../deserializers/ContextRequestDeserializer.java  |  2 +-
 .../EventsCollectorRequestDeserializer.java        |  2 +-
 .../unomi/rest/endpoints/ContextJsonEndpoint.java  | 10 +--
 .../rest/service/impl/RestServiceUtilsImpl.java    |  5 +-
 .../cxs/schemas/contextrequest/contextrequest.json | 71 ----------------------
 .../contextrequest/contextrequestparams.json       | 22 -------
 .../cxs/schemas/contextrequest/source/source.json  | 37 -----------
 .../resources/META-INF/cxs/schemas/cookie.json     | 18 ------
 .../schemas/{ => rest}/eventscollectorrequest.json |  9 +--
 .../META-INF/cxs/schemas/rest/requestIds.json      | 26 ++++++++
 .../main/resources/META-INF/cxs/schemas/login.json | 23 -------
 64 files changed, 119 insertions(+), 882 deletions(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
deleted file mode 100644
index 923ad23ef..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/condition/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "condition",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Condition",
-  "type": "object",
-  "properties" : {
-    "conditionTypeId" : {
-      "type" : "string"
-    },
-    "parameterValues" : {
-      "type" : "object",
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
deleted file mode 100644
index 5b9c6c570..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/customitem/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "customItem",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "CustomItem",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
-  "properties": {
-    "customItemType" : {
-      "type" : "string"
-    },
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
deleted file mode 100644
index 38bec226f..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "customItemProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "CustomItemProperties",
-  "type": "object",
-  "properties": {
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
index 2d27d0245..29fa59c8f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/event.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "event",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
deleted file mode 100644
index c537eec11..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/form/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "form",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "FormEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/site/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    }
-  },
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
deleted file mode 100644
index d6f9b6af0..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/goal/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "goal",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "GoalEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/goal/1-0-0"
-    }
-  },
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json
new file mode 100644
index 000000000..1793e5c8d
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.flattenProperties.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "incrementInterestFlattenProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "IncrementInterestFlattenProperties",
+  "type": "object",
+  "properties" : {
+    "interests": {
+      "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0"
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
similarity index 69%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
index 270356086..73516acfb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/incrementInterest.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "incrementInterest",
     "format":"jsonschema",
@@ -12,10 +12,9 @@
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0"
+    "flattenedProperties" : {
+      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/flattenProperties/1-0-0"
     }
   },
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
   "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
deleted file mode 100644
index 300f4e394..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "incrementInterestProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IncrementInterestProperties",
-  "type": "object",
-  "properties" : {
-    "interests" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0"
-    }
-  },
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
-  "unevaluatedProperties" : false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
deleted file mode 100644
index bef45d957..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "incrementInterestPropertiesInterests",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IncrementInterestPropertiesInterests",
-  "type": "object",
-  "properties" : {
-  },
-  "maxProperties" : 50,
-  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object"
-}
\ No newline at end of file
diff --git a/itests/src/test/resources/schemas/events/login.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
similarity index 71%
rename from itests/src/test/resources/schemas/events/login.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
index a134e56a9..fdb4c303c 100644
--- a/itests/src/test/resources/schemas/events/login.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "login",
     "format":"jsonschema",
@@ -15,10 +15,7 @@
     "properties" : {
       "type" : "object",
       "maxProperties": 50
-    },
-    "target" : {
-      "type" : "object",
-      "maxProperties": 50
     }
-  }
+  },
+  "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
index 14db8d7fe..ecd26b8aa 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "modifyConsent",
     "format":"jsonschema",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
similarity index 90%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
index d7a97b80a..dec05c560 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/modifyConsent.properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "modifyConsentProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
similarity index 72%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
index b3916dcee..43c22ac4b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties/updateProperties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/updateProperties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "updateProperties",
     "format":"jsonschema",
@@ -16,5 +16,6 @@
       "type" : "object",
       "maxProperties": 50
     }
-  }
+  },
+  "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json
new file mode 100644
index 000000000..c380b0d99
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.flattenProperties.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "viewFlattenProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "ViewFlattenProperties",
+  "type": "object",
+  "properties" : {
+    "interests": {
+      "$ref" : "https://unomi.apache.org/schemas/json/interests/1-0-0"
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
similarity index 79%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
index ad7455abf..cefe46e2e 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view/view.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/view/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name": "view",
     "format":"jsonschema",
@@ -17,6 +17,9 @@
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
+    },
+    "flattenedProperties": {
+      "$ref" : "https://unomi.apache.org/schemas/json/events/view/flattenProperties/1-0-0"
     }
   },
   "unevaluatedProperties": false
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
deleted file mode 100644
index 6d2abee31..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/goal/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "goal",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Goal",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0" }],
-  "properties" : {
-    "startEvent" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "targetEvent" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "campaignId" : {
-      "type" : "string"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
similarity index 93%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
index 8628228bf..557bb25fb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consent.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "consent",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
similarity index 92%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
index 32fc2e1c5..995f77f9a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/consent/consentType.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/consentType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "consentType",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json
new file mode 100644
index 000000000..74bc6c84d
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/interests/interests.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/interests/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "interests",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "Interests",
+  "type": "object",
+  "patternProperties": {
+    "^.*$": {
+      "type": "number"
+    }
+  },
+  "unevaluatedProperties": false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
similarity index 94%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
index 79940c54e..5c71db49b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/item.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/item/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "item",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
similarity index 75%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
index a11bbae43..ec52e5871 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.json
@@ -2,18 +2,14 @@
   "$id": "https://unomi.apache.org/schemas/json/items/page/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"page",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "PageCustomItem",
   "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
   "properties": {
     "properties" : {
       "$ref" : "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json
similarity index 100%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/attributes.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.attributes.json
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
similarity index 93%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
index 36092791d..3abfd4d0e 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/items/page/properties/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"pageProperties",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
similarity index 100%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/page/properties/pageInfo.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/page/page.properties.pageInfo.json
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
similarity index 67%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
index 4aa93a6db..c73afaf17 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/site.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/site/site.json
@@ -2,17 +2,13 @@
   "$id": "https://unomi.apache.org/schemas/json/items/site/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "site",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "SiteItem",
   "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
   "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
similarity index 90%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
rename to extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
index dd71b16c9..db8f078e2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/items/timestampeditem.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "timestampedItem",
     "format":"jsonschema",
     "version":"1-0-0"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
deleted file mode 100644
index 4098ccb20..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/metadata/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "metadata",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Metadata",
-  "type": "object",
-  "properties" : {
-    "id" : {
-      "type" : "string"
-    },
-    "name" : {
-      "type" : "string"
-    },
-    "description" : {
-      "type" : "string"
-    },
-    "scope" : {
-      "type" : "string"
-    },
-    "tags" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "systemTags" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "enabled" : {
-      "type" : "boolean"
-    },
-    "missingPlugins" : {
-      "type" : "boolean"
-    },
-    "hidden" : {
-      "type" : "boolean"
-    },
-    "readOnly" : {
-      "type" : "boolean"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
deleted file mode 100644
index 5f2371abe..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
+++ /dev/null
@@ -1,21 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "metadataItem",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "MetadataItem",
-  "type": "object",
-  "allOf": [
-    { "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }
-  ],
-  "properties" : {
-    "metadata" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/metadata/1-0-0"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
deleted file mode 100644
index 3854def15..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/parameter/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "parameter",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Parameter",
-  "type": "object",
-  "properties" : {
-    "id" : {
-      "type" : "string"
-    },
-    "type" : {
-      "type" : "string"
-    },
-    "multivalued" : {
-      "type" : "boolean"
-    },
-    "defaultValue" : {
-      "type" : "string"
-    }
-  },
-  "unevaluatedProperties": false
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
deleted file mode 100644
index 8c1c638de..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
+++ /dev/null
@@ -1,26 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "filter",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Filter",
-  "type": "object",
-  "properties": {
-    "appliesOn": {
-      "type": "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0"
-      }
-    },
-    "condition": {
-      "$ref": "https://unomi.apache.org/schemas/json/condition/1-0-0"
-    },
-    "properties": {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
deleted file mode 100644
index ddab41a37..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "filterProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "FilterProperties",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
deleted file mode 100644
index bd6eb3a5f..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizationRequest",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizationRequest",
-  "type": "object",
-  "properties": {
-    "id" : {
-      "type" : "string"
-    },
-    "strategy" : {
-      "type" : "string"
-    },
-    "strategyOptions" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0"
-    },
-    "contents" : {
-      "type" : "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0"
-      },
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
deleted file mode 100644
index bed70d693..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "strategyOptions",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "StrategyOptions",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
deleted file mode 100644
index d418c1aff..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizedContentProperties",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizedContentProperties",
-  "type": "object",
-  "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
deleted file mode 100644
index 5ddccd51a..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "personalizedContent",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "PersonalizedContent",
-  "type": "object",
-  "properties": {
-    "id": {
-      "type": "string"
-    },
-    "filters": {
-      "type": "array",
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0"
-      },
-      "maxProperties": 50
-    },
-    "properties": {
-      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
deleted file mode 100644
index 305162140..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "target",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Target",
-  "type": "object",
-  "properties": {
-    "target" : {
-      "type" : "string"
-    },
-    "values" : {
-      "type" : "array",
-      "items": {
-        "type": "string"
-      }
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
deleted file mode 100644
index a5d860cf7..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
+++ /dev/null
@@ -1,46 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/profile/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "profile",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Profile",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
-  "properties": {
-    "properties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "systemProperties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "segments" : {
-      "type" : "array",
-      "items" : {
-        "type" : "string"
-      }
-    },
-    "scores" : {
-      "type" : "object",
-      "additionalProperties": { "type": "integer" },
-      "maxProperties": 100
-    },
-    "mergedWith" : {
-      "type" : "string"
-    },
-    "consents" : {
-      "type" : "object",
-      "additionalProperties": { "$ref" : "https://unomi.apache.org/schemas/json/consent.json" },
-      "maxProperties": 50
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
deleted file mode 100644
index ff6e646ac..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/values/boolean/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "values",
-    "name": "boolean",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Boolean",
-  "type": "boolean"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
deleted file mode 100644
index 17975cfdb..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/date/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "date",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Date",
-    "type": "string",
-    "format" : "date-time"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
deleted file mode 100644
index bd9585514..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/email/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "email",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Email",
-    "type": "string",
-    "format" : "email"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
deleted file mode 100644
index 9e7cbe6aa..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/integer/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "integer",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Integer",
-    "type": "integer"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
deleted file mode 100644
index 035ac5838..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/values/long/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "values",
-    "name": "long",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Long",
-  "type": "integer"
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
deleted file mode 100644
index 5d411b3e5..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/set/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "set",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "Set",
-    "type": "object",
-    "maxProperties": 50
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
deleted file mode 100644
index 7a7875f99..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
-    "$id": "https://unomi.apache.org/schemas/json/values/string/1-0-0",
-    "$schema": "https://json-schema.org/draft/2019-09/schema",
-    "self":{
-        "vendor":"The Apache Software Foundation",
-        "target" : "values",
-        "name": "string",
-        "format":"jsonschema",
-        "version":"1-0-0"
-    },
-    "title": "String",
-    "type": "string"
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
deleted file mode 100644
index 90e5c5d86..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "articleCompleted",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ArticleCompletedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0"
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
deleted file mode 100644
index ab8b12d68..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self": {
-    "vendor": "org.apache.unomi",
-    "target": "events",
-    "name": "articleCompletedProperties",
-    "format": "jsonschema",
-    "version": "1-0-0"
-  },
-  "title": "ArticleCompletedProperties",
-  "type": "object",
-  "properties": {
-    "title": {
-      "type": "string"
-    },
-    "course": {
-      "type": "string"
-    }
-  }
-}
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
deleted file mode 100644
index f9e41fc63..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/identify/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "identify",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "IdentifyEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0"
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/items/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
deleted file mode 100644
index 14279b280..000000000
--- a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self": {
-    "vendor": "org.apache.unomi",
-    "target": "events",
-    "name": "identifyProperties",
-    "format": "jsonschema",
-    "version": "1-0-0"
-  },
-  "title": "IdentifyProperties",
-  "type": "object",
-  "properties": {
-    "nickname": {
-      "type": "string"
-    },
-    "favoriteCompiler": {
-      "type": "string"
-    },
-    "industry": {
-      "type": "string"
-    }
-  }
-}
\ No newline at end of file
diff --git a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
index 9606da312..06fc24ab0 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
@@ -154,12 +154,6 @@ public class BasicIT extends BaseIT {
     public void testMultipleLoginOnSameBrowser() throws IOException, InterruptedException {
         LOGGER.info("Start test testMultipleLoginOnSameBrowser");
 
-        schemaService.saveSchema(resourceAsString(EVENT_TYPE_LOGIN_SCHEMA));
-        keepTrying("Couldn't find login JSON schema",
-                () -> schemaService.getInstalledJsonSchemaIds(),
-                (schemaIds) -> (schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
-                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
-
         // Add login event condition
         ConditionType conditionType = CustomObjectMapper.getObjectMapper().readValue(
                 new File("data/tmp/testLoginEventCondition.json").toURI().toURL(), ConditionType.class);
@@ -281,12 +275,6 @@ public class BasicIT extends BaseIT {
         Profile profileVisitor2 = profileService.load(profileIdVisitor2);
         checkVisitor2ResponseProperties(profileVisitor2.getProperties());
 
-        // cleanup schemas
-        schemaService.deleteSchema("https://unomi.apache.org/schemas/json/events/login/1-0-0");
-        keepTrying("Should not find login JSON schema anymore",
-                () -> schemaService.getInstalledJsonSchemaIds(),
-                (schemaIds) -> (!schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
-                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
         LOGGER.info("End test testMultipleLoginOnSameBrowser");
     }
 
diff --git a/itests/src/test/resources/schemas/events/float-property-type.json b/itests/src/test/resources/schemas/events/float-property-type.json
index 024aef78a..93bb3f8ea 100644
--- a/itests/src/test/resources/schemas/events/float-property-type.json
+++ b/itests/src/test/resources/schemas/events/float-property-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/floatPropertyType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target" : "events",
     "name":"floatPropertyType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/events/test-event-type.json b/itests/src/test/resources/schemas/events/test-event-type.json
index 3fc4059fb..3a30f59d8 100644
--- a/itests/src/test/resources/schemas/events/test-event-type.json
+++ b/itests/src/test/resources/schemas/events/test-event-type.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/events/testEventType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "target":"events",
     "name":"testEventType",
     "format":"jsonschema",
diff --git a/itests/src/test/resources/schemas/schema-predefined.json b/itests/src/test/resources/schemas/schema-predefined.json
index 88af00600..b4da0ada6 100644
--- a/itests/src/test/resources/schemas/schema-predefined.json
+++ b/itests/src/test/resources/schemas/schema-predefined.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name":"testEventType",
     "format":"jsonschema",
     "target":"events",
diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
index 38d0eb7ae..e43534155 100644
--- a/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
+++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/ContextRequestDeserializer.java
@@ -56,7 +56,7 @@ public class ContextRequestDeserializer extends StdDeserializer<ContextRequest>
     public ContextRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException {
         JsonNode node = jsonParser.getCodec().readTree(jsonParser);
         // Validate schema on it
-        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/contextrequest/1-0-0")) {
+        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
             throw new InvalidRequestException("Invalid Context request object", "Invalid received data");
         }
         ContextRequest cr = new ContextRequest();
diff --git a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
index 28b96fb0f..1bb272a0e 100644
--- a/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
+++ b/rest/src/main/java/org/apache/unomi/rest/deserializers/EventsCollectorRequestDeserializer.java
@@ -50,7 +50,7 @@ public class EventsCollectorRequestDeserializer extends StdDeserializer<EventsCo
     @Override
     public EventsCollectorRequest deserialize(JsonParser jsonParser, DeserializationContext context) throws IOException, JsonProcessingException {
         JsonNode node = jsonParser.getCodec().readTree(jsonParser);
-        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0")) {
+        if (!schemaService.isValid(node.toString(), "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0")) {
             throw new InvalidRequestException("Invalid events collector object", "Invalid received data");
         }
 
diff --git a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
index 3f84bf15b..91f617357 100644
--- a/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
+++ b/rest/src/main/java/org/apache/unomi/rest/endpoints/ContextJsonEndpoint.java
@@ -154,13 +154,9 @@ public class ContextJsonEndpoint {
 
         // Schema validation
         ObjectNode paramsAsJson = JsonNodeFactory.instance.objectNode();
-        if (personaId != null) {
-            paramsAsJson.put("personaId", personaId);
-        }
-        if (sessionId != null) {
-            paramsAsJson.put("sessionId", sessionId);
-        }
-        if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0")) {
+        paramsAsJson.put("personaId", personaId);
+        paramsAsJson.put("sessionId", sessionId);
+        if (!schemaService.isValid(paramsAsJson.toString(), "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
             throw new InvalidRequestException("Invalid parameter", "Invalid received data");
         }
         Date timestamp = new Date();
diff --git a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
index 44612f158..ec1170c14 100644
--- a/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
+++ b/rest/src/main/java/org/apache/unomi/rest/service/impl/RestServiceUtilsImpl.java
@@ -63,10 +63,11 @@ public class RestServiceUtilsImpl implements RestServiceUtils {
         Cookie[] cookies = httpServletRequest.getCookies();
 
         if (cookies != null) {
+            final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName");
             for (Cookie cookie : cookies) {
-                final Object profileIdCookieName = configSharingService.getProperty("profileIdCookieName");
                 if (profileIdCookieName.equals(cookie.getName())) {
-                    if (!schemaService.isValid(JsonNodeFactory.instance.objectNode().put("profileIdCookieName", cookie.getValue()).toString(), "https://unomi.apache.org/schemas/json/cookie/1-0-0")) {
+                    String profileIdJSON = JsonNodeFactory.instance.objectNode().put("profileId", cookie.getValue()).toString();
+                    if (!schemaService.isValid(profileIdJSON, "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0")) {
                         throw new InvalidRequestException("Invalid profile ID format in cookie", "Invalid received data");
                     }
                     cookieProfileId = cookie.getValue();
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
deleted file mode 100644
index 835dd8e79..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequest/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "contextRequest",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ContextRequest",
-  "type": "object",
-  "properties": {
-    "source": {
-      "$ref": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0"
-    },
-    "requireSegments": {
-      "type": ["null", "boolean"]
-    },
-    "requiredProfileProperties": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "string"
-      }
-    },
-    "requiredSessionProperties": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "string"
-      }
-    },
-    "requireScores": {
-      "type": ["null", "boolean"]
-    },
-    "events": {
-      "type": ["null", "array"],
-      "items": {
-        "type": "object"
-      }
-    },
-    "filters": {
-      "type": ["null", "array"],
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0"
-      }
-    },
-    "personalizations": {
-      "type": ["null", "array"],
-      "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0"
-      }
-    },
-    "profileOverrides": {
-      "$ref": "https://unomi.apache.org/schemas/json/profile/1-0-0"
-    },
-    "sessionPropertiesOverrides": {
-      "type": ["null", "object"],
-      "maxProperties": 50
-    },
-    "sessionId": {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "profileId": {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "clientId": {
-      "type": ["null", "string"]
-    }
-  }
-}
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
deleted file mode 100644
index d90c6fa76..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "contextRequestParams",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ContextRequestParams",
-  "type": "object",
-  "properties": {
-    "personaId" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    },
-    "sessionId" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    }
-  }
-}
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
deleted file mode 100644
index 8f8e3a2fb..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "source",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Source",
-  "type": "object",
-  "properties" : {
-    "itemId" : {
-      "type" : ["null","string"],
-      "pattern" : "^(\\w|[-_@\\./]){0,100}$",
-      "description" : "The identifier for the item"
-    },
-    "itemType" : {
-      "type" : "string",
-      "description" : "The type for the item"
-    },
-    "scope" : {
-      "type" : ["null","string"],
-      "description" : "The item's scope"
-    },
-    "version" : {
-      "type" : ["null","integer"],
-      "minimum" : 0,
-      "description" : "The item's version number"
-    },
-    "systemMetadata" : {
-      "type" : ["null","object"],
-      "description" : "Any system metadata for the item",
-      "maxProperties" : 50
-    }
-  }
-}
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
deleted file mode 100644
index 8031450fd..000000000
--- a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/cookie/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "name": "cookie",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "Cookie",
-  "type": "object",
-  "properties": {
-    "profileIdCookieName" : {
-      "type" : "string",
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-    }
-  }
-}
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
similarity index 61%
rename from rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
rename to rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
index 76c541e8e..9828e95ef 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/eventscollectorrequest.json
@@ -1,14 +1,15 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/rest/eventscollectorrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"The Apache Software Foundation",
+    "vendor":"org.apache.unomi",
     "name": "eventsCollectorRequest",
     "format":"jsonschema",
     "version":"1-0-0"
   },
   "title": "EventsCollectorRequest",
   "type": "object",
+  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0" }],
   "properties": {
     "events" : {
       "type": ["array"],
@@ -16,10 +17,6 @@
         "type": "object"
       },
       "minItems": 1
-    },
-    "sessionId" : {
-      "type": ["null", "string"],
-      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
     }
   }
 }
\ No newline at end of file
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json
new file mode 100644
index 000000000..366a79524
--- /dev/null
+++ b/rest/src/main/resources/META-INF/cxs/schemas/rest/requestIds.json
@@ -0,0 +1,26 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/rest/requestIds/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "contextRequest",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "ContextRequest",
+  "type": "object",
+  "properties": {
+    "sessionId": {
+      "type": ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "profileId": {
+      "type": ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "personaId" : {
+      "type" : ["null", "string"],
+      "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    }
+  }
+}
diff --git a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
deleted file mode 100644
index 8cc74e797..000000000
--- a/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"The Apache Software Foundation",
-    "target" : "events",
-    "name": "login",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "LoginEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file


[unomi] 01/06: UNOMI-569 Flatten JSON Schemas & fix schema bugs - All schemas are now "flattened", meaning that each object is in a separate schema file (with a few exceptions) - Bug fixes in GraphQLSchemaProvider to detect loops in schemas - Fix events used in integration tests to avoid sending profile objects - Changed Event default initialization to avoid creating attributes when using default constructor - Added JAXBAnnotationModule in object mapper used in integration tests - Added system property t [...]

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 329718760c93f2bd0cabd1c92249ee1ac60261e9
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Wed May 25 19:11:34 2022 +0200

    UNOMI-569 Flatten JSON Schemas & fix schema bugs
    - All schemas are now "flattened", meaning that each object is in a separate schema file (with a few exceptions)
    - Bug fixes in GraphQLSchemaProvider to detect loops in schemas
    - Fix events used in integration tests to avoid sending profile objects
    - Changed Event default initialization to avoid creating attributes when using default constructor
    - Added JAXBAnnotationModule in object mapper used in integration tests
    - Added system property to control logging in integration tests (to make it easier to see invalid schema logs that exist only in debug)
    - Fix deployment of test schemas in integration tests
    -
---
 api/src/main/java/org/apache/unomi/api/Event.java  |   5 +-
 .../resources/META-INF/cxs/schemas/condition.json  |   6 ++
 .../META-INF/cxs/schemas/conditiontype.json        |   6 ++
 .../resources/META-INF/cxs/schemas/consent.json    |   9 +-
 .../META-INF/cxs/schemas/consentType.json          |   9 +-
 .../resources/META-INF/cxs/schemas/customitem.json |   9 +-
 .../cxs/schemas/customitem/properties.json         |  14 +++
 .../META-INF/cxs/schemas/customitems/page.json     |  57 +----------
 .../cxs/schemas/customitems/page/properties.json   |  27 ++++++
 .../customitems/page/properties/attributes.json    |  15 +++
 .../customitems/page/properties/pageInfo.json      |  58 ++++++++++++
 .../META-INF/cxs/schemas/customitems/site.json     |   3 +-
 .../main/resources/META-INF/cxs/schemas/event.json |   9 ++
 .../META-INF/cxs/schemas/events/form.json          |   8 +-
 .../META-INF/cxs/schemas/events/goal.json          |  13 +--
 .../cxs/schemas/events/incrementInterest.json      |  17 +---
 .../events/incrementInterest/properties.json       |  19 ++++
 .../incrementInterest/properties/interests.json    |  16 ++++
 .../META-INF/cxs/schemas/events/modifyConsent.json |  12 +--
 .../schemas/events/modifyConsent/properties.json   |  18 ++++
 .../cxs/schemas/events/profileDeleted.json         |  19 ----
 .../cxs/schemas/events/profileUpdated.json         |  19 ----
 .../META-INF/cxs/schemas/events/ruleFired.json     |  30 ------
 .../META-INF/cxs/schemas/events/search.json        |  30 ------
 .../cxs/schemas/events/sessionCreated.json         |  30 ------
 .../cxs/schemas/events/sessionReassigned.json      |  30 ------
 .../cxs/schemas/events/updateProperties.json       |  12 +--
 .../META-INF/cxs/schemas/events/view.json          |   7 +-
 .../main/resources/META-INF/cxs/schemas/goal.json  |   9 +-
 .../main/resources/META-INF/cxs/schemas/item.json  |  11 ++-
 .../resources/META-INF/cxs/schemas/metadata.json   |   9 +-
 .../META-INF/cxs/schemas/metadataitem.json         |   9 +-
 .../resources/META-INF/cxs/schemas/parameter.json  |   9 +-
 .../cxs/schemas/personalization/filter.json        |   9 +-
 .../schemas/personalization/filter/properties.json |  13 +++
 .../personalization/personalizationrequest.json    |   9 +-
 .../personalizationrequest/strategyOptions.json    |  13 +++
 .../personalizedContent/properties.json            |  13 +++
 .../personalization/personalizedcontent.json       |   9 +-
 .../cxs/schemas/personalization/target.json        |   6 ++
 .../resources/META-INF/cxs/schemas/profile.json    |   7 +-
 .../resources/META-INF/cxs/schemas/session.json    |  42 ---------
 .../META-INF/cxs/schemas/timestampeditem.json      |   6 ++
 .../META-INF/cxs/schemas/values/boolean.json       |   7 ++
 .../META-INF/cxs/schemas/values/date.json          |   7 ++
 .../META-INF/cxs/schemas/values/email.json         |   7 ++
 .../META-INF/cxs/schemas/values/integer.json       |   7 ++
 .../META-INF/cxs/schemas/values/long.json          |   7 ++
 .../resources/META-INF/cxs/schemas/values/set.json |   7 ++
 .../META-INF/cxs/schemas/values/string.json        |   7 ++
 .../META-INF/cxs/schemas}/articleCompleted.json    |   9 +-
 .../cxs/schemas/articleCompleted/properties.json   |  22 +++++
 .../resources/META-INF/cxs/schemas}/identify.json  |   7 +-
 .../META-INF/cxs/schemas/identify/properties.json  |  24 +++++
 .../graphql/schema/GraphQLSchemaProvider.java      |  31 ++++--
 .../unomi/graphql/schema/json/JSONObjectType.java  |  11 ++-
 .../apache/unomi/graphql/utils/EventBuilder.java   |   2 +-
 .../test/java/org/apache/unomi/itests/BaseIT.java  |  11 +++
 .../test/java/org/apache/unomi/itests/BasicIT.java |  36 ++++++-
 .../org/apache/unomi/itests/ModifyConsentIT.java   |   2 +-
 .../unomi/itests/PropertiesUpdateActionIT.java     |  14 +--
 .../src/test/resources/schemas/events/login.json   |  13 ++-
 .../resources/schemas/events/test-event-type.json  |   1 +
 .../actions/IncrementInterestAction.java           |   2 +-
 .../baseplugin/actions/SetPropertyAction.java      |   2 +-
 .../cxs/schemas/contextrequest/contextrequest.json |   8 +-
 .../contextrequest/contextrequestparams.json       |   6 ++
 .../cxs/schemas/contextrequest/source/source.json  |   8 +-
 .../resources/META-INF/cxs/schemas/cookie.json     |   6 ++
 .../cxs/schemas/eventscollectorrequest.json        |  13 +--
 .../resources/META-INF/cxs/schemas}/login.json     |   1 -
 .../META-INF/cxs/events/anonymizeProfile.json      |  39 --------
 .../META-INF/cxs/events/articleCompleted.json      |  77 ---------------
 .../main/resources/META-INF/cxs/events/form.json   |  77 ---------------
 .../main/resources/META-INF/cxs/events/goal.json   |  83 ----------------
 .../resources/META-INF/cxs/events/identify.json    |  73 --------------
 .../META-INF/cxs/events/incrementInterest.json     |  49 ----------
 .../main/resources/META-INF/cxs/events/login.json  |  73 --------------
 .../META-INF/cxs/events/modifyConsent.json         | 105 ---------------------
 .../META-INF/cxs/events/profileDeleted.json        |  39 --------
 .../META-INF/cxs/events/profileUpdated.json        |  39 --------
 .../resources/META-INF/cxs/events/ruleFired.json   |  91 ------------------
 .../main/resources/META-INF/cxs/events/search.json |  53 -----------
 .../META-INF/cxs/events/sessionCreated.json        |  56 -----------
 .../META-INF/cxs/events/sessionReassigned.json     |  59 ------------
 .../META-INF/cxs/events/updateProperties.json      |  69 --------------
 .../main/resources/META-INF/cxs/events/view.json   |  77 ---------------
 87 files changed, 579 insertions(+), 1439 deletions(-)

diff --git a/api/src/main/java/org/apache/unomi/api/Event.java b/api/src/main/java/org/apache/unomi/api/Event.java
index 3d418257c..0397b8acd 100644
--- a/api/src/main/java/org/apache/unomi/api/Event.java
+++ b/api/src/main/java/org/apache/unomi/api/Event.java
@@ -74,7 +74,7 @@ public class Event extends Item implements TimestampedItem {
 
     private boolean persistent = true;
 
-    private transient Map<String, Object> attributes = new LinkedHashMap<>();
+    private transient Map<String, Object> attributes;
 
     /**
      * Instantiates a new Event.
@@ -170,7 +170,8 @@ public class Event extends Item implements TimestampedItem {
         this.properties = new HashMap<>();
         this.flattenedProperties = new HashMap<>();
 
-        actionPostExecutors = new ArrayList<>();
+        this.actionPostExecutors = new ArrayList<>();
+        this.attributes = new LinkedHashMap<>();
     }
 
     /**
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
index 71dbe421f..60eae3e8f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/condition.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/condition/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "condition",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Condition",
   "type": "object",
   "properties" : {
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
index 22e1ad0b2..ed18fabcb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/conditiontype.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/conditiontype/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "conditionType",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "ConditionType",
   "type": "object",
   "properties" : {
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
index bb357fe64..557bb25fb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consent.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/consent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "consent",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Consent",
   "type": "object",
   "properties" : {
@@ -21,5 +27,6 @@
       "type" : "string",
       "format" : "date-time"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
index 034a53121..995f77f9a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/consentType.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/consentType/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "consentType",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "ConsentType",
   "type": "object",
   "properties" : {
@@ -16,5 +22,6 @@
     "description" : {
       "type" : ["null", "string"]
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
index 3ae685a1e..4098972f2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/customitem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "customItem",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "CustomItem",
   "type": "object",
   "allOf": [
@@ -13,8 +19,7 @@
       "type" : "string"
     },
     "properties" : {
-      "type" : "object",
-      "maxProperties": 50
+      "$ref" : "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0"
     }
   }
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
new file mode 100644
index 000000000..ce8a96c21
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitem/properties.json
@@ -0,0 +1,14 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/customitem/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "customItemProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "CustomItemProperties",
+  "type": "object",
+  "properties": {
+  }
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
index fb2874f5a..e70789c8b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page.json
@@ -16,58 +16,9 @@
     }
   ],
   "properties": {
-    "pageInfo": {
-      "type" : "object",
-      "properties" : {
-        "templateName": {
-          "type" : "string"
-        },
-        "language": {
-          "type" : "string",
-          "maxLength": 5
-        },
-        "destinationURL": {
-          "type" : "string",
-          "format" : "uri"
-        },
-        "categories": {
-          "type" : "array",
-          "items" : { "type" : "string"}
-        },
-        "pageID": {
-          "type" : "string",
-          "pattern" : "^(\\w|[-_@\\.]){0,60}$"
-        },
-        "nodeType": {
-          "type" : "string"
-        },
-        "pagePath": {
-          "type" : "string"
-        },
-        "pageName": {
-          "type" : "string"
-        },
-        "referringURL": {
-          "type" : "string",
-          "format" : "uri"
-        },
-        "tags": {
-          "type" : "array",
-          "items" : { "type" : "string" }
-        },
-        "isContentTemplate": {
-          "type" : "boolean"
-        }
-      }
-    },
-    "attributes": {
-      "type" : ["null", "object"]
-    },
-    "consentTypes": {
-      "type" : ["null", "array"],
-      "items" : {
-        "$href" : "https://unomi.apache.org/schemas/json/consentType/1-0-0"
-      }
+    "properties" : {
+      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
new file mode 100644
index 000000000..083ba7bf9
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties.json
@@ -0,0 +1,27 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name":"pageProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "PageProperties",
+  "type": "object",
+  "properties": {
+    "pageInfo": {
+      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/pageInfo/1-0-0"
+    },
+    "attributes": {
+      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/properties/attributes/1-0-0"
+    },
+    "consentTypes": {
+      "type" : ["null", "array"],
+      "items" : {
+        "$ref" : "https://unomi.apache.org/schemas/json/consentType/1-0-0"
+      }
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json
new file mode 100644
index 000000000..62d5cc22b
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/attributes.json
@@ -0,0 +1,15 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/attributes/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self": {
+    "vendor": "org.apache.unomi",
+    "name": "attributes",
+    "format": "jsonschema",
+    "version": "1-0-0"
+  },
+  "title": "Page Attributes",
+  "type": ["null", "object"],
+  "properties": {
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json
new file mode 100644
index 000000000..a0f0b465b
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/page/properties/pageInfo.json
@@ -0,0 +1,58 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/customitems/page/properties/pageInfo/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self": {
+    "vendor": "org.apache.unomi",
+    "name": "pageInfo",
+    "format": "jsonschema",
+    "version": "1-0-0"
+  },
+  "title": "PageInfo",
+  "type": "object",
+  "properties": {
+    "templateName": {
+      "type": "string"
+    },
+    "language": {
+      "type": "string",
+      "maxLength": 5
+    },
+    "destinationURL": {
+      "type": "string",
+      "format": "uri"
+    },
+    "categories": {
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
+    },
+    "pageID": {
+      "type": "string",
+      "pattern": "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "nodeType": {
+      "type": "string"
+    },
+    "pagePath": {
+      "type": "string"
+    },
+    "pageName": {
+      "type": "string"
+    },
+    "referringURL": {
+      "type": "string",
+      "format": "uri"
+    },
+    "tags": {
+      "type": "array",
+      "items": {
+        "type": "string"
+      }
+    },
+    "isContentTemplate": {
+      "type": "boolean"
+    }
+  },
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
index 2d67e7559..695b90cec 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/customitems/site.json
@@ -15,6 +15,5 @@
       "$ref": "https://unomi.apache.org/schemas/json/customitem/1-0-0"
     }
   ],
-  "properties": {
-  }
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
index 7c3b5bfd1..29fa59c8f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/event.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/event/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "event",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Event",
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0" }],
@@ -24,6 +30,9 @@
     "sourceId" : {
       "type" : [ "string"],
       "pattern" : "^(\\w|[-_@\\.]){0,60}$"
+    },
+    "persistent" : {
+      "type" : "boolean"
     }
   }
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
index e4c1575f2..0f162c015 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form.json
@@ -12,16 +12,12 @@
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
-    "properties" : {
-      "type" : "object",
-      "unomiFormMappingLookup" : true,
-      "maxProperties": 50
-    },
     "source" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/site/1-0-0"
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
index 3c5a289ff..a1af65bb1 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/goal.json
@@ -12,19 +12,12 @@
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
-    "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
     "source" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
     },
     "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/goal/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
index 8ae788cc9..39a9029d6 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest.json
@@ -13,18 +13,9 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0"
     }
-  }
+  },
+  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
new file mode 100644
index 000000000..221ac420c
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties.json
@@ -0,0 +1,19 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "incrementInterestProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "IncrementInterestProperties",
+  "type": "object",
+  "properties" : {
+    "interests" : {
+      "$ref" : "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0"
+    }
+  },
+  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object",
+  "unevaluatedProperties" : false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
new file mode 100644
index 000000000..589e3c7a9
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/incrementInterest/properties/interests.json
@@ -0,0 +1,16 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/incrementInterest/properties/interests/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "incrementInterestPropertiesInterests",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "IncrementInterestPropertiesInterests",
+  "type": "object",
+  "properties" : {
+  },
+  "maxProperties" : 50,
+  "$comment" : "TODO-interests as map must be refactored to use arrays before we can use unevaluatedProperties on this object"
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
index 1f748e009..a04635ae2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent.json
@@ -13,18 +13,14 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
+      "$ref" : "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0"
     },
     "source" : {
         "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
     },
     "target" : {
-        "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+        "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties" : false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
new file mode 100644
index 000000000..dec05c560
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/modifyConsent/properties.json
@@ -0,0 +1,18 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/modifyConsent/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "modifyConsentProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "ModifyConsentProperties",
+  "type": "object",
+  "properties" : {
+      "consent" : {
+        "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
+      }
+  },
+  "unevaluatedProperties": false
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileDeleted.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileDeleted.json
deleted file mode 100644
index d6534d381..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileDeleted.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/profileDeleted/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "profileDeleted",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ProfileDeletedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/profile/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileUpdated.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileUpdated.json
deleted file mode 100644
index b936cddfe..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/profileUpdated.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/profileUpdated/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "profileUpdated",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "ProfileUpdatedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/profile/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/ruleFired.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/ruleFired.json
deleted file mode 100644
index 615eb8149..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/ruleFired.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/ruleFired/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "ruleFired",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "RuleFiredEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/search.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/search.json
deleted file mode 100644
index 4804547f4..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/search.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/search/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "search",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "SearchEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionCreated.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionCreated.json
deleted file mode 100644
index 514967471..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionCreated.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/sessionCreated/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "sessionCreated",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "SessionCreatedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionReassigned.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionReassigned.json
deleted file mode 100644
index 7a7f338c0..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/sessionReassigned.json
+++ /dev/null
@@ -1,30 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/events/sessionReassigned/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "self":{
-    "vendor":"org.apache.unomi",
-    "target" : "events",
-    "name": "sessionReassigned",
-    "format":"jsonschema",
-    "version":"1-0-0"
-  },
-  "title": "SessionReassignedEvent",
-  "type": "object",
-  "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
-  "properties" : {
-    "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
-    }
-  }
-}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
index 4cd408ed4..2c232184c 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/updateProperties.json
@@ -14,17 +14,7 @@
   "properties" : {
     "properties" : {
       "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
-    },
-    "source" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
-    },
-    "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/customitem/1-0-0"
+      "maxProperties": 50
     }
   }
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
index 184044926..49683494b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/view.json
@@ -12,15 +12,12 @@
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
-    "properties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
     "source" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/site/1-0-0"
     },
     "target" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
index 57d922b74..e081a46b2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/goal.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/goal/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "goal",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Goal",
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0" }],
@@ -14,5 +20,6 @@
     "campaignId" : {
       "type" : "string"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
index c9b697b68..5c71db49b 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/item.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/item/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "item",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Item",
   "type": "object",
   "properties" : {
@@ -21,11 +27,6 @@
       "type" : ["null","integer"],
       "minimum" : 0,
       "description" : "The item's version number"
-    },
-    "systemMetadata" : {
-      "type" : ["null","object"],
-      "description" : "Any system metadata for the item",
-      "maxProperties" : 50
     }
   }
 }
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
index 03d4f7199..8fd863321 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadata.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/metadata/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "metadata",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Metadata",
   "type": "object",
   "properties" : {
@@ -40,5 +46,6 @@
     "readOnly" : {
       "type" : "boolean"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
index fcdbe1cd2..4e1dd917c 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/metadataitem.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/metadataitem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "metadataItem",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "MetadataItem",
   "type": "object",
   "allOf": [
@@ -10,5 +16,6 @@
     "metadata" : {
       "$ref" : "https://unomi.apache.org/schemas/json/metadata/1-0-0"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
index cba8c6d32..8fee7ea44 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/parameter.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/parameter/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "parameter",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Parameter",
   "type": "object",
   "properties" : {
@@ -16,5 +22,6 @@
     "defaultValue" : {
       "type" : "string"
     }
-  }
+  },
+  "unevaluatedProperties": false
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
index 112be929e..fff1f39c6 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/personalization/filter/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "filter",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Filter",
   "type": "object",
   "properties": {
@@ -14,8 +20,7 @@
       "$ref": "https://unomi.apache.org/schemas/json/condition/1-0-0"
     },
     "properties": {
-      "type": "object",
-      "maxProperties": 50
+      "$ref" : "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0"
     }
   }
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
new file mode 100644
index 000000000..25b41236e
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/filter/properties.json
@@ -0,0 +1,13 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/personalization/filter/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "filterProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "FilterProperties",
+  "type": "object",
+  "maxProperties": 50
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
index 37e99f71c..0c2aaea6f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "personalizationRequest",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "PersonalizationRequest",
   "type": "object",
   "properties": {
@@ -11,8 +17,7 @@
       "type" : "string"
     },
     "strategyOptions" : {
-      "type": "object",
-      "maxProperties": 50
+      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0"
     },
     "contents" : {
       "type" : "array",
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
new file mode 100644
index 000000000..26f8f2ad5
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizationrequest/strategyOptions.json
@@ -0,0 +1,13 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedrequest/strategyOptions/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "strategyOptions",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "StrategyOptions",
+  "type": "object",
+  "maxProperties": 50
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
new file mode 100644
index 000000000..5cafaf212
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedContent/properties.json
@@ -0,0 +1,13 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "personalizedContentProperties",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "PersonalizedContentProperties",
+  "type": "object",
+  "maxProperties": 50
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
index b8a29ef73..d6742f47a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/personalizedcontent.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "personalizedContent",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "PersonalizedContent",
   "type": "object",
   "properties": {
@@ -15,8 +21,7 @@
       "maxProperties": 50
     },
     "properties": {
-      "type": "object",
-      "maxProperties": 50
+      "$ref" : "https://unomi.apache.org/schemas/json/personalization/personalizedcontent/properties/1-0-0"
     }
   }
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
index 4de017a47..7fa09768f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/personalization/target.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/personalization/target/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "target",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Target",
   "type": "object",
   "properties": {
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
index e32eef5cb..381b8b6eb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/profile.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/profile/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "profile",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Profile",
   "type": "object",
   "allOf": [
@@ -11,7 +17,6 @@
   "properties": {
     "properties" : {
       "type" : "object",
-      "unomiPropertyTypes" : [ "profiles" ],
       "maxProperties": 50
     },
     "systemProperties" : {
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/session.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/session.json
deleted file mode 100644
index 8f7b7673b..000000000
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/session.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
-  "$id": "https://unomi.apache.org/schemas/json/session/1-0-0",
-  "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "title": "Session",
-  "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0"
-    }
-  ],
-  "properties": {
-    "profileId" : {
-      "type" : "string"
-    },
-    "profile" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/profile/1-0-0"
-    },
-    "properties" : {
-      "type" : "object",
-      "unomiPropertyTypes" : [ "sessions" ],
-      "maxProperties": 50
-    },
-    "systemProperties" : {
-      "type" : "object",
-      "maxProperties": 50
-    },
-    "timeStamp" : {
-      "type" : "string",
-      "format" : "date-time"
-    },
-    "lastEventDate" : {
-      "type" : "string",
-      "format" : "date-time"
-    },
-    "size" : {
-      "type" : "integer"
-    },
-    "duration" : {
-      "type" : "integer"
-    }
-  }
-}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
index b1e81567b..db8f078e2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "timestampedItem",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "TimestampedItem",
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
index 752057b41..18a440e0d 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/boolean.json
@@ -1,6 +1,13 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/values/boolean/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "target" : "values",
+    "name": "boolean",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Boolean",
   "type": "boolean"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
index 2ad073966..d59e420e7 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/date.json
@@ -1,6 +1,13 @@
 {
     "$id": "https://unomi.apache.org/schemas/json/values/date/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
+    "self":{
+        "vendor":"org.apache.unomi",
+        "target" : "values",
+        "name": "date",
+        "format":"jsonschema",
+        "version":"1-0-0"
+    },
     "title": "Date",
     "type": "string",
     "format" : "date-time"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
index d425eff2e..6d8eebe57 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/email.json
@@ -1,6 +1,13 @@
 {
     "$id": "https://unomi.apache.org/schemas/json/values/email/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
+    "self":{
+        "vendor":"org.apache.unomi",
+        "target" : "values",
+        "name": "email",
+        "format":"jsonschema",
+        "version":"1-0-0"
+    },
     "title": "Email",
     "type": "string",
     "format" : "email"
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
index b3c68a6c0..77017c3fb 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/integer.json
@@ -1,6 +1,13 @@
 {
     "$id": "https://unomi.apache.org/schemas/json/values/integer/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
+    "self":{
+        "vendor":"org.apache.unomi",
+        "target" : "values",
+        "name": "integer",
+        "format":"jsonschema",
+        "version":"1-0-0"
+    },
     "title": "Integer",
     "type": "integer"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
index 9eb7c8db9..e64d2764a 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/long.json
@@ -1,6 +1,13 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/values/long/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "target" : "values",
+    "name": "long",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Long",
   "type": "integer"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
index 9f43666dd..2e7ac754f 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/set.json
@@ -1,6 +1,13 @@
 {
     "$id": "https://unomi.apache.org/schemas/json/values/set/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
+    "self":{
+        "vendor":"org.apache.unomi",
+        "target" : "values",
+        "name": "set",
+        "format":"jsonschema",
+        "version":"1-0-0"
+    },
     "title": "Set",
     "type": "object",
     "maxProperties": 50
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
index f0b9c308f..40c44b3c9 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/values/string.json
@@ -1,6 +1,13 @@
 {
     "$id": "https://unomi.apache.org/schemas/json/values/string/1-0-0",
     "$schema": "https://json-schema.org/draft/2019-09/schema",
+    "self":{
+        "vendor":"org.apache.unomi",
+        "target" : "values",
+        "name": "string",
+        "format":"jsonschema",
+        "version":"1-0-0"
+    },
     "title": "String",
     "type": "string"
 }
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/articleCompleted.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
similarity index 76%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/articleCompleted.json
rename to extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
index d493adf5e..3d034fd39 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/articleCompleted.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted.json
@@ -8,17 +8,12 @@
     "format":"jsonschema",
     "version":"1-0-0"
   },
-  "title": "AnonimyzeProfileEvent",
+  "title": "ArticleCompletedEvent",
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
+      "$ref" : "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0"
     },
     "source" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
new file mode 100644
index 000000000..ab8b12d68
--- /dev/null
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/articleCompleted/properties.json
@@ -0,0 +1,22 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/articleCompleted/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self": {
+    "vendor": "org.apache.unomi",
+    "target": "events",
+    "name": "articleCompletedProperties",
+    "format": "jsonschema",
+    "version": "1-0-0"
+  },
+  "title": "ArticleCompletedProperties",
+  "type": "object",
+  "properties": {
+    "title": {
+      "type": "string"
+    },
+    "course": {
+      "type": "string"
+    }
+  }
+}
+}
\ No newline at end of file
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/identify.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
similarity index 80%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/identify.json
rename to extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
index 657235b43..8375141e2 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/identify.json
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify.json
@@ -13,12 +13,7 @@
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
     "properties" : {
-      "type" : "object",
-      "properties" : {
-        "consent" : {
-          "$ref" : "https://unomi.apache.org/schemas/json/consent/1-0-0"
-        }
-      }
+      "$ref" : "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0"
     },
     "source" : {
       "$ref" : "https://unomi.apache.org/schemas/json/customitems/page/1-0-0"
diff --git a/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
new file mode 100644
index 000000000..14279b280
--- /dev/null
+++ b/extensions/web-tracker/wab/src/main/resources/META-INF/cxs/schemas/identify/properties.json
@@ -0,0 +1,24 @@
+{
+  "$id": "https://unomi.apache.org/schemas/json/events/identify/properties/1-0-0",
+  "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self": {
+    "vendor": "org.apache.unomi",
+    "target": "events",
+    "name": "identifyProperties",
+    "format": "jsonschema",
+    "version": "1-0-0"
+  },
+  "title": "IdentifyProperties",
+  "type": "object",
+  "properties": {
+    "nickname": {
+      "type": "string"
+    },
+    "favoriteCompiler": {
+      "type": "string"
+    },
+    "industry": {
+      "type": "string"
+    }
+  }
+}
\ No newline at end of file
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/GraphQLSchemaProvider.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/GraphQLSchemaProvider.java
index 84b9ec8bc..a4b082d7d 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/GraphQLSchemaProvider.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/GraphQLSchemaProvider.java
@@ -164,11 +164,16 @@ public class GraphQLSchemaProvider {
             Optional<JSONType> firstNonNullType = jsonTypes.stream().filter(jsonType -> !"null".equals(jsonType.getType())).findFirst();
             if (firstNonNullType.isPresent()) {
                 this.firstNonNullType = firstNonNullType.get();
+            } else {
+                logger.warn("Couldn't find non null type for {} and types {}", name, jsonTypes);
             }
         }
 
         @Override
         public String getTypeId() {
+            if (firstNonNullType == null) {
+                return null;
+            }
             return firstNonNullType.getType();
         }
 
@@ -345,7 +350,7 @@ public class GraphQLSchemaProvider {
 
                 final GraphQLInputObjectType objectType;
                 if (!graphQLAnnotations.getContainer().getTypeRegistry().containsKey(typeName)) {
-                    objectType = createDynamicEventInputType(new JSONTypeDefinitionType(unomiEventType.getName(), unomiEventType.getRootTypes()));
+                    objectType = createDynamicEventInputType(new JSONTypeDefinitionType(unomiEventType.getName(), unomiEventType.getRootTypes()), new ArrayDeque<>());
                 } else {
                     objectType = (GraphQLInputObjectType) getFromTypeRegistry(typeName);
                     registerDynamicInputFields(typeName, objectType, new JSONTypeDefinitionType(unomiEventType.getName(), unomiEventType.getRootTypes()).getSubTypes());
@@ -525,15 +530,23 @@ public class GraphQLSchemaProvider {
         return null;
     }
 
-    private GraphQLInputObjectType createDynamicEventInputType(final DefinitionType eventType) {
-        return createDynamicInputType(UnomiToGraphQLConverter.convertEventType(eventType.getName()), eventType.getSubTypes(), true);
+    private GraphQLInputObjectType createDynamicEventInputType(final DefinitionType eventType, Deque<String> typeStack) {
+        return createDynamicInputType(UnomiToGraphQLConverter.convertEventType(eventType.getName()), eventType.getSubTypes(), true, typeStack);
     }
 
-    private GraphQLInputObjectType createDynamicSetInputType(final DefinitionType propertyType, final String parentName) {
-        return createDynamicInputType(parentName != null ? parentName : propertyType.getName(), propertyType.getSubTypes(), false);
+    private GraphQLInputObjectType createDynamicSetInputType(final DefinitionType propertyType, final String parentName, Deque<String> typeStack) {
+        return createDynamicInputType(parentName != null ? parentName : propertyType.getName(), propertyType.getSubTypes(), false, typeStack);
     }
 
-    private GraphQLInputObjectType createDynamicInputType(final String name, final List<DefinitionType> propertyTypes, final boolean isEvent) {
+    private GraphQLInputObjectType createDynamicInputType(final String name,
+                                                          final List<DefinitionType> propertyTypes,
+                                                          final boolean isEvent,
+                                                          Deque<String> typeStack) {
+        if (typeStack.contains(name)) {
+            logger.error("Loop detected when creating dynamic input types {} !" , typeStack);
+            return null;
+        }
+        typeStack.push(name);
         final String typeName = StringUtils.capitalize(PropertyNameTranslator.translateFromUnomiToGraphQL(name)) + "Input";
 
         final GraphQLInputObjectType.Builder dynamicTypeBuilder = GraphQLInputObjectType.newInputObject()
@@ -554,7 +567,7 @@ public class GraphQLSchemaProvider {
 
                 GraphQLInputType objectType;
                 if (isSet) {
-                    objectType = createDynamicSetInputType(childPropertyType, typeName + "_" + childPropertyName);
+                    objectType = createDynamicSetInputType(childPropertyType, typeName + "_" + childPropertyName, typeStack);
                 } else {
                     objectType = (GraphQLInputType) UnomiToGraphQLConverter.convertPropertyType(childPropertyType.getTypeId());
                 }
@@ -572,8 +585,10 @@ public class GraphQLSchemaProvider {
             fieldDefinitions.forEach(dynamicTypeBuilder::field);
             final GraphQLInputObjectType objectType = dynamicTypeBuilder.build();
             registerInTypeRegistry(typeName, objectType);
+            typeStack.pop();
             return objectType;
         } else {
+            typeStack.pop();
             return null;
         }
     }
@@ -597,7 +612,7 @@ public class GraphQLSchemaProvider {
                 final String typeName = StringUtils.capitalize(propertyName) + "Input";
 
                 if (!graphQLAnnotations.getContainer().getTypeRegistry().containsKey(typeName)) {
-                    final GraphQLInputObjectType inputType = createDynamicSetInputType(propertyType, null);
+                    final GraphQLInputObjectType inputType = createDynamicSetInputType(propertyType, null, new ArrayDeque<>());
                     if (inputType != null) {
                         fieldDefinitions.add(GraphQLInputObjectField.newInputObjectField()
                                 .name(propertyName)
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/json/JSONObjectType.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/json/JSONObjectType.java
index be91e0a2b..ca5770454 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/json/JSONObjectType.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/schema/json/JSONObjectType.java
@@ -16,12 +16,17 @@
  */
 package org.apache.unomi.graphql.schema.json;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
 public class JSONObjectType extends JSONType {
 
+    private static final Logger logger = LoggerFactory.getLogger(JSONTypeFactory.class);
+
     Map<String, List<JSONType>> properties = new HashMap<>();
     JSONType additionalProperties;
     Map<String, List<JSONType>> patternProperties = new HashMap<>();
@@ -35,7 +40,11 @@ public class JSONObjectType extends JSONType {
         Map<String, Object> propertiesTree = (Map<String, Object>) schemaTree.get("properties");
         if (propertiesTree != null) {
             propertiesTree.entrySet().forEach(entry -> {
-                properties.put(entry.getKey(), jsonTypeFactory.getTypes((Map<String, Object>) entry.getValue()));
+                if (entry.getValue() instanceof Map) {
+                    properties.put(entry.getKey(), jsonTypeFactory.getTypes((Map<String, Object>) entry.getValue()));
+                } else {
+                    logger.error("Expected map type for property {}, instead found {}", entry.getKey(), entry.getValue().getClass());
+                }
             });
         }
     }
diff --git a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/EventBuilder.java b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/EventBuilder.java
index 9c94efacc..b8948fe43 100644
--- a/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/EventBuilder.java
+++ b/graphql/cxs-impl/src/main/java/org/apache/unomi/graphql/utils/EventBuilder.java
@@ -69,7 +69,7 @@ public class EventBuilder {
     }
 
     public Event build() {
-        final Event event = new Event(eventType, null, profile, null, null, profile, new Date());
+        final Event event = new Event(eventType, null, profile, null, null, null, new Date());
         event.setPersistent(persistent);
         event.setProperty("targetId", profile.getItemId());
         event.setProperty("targetType", Profile.ITEM_TYPE);
diff --git a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
index cbb1b9d30..0c400b920 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BaseIT.java
@@ -18,7 +18,9 @@
 package org.apache.unomi.itests;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
+import com.fasterxml.jackson.databind.DeserializationFeature;
 import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.module.jaxb.JaxbAnnotationModule;
 import org.apache.commons.io.IOUtils;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
@@ -132,6 +134,8 @@ public abstract class BaseIT {
 
     static {
         objectMapper = new ObjectMapper();
+        objectMapper.registerModule(new JaxbAnnotationModule());
+        objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
         objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
     }
 
@@ -276,6 +280,13 @@ public abstract class BaseIT {
             LOGGER.warn("Unable to set jacoco agent as {} was not found", agentFile);
         }
 
+        String customLogging = System.getProperty("it.karaf.customLogging");
+        if (customLogging != null) {
+            String[] customLoggingParts = customLogging.split(":");
+            options.add(editConfigurationFilePut("etc/org.ops4j.pax.logging.cfg", "log4j2.logger.customLogging.name", customLoggingParts[0]));
+            options.add(editConfigurationFilePut("etc/org.ops4j.pax.logging.cfg", "log4j2.logger.customLogging.level", customLoggingParts[1]));
+        }
+
         if (JavaVersionUtil.getMajorVersion() >= 9) {
             Option[] jdk9PlusOptions = new Option[] { new VMOption("--add-reads=java.xml=java.logging"),
                     new VMOption("--add-exports=java.base/org.apache.karaf.specs.locator=java.xml,ALL-UNNAMED"),
diff --git a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
index b90c0b0ab..9606da312 100644
--- a/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/BasicIT.java
@@ -39,6 +39,7 @@ import org.apache.unomi.api.services.ProfileService;
 import org.apache.unomi.api.services.RulesService;
 import org.apache.unomi.itests.tools.httpclient.HttpClientThatWaitsForUnomi;
 import org.apache.unomi.persistence.spi.CustomObjectMapper;
+import org.apache.unomi.schema.api.SchemaService;
 import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -69,6 +70,7 @@ public class BasicIT extends BaseIT {
     private static final String SESSION_ID_4 = "aa3b04bd-8f4d-4a07-8e96-d33ffa04d3d4";
 
     private static final String EVENT_TYPE_LOGIN = "login";
+    private static final String EVENT_TYPE_LOGIN_SCHEMA = "schemas/events/login.json";
     private static final String EVENT_TYPE_VIEW = "view";
     private static final String TEST_SCOPE = "testScope";
 
@@ -98,6 +100,8 @@ public class BasicIT extends BaseIT {
     protected ProfileService profileService;
     @Inject @Filter(timeout = 600000)
     protected DefinitionsService definitionsService;
+    @Inject @Filter(timeout = 600000)
+    protected SchemaService schemaService;
 
     @Test
     public void testContextJS() throws IOException {
@@ -149,6 +153,13 @@ public class BasicIT extends BaseIT {
     @Test
     public void testMultipleLoginOnSameBrowser() throws IOException, InterruptedException {
         LOGGER.info("Start test testMultipleLoginOnSameBrowser");
+
+        schemaService.saveSchema(resourceAsString(EVENT_TYPE_LOGIN_SCHEMA));
+        keepTrying("Couldn't find login JSON schema",
+                () -> schemaService.getInstalledJsonSchemaIds(),
+                (schemaIds) -> (schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
+                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
+
         // Add login event condition
         ConditionType conditionType = CustomObjectMapper.getObjectMapper().readValue(
                 new File("data/tmp/testLoginEventCondition.json").toURI().toURL(), ConditionType.class);
@@ -269,6 +280,13 @@ public class BasicIT extends BaseIT {
         checkVisitor1ResponseProperties(profileVisitor1.getProperties());
         Profile profileVisitor2 = profileService.load(profileIdVisitor2);
         checkVisitor2ResponseProperties(profileVisitor2.getProperties());
+
+        // cleanup schemas
+        schemaService.deleteSchema("https://unomi.apache.org/schemas/json/events/login/1-0-0");
+        keepTrying("Should not find login JSON schema anymore",
+                () -> schemaService.getInstalledJsonSchemaIds(),
+                (schemaIds) -> (!schemaIds.contains("https://unomi.apache.org/schemas/json/events/login/1-0-0")),
+                DEFAULT_TRYING_TIMEOUT, DEFAULT_TRYING_TRIES);
         LOGGER.info("End test testMultipleLoginOnSameBrowser");
     }
 
@@ -278,8 +296,12 @@ public class BasicIT extends BaseIT {
         CustomItem loginEventTarget = new CustomItem(visitorId, ITEM_TYPE_VISITOR);
         loginEventTarget.setProperties(loginEventProperties);
 
-        Event loginEvent = new Event(EVENT_TYPE_LOGIN, null, new Profile(""), TEST_SCOPE,
-                null, loginEventTarget, new Date());
+        // We use setters to avoid having auto-populated fields by the other event constructor methods.
+        Event loginEvent = new Event();
+        loginEvent.setEventType(EVENT_TYPE_LOGIN);
+        loginEvent.setScope(TEST_SCOPE);
+        loginEvent.setTarget(loginEventTarget);
+        loginEvent.setTimeStamp(new Date());
 
         ContextRequest contextRequest = new ContextRequest();
         contextRequest.setSource(sourceSite);
@@ -301,8 +323,14 @@ public class BasicIT extends BaseIT {
 
         customPageItem.setProperties(properties);
 
-        // Create page view event to mock a connection to a site
-        Event pageViewEvent = new Event(EVENT_TYPE_VIEW, null, new Profile(""), TEST_SCOPE, sourceSite, customPageItem, new Date());
+        // Create page view event to mock a connection to a site. We use setters to avoid having auto-populated fields
+        Event pageViewEvent = new Event();
+        pageViewEvent.setEventType(EVENT_TYPE_VIEW);
+        pageViewEvent.setSessionId(sessionId);
+        pageViewEvent.setScope(TEST_SCOPE);
+        pageViewEvent.setSource(sourceSite);
+        pageViewEvent.setTarget(customPageItem);
+        pageViewEvent.setTimeStamp(new Date());
 
         // Initialize context like if you display the first page on the website
         ContextRequest contextRequest = new ContextRequest();
diff --git a/itests/src/test/java/org/apache/unomi/itests/ModifyConsentIT.java b/itests/src/test/java/org/apache/unomi/itests/ModifyConsentIT.java
index 1ef7b80e7..1deb98cbe 100644
--- a/itests/src/test/java/org/apache/unomi/itests/ModifyConsentIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/ModifyConsentIT.java
@@ -72,7 +72,7 @@ public class ModifyConsentIT extends BaseIT {
         Assert.assertNotNull(profile);
         Assert.assertEquals(0, profile.getConsents().size());
 
-        Event modifyConsentEvent = new Event("modifyConsent", null, profile, null, null, profile, new Date());
+        Event modifyConsentEvent = new Event("modifyConsent", null, profile, null, null, null, new Date());
         modifyConsentEvent.setPersistent(false);
 
         ISO8601DateFormat dateFormat = new ISO8601DateFormat();
diff --git a/itests/src/test/java/org/apache/unomi/itests/PropertiesUpdateActionIT.java b/itests/src/test/java/org/apache/unomi/itests/PropertiesUpdateActionIT.java
index 8dd022a68..4628332e2 100644
--- a/itests/src/test/java/org/apache/unomi/itests/PropertiesUpdateActionIT.java
+++ b/itests/src/test/java/org/apache/unomi/itests/PropertiesUpdateActionIT.java
@@ -97,7 +97,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
         Profile profile = profileService.load(PROFILE_TARGET_TEST_ID);
         Assert.assertNull(profile.getProperty("firstName"));
 
-        Event updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        Event updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
 
         Map<String, Object> propertyToUpdate = new HashMap<>();
@@ -121,7 +121,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
         Profile profileToUpdate = profileService.load(PROFILE_TEST_ID);
         Assert.assertNull(profileToUpdate.getProperty("firstName"));
 
-        Event updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        Event updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
 
         Map<String, Object> propertyToUpdate = new HashMap<>();
@@ -140,7 +140,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
     public void testUpdateProperties_CurrentProfile_PROPS_TO_ADD() throws InterruptedException {
         Profile profile = profileService.load(PROFILE_TEST_ID);
 
-        Event updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        Event updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
 
         Map<String, Object> propertyToAdd = new HashMap<>();
@@ -169,7 +169,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
     @Test
     public void testUpdateProperties_CurrentProfile_PROPS_TO_ADD_TO_SET() throws InterruptedException {
         Profile profile = profileService.load(PROFILE_TEST_ID);
-        Event updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        Event updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
 
         Map<String, Object> propertyToAddToSet = new HashMap<>();
@@ -196,7 +196,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
         propertyToAddToSet.put("properties.prop1", "New property 1 bis");
         propertyToAddToSet.put("properties.prop3", "New property 3 bis");
 
-        updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
         updateProperties.setProperty(UpdatePropertiesAction.PROPS_TO_ADD_TO_SET, propertyToAddToSet);
         updateProperties.setProperty(UpdatePropertiesAction.TARGET_ID_KEY, PROFILE_TEST_ID);
@@ -216,7 +216,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
     @Test
     public void testUpdateProperties_CurrentProfile_PROPS_TO_DELETE() throws InterruptedException {
         Profile profile = profileService.load(PROFILE_TEST_ID);
-        Event updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        Event updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
 
         Map<String, Object> propertyToAdd = new HashMap<>();
@@ -242,7 +242,7 @@ public class PropertiesUpdateActionIT extends BaseIT {
         List<String> propertyToDelete = new ArrayList<>();
         propertyToDelete.add("properties.prop1bis");
 
-        updateProperties = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        updateProperties = new Event("updateProperties", null, profile, null, null, null, new Date());
         updateProperties.setPersistent(false);
         updateProperties.setProperty(UpdatePropertiesAction.PROPS_TO_DELETE, propertyToDelete);
         updateProperties.setProperty(UpdatePropertiesAction.TARGET_ID_KEY, PROFILE_TEST_ID);
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/anonymizeProfile.json b/itests/src/test/resources/schemas/events/login.json
similarity index 57%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/anonymizeProfile.json
rename to itests/src/test/resources/schemas/events/login.json
index bdfabc0fa..a1118ba1d 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/anonymizeProfile.json
+++ b/itests/src/test/resources/schemas/events/login.json
@@ -1,19 +1,24 @@
 {
-  "$id": "https://unomi.apache.org/schemas/json/events/anonymizeProfile/1-0-0",
+  "$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
     "vendor":"org.apache.unomi",
     "target" : "events",
-    "name": "anonymizeProfile",
+    "name": "login",
     "format":"jsonschema",
     "version":"1-0-0"
   },
-  "title": "AnonymizeProfileEvent",
+  "title": "LoginEvent",
   "type": "object",
   "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
   "properties" : {
+    "properties" : {
+      "type" : "object",
+      "maxProperties": 50
+    },
     "target" : {
-      "$ref" : "https://unomi.apache.org/schemas/json/profile/1-0-0"
+      "type" : "object",
+      "maxProperties": 50
     }
   }
 }
\ No newline at end of file
diff --git a/itests/src/test/resources/schemas/events/test-event-type.json b/itests/src/test/resources/schemas/events/test-event-type.json
index 8d5a928a2..3a30f59d8 100644
--- a/itests/src/test/resources/schemas/events/test-event-type.json
+++ b/itests/src/test/resources/schemas/events/test-event-type.json
@@ -3,6 +3,7 @@
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
     "vendor":"org.apache.unomi",
+    "target":"events",
     "name":"testEventType",
     "format":"jsonschema",
     "target":"events",
diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/IncrementInterestAction.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/IncrementInterestAction.java
index 0c2982362..3d76d1bee 100644
--- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/IncrementInterestAction.java
+++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/IncrementInterestAction.java
@@ -89,7 +89,7 @@ public class IncrementInterestAction implements ActionExecutor {
         final Map<String, Object> propertyToUpdate = new HashMap<>();
         propertyToUpdate.put("properties.interests", profileInterestsMap);
 
-        final Event updatePropertiesEvent = new Event("updateProperties", null, profile, null, null, profile, new Date());
+        final Event updatePropertiesEvent = new Event("updateProperties", null, profile, null, null, null, new Date());
         updatePropertiesEvent.setProperty("update", propertyToUpdate);
 
         return eventService.send(updatePropertiesEvent);
diff --git a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
index 23d2364b5..870159ed4 100644
--- a/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
+++ b/plugins/baseplugin/src/main/java/org/apache/unomi/plugins/baseplugin/actions/SetPropertyAction.java
@@ -62,7 +62,7 @@ public class SetPropertyAction implements ActionExecutor {
                 Map<String, Object> propertyToUpdate = new HashMap<>();
                 propertyToUpdate.put(propertyName, propertyValue);
 
-                Event updateProperties = new Event("updateProperties", event.getSession(), event.getProfile(), event.getSourceId(), null, event.getProfile(), new Date());
+                Event updateProperties = new Event("updateProperties", event.getSession(), event.getProfile(), event.getSourceId(), null, null, new Date());
                 updateProperties.setPersistent(false);
 
                 updateProperties.setProperty(UpdatePropertiesAction.PROPS_TO_UPDATE, propertyToUpdate);
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
index 8284e73d1..880007751 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequest.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/contextrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "contextRequest",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "ContextRequest",
   "type": "object",
   "properties": {
@@ -28,7 +34,7 @@
     "events": {
       "type": ["null", "array"],
       "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"
+        "type": "object"
       }
     },
     "filters": {
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
index 6e115f3cb..fe4a32896 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/contextrequestparams.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/contextrequestparams/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "contextRequestParams",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "ContextRequestParams",
   "type": "object",
   "properties": {
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
index 4265f70bc..9e451fb3a 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/contextrequest/source/source.json
@@ -1,7 +1,13 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/contextrequest/source/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
-  "title": "Item",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "source",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
+  "title": "Source",
   "type": "object",
   "properties" : {
     "itemId" : {
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
index 1e82ada08..8b6d01f1a 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/cookie.json
@@ -1,6 +1,12 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/cookie/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "cookie",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "Cookie",
   "type": "object",
   "properties": {
diff --git a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json b/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
index 781ff2862..783e8d2b3 100644
--- a/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
+++ b/rest/src/main/resources/META-INF/cxs/schemas/eventscollectorrequest.json
@@ -1,18 +1,19 @@
 {
   "$id": "https://unomi.apache.org/schemas/json/eventscollectorrequest/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
+  "self":{
+    "vendor":"org.apache.unomi",
+    "name": "eventsCollectorRequest",
+    "format":"jsonschema",
+    "version":"1-0-0"
+  },
   "title": "EventsCollectorRequest",
   "type": "object",
-  "allOf": [
-    {
-      "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
-    }
-  ],
   "properties": {
     "events" : {
       "type": ["array"],
       "items": {
-        "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"
+        "type": "object"
       },
       "minItems": 1
     },
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login.json b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
similarity index 93%
rename from extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login.json
rename to samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
index f00ef5874..17b814235 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login.json
+++ b/samples/login-integration/src/main/resources/META-INF/cxs/schemas/login.json
@@ -14,7 +14,6 @@
   "properties" : {
     "properties" : {
       "type" : "object",
-      "unomiPropertyTypes" : [ "events" ],
       "maxProperties": 50
     },
     "target" : {
diff --git a/services/src/main/resources/META-INF/cxs/events/anonymizeProfile.json b/services/src/main/resources/META-INF/cxs/events/anonymizeProfile.json
deleted file mode 100644
index ef8dab271..000000000
--- a/services/src/main/resources/META-INF/cxs/events/anonymizeProfile.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "type" : "anonymizeProfile",
-  "propertyTypes" : [
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/articleCompleted.json b/services/src/main/resources/META-INF/cxs/events/articleCompleted.json
deleted file mode 100644
index 9e316628e..000000000
--- a/services/src/main/resources/META-INF/cxs/events/articleCompleted.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "type" : "articleCompleted",
-  "propertyTypes" : [
-    {
-      "itemId": "properties",
-      "type": "set"
-    },
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/form.json b/services/src/main/resources/META-INF/cxs/events/form.json
deleted file mode 100644
index 455116895..000000000
--- a/services/src/main/resources/META-INF/cxs/events/form.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "type" : "form",
-  "propertyTypes" : [
-    {
-      "itemId": "properties",
-      "type": "set"
-    },
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/goal.json b/services/src/main/resources/META-INF/cxs/events/goal.json
deleted file mode 100644
index 11468cc55..000000000
--- a/services/src/main/resources/META-INF/cxs/events/goal.json
+++ /dev/null
@@ -1,83 +0,0 @@
-{
-  "type" : "goal",
-  "propertyTypes" : [
-    {
-      "itemId" : "source",
-      "type": "set"
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "campaignId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "startEvent",
-          "type" : "set"
-        },
-        {
-          "itemId" : "targetEvent",
-          "type" : "set"
-        },
-        {
-          "itemId" : "metadata",
-          "type" : "set",
-          "childPropertyTypes" : [
-            {
-              "itemId": "id",
-              "type": "string"
-            },
-            {
-              "itemId": "name",
-              "type": "string"
-            },
-            {
-              "itemId": "description",
-              "type": "string"
-            },
-            {
-              "itemId": "scope",
-              "type": "string"
-            },
-            {
-              "itemId": "tags",
-              "multivalued" : true,
-              "type": "string"
-            },
-            {
-              "itemId": "enabled",
-              "type": "boolean"
-            },
-            {
-              "itemId": "missingPlugins",
-              "type": "boolean"
-            },
-            {
-              "itemId": "hidden",
-              "type": "boolean"
-            },
-            {
-              "itemId": "readOnly",
-              "type": "boolean"
-            }
-          ]
-        }
-      ]
-    }
-
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/identify.json b/services/src/main/resources/META-INF/cxs/events/identify.json
deleted file mode 100644
index 1fb001de4..000000000
--- a/services/src/main/resources/META-INF/cxs/events/identify.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
-  "type": "identify",
-  "propertyTypes": [
-    {
-      "itemId": "properties",
-      "type": "set"
-    },
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
diff --git a/services/src/main/resources/META-INF/cxs/events/incrementInterest.json b/services/src/main/resources/META-INF/cxs/events/incrementInterest.json
deleted file mode 100644
index 8604990b9..000000000
--- a/services/src/main/resources/META-INF/cxs/events/incrementInterest.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  "type" : "incrementInterest",
-  "propertyTypes" : [
-    {
-      "itemId": "properties",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId" : "interests",
-          "type" : "set"
-        }
-      ]
-    },
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/login.json b/services/src/main/resources/META-INF/cxs/events/login.json
deleted file mode 100644
index 4e6625567..000000000
--- a/services/src/main/resources/META-INF/cxs/events/login.json
+++ /dev/null
@@ -1,73 +0,0 @@
-{
-  "type": "login",
-  "propertyTypes": [
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId": "itemId",
-          "type": "string"
-        },
-        {
-          "itemId": "itemType",
-          "type": "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId": "scope",
-          "type": "string"
-        },
-        {
-          "itemId": "properties",
-          "type": "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
diff --git a/services/src/main/resources/META-INF/cxs/events/modifyConsent.json b/services/src/main/resources/META-INF/cxs/events/modifyConsent.json
deleted file mode 100644
index 5eec0bfb5..000000000
--- a/services/src/main/resources/META-INF/cxs/events/modifyConsent.json
+++ /dev/null
@@ -1,105 +0,0 @@
-{
-  "type" : "modifyConsent",
-  "propertyTypes" : [
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "target",
-      "type" : "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "properties",
-      "type" : "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "consent",
-          "type" : "set",
-          "childPropertyTypes" : [
-            {
-              "itemId" : "scope",
-              "type" : "string"
-            },
-            {
-              "itemId" : "typeIdentifier",
-              "type" : "string"
-            },
-            {
-              "itemId" : "status",
-              "type" : "string"
-            },
-            {
-              "itemId" : "statusDate",
-              "type" : "date"
-            },
-            {
-              "itemId" : "revokeDate",
-              "type" : "date"
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/profileDeleted.json b/services/src/main/resources/META-INF/cxs/events/profileDeleted.json
deleted file mode 100644
index 62fed55ef..000000000
--- a/services/src/main/resources/META-INF/cxs/events/profileDeleted.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "type" : "profileDeleted",
-  "propertyTypes" : [
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/profileUpdated.json b/services/src/main/resources/META-INF/cxs/events/profileUpdated.json
deleted file mode 100644
index 78c675a26..000000000
--- a/services/src/main/resources/META-INF/cxs/events/profileUpdated.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
-  "type": "profileUpdated",
-  "propertyTypes" : [
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
diff --git a/services/src/main/resources/META-INF/cxs/events/ruleFired.json b/services/src/main/resources/META-INF/cxs/events/ruleFired.json
deleted file mode 100644
index 2a0f4c67b..000000000
--- a/services/src/main/resources/META-INF/cxs/events/ruleFired.json
+++ /dev/null
@@ -1,91 +0,0 @@
-{
-  "type" : "ruleFired",
-  "propertyTypes" : [
-    {
-      "itemId" : "source",
-      "type": "set"
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "linkedItems",
-          "type" : "string",
-          "multivalued" : true
-        },
-        {
-          "itemId" : "priority",
-          "type" : "long"
-        },
-        {
-          "itemId" : "raiseEventOnlyOnceForProfile",
-          "type" : "boolean"
-        },
-        {
-          "itemId" : "raiseEventOnlyOnceForSession",
-          "type" : "boolean"
-        },
-        {
-          "itemId" : "raiseEventOnlyOnce",
-          "type" : "boolean"
-        },
-        {
-          "itemId" : "metadata",
-          "type" : "set",
-          "childPropertyTypes" : [
-            {
-              "itemId": "id",
-              "type": "string"
-            },
-            {
-              "itemId": "name",
-              "type": "string"
-            },
-            {
-              "itemId": "description",
-              "type": "string"
-            },
-            {
-              "itemId": "scope",
-              "type": "string"
-            },
-            {
-              "itemId": "tags",
-              "multivalued" : true,
-              "type": "string"
-            },
-            {
-              "itemId": "enabled",
-              "type": "boolean"
-            },
-            {
-              "itemId": "missingPlugins",
-              "type": "boolean"
-            },
-            {
-              "itemId": "hidden",
-              "type": "boolean"
-            },
-            {
-              "itemId": "readOnly",
-              "type": "boolean"
-            }
-          ]
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/search.json b/services/src/main/resources/META-INF/cxs/events/search.json
deleted file mode 100644
index 94fb45c12..000000000
--- a/services/src/main/resources/META-INF/cxs/events/search.json
+++ /dev/null
@@ -1,53 +0,0 @@
-{
-  "type": "search",
-  "propertyTypes": [
-    {
-      "itemId": "properties",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId": "originForm",
-          "type": "string"
-        },
-        {
-          "itemId": "language",
-          "type": "string"
-        },
-        {
-          "itemId": "keyword",
-          "type": "string"
-        },
-        {
-          "itemId": "origin",
-          "type": "string"
-        }
-      ]
-    },
-    {
-      "itemId": "target",
-      "type": "set",
-      "childPropertyTypes": [
-        {
-          "itemId": "itemId",
-          "type": "string"
-        },
-        {
-          "itemId": "itemType",
-          "type": "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId": "scope",
-          "type": "string"
-        },
-        {
-          "itemId": "properties",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
diff --git a/services/src/main/resources/META-INF/cxs/events/sessionCreated.json b/services/src/main/resources/META-INF/cxs/events/sessionCreated.json
deleted file mode 100644
index 0d2764724..000000000
--- a/services/src/main/resources/META-INF/cxs/events/sessionCreated.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
-  "type" : "sessionCreated",
-  "propertyTypes" : [
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "profileId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "profile",
-          "type" : "set"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId" : "systemProperties",
-          "type" : "set"
-        },
-        {
-          "itemId" : "lastEventDate",
-          "type" : "date"
-        },
-        {
-          "itemId" : "size",
-          "type" : "long"
-        },
-        {
-          "itemId" : "duration",
-          "type" : "long"
-        }
-      ]
-    }
-
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/sessionReassigned.json b/services/src/main/resources/META-INF/cxs/events/sessionReassigned.json
deleted file mode 100644
index d69801b5a..000000000
--- a/services/src/main/resources/META-INF/cxs/events/sessionReassigned.json
+++ /dev/null
@@ -1,59 +0,0 @@
-{
-  "type" : "sessionReassigned",
-  "propertyTypes" : [
-    {
-      "itemId" : "source",
-      "type": "set"
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "profileId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "profile",
-          "type" : "set"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId" : "systemProperties",
-          "type" : "set"
-        },
-        {
-          "itemId" : "lastEventDate",
-          "type" : "date"
-        },
-        {
-          "itemId" : "size",
-          "type" : "long"
-        },
-        {
-          "itemId" : "duration",
-          "type" : "long"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/cxs/events/updateProperties.json b/services/src/main/resources/META-INF/cxs/events/updateProperties.json
deleted file mode 100644
index 2be02f4fa..000000000
--- a/services/src/main/resources/META-INF/cxs/events/updateProperties.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
-  "type": "updateProperties",
-  "propertyTypes" : [
-    {
-      "itemId": "properties",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "targetId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "targetType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "add",
-          "type" : "set"
-        },
-        {
-          "itemId" : "update",
-          "type" : "set"
-        },
-        {
-          "itemId" : "delete",
-          "type" : "set"
-        }
-      ]
-    },
-    {
-      "itemId": "target",
-      "type": "set"
-    },
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
diff --git a/services/src/main/resources/META-INF/cxs/events/view.json b/services/src/main/resources/META-INF/cxs/events/view.json
deleted file mode 100644
index a07398f92..000000000
--- a/services/src/main/resources/META-INF/cxs/events/view.json
+++ /dev/null
@@ -1,77 +0,0 @@
-{
-  "type" : "view",
-  "propertyTypes" : [
-    {
-      "itemId": "properties",
-      "type": "set"
-    },
-    {
-      "itemId" : "source",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    },
-    {
-      "itemId" : "target",
-      "type": "set",
-      "childPropertyTypes" : [
-        {
-          "itemId" : "itemId",
-          "type" : "string"
-        },
-        {
-          "itemId" : "itemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "customItemType",
-          "type" : "string"
-        },
-        {
-          "itemId" : "scope",
-          "type" : "string"
-        },
-        {
-          "itemId" : "properties",
-          "type" : "set"
-        },
-        {
-          "itemId": "version",
-          "type": "long"
-        },
-        {
-          "itemId": "systemMetadata",
-          "type": "set"
-        }
-      ]
-    }
-  ]
-}
\ No newline at end of file


[unomi] 02/06: UNOMI-569 Flatten JSON Schemas & fix schema bugs - Change vendor to use a real entity name

Posted by jk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

jkevan pushed a commit to branch UNOMI-569-flatten-schemas
in repository https://gitbox.apache.org/repos/asf/unomi.git

commit 240e7f36a27c5f086da950029f1cd9e4c49b99fd
Author: Serge Huber <sh...@jahia.com>
AuthorDate: Tue May 31 11:21:45 2022 +0200

    UNOMI-569 Flatten JSON Schemas & fix schema bugs
    - Change vendor to use a real entity name
---
 .../src/main/resources/META-INF/cxs/schemas/timestampeditem.json        | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
index db8f078e2..dd71b16c9 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/timestampeditem.json
@@ -2,7 +2,7 @@
   "$id": "https://unomi.apache.org/schemas/json/timestampeditem/1-0-0",
   "$schema": "https://json-schema.org/draft/2019-09/schema",
   "self":{
-    "vendor":"org.apache.unomi",
+    "vendor":"The Apache Software Foundation",
     "name": "timestampedItem",
     "format":"jsonschema",
     "version":"1-0-0"