[ 
https://issues.apache.org/jira/browse/UNOMI-1009?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18123485#comment-18123485
 ] 

Serge Huber commented on UNOMI-1009:
------------------------------------

The decisions on related tickets add settings that people upgrading from 3.0 
need to know about. The guide should cover them, with a safe example for each:
* UNOMI-1001: third-party servers in compatibility mode (provider keys, allowed 
IP addresses and event types, trusted reverse proxies, the example key being 
refused).
* UNOMI-1005: the list of website origins that may send cookies, and the 
same-site setup.
* UNOMI-1007: the health check environment variables.
* UNOMI-1008: the tenant used by admin requests without a header, and how to 
work in the "system" tenant.
* UNOMI-1012: compatibility mode for Unomi 2 and Unomi 3 clients.

The documentation is written as part of each ticket; this guide links to it and 
checks that nothing is missing.

> The 3.0 to 4.0 migration guide misses several breaking changes
> --------------------------------------------------------------
>
>                 Key: UNOMI-1009
>                 URL: https://issues.apache.org/jira/browse/UNOMI-1009
>             Project: Apache Unomi
>          Issue Type: Task
>            Reporter: Serge Huber
>            Priority: Major
>             Fix For: unomi-4.0.0
>
>
> h3. Summary
> The migration guide covers the main changes, such as API keys, cookies, 
> passwords and REST roles. Several other changes can break existing 
> installations or plugins and are not mentioned:
> * Java API: changes to the scheduler, event, definitions and profile 
> services, and to condition parameter default values.
> * Plugins: some condition classes moved to a new plugin and package, and some 
> artifacts and query builders were removed.
> * Shell: 18 commands, such as profile-list, rule-list and segment-view, were 
> replaced by unomi:crud.
> * Stored data: document ids now start with the tenant id. This affects any 
> script or dashboard that reads ids directly.
> * REST: creating a profile with no itemId is now refused, and validation 
> errors no longer include the detailed message.
> * Configuration: GraphQL is enabled differently, and a health check option 
> was renamed.
> * Third-party servers: X-Unomi-Peer and the thirdparty configuration only 
> apply in compatibility mode. In normal mode, protected events are controlled 
> by tenant settings.
> * The key file written by the migration names headers that do not exist. The 
> public key goes in X-Unomi-Api-Key, and the private key is used with Basic 
> authentication.
> The goal of this ticket is that someone upgrading from 3.0 finds every 
> breaking change in the guide.
> h3. Ways to explore
> * Add a "Breaking changes" section, grouped by audience: operators, 
> integrators, plugin developers.
> * Fix the text of the key file written by the migration.
> * Use placeholders for keys and passwords in examples.
> h3. How to test
> Manual check: review the guide against the list above.
> Automated tests and checks to add:
> * A migration test that reads the key file written by the migration and 
> checks that it names X-Unomi-Api-Key for the public key and Basic 
> authentication for the private key.
> * A test that runs the REST examples of the migration guide, at least the 
> admin request with the tenant header, so the guide cannot drift from the code 
> again.
> * An API compatibility check in the build that compares the public Java API 
> with the previous release, so future breaking changes are seen before a 
> release and can be documented.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to