Wiki source code of Implicit Users

Last modified by Vincent Massol on 2024/02/26 17:54

Show last authors
1 {{toc start="2"/}}
2
3 == Issue 1: Deleting and restoring an user doesn't preserves Groups and Rights ==
4
5 {{box}}
6 {{jiraIssues}}
7 XWIKI-11624,
8 XWIKI-15401
9 {{/jiraIssues}}
10 {{/box}}
11
12 * If you create a new user (evalica) it will automatically be added in XWikiAllGroup
13 * If you delete the user (evalica) it will automatically be deleted from XWikiAdminGroup and XWikiAllGroup; and it will have all it's rights removed
14 * If you restore the user (evalica), you will see the user in Administration: Users; but it is {{error}}not re-added in initial groups, nor have its rights restored{{/error}}. This can be seen as a partial restore. The relations were not preserved, so some users {{success}}expected{{/success}} to have like a rollback behavior (remembering the exact state) and not restoring just the page.
15
16 == Issue 2: XWikiAllGroup doesn't behave like a 'special' group ==
17
18 * There are several instances when the XWikiAllGroup gets {{error}}desynchronised{{/error}}. For example, when restoring an user, it does not automatically appear in XWikiAllGroup.
19 * Some users {{success}}expect{{/success}} that XWikiAllGroup would showcase always the count and contain at all times ALL the valid / existing users in the instance.
20
21 === Disable the ability to delete the XWikiAllGroup ===
22
23 (% class="row" %)
24 (((
25 (% class="col-xs-12 col-sm-6" %)
26 (((
27 {{box}}
28 {{jiraIssues}}
29 XWIKI-15413,
30 XWIKI-15394,
31 XWIKI-9681
32 {{/jiraIssues}}
33 {{/box}}
34
35 * Currently this group can be deleted from the Administration UI or the page UI. Since this deletion can have fatal consequences (leaving all users without rights), we could prevent that deletion; just like we don't allow the deletion of your own user.
36 * Since it's a special group, we could have a special way to display it in Rights and also not being able to delete it from Groups.
37 )))
38
39 (% class="col-xs-12 col-sm-6" %)
40 (((
41 {{gallery}}
42 image:groups.png
43 {{/gallery}}
44 )))
45 )))
46
47 === Enable XWikiAllGroup as implicit group by default ===
48
49 (% class="row" %)
50 (((
51 (% class="col-xs-12 col-sm-6" %)
52 (((
53 {{box}}
54 {{jiraIssues}}
55 XWIKI-15414,
56 XWIKI-11818,
57 XWIKI-2116
58 {{/jiraIssues}}
59 {{/box}}
60
61 * We have a mechanism to make the XWikiAllGroup implicit in ##xwiki.cfg##. Enabling by default would fix the user deletion / restoring issues, making sure valid users don't lose their rights.
62
63 {{code}}
64 xwiki.users.initialGroups=
65 xwiki.authentication.group.allgroupimplicit=1
66 {{/code}}
67
68 * Having this [[initial group>>xwiki:Documentation.AdminGuide.Configuration||anchor="HInitialGroups"]] configuration is also recommended for [[large instance>>xwiki:Documentation.AdminGuide.Performances||anchor="HLargenumberofusers"]] from a performance point of view, removing the need to have objects for each user.
69 )))
70 )))
71
72 (% class="row" %)
73 (((
74 (% class="col-xs-12 col-sm-6" %)
75 (((
76 * Still, in terms of UI, we will need to {{error}}fix some issues{{/error}}:
77 ** We should keep displaying the XWikiAllGroup in Groups, in order for users to see the correct count;
78 *** even if the users act like they are in the XWikiAllGroup, the Administration - Group count doesn't reflect the correct count. We would need to fix in ##getgroups.vm## how we count the users, also the Groups modal should display all valid users;
79 *** the XWikiAllGroup count from Administration Groups should be consistent with the count from Administration Users or User Index;
80 *** yes, this means that the user management can be done from multiple parts, but if they are not consistent in behavior than it can be very confusing;
81 ** We should keep displaying the XWikiAllGroup in Rights, in order for users to be able to set Rights for this group;
82 *** We can have special displays for XWikiAllGroup and XWiki Guests, but we need to be very explicit what are the rights set for each of them. See more [[rights proposals>>Proposal.RightsUI9x]].
83 )))
84
85 (% class="col-xs-12 col-sm-6" %)
86 (((
87 {{gallery}}
88 image:rightsSmall.png
89 {{/gallery}}
90 )))
91 )))

Get Connected