UNOMI-569 Flatten JSON Schemas & fix schema bugs (#428)

* 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
-

* UNOMI-569 Flatten JSON Schemas & fix schema bugs
- Change vendor to use a real entity name

* UNOMI-569 Flatten JSON Schemas & fix schema bugs
- Change vendor to be a real entity name

* 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.

* 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.

* UNOMI-569: cleanup schemas

* UNOMI-569: fix pageInfo schema for view event

* UNOMI-569: cleanup unused code/imports in tests

Co-authored-by: Kevan <kevan@jahia.com>
92 files changed
tree: 5068e9771049c62e11d5cb65165b32a678161e1f
  1. .github/
  2. api/
  3. common/
  4. docker/
  5. extensions/
  6. graphql/
  7. itests/
  8. kar/
  9. lifecycle-watcher/
  10. manual/
  11. metrics/
  12. package/
  13. persistence-elasticsearch/
  14. persistence-spi/
  15. plugins/
  16. rest/
  17. samples/
  18. scripting/
  19. services/
  20. src/
  21. tools/
  22. wab/
  23. .gitignore
  24. buildAndRun.sh
  25. buildAndRunNoTests.sh
  26. BUILDING
  27. compileDeploy.sh
  28. generate-package.sh
  29. generate-site-and-upload.sh
  30. generate-site.sh
  31. KEYS
  32. LICENSE
  33. license-mappings.xml
  34. MERGING-PULL-REQUESTS
  35. NOTICE
  36. NOTICE.template
  37. pom.xml
  38. README.md
  39. release-audit.sh
  40. setenv.sh
  41. update-notice.sh
README.md

Build Status Maven Central

Apache Unomi

https://unomi.apache.org

Apache Unomi stores user profile information and is mostly used to provide a backend server for A/B testing and personalization. To do so it implements the currently under development OASIS Context Server specification.

License

The source code is available under the Apache License V2

Branches

  • main (master) branch: is the current development branch and should be considered unstable. At this it might even not compile. It is only recommended for Unomi developers or people looking to contribute on the project.
  • unomi-X.X.X branches : these are the maintenance branches of the stable releases of Apache Unomi and should always compile and be stable. These are recommended for users that prefer to work from the source code. Otherwise you can find packaged binaries on the Apache Unomi website.

Documentation

You can find all the updated documentation, including building and deployment instructions, on the Apache Unomi web site.