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

shuber pushed a change to branch unomi-3-dev
in repository https://gitbox.apache.org/repos/asf/unomi.git


      at c26166234 UNOMI-139 Add V2/V3 API Compatibility Guide and Document Key 
Differences

This branch includes the following new commits:

     new 08347a0ca Initial commit of multi-tenancy work. Compilation passes but 
probably not much else :)
     new aea40a9f2 We now have a fully multi-tenant compliant and unit tested 
definition service ! This commit also introduces in 
InMemoryPersistenceServiceImpl class that makes it possible to use persistence 
in unit tests.
     new d0b03bfab - We now have better tests for removal of types - InMemory 
persistence service in now using docIds that contain the tenantId - We now have 
a unit test for the InMemory persistence service.
     new 21a197480 Code cleanup: - Replace hardcoded "system" strings with a 
constant coming from the TenantService interface
     new b825659ac Code cleanup: - Add missing ASLv2 header
     new 3fc6922f8 Add tenantId prefix to document IDs in both Elasticsearch 
and OpenSearch persistence implementations.
     new e01305bc5 - Add public and private API keys to be able to send events 
and retrieve profiles from public endpoints. - Replaced third party server 
system with Tenant configuration and validation - Added publicApiKey field to 
the ContextRequest and EventsCollectorRequest objects - Updated 
EventServiceImplTest tests to add support for the new way of testing event 
approval - Updated the RestServiceUtilsImpl to integrate with the new tenant 
system
     new ab96dfedc - Add Karaf shell commands to manage Tenants - Improve 
Tenant endpoint - Improve TenantIT to include REST endpoint testing - Improve 
Javadoc comments
     new d1168a8ea - Add Karaf shell commands to manage : campaigns, goals, 
scopes, scoring - Add Karaf shell command completers - Add Rules service unit 
tests
     new aecf7c6e2 - Small fixes for issues found on starting Apache Unomi with 
Elasticsearch
     new 1be0ec69e - Added Karaf shell tenant commands - First successful Unomi 
startup with new multi-tenant architecture ! - Replace Tenant transformation 
service with a listener pattern so that multiple transformers may be used at 
the same time
     new 373d92279 Work on integrating authentication: - JAAS works for all 
endpoints - Private API now requires tenantId as username and private tenant 
API key as password - Public API now require tenant public key - Initial 
modifications of integration tests to validate authentication - Initial 
modification of documentation to reflect these changes.
     new 1dbea99e1 Quick fixes based on initial testing of the integration 
tests.
     new c3166b1da - Add tenant inheritance for JSON schemas, PropertyTypes and 
Personas - Added unit tests to validate implementations
     new 692a4acbb Fix RulesServiceImplTest and project build.
     new d87ee1049 Add missing property wiring
     new 3d33f8558 - Fix implementation issues in authentication - Add tenant 
testing and authentication to integration tests - Add tenant-aware caches to 
goals, conditions, score and segment services - Update multi-tenancy 
documentation - Fix tenaent service - Add checks when creating tenants - Add 
new ROLE_UNOMI_TENANT for authorization - Lots more fixes
     new 52223f5c5 - Fix schema service tenancy-aware implementation - Add 
schema Karaf shell commands - Various small bug fixes
     new 332a9e054 - Replace all custom item type CRUD commands with a single 
unomi:crud command that can handle any object type - Expanded the item types 
that we can use with the new CRUD command
     new 6a4547e28 Lots of changes (again :)) - New abstract implementation to 
remove code duplication between services for deployment of predefined items, 
caching and multi-tenant management - Fixes in AuthenticationFilter to get 
everything to work as expected - New SchemaServiceImpl that supports 
persistence to the persistence service and allows multiple nodes to share the 
jobs while making sure no two nodes execute the same task at the same time (for 
persistent tasks) - Nodes may now b [...]
     new f623fd3af - New architecture documentation - New scheduler task 
commands - New (basic) clustering document - New ConditionEvaluationTracer 
interface - New data structure schema - New event processing schema - New 
SchedulerIT integration test - New Task REST endpoint - New CI github workflow 
for documentation generation
     new e3a65b306 Fix typo in condition evaluator
     new 6471cbad6 - We now have in memory and persistent tasks listed in the 
