Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Convert Tourdata into a more generic concept #15923

Merged
merged 15 commits into from
Apr 9, 2024
Merged

Conversation

Migaroez
Copy link
Contributor

@Migaroez Migaroez commented Mar 21, 2024

Prerequisites

  • I have added steps to test this contribution in the description below

Description

The original goal was to make sure the tour endpoints had no knowledge of what the tour data was and just store it instead of checking the validity. While investigation the code paths and talking to stakeholders for the use cases it became clear a more generic feature would be a better fit instead of trying to push things into a semi happy state.

Userdata is a collection of user bound data identifiable by key or group/identifier. It is not considered an entity but rather a bucket of anything one would like to store against the user without validation/knowledge on the server side. This allows syncing of client related information across multiple hosts. Example: tours and user settings like theme and language.

Cleanup

  • tour endpoints removed
  • tour viewModels removed
  • tour mapping and related DI registrations removed
  • usertourStatus model removed
  • TourOperationStatus removed
  • Removed tourfiters (way to filter out tours inserted by other plugins/core)
  • Removed tour defenition models (BackOfficeTour,BackOfficeTourFile,BackOfficeTourStep)

Breaking changes

  • Tourservice removed
  • UserDataService repurposed, was marked as obsolete as it was superseded by ISystemTroubleshootingInformationService but the naming was to pefect...
  • UserData model repurposed, similar to previous remark
  • Iuser does not have tourdata field anymore
  • Tour definition classes have been removed
  • Global enable/disable tours is removed => frontend concern

Testing

  • Consider taking a v13 database with a user that clicked around the backoffice a bit and thus should have tours data. Migrating the db to v14 and check wether the UserData get endpoint returns the tours data.
  • Test other UserData endpoints
  • Make sure nothing else is broken

@Migaroez Migaroez marked this pull request as ready for review March 21, 2024 13:59
@Migaroez Migaroez added category/breaking project/bellissima AKA "the new backoffice" labels Apr 8, 2024
nikolajlauridsen and others added 10 commits April 8, 2024 14:31
* Drop default constraint umbracoCacheInstruction table

* Align umbracoContentVersion table

* Update indexes on external login table

* Align node table

* Make relation type index unique

* Remove user-group default constraint

* Re-order methods

* Make webhook url not nullable

* Cleanup

* Cleanup
# Conflicts:
#	src/Umbraco.Cms.Api.Management/OpenApi.json
# Conflicts:
#	src/Umbraco.Cms.Api.Management/Controllers/Tour/GetTourController.cs
#	src/Umbraco.Cms.Api.Management/Controllers/Tour/SetTourController.cs
#	src/Umbraco.Cms.Api.Management/OpenApi.json
#	src/Umbraco.Infrastructure/Migrations/Upgrade/UmbracoPlan.cs
@Zeegaan Zeegaan merged commit b8ae3e3 into v14/dev Apr 9, 2024
16 checks passed
@Zeegaan Zeegaan deleted the v14/feature/user-data branch April 9, 2024 09:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants