Changes for page User Mentions

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

<
From version < 11.2 >
edited by Manuel Leduc
on 2020/05/07 12:17
To version < 13.1 >
edited by Manuel Leduc
on 2020/05/07 12:20
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -4,13 +4,171 @@
4 4  
5 5  They are usually visually distinguishable by an (% class="mark" %)##@##(%%) prefix followed by the identifier of an user, often in hypertext form (e.g., @[[mleduc>>https://www.xwiki.org/xwiki/bin/view/XWiki/mleduc]]).
6 6  
7 -== Existing discussions ==
8 8  
8 +
9 +== Table of content ==
10 +
11 +{{toc numbered="true"/}}
12 +
13 +== Mentions Integration ==
14 +
15 +It should be possible to add mentions to users or groups wherever xwiki syntaxes are supported.
16 +
17 +A non comprehensive list includes:
18 +
19 +* documents body
20 +* comments (integrate rich editor)
21 +* annotations (integrate rich editor)
22 +* textarea fields in AWM (the rich editor is a user choice in the AWM settings)
23 +* WARNING: other places ?
24 +
25 +In the rich editor it should be easy to include a mention using only the keyboard, and without having to use the macro section of the rich editor menu.
26 +
27 +Mentions must be visually identifiable in the text, for instance the user name or group group could have a specific background color. Similarly, mentions to the current user and/or a group in which the current is must be highlighted in specific colors.
28 +
29 +The default content of the display mention should be the first name + last name of the user. It should be possible to change it to it first name only, or to the login of the user. I don't know if it's a good idea to be able to allow to change the text of the mention for a free text (confusing, risk of link scamming...).
30 +
31 +Mentions of removed users should still be display clearly, eventually identified visually that the user has been removed (which is not easy to identify in the context of AP for instance).
32 +
33 +== Notifications ==
34 +
35 +=== Notifications rules ===
36 +
37 +Mentioning a user of a group must trigger a even, eventually leading to the notification of the concerned users.
38 +
39 +Nonetheless, user should not be notified several time for the same mention (e.g., when a document is edited and a mention was previously in the document).
40 +
41 +=== Notifications content ===
42 +
43 +The content of a notification must include as much content as possible regarding the context in which the mention occurred. This content must be as specific as possible according to the type of entity in which the mention occurred.
44 +
45 +A non comprehensive list includes:
46 +
47 +* the user that made the mention
48 +* the type of entity in which the mention occurred
49 +* (((
50 +a direct link to the entity, e.g.,
51 +
52 +* the body of a document, ideally an anchor to the ยง where the mention occurs.
53 +* an anchor to a comment
54 +* an anchor to an annotation
55 +)))
56 +
57 +=== Notifications answer ===
58 +
59 +The most basic scenario is to click on the link in the notification and to interact with the wiki as usual
60 +
61 +More advanced scenarios includes:
62 +
63 +* having a form to interact with the content directly in the content of the notification created by the mention (TODO: create task)
64 +* being able to answer directly to mail eventually received as a notification of a mention (TODO: create trask)
65 +
66 +=== Notifications settings ===
67 +
68 +Notifications of mentions should be integrated in the notifications settings of the wiki, using the notifications framework provided by XWiki.
69 +
70 +Notifications must be activated by default to help users discover the new feature by receiving mentions.
71 +
72 +[[image:file:///home/mleduc/.config/Typora/typora-user-images/image-20200507101357956.png?lastModify=1588846637||alt="image-20200507101357956"]]
73 +
74 +== Extensibility ==
75 +
76 +While the nominal scenario is the integration of mentions inside a xwiki instance (and its sub-wikis). The mentions features must be extensible to let extensions add new features on tops of the mentions.
77 +
78 +The main use case of this is the integration of user mentions on ActivityPub (see [[https:~~/~~/design.xwiki.org/xwiki/bin/view/Proposal/ActivityPub>>url:https://design.xwiki.org/xwiki/bin/view/Proposal/ActivityPub]]).
79 +
80 +The list of extension points should include:
81 +
82 +* users suggestions in the rich editor
83 +* an extension point on the notifications emission.
84 +
85 +In addition, the core of the mentions must support unknown type of external users.
86 +
87 +== Discussions ==
88 +
89 +=== Requesting view rights ===
90 +
91 +If an user tries to access a document for which she does not have the read right (for instance, after being mentioned inside the given document), an action should allow to require an access to the page.
92 +
93 +==== Messaging ====
94 +
95 +The most basic solution is to simply send a message to the user that triggered the mentions, asking for access to the page.
96 +
97 +==== Ad-hoc mechanism ====
98 +
99 +A more advance solution could be to present a button that would send a query to whoever has the right to set the read right for this page.
100 +
101 +
102 +== Tasks ==
103 +
104 +=== Rich editor integration ===
105 +
106 +The rich editor must be integrated on every textarea supporting the xwiki syntax.
107 +
108 +* Comments
109 +* Annotations
110 +
111 +WARNING: other places ?
112 +
113 +=== Adding an autocompletion on the rich editor ===
114 +
115 +Typing @ in the rich editor must present an autompletion of available users and groups and automatically insert the corresponding macro in the text.
116 +
117 +=== Mention macro ===
118 +
119 +The mention macro must allow to declare a mention. This macro has one field pointing to a single user or group.
120 +
121 +The macro must be display in a distinctive and identifiable way.
122 +
123 +Mentions to the current user and/or a group in which the current is must be highlighted in specific colors.
124 +
125 +The text of the mention should be first name + last name, first name only or user login (the user defining the mention should be able to choose)
126 +
127 +=== Mention macro settings ===
128 +
129 +Variations points of the mention macro must be configurable in the skins administration
130 +
131 +[[image:file:///home/mleduc/.config/Typora/typora-user-images/image-20200507110127020.png?lastModify=1588846637||alt="image-20200507110127020"]]
132 +
133 +=== Mention in the syntax ===
134 +
135 +Mentions could be integrated as first-class entities in some syntaxes supported in the wiki, if those syntaxes has a build-in support for it.
136 +
137 +==== XWiki/2.2 ====
138 +
139 +In the specific context of xwiki/2.2, user mentions could be build around the notions of link to users, discussed in TODO, TODO and TODO.
140 +
141 +==== Other syntaxes ====
142 +
143 +TBD
144 +
145 +=== Mentions history ===
146 +
147 +An user must not be notified of a mention several time for the same entity (document, comment, annotation...).
148 +
149 +A mapping between mentioned users (members of a group must be resolved to their individual users) and entities must be stored and used to identify the relevant notifications.
150 +
151 +Similarly, only members present in a group prior to the group mentions should be notified.
152 +
153 +A mapping between mentioned groups and entities must also be stored.
154 +
155 +A notification is only send to individual users that have not already be notified, and to groups that have not already been notified. Only group members who have not already been notified are notified.
156 +
157 +=== Notifications settings ===
158 +
159 +integrate settings in the configuration to activate mentions at the level of the administration and at the level of individual users.
160 +
161 +[[image:file:///home/mleduc/.config/Typora/typora-user-images/image-20200507101630235.png?lastModify=1588846637||alt="image-20200507101630235"]]
162 +
163 +
164 +
165 +=== Existing discussions ===
166 +
9 9  This section collects existing discussions that are relates to concerns of interest in the context of user mentions.
10 10  
11 11  Mentions in CKEditor https://forum.xwiki.org/t/user-mention-in-ck-editor/843
12 12  
13 -=== Links extensibility ===
171 +==== Links extensibility ====
14 14  
15 15  * Proposal [[https:~~/~~/jira.xwiki.org/browse/XRENDERING-290>>https://jira.xwiki.org/browse/XRENDERING-290]]
16 16  ** Discussion [[https:~~/~~/xwiki.markmail.org/thread/vw3derowozijqalr>>https://xwiki.markmail.org/thread/vw3derowozijqalr]] / Vote + Discussion: [[http:~~/~~/markmail.org/message/t2wb2xq7534qsshg>>http://markmail.org/message/t2wb2xq7534qsshg]]
... ... @@ -28,5 +28,3 @@
28 28  |MediaWiki| | |Special link format (##~[~[User:Username]]##)
29 29  |Drupal|[[https:~~/~~/www.drupal.org/project/mentions>>https://www.drupal.org/project/mentions]]| |Special link format ([@userlogin]). Displayed with the user login prefixed with @
30 30  |Confluence|[[https:~~/~~/confluence.atlassian.com/doc/mentions-251725350.html>>https://confluence.atlassian.com/doc/mentions-251725350.html]]| |User login prefixed with @
31 -
32 -

Get Connected