Karaf Shell list command - Improve the unit tests to make sure in memory tasks 
are properly managed
     new f5b3dd1f9 - Fix compilation issue - Hopefully fix recurrent condition 
issue.
     new ca44f76ad - Make sure the integration tests are using a subject with 
the security service - Add a new createSubject method to the security service
     new 326d22b63 - Improve reporting of detected tools in build.sh script - 
Add Windows version of build script (not yet tested) - Update documentation 
with building instructions for Windows
     new 21ce2e348 - Replace all usages of the term operation with permission 
to have a more unique and standard way of managing permission to roles
     new 4b4f273a7 Fix mistake in refactoring
     new f629e2115 - Fix invalid SchedulerServiceImpl service references and 
fixed condition builders - Modified ObjectMapper used in commands with 
CustomObjectMapper to have proper handling of JAXB annotations
     new d251eeb87 - Make sure the properties structure exist before setting a 
property
     new 6c60c6200 - Add documentation on how to properly use the 
pastEventCondition and how to structure its eventCondition
     new 4bbadd919 Fix issues with ParserHelper handling of parent conditions
     new b987c08df UNOMI-873 New Tracer service and request tracer to 
collection information about the execution of requests to be able to "explain" 
them.
     new 8e0c483d7 Add missing ES and OS property mapping files for new 
scheduler
     new e933f08fa Fix item versioning implementation in 
InMemoryPersistenceServiceImpl
     new 4b8d69d36 UNOMI-873 Added missing dependency for new tracer service
     new 9ba81a792 UNOMI-873 Moved tracer service impl to features that are 
started
     new ff5bccef7 UNOMI-883 New condition validation service with integration 
into different service. All unit tests have been updated as well.
     new 84fba4909 UNOMI-873 New tracing and explain system - Fix issues with 
wiring
     new db8a41479 UNOMI-883 New condition validation service - Add validation 
to existing conditions for initial testing - Fix NPE in unbind method.
     new f07fcc851 Fix bugs with past event condition segment calculations.
     new a322b98b1 Add workaround in InMemoryPersistenceServiceImpl to support 
keyword sub-field specification
     new ee63a6344 [UNOMI-882] Documentation updates - Update quickstart with 
latest stable release version - Add condition evaluation architecture diagram - 
Add condition evaluation document to explain how conditions work - Add query 
strategy selection to past event condition documentation - Add documentation on 
scroll queries - Made request examples more consistent and update for 
multi-tenancy - Add examples for birthday tracking - Add past event condition 
examples
     new f86e829b7 Bugfixes on segment condition evaluation
     new dd2bbbf0b [UNOMI-881] Implement update methods of 
InMemoryPersistenceServiceImpl
     new 28e10a4e4 [UNOMI-881] Enhance InMemoryPersistenceServiceImpl path 
resolution and query handling
     new eac864598 [UNOMI-881] Enhance InMemoryPersistenceServiceImpl range 
query and sorting capabilities
     new 6e0607bd5 [UNOMI-878] Enhance Task Scheduling and Execution Framework 
- Refactor scheduler service with comprehensive task management capabilities - 
Add new managers for task state, lock, history, metrics, and validation - 
Implement robust task lifecycle management with state transitions - Support 
advanced scheduling features like task dependencies, retries, and recovery - 
Improve cluster-aware task execution with lock management - Add detailed 
metrics and execution history track [...]
     new cfd552848 UNOMI-878 Refactor Scheduler Service Task Execution and 
Scheduling
     new 2ff1ec6f0 UNOMI-878 Enhance ASCII folding for property conditions in 
Elasticsearch and OpenSearch
     new fa382bdfc UNOMI-878 Refactor Geonames and Definitions Services to use 
TaskExecutor
     new 96100b5e5 UNOMI-878 Enhance Scheduler Service with Dynamic 
TaskExecutor Registration
     new 803faf264 UNOMI-873 Add request tracing support to context and event 
collector endpoints
     new 156f39d6e UNOMI-877: Refactor Cluster Node Management and Monitoring 
Support
     new 50f643346 UNOMI-878 - Introduce successCount field in ScheduledTask to 
track successful task executions - Update task execution managers to increment 
successCount on successful completion - Modify task-related methods to handle 
and display success count - Add successCount to task listing and test scenarios 
- Enhance task metrics and reporting with success tracking
     new 40232838b UNOMI-877: Fix Stale Node Detection in Cluster Service
     new f9b2dd96f UNOMI-880 Add post-processor support for CacheableTypeConfig 
to resolve condition types
     new a07b9be2f UNOMI-880: Fix ParserHelper method call in 
DefinitionsServiceImpl
     new ad30661fa UNOMI-880: Add error handling for value extraction in 
ParserHelper
     new 66f2e14b3 UNOMI-881 Refactor InMemoryPersistenceServiceImpl to use 
Item.getItemType for index resolution
     new 91a293938 UNOMI-881 Enhance InMemoryPersistenceServiceImpl with 
Comprehensive Index and Purge Operations
     new 19c688793 UNOMI-881: Implement Comprehensive CustomItem Operations in 
InMemoryPersistenceService
     new ea39adb57 UNOMI-881: Implement getAllItemsCount and isConsistent in 
InMemoryPersistenceService
     new d80ac31f4 UNOMI-882 Update documentation for profile merging in Apache 
Unomi
     new 5ec394292 UNOMI-881: Add Optimistic Concurrency Control and Sequence 
Numbering to InMemoryPersistenceService
     new c0abfb4d3 UNOMI-878 Enhance Distributed Task Locking and Scheduling 
with Robust Cluster Support
     new 5116f86bc UNOMI-883: Add Migration Scripts for Audit Fields and Tenant 
Initialization in Unomi 3.0.0
     new 6bd2325ac UNOMI-881 Standardize Test Teardown and Resource Cleanup 
Across Services
     new 0bb28050d UNOMI-878: Enhance Scheduler Service with System Task 
Support and Robust Restart Handling
     new 633d42e96 UNOMI-880: Enhance CacheableTypeConfig with Builder Pattern 
and Improved Type Management
     new 16ccf00a5 UNOMI-880 Refactor RulesService to use 
AbstractMultiTypeCachingService and improve inheritance handling
     new af4acf745 UNOMI-879 Enhance Shell Dev Commands with Tenant ID Display 
and ID Completion
     new b1c316b72 UNOMI-880: Refactor ProfileServiceImpl to use 
AbstractMultiTypeCachingService and improve property type management
     new 4668a1677 UNOMI-880: Add services-common module with 
AbstractMultiTypeCachingService and AbstractContextAwareService
     new 0acb10497 UNOMI-139 Enhance JSON Schema Service with Multi-Tenant 
Support and Improved Schema Management
     new bdcafd776 UNOMI-883 Remove 'recommended' validation from 
profilePropertyCondition JSON schema
     new 0e6e4d195 UNOMI-139: Enhance Execution Context Management in REST Layer
     new ab989b9d2 UNOMI-139: Enhance Groovy Actions Service with Multi-Tenant 
Support
     new d71434afb UNOMI-881 Enhance Profile Batch Update Documentation and 
Goal Service Event Validation
     new d58461230 UNOMI-873: Add Request Tracing Documentation with Explain 
Parameter
     new f3813a668 UNOMI-873: Add Complex Personalization Explain Parameter 
Example
     new 203f32d9d UNOMI-139: Enhance Multi-Tenancy Support in GraphQL API, 
Groovy Actions and PropertyTypes - Make Groovy actions truly multi-tenant - Fix 
for bug in property type loading with new caching service - Implement 
tenant-specific GraphQL schema creation and caching - Add support for dynamic 
schema registration based on tenant context - Introduce schema invalidation 
mechanism for property type changes - Update GraphQLServlet to handle tenant 
identification and schema retrieval  [...]
     new d3ecd6ff4 UNOMI-139 Add JaCoCo Plugin for Code Coverage and Refactor 
GroovyActionsServiceImplTest
     new 966515a22 UNOMI-139 Refactor GroovyActionsServiceImpl and 
GroovyActionsServiceImplTest for Code Clarity
     new 63b319dde UNOMI-139: Enhance JSON Schema Service with New Dependencies 
and Schema Management Improvements
     new da30e2790 UNOMI-139: Refactor GroovyActionsServiceImpl for Enhanced 
Action Handling
     new bec71d0bb UNOMI-875 Add Integration Test Options to Build Script
     new 2deee15f4 UNOMI-139: Standardize API Key Header Naming Across Codebase
     new 7b0901a30 UNOMI-877 Enhance Cluster Service with Server Information 
