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
SYNCOPE-1506: Merge Accounts #153
Conversation
# Conflicts: # client/console/src/main/resources/org/apache/syncope/client/console/wicket/markup/html/form/ActionsPanel.properties
...e/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsSearchPanel.java
Outdated
Show resolved
Hide resolved
client/console/src/main/java/org/apache/syncope/client/console/SyncopeConsoleSession.java
Outdated
Show resolved
Hide resolved
This should be ready to merge, unless there are further changes required. I can also take a pass at writing wicket tests for the new screen to merge accounts, if that is appropriate. |
Thanks @mmoayyed , code looks ok but I would like to take it out for few smoke tests.
This would be really appreciated, thanks. |
|
@mmoayyed I have been running this PR and have the following notes:
Thanks! |
Thanks much for the review. Quick progress report:
Fixed in most recent commits.
Done.
WIP.
WIP.
Sure, done. I am going to continue with improving the merge process, and follow-up tests. Should be able to finalize by early next week. |
Progress report:
TODOs:
|
Thanks @mmoayyed for status update; one item is not clear to me:
Why? The Admin UI is plenty of wizard steps where a single selection is required to proceed to next step (see Group edit with user owner selection, for example) - yet, nowhere selection triggers wizard's advance. |
I was hoping to do this with one click less than expected; For example, when the list of users are displayed one would have to click on a user entry in the list, click select from the action menu, and then click next to advance to the next panel. It would be more ideal to have the select menu trigger a next event automatically, removing the need for the user to additionally click the next button. However, if that behavior is acceptable and is consistent with everywhere else, I can keep it as is. |
I understand the proposed improvement; however, I'd drop it for the moment as this PR is already quite considerable. Anyway, we can always keep if for the future as general improvement, since as said above, there might be other places where the same could be applied. |
This should be almost done from a functional point of view. I have added additional panels to show a list of resources, available for selection that would be used for to-be-merged user, and I have also added a panel in the wizard as a final review of all linked accounts. I have also polished the code a bit to handle event sinking for cancel/finish events to handle modal dialog issues as well as the actual merge step. I'd appreciate a code review, specially on the final merge step to make sure linked accounts are correctly constructed. What remains is as follows:
|
.../src/main/java/org/apache/syncope/client/console/commons/MergeLinkedAccountsWizardModel.java
Outdated
Show resolved
Hide resolved
.../src/main/java/org/apache/syncope/client/console/commons/MergeLinkedAccountsWizardModel.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
Outdated
Show resolved
Hide resolved
...rc/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
Show resolved
Hide resolved
...rc/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsResourcesPanel.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsReviewPanel.java
Outdated
Show resolved
Hide resolved
...e/src/main/java/org/apache/syncope/client/console/panels/MergeLinkedAccountsReviewPanel.java
Show resolved
Hide resolved
@mmoayyed I still haven't find enough time to properly look at actual feature, just browsed the proposed code changes, sorry. Also, please apply the changes in rebase.txt to rebase this PR with latest changes from |
Thank you for the reviews so far. I will begin to address the feedback and will also rebase. There is still the matter of finishing integration tests, but I would like to hold off on that for now until the functionality is ready to minimize work as much as possible. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Globally, it works fine, nice! 👍
Just few things as noticed above.
About row selection, a simple improvement could be to highlight the selected row.
client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
Outdated
Show resolved
Hide resolved
client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
Outdated
Show resolved
Hide resolved
client/console/src/main/java/org/apache/syncope/client/console/panels/UserDirectoryPanel.java
Outdated
Show resolved
Hide resolved
...ain/java/org/apache/syncope/client/console/wizards/any/MergeLinkedAccountsWizardBuilder.java
Outdated
Show resolved
Hide resolved
I am going to begin to work on tests; all other feedback should be accounted for, and I have also added changes to handle the highlighting of the selected row during the user/resource selection process. (It works, it's not pretty, but I couldn't find any other other approach that would be compatible without breaking changes) |
This should be good to go. Sorry for the delay; took me a to organize the tests to merge accounts. |
Looks good! Please go ahead, squash and merge. |
* initial pass at merging users/accounts * clean up config; working on wizard and user selection * clean up config; working on wizard and user selection * polish * working on account review wizard page * working on batch items * working on batch requests * testing batch ops * fix tests * fix test * fix formatting issues * apply changes based on review suggestions * working on ITs for merge-accounts feature * updated test * adjustments to query filter * tweaks to UI * cntd with wicket changes and merging functionality * working on merge wizard. added panels to show resources, and preview * add panel for preview * polish * polish * cntd with tests - wip * addressing feedback after review - tests WIP. * fix issues after review * highlight item when selected in data table * work out events with item selection after the merge * fix tests - let ci run * fix checkstyle
No description provided.