Management
     new 2385a8026 UNOMI-878 Refactor SchedulerServiceImpl for Enhanced Service 
Tracking and Lifecycle Management
     new de29def3f UNOMI-139 Refactor ElasticSearch and OpenSearch Persistence 
Services to Standardize Tenant ID Handling
     new c82b89b12 UNOMI-878 Enhance ConditionBuilder with New Query 
Capabilities
     new c9166e87a UNOMI-880 Refactor BaseIT and ContextServletIT for Enhanced 
Testing and Configuration Management
     new 3bc71812f UNOMI-888 Enhance Import/Export Configuration and Profile 
Services with Detailed Documentation
     new 323c31d0c UNOMI-139 Enhance Multi-Tenant Support in Import/Export 
Configuration Services
     new 18dfd5969 UNOMI-887 Enhance Build Script and Integration Tests with 
Migration Test Options
     new fe3206520 Remove encryption extension
     new fb1f82e34 UNOMI-873 Integrate Tracing Capabilities Across Action and 
Condition Evaluators
     new 48a3fa7a5 UNOMI-884 Enhance Multi-Tenant Support and Audit Fields in 
Migration Scripts
     new 57880481a UNOMI-873 Add unomi-tracing-api dependency and integrate 
TracerService in blueprint configurations
     new 2b9b7602d UNOMI-884 Remove text fields that should instead be created 
dynamically with the dynamic template settings.
     new c13adfc45 UNOMI-892 Enhance Maven Build Configuration for Integration 
Tests
     new 7b874f6c3 UNOMI-884 Refactor Authentication Filter for Enhanced 
Multi-Tenant Support
     new 50057ae1b UNOMI-873 Fix tracing information handling in 
ContextJsonEndpoint and EventsCollectorEndpoint by passing null instead of 
response objects to endOperation method for improved clarity in operation 
completion logging.
     new abe6b388f UNOMI-680 GraphQL bug fixes - Added Metadata handling in 
CreateOrUpdateSourceCommand to set metadata for new scopes. - Enhanced 
datePropertyCondition in ConditionFactory to process OffsetDateTime and Date 
types, including logging for type conversions and warnings for invalid types. - 
Updated UnomiToGraphQLConverter to handle null type inputs gracefully. - 
Improved error logging in GraphQLSchemaProvider for null object types.
     new 084f6c130 UNOMI-877 Re-introduce cluster health check provider - Added 
a new ClusterHealthCheckProvider class to monitor the status of the Unomi 
cluster service. - Integrated caching for health check responses to optimize 
performance. - Implemented methods to bind and unbind the ClusterService, 
allowing dynamic updates to the health check status. - Enhanced logging for 
better observability during health check execution.
     new ccd7168a0 UNOMI-139 Multitenancy improvements and lots of correction 
in unit and integration tests - Introduced a new method in the Tenant class to 
filter active API keys based on revocation status and expiration date. - Added 
unit tests for Tenant API key management to ensure correct functionality and 
edge case handling. - Integrated ExecutionContextManager for improved security 
context management during API key operations. - Updated various service 
implementations to utilize th [...]
     new b3a266fac UNOMI-139 Move persistence-specific condition builders to 
their implementation bundles, removing complex dependencies.
     new 696b2a135 UNOMI-878 Refactor Scheduler Service and Remove Unused Query 
Builder Trackers
     new 6f66de0f6 UNOMI-139 Enhance Configuration Management and Refactor 
Persistence Services
     new 1491ee1b7 UNOMI-828 Update OpenSearch Configuration and Refactor Task 
Lock Management
     new ea796ee71 UNOMI-139 Enhance Persistence Services with Tenant-Specific 
Transformations and Logging
     new a086228c9 UNOMI-873 Refactor tracing in action classes to use HashMap 
for avoiding NPE
     new 0ec47a124 UNOMI-828 Fix null check in OpenSearchPersistenceServiceImpl 
to ensure both bucketsAggregationBuilder and bucketsContainerBuilder are 
validated before proceeding with aggregation logic.
     new 8469eab68 UNOMI-897 Enhance Groovy Actions Service with 
Pre-compilation and Metadata Management
     new c26166234 UNOMI-139 Add V2/V3 API Compatibility Guide and Document Key 
Differences

The 116 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.


Reply via